You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
6.0 KiB
121 lines
6.0 KiB
static void flextile(Monitor *m); |
|
static void getfactsforrange(Monitor *m, int an, int ai, int size, int *rest, float *fact); |
|
static void mirrorlayout(const Arg *arg); |
|
static void rotatelayoutaxis(const Arg *arg); |
|
#if IPC_PATCH || DWMC_PATCH |
|
static void setlayoutaxisex(const Arg *arg); |
|
#endif // IPC_PATCH | DWMC_PATCH |
|
static void incnstack(const Arg *arg); |
|
|
|
/* Symbol handlers */ |
|
static void setflexsymbols(Monitor *m, unsigned int n); |
|
static void monoclesymbols(Monitor *m, unsigned int n); |
|
static void decksymbols(Monitor *m, unsigned int n); |
|
|
|
/* Layout split */ |
|
static void layout_no_split(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_split_vertical(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_split_horizontal(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_split_vertical_dual_stack(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_split_horizontal_dual_stack(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_split_centered_vertical(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_split_centered_horizontal(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_floating_master(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_split_vertical_fixed(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_split_horizontal_fixed(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_split_vertical_dual_stack_fixed(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_split_horizontal_dual_stack_fixed(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_split_centered_vertical_fixed(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_split_centered_horizontal_fixed(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
static void layout_floating_master_fixed(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n); |
|
|
|
/* Layout tile arrangements */ |
|
static void arrange_left_to_right(Monitor *m, int ax, int ay, int ah, int aw, int ih, int iv, int n, int an, int ai); |
|
static void arrange_top_to_bottom(Monitor *m, int ax, int ay, int ah, int aw, int ih, int iv, int n, int an, int ai); |
|
static void arrange_monocle(Monitor *m, int ax, int ay, int ah, int aw, int ih, int iv, int n, int an, int ai); |
|
static void arrange_gapplessgrid(Monitor *m, int ax, int ay, int ah, int aw, int ih, int iv, int n, int an, int ai); |
|
static void arrange_gapplessgrid_alt1(Monitor *m, int ax, int ay, int ah, int aw, int ih, int iv, int n, int an, int ai); |
|
static void arrange_gapplessgrid_alt2(Monitor *m, int ax, int ay, int ah, int aw, int ih, int iv, int n, int an, int ai); |
|
static void arrange_gridmode(Monitor *m, int ax, int ay, int ah, int aw, int ih, int iv, int n, int an, int ai); |
|
static void arrange_horizgrid(Monitor *m, int ax, int ay, int ah, int aw, int ih, int iv, int n, int an, int ai); |
|
static void arrange_dwindle(Monitor *m, int ax, int ay, int ah, int aw, int ih, int iv, int n, int an, int ai); |
|
static void arrange_spiral(Monitor *m, int ax, int ay, int ah, int aw, int ih, int iv, int n, int an, int ai); |
|
static void arrange_tatami(Monitor *m, int ax, int ay, int ah, int aw, int ih, int iv, int n, int an, int ai); |
|
|
|
/* Named flextile constants */ |
|
enum { |
|
LAYOUT, // controls overall layout arrangement / split |
|
MASTER, // indicates the tile arrangement for the master area |
|
STACK, // indicates the tile arrangement for the stack area |
|
STACK2, // indicates the tile arrangement for the secondary stack area |
|
LTAXIS_LAST, |
|
}; |
|
|
|
/* Layout arrangements */ |
|
enum { |
|
NO_SPLIT, |
|
SPLIT_VERTICAL, // master stack vertical split |
|
SPLIT_HORIZONTAL, // master stack horizontal split |
|
SPLIT_CENTERED_VERTICAL, // centered master vertical split |
|
SPLIT_CENTERED_HORIZONTAL, // centered master horizontal split |
|
SPLIT_VERTICAL_DUAL_STACK, // master stack vertical split with dual stack |
|
SPLIT_HORIZONTAL_DUAL_STACK, // master stack vertical split with dual stack |
|
FLOATING_MASTER, // (fake) floating master |
|
SPLIT_VERTICAL_FIXED, // master stack vertical fixed split |
|
SPLIT_HORIZONTAL_FIXED, // master stack horizontal fixed split |
|
SPLIT_CENTERED_VERTICAL_FIXED, // centered master vertical fixed split |
|
SPLIT_CENTERED_HORIZONTAL_FIXED, // centered master horizontal fixed split |
|
SPLIT_VERTICAL_DUAL_STACK_FIXED, // master stack vertical split with fixed dual stack |
|
SPLIT_HORIZONTAL_DUAL_STACK_FIXED, // master stack vertical split with fixed dual stack |
|
FLOATING_MASTER_FIXED, // (fake) fixed floating master |
|
LAYOUT_LAST, |
|
}; |
|
|
|
static char layoutsymb[] = { |
|
32, // " ", |
|
124, // "|", |
|
61, // "=", |
|
94, // "^", |
|
126, // "~", |
|
58, // ":", |
|
59, // ";", |
|
43, // "+", |
|
124, // "¦", |
|
61, // "=", |
|
94, // "^", |
|
126, // "~", |
|
58, // ":", |
|
59, // ";", |
|
43, // "+", |
|
}; |
|
|
|
/* Tile arrangements */ |
|
enum { |
|
TOP_TO_BOTTOM, // clients are arranged vertically |
|
LEFT_TO_RIGHT, // clients are arranged horizontally |
|
MONOCLE, // clients are arranged in deck / monocle mode |
|
GAPPLESSGRID, // clients are arranged in a gappless grid (original formula) |
|
GAPPLESSGRID_ALT1, // clients are arranged in a gappless grid (alt. 1, fills rows first) |
|
GAPPLESSGRID_ALT2, // clients are arranged in a gappless grid (alt. 2, fills columns first) |
|
GRIDMODE, // clients are arranged in a grid |
|
HORIZGRID, // clients are arranged in a horizontal grid |
|
DWINDLE, // clients are arranged in fibonacci dwindle mode |
|
SPIRAL, // clients are arranged in fibonacci spiral mode |
|
TATAMI, // clients are arranged as tatami mats |
|
AXIS_LAST, |
|
}; |
|
|
|
static char tilesymb[] = { |
|
61, // "=", |
|
124, // "|", |
|
68, // "D", |
|
71, // "G", |
|
49, // "1", |
|
50, // "2" |
|
35, // "#", |
|
126, // "~", |
|
92, // "\\", |
|
64, // "@", |
|
84, // "T", |
|
}; |
|
|
|
|