mirror of
https://github.com/irssi/irssi.git
synced 2026-08-10 12:23:37 +02:00
sideways split support for Irssi
warning: * may be buggy This commit adds support for sideways splits into Irssi. To that regard, there are a number of new commands available the "R" commands: /window new rsplit - make a new sideways split /window rshow - show an existing window to the right /window rgrow/rshrink/rsize/rbalance - manipulate the size of your sideways split windows the "D" commands: /window dup/ddown/dleft/dright - navigate the windows directionally, as an alternative to /window up/down that you can bind to some key /window move dleft/dright - the same for moving Enjoy!
This commit is contained in:
parent
451019d05d
commit
4e71a1f485
18 changed files with 1373 additions and 345 deletions
|
|
@ -11,6 +11,14 @@ enum {
|
|||
DATA_LEVEL_HILIGHT
|
||||
};
|
||||
|
||||
enum {
|
||||
MAIN_WINDOW_TYPE_NONE = -1,
|
||||
MAIN_WINDOW_TYPE_DEFAULT = 0,
|
||||
MAIN_WINDOW_TYPE_HIDDEN = 1,
|
||||
MAIN_WINDOW_TYPE_SPLIT = 2,
|
||||
MAIN_WINDOW_TYPE_RSPLIT = 3
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
char *servertag;
|
||||
char *name;
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ static void cmd_window(const char *data, void *server, WI_ITEM_REC *item)
|
|||
command_runsub("window", data, server, item);
|
||||
}
|
||||
|
||||
/* SYNTAX: WINDOW NEW [HIDDEN|SPLIT] */
|
||||
/* SYNTAX: WINDOW NEW [HIDDEN|SPLIT|RSPLIT] */
|
||||
static void cmd_window_new(const char *data, void *server, WI_ITEM_REC *item)
|
||||
{
|
||||
WINDOW_REC *window;
|
||||
|
|
@ -177,8 +177,9 @@ static void cmd_window_new(const char *data, void *server, WI_ITEM_REC *item)
|
|||
|
||||
g_return_if_fail(data != NULL);
|
||||
|
||||
type = (g_ascii_strncasecmp(data, "hid", 3) == 0 || g_ascii_strcasecmp(data, "tab") == 0) ? 1 :
|
||||
(g_ascii_strcasecmp(data, "split") == 0 ? 2 : 0);
|
||||
type = (g_ascii_strncasecmp(data, "hid", 3) == 0 || g_ascii_strcasecmp(data, "tab") == 0) ? MAIN_WINDOW_TYPE_HIDDEN :
|
||||
g_ascii_strcasecmp(data, "split") == 0 ? MAIN_WINDOW_TYPE_SPLIT :
|
||||
g_ascii_strncasecmp(data, "rs", 2) == 0 ? MAIN_WINDOW_TYPE_RSPLIT : MAIN_WINDOW_TYPE_DEFAULT;
|
||||
signal_emit("gui window create override", 1, GINT_TO_POINTER(type));
|
||||
|
||||
window = window_create(NULL, FALSE);
|
||||
|
|
|
|||
|
|
@ -314,7 +314,7 @@ void window_item_create(WI_ITEM_REC *item, int automatic)
|
|||
/* create new window to use */
|
||||
if (settings_get_bool("autocreate_split_windows")) {
|
||||
signal_emit("gui window create override", 1,
|
||||
GINT_TO_POINTER(0));
|
||||
GINT_TO_POINTER(MAIN_WINDOW_TYPE_SPLIT));
|
||||
}
|
||||
window = window_create(item, automatic);
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue