summaryrefslogtreecommitdiffhomepage
path: root/patch
diff options
context:
space:
mode:
Diffstat (limited to 'patch')
-rwxr-xr-xpatch/dwmc79
-rw-r--r--patch/flextile-deluxe.c21
-rw-r--r--patch/flextile-deluxe.h4
3 files changed, 100 insertions, 4 deletions
diff --git a/patch/dwmc b/patch/dwmc
index 9e3ecd6..10ec990 100755
--- a/patch/dwmc
+++ b/patch/dwmc
@@ -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 */