diff options
Diffstat (limited to 'patch')
| -rwxr-xr-x | patch/dwmc | 79 | ||||
| -rw-r--r-- | patch/flextile-deluxe.c | 21 | ||||
| -rw-r--r-- | patch/flextile-deluxe.h | 4 |
3 files changed, 100 insertions, 4 deletions
@@ -1,4 +1,4 @@ -#!/usr/bin/env sh +#!/usr/bin/env bash signal() { xsetroot -name "fsignal:$*" @@ -7,7 +7,43 @@ signal() { case $# in 1) case $1 in - setlayout | view | viewall | togglebar | togglefloating | zoom | killclient | quit) + focusurgent) ;& + mirrorlayout) ;& + mpdcontrol) ;& + pushdown) ;& + pushup) ;& + self_restart) ;& + setlayout) ;& + setcfact) ;& + switchcol) ;& + view) ;& + viewall) ;& + viewtoleft) ;& + viewtoright) ;& + tagtoleft) ;& + tagtoright) ;& + tagandviewtoleft) ;& + tagandviewtoright) ;& + transfer) ;& + transferall) ;& + togglealttag) ;& + togglebar) ;& + togglefloating) ;& + togglefullscreen) ;& + fullscreen) ;& + togglefakefullscreen) ;& + togglesticky) ;& + togglehorizontalmax) ;& + toggleverticalmax) ;& + togglemax) ;& + togglegaps) ;& + defaultgaps) ;& + unfloatvisible) ;& + winview) ;& + xrdb) ;& + zoom) ;& + killclient) ;& + quit) signal $1 ;; *) @@ -18,12 +54,47 @@ case $# in ;; 2) case $1 in + cyclelayout) ;& + explace) ;& + moveplace) ;& + mpdchange) ;& + switchtag) ;& + togglescratch) ;& view) signal $1 ui $2 ;; - viewex | toggleviewex | tagex | toggletagex | setlayoutex | focusstack | incnmaster | focusmon | tagmon) + viewex) ;& + toggleviewex) ;& + tagallmon) ;& + tagswapmon) ;& + tagex) ;& + toggletagex) ;& + setborderpx) ;& + setlayoutex) ;& + setlayoutaxisex) ;& + swapfocus) ;& + focusstack) ;& + pushstack) ;& + inplacerotate) ;& + rotatestack) ;& + rotatelayoutaxis) ;& + incnmaster) ;& + incnstack) ;& + incrgaps) ;& + incrigaps) ;& + incrogaps) ;& + incrihgaps) ;& + incrivgaps) ;& + incrohgaps) ;& + incrovgaps) ;& + movestack) ;& + shiftview) ;& + shiftviewclients) ;& + focusmon) ;& + tagmon) signal $1 i $2 ;; + setcfact) ;& setmfact) signal $1 f $2 ;; @@ -37,4 +108,4 @@ case $# in echo "Too many arguments." exit 1 ;; -esac
\ No newline at end of file +esac diff --git a/patch/flextile-deluxe.c b/patch/flextile-deluxe.c index 986460f..c8b7e3e 100644 --- a/patch/flextile-deluxe.c +++ b/patch/flextile-deluxe.c @@ -66,6 +66,27 @@ getfactsforrange(Monitor *m, int an, int ai, int size, int *rest, float *fact) *fact = facts; } +#if DWMC_PATCH +static void +setlayoutaxisex(const Arg *arg) +{ + int axis, arr; + + axis = arg->i & 0x3; // lower two bytes indicates layout, master or stack1-2 + arr = ((arg->i & 0xFC) >> 2); // remaining six upper bytes indicates arrangement + + if ((axis == 0 && abs(arr) > LAYOUT_LAST) + || (axis > 0 && (arr > AXIS_LAST || arr < 0))) + arr = 0; + + selmon->ltaxis[axis] = arr; + #if PERTAG_PATCH + selmon->pertag->ltaxis[selmon->pertag->curtag][axis] = selmon->ltaxis[axis]; + #endif // PERTAG_PATCH + arrange(selmon); +} +#endif // DWMC_PATCH + static void layout_no_split(Monitor *m, int x, int y, int h, int w, int ih, int iv, int n) { diff --git a/patch/flextile-deluxe.h b/patch/flextile-deluxe.h index b0aadd4..01bce7b 100644 --- a/patch/flextile-deluxe.h +++ b/patch/flextile-deluxe.h @@ -1,6 +1,10 @@ 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 DWMC_PATCH +static void setlayoutaxisex(const Arg *arg); +#endif // DWMC_PATCH static void incnstack(const Arg *arg); /* Symbol handlers */ |
