mirror of
https://github.com/mintycube/dwm.git
synced 2024-10-22 14:05:45 +02:00
commit
1b3a348d5d
@ -15,6 +15,8 @@ Refer to [https://dwm.suckless.org/](https://dwm.suckless.org/) for details on t
|
||||
|
||||
### Changelog:
|
||||
|
||||
2021-01-02 - Added the Layoutmenu patch
|
||||
|
||||
2020-10-26 - Added the \_NET\_CLIENT\_LIST\_STACKING patch
|
||||
|
||||
2020-09-29 - Added the on\_empty\_keys patch (ported from InstantOS)
|
||||
|
@ -297,6 +297,10 @@ static char *statuscolors[][ColCount] = {
|
||||
};
|
||||
#endif // BAR_POWERLINE_STATUS_PATCH
|
||||
|
||||
#if BAR_LAYOUTMENU_PATCH
|
||||
static const char *layoutmenu_cmd = "layoutmenu.sh";
|
||||
#endif
|
||||
|
||||
#if COOL_AUTOSTART_PATCH
|
||||
static const char *const autostart[] = {
|
||||
"st", NULL,
|
||||
@ -1134,7 +1138,11 @@ static Button buttons[] = {
|
||||
{ ClkButton, 0, Button1, spawn, {.v = dmenucmd } },
|
||||
#endif // BAR_STATUSBUTTON_PATCH
|
||||
{ ClkLtSymbol, 0, Button1, setlayout, {0} },
|
||||
#if BAR_LAYOUTMENU_PATCH
|
||||
{ ClkLtSymbol, 0, Button3, layoutmenu, {0} },
|
||||
#else
|
||||
{ ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
|
||||
#endif // BAR_LAYOUTMENU_PATCH
|
||||
#if BAR_WINTITLEACTIONS_PATCH
|
||||
{ ClkWinTitle, 0, Button1, togglewin, {0} },
|
||||
{ ClkWinTitle, 0, Button3, showhideclient, {0} },
|
||||
|
18
patch/bar_layoutmenu.c
Normal file
18
patch/bar_layoutmenu.c
Normal file
@ -0,0 +1,18 @@
|
||||
void
|
||||
layoutmenu(const Arg *arg) {
|
||||
FILE *p;
|
||||
char c[3], *s;
|
||||
int i;
|
||||
|
||||
if (!(p = popen(layoutmenu_cmd, "r")))
|
||||
return;
|
||||
s = fgets(c, sizeof(c), p);
|
||||
pclose(p);
|
||||
|
||||
if (!s || *s == '\0' || c == '\0')
|
||||
return;
|
||||
|
||||
i = atoi(c);
|
||||
setlayout(&((Arg) { .v = &layouts[i] }));
|
||||
}
|
||||
|
1
patch/bar_layoutmenu.h
Normal file
1
patch/bar_layoutmenu.h
Normal file
@ -0,0 +1 @@
|
||||
static void layoutmenu(const Arg *arg);
|
@ -83,6 +83,9 @@
|
||||
#if BAR_WINTITLEACTIONS_PATCH
|
||||
#include "bar_wintitleactions.c"
|
||||
#endif
|
||||
#if BAR_LAYOUTMENU_PATCH
|
||||
#include "bar_layoutmenu.c"
|
||||
#endif
|
||||
|
||||
/* Other patches */
|
||||
#if ASPECTRESIZE_PATCH
|
||||
|
@ -80,6 +80,9 @@
|
||||
#if BAR_WINTITLEACTIONS_PATCH
|
||||
#include "bar_wintitleactions.h"
|
||||
#endif
|
||||
#if BAR_LAYOUTMENU_PATCH
|
||||
#include "bar_layoutmenu.h"
|
||||
#endif
|
||||
|
||||
/* Other patches */
|
||||
#if ASPECTRESIZE_PATCH
|
||||
|
8
patch/layoutmenu.sh
Executable file
8
patch/layoutmenu.sh
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
cat <<EOF | xmenu
|
||||
[]= Tiled Layout 0
|
||||
><> Floating Layout 1
|
||||
[M] Monocle Layout 2
|
||||
EOF
|
||||
|
@ -42,6 +42,15 @@
|
||||
*/
|
||||
#define BAR_FLEXWINTITLE_PATCH 0
|
||||
|
||||
/* This patch adds a context menu for layout switching.
|
||||
* - xmenu needs to be installed.
|
||||
* - Edit layoutmenu.sh with the installed layouts and with correct indexes.
|
||||
* - Place layoutmenu.sh in PATH.
|
||||
* - The text of the menu items is for display only. Name them however you want.
|
||||
* https://dwm.suckless.org/patches/layoutmenu/
|
||||
*/
|
||||
#define BAR_LAYOUTMENU_PATCH 0
|
||||
|
||||
/* Show layout symbol in bar */
|
||||
#define BAR_LTSYMBOL_PATCH 1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user