Merge remote-tracking branch 'upstream/master'
This commit is contained in:
		@@ -19,6 +19,8 @@ Browsing patches? There is a [map of patches](https://coggle.it/diagram/X9IiSSM6
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
### Changelog:
 | 
					### Changelog:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2024-07-11 - Added variant of the launcher patch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2024-01-31 - Added the placedir patch
 | 
					2024-01-31 - Added the placedir patch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2023-12-22 - Added the do-not-die-on-color-allocation-failure patch
 | 
					2023-12-22 - Added the do-not-die-on-color-allocation-failure patch
 | 
				
			||||||
@@ -522,6 +524,9 @@ Browsing patches? There is a [map of patches](https://coggle.it/diagram/X9IiSSM6
 | 
				
			|||||||
   - [killunsel](https://dwm.suckless.org/patches/killunsel/)
 | 
					   - [killunsel](https://dwm.suckless.org/patches/killunsel/)
 | 
				
			||||||
      - kills all visible clients that are not selected (only the selected client will remain)
 | 
					      - kills all visible clients that are not selected (only the selected client will remain)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   - [launcher](https://dwm.suckless.org/patches/launcher/)
 | 
				
			||||||
 | 
					      - adds buttons to the bar that can be used to launch applications
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   - [~leftlayout~](http://dwm.suckless.org/patches/leftlayout/)
 | 
					   - [~leftlayout~](http://dwm.suckless.org/patches/leftlayout/)
 | 
				
			||||||
      - ~moves the layout symbol in the status bar to the left hand side~
 | 
					      - ~moves the layout symbol in the status bar to the left hand side~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										45
									
								
								README.org
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								README.org
									
									
									
									
									
								
							@@ -19,6 +19,7 @@
 | 
				
			|||||||
    - [[#dwm-blocks][DWM Blocks]]
 | 
					    - [[#dwm-blocks][DWM Blocks]]
 | 
				
			||||||
    - [[#fancy-bar][Fancy Bar]]
 | 
					    - [[#fancy-bar][Fancy Bar]]
 | 
				
			||||||
    - [[#flex-win-title][Flex Win Title]]
 | 
					    - [[#flex-win-title][Flex Win Title]]
 | 
				
			||||||
 | 
					    - [[#bar-launcher][Bar Launcher]]
 | 
				
			||||||
    - [[#layout-menu][Layout Menu]]
 | 
					    - [[#layout-menu][Layout Menu]]
 | 
				
			||||||
    - [[#layout-symbol][Layout Symbol]]
 | 
					    - [[#layout-symbol][Layout Symbol]]
 | 
				
			||||||
    - [[#powerline][Powerline]]
 | 
					    - [[#powerline][Powerline]]
 | 
				
			||||||
@@ -198,6 +199,7 @@
 | 
				
			|||||||
  - [[#make-config][Make Config]]
 | 
					  - [[#make-config][Make Config]]
 | 
				
			||||||
  - [[#makefile][Makefile]]
 | 
					  - [[#makefile][Makefile]]
 | 
				
			||||||
- [[#dwm-configuration][DWM Configuration]]
 | 
					- [[#dwm-configuration][DWM Configuration]]
 | 
				
			||||||
 | 
					  - [[#helper-macros-for-spawning-commands][Helper Macros for Spawning Commands]]
 | 
				
			||||||
  - [[#appearance][Appearance]]
 | 
					  - [[#appearance][Appearance]]
 | 
				
			||||||
  - [[#indicators][Indicators]]
 | 
					  - [[#indicators][Indicators]]
 | 
				
			||||||
  - [[#colors][Colors]]
 | 
					  - [[#colors][Colors]]
 | 
				
			||||||
@@ -209,6 +211,7 @@
 | 
				
			|||||||
    - [[#set-colors][Set Colors]]
 | 
					    - [[#set-colors][Set Colors]]
 | 
				
			||||||
    - [[#powerline-1][Powerline]]
 | 
					    - [[#powerline-1][Powerline]]
 | 
				
			||||||
  - [[#layout-menu-1][Layout Menu]]
 | 
					  - [[#layout-menu-1][Layout Menu]]
 | 
				
			||||||
 | 
					  - [[#bar-launcher-1][Bar Launcher]]
 | 
				
			||||||
  - [[#autostart][Autostart]]
 | 
					  - [[#autostart][Autostart]]
 | 
				
			||||||
  - [[#scratchpads][Scratchpads]]
 | 
					  - [[#scratchpads][Scratchpads]]
 | 
				
			||||||
  - [[#tags-1][Tags]]
 | 
					  - [[#tags-1][Tags]]
 | 
				
			||||||
@@ -309,6 +312,8 @@ Browsing patches? There is a [[https://coggle.it/diagram/X9IiSSM6PTWOM9Wz][map o
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
** Changelog
 | 
					** Changelog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2024-07-11 - Added variant of the launcher patch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2024-01-31 - Added the placedir patch
 | 
					2024-01-31 - Added the placedir patch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2023-12-22 - Added the do-not-die-on-color-allocation-failure patch
 | 
					2023-12-22 - Added the do-not-die-on-color-allocation-failure patch
 | 
				
			||||||
@@ -771,6 +776,9 @@ Browsing patches? There is a [[https://coggle.it/diagram/X9IiSSM6PTWOM9Wz][map o
 | 
				
			|||||||
   - [[https://dwm.suckless.org/patches/killunsel/][killunsel]]
 | 
					   - [[https://dwm.suckless.org/patches/killunsel/][killunsel]]
 | 
				
			||||||
     - kills all visible clients that are not selected (only the selected client will remain)
 | 
					     - kills all visible clients that are not selected (only the selected client will remain)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   - [[https://dwm.suckless.org/patches/launcher/][launcher]]
 | 
				
			||||||
 | 
					     - adds buttons to the bar that can be used to launch applications
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   - +[[http://dwm.suckless.org/patches/leftlayout/][leftlayout]]+
 | 
					   - +[[http://dwm.suckless.org/patches/leftlayout/][leftlayout]]+
 | 
				
			||||||
     - +moves the layout symbol in the status bar to the left hand side+
 | 
					     - +moves the layout symbol in the status bar to the left hand side+
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1210,6 +1218,16 @@ Being an evolution of the bartabgroups patch the flexwintitle patch specifically
 | 
				
			|||||||
#define BAR_FLEXWINTITLE_PATCH 0
 | 
					#define BAR_FLEXWINTITLE_PATCH 0
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*** Bar Launcher
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Adds buttons to the bar that can be used to launch applications.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					https://dwm.suckless.org/patches/launcher/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#+BEGIN_SRC c :tangle patches.def.h
 | 
				
			||||||
 | 
					#define BAR_LAUNCHER_PATCH 0
 | 
				
			||||||
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*** Layout Menu
 | 
					*** Layout Menu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This patch adds a context menu for layout switching.
 | 
					This patch adds a context menu for layout switching.
 | 
				
			||||||
@@ -3677,6 +3695,13 @@ uninstall:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
* DWM Configuration
 | 
					* DWM Configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					** Helper Macros for Spawning Commands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#+BEGIN_SRC c :tangle config.def.h
 | 
				
			||||||
 | 
					#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
 | 
				
			||||||
 | 
					#define CMD(...)   { .v = (const char*[]){ __VA_ARGS__, NULL } }
 | 
				
			||||||
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
** Appearance
 | 
					** Appearance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#+BEGIN_SRC c :tangle config.def.h
 | 
					#+BEGIN_SRC c :tangle config.def.h
 | 
				
			||||||
@@ -4212,6 +4237,18 @@ static const char *layoutmenu_cmd = "layoutmenu.sh";
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					** Bar Launcher
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#+BEGIN_SRC c :tangle config.def.h
 | 
				
			||||||
 | 
					#if BAR_LAUNCHER_PATCH
 | 
				
			||||||
 | 
					static const Launcher launchers[] = {
 | 
				
			||||||
 | 
						/* icon to display      command        */
 | 
				
			||||||
 | 
						{ "surf",               CMD("surf", "duckduckgo.com") },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					#endif // BAR_LAUNCHER_PATCH
 | 
				
			||||||
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
** Autostart
 | 
					** Autostart
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#+BEGIN_SRC c :tangle config.def.h
 | 
					#+BEGIN_SRC c :tangle config.def.h
 | 
				
			||||||
@@ -4431,6 +4468,9 @@ static const BarRule barrules[] = {
 | 
				
			|||||||
        #if BAR_STATUSBUTTON_PATCH
 | 
					        #if BAR_STATUSBUTTON_PATCH
 | 
				
			||||||
        { -1,        0,     BAR_ALIGN_LEFT,   width_stbutton,           draw_stbutton,          click_stbutton,          NULL,                    "statusbutton" },
 | 
					        { -1,        0,     BAR_ALIGN_LEFT,   width_stbutton,           draw_stbutton,          click_stbutton,          NULL,                    "statusbutton" },
 | 
				
			||||||
        #endif // BAR_STATUSBUTTON_PATCH
 | 
					        #endif // BAR_STATUSBUTTON_PATCH
 | 
				
			||||||
 | 
					        #if BAR_LAUNCHER_PATCH
 | 
				
			||||||
 | 
					        { -1,        0,     BAR_ALIGN_LEFT,   width_launcher,           draw_launcher,          click_launcher,          NULL,                    "launcher" },
 | 
				
			||||||
 | 
					        #endif // BAR_LAUNCHER_PATCH
 | 
				
			||||||
        #if BAR_POWERLINE_TAGS_PATCH
 | 
					        #if BAR_POWERLINE_TAGS_PATCH
 | 
				
			||||||
        {  0,        0,     BAR_ALIGN_LEFT,   width_pwrl_tags,          draw_pwrl_tags,         click_pwrl_tags,         hover_pwrl_tags,         "powerline_tags" },
 | 
					        {  0,        0,     BAR_ALIGN_LEFT,   width_pwrl_tags,          draw_pwrl_tags,         click_pwrl_tags,         hover_pwrl_tags,         "powerline_tags" },
 | 
				
			||||||
        #endif // BAR_POWERLINE_TAGS_PATCH
 | 
					        #endif // BAR_POWERLINE_TAGS_PATCH
 | 
				
			||||||
@@ -4767,11 +4807,6 @@ static const char *xkb_layouts[]  = {
 | 
				
			|||||||
#endif // BAR_HOLDBAR_PATCH
 | 
					#endif // BAR_HOLDBAR_PATCH
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#+BEGIN_SRC c :tangle config.def.h
 | 
					 | 
				
			||||||
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
 | 
					 | 
				
			||||||
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
 | 
					 | 
				
			||||||
#+END_SRC
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#+BEGIN_SRC c :tangle config.def.h
 | 
					#+BEGIN_SRC c :tangle config.def.h
 | 
				
			||||||
#if !NODMENU_PATCH
 | 
					#if !NODMENU_PATCH
 | 
				
			||||||
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
 | 
					static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										16
									
								
								config.def.h
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								config.def.h
									
									
									
									
									
								
							@@ -1,3 +1,6 @@
 | 
				
			|||||||
 | 
					#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
 | 
				
			||||||
 | 
					#define CMD(...)   { .v = (const char*[]){ __VA_ARGS__, NULL } }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if ROUNDED_CORNERS_PATCH
 | 
					#if ROUNDED_CORNERS_PATCH
 | 
				
			||||||
static const unsigned int borderpx       = 0;   /* border pixel of windows */
 | 
					static const unsigned int borderpx       = 0;   /* border pixel of windows */
 | 
				
			||||||
static const int corner_radius           = 10;
 | 
					static const int corner_radius           = 10;
 | 
				
			||||||
@@ -425,6 +428,13 @@ static char *statuscolors[][ColCount] = {
 | 
				
			|||||||
static const char *layoutmenu_cmd = "layoutmenu.sh";
 | 
					static const char *layoutmenu_cmd = "layoutmenu.sh";
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if BAR_LAUNCHER_PATCH
 | 
				
			||||||
 | 
					static const Launcher launchers[] = {
 | 
				
			||||||
 | 
						/* icon to display      command        */
 | 
				
			||||||
 | 
						{ "surf",               CMD("surf", "duckduckgo.com") },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					#endif // BAR_LAUNCHER_PATCH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if COOL_AUTOSTART_PATCH
 | 
					#if COOL_AUTOSTART_PATCH
 | 
				
			||||||
static const char *const autostart[] = {
 | 
					static const char *const autostart[] = {
 | 
				
			||||||
        "st", NULL,
 | 
					        "st", NULL,
 | 
				
			||||||
@@ -553,6 +563,9 @@ static const BarRule barrules[] = {
 | 
				
			|||||||
        #if BAR_STATUSBUTTON_PATCH
 | 
					        #if BAR_STATUSBUTTON_PATCH
 | 
				
			||||||
        { -1,        0,     BAR_ALIGN_LEFT,   width_stbutton,           draw_stbutton,          click_stbutton,          NULL,                    "statusbutton" },
 | 
					        { -1,        0,     BAR_ALIGN_LEFT,   width_stbutton,           draw_stbutton,          click_stbutton,          NULL,                    "statusbutton" },
 | 
				
			||||||
        #endif // BAR_STATUSBUTTON_PATCH
 | 
					        #endif // BAR_STATUSBUTTON_PATCH
 | 
				
			||||||
 | 
					        #if BAR_LAUNCHER_PATCH
 | 
				
			||||||
 | 
					        { -1,        0,     BAR_ALIGN_LEFT,   width_launcher,           draw_launcher,          click_launcher,          NULL,                    "launcher" },
 | 
				
			||||||
 | 
					        #endif // BAR_LAUNCHER_PATCH
 | 
				
			||||||
        #if BAR_POWERLINE_TAGS_PATCH
 | 
					        #if BAR_POWERLINE_TAGS_PATCH
 | 
				
			||||||
        {  0,        0,     BAR_ALIGN_LEFT,   width_pwrl_tags,          draw_pwrl_tags,         click_pwrl_tags,         hover_pwrl_tags,         "powerline_tags" },
 | 
					        {  0,        0,     BAR_ALIGN_LEFT,   width_pwrl_tags,          draw_pwrl_tags,         click_pwrl_tags,         hover_pwrl_tags,         "powerline_tags" },
 | 
				
			||||||
        #endif // BAR_POWERLINE_TAGS_PATCH
 | 
					        #endif // BAR_POWERLINE_TAGS_PATCH
 | 
				
			||||||
@@ -860,9 +873,6 @@ static const char *xkb_layouts[]  = {
 | 
				
			|||||||
#define HOLDKEY 0 // replace 0 with the keysym to activate holdbar
 | 
					#define HOLDKEY 0 // replace 0 with the keysym to activate holdbar
 | 
				
			||||||
#endif // BAR_HOLDBAR_PATCH
 | 
					#endif // BAR_HOLDBAR_PATCH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
 | 
					 | 
				
			||||||
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#if !NODMENU_PATCH
 | 
					#if !NODMENU_PATCH
 | 
				
			||||||
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
 | 
					static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
 | 
				
			||||||
#endif // NODMENU_PATCH
 | 
					#endif // NODMENU_PATCH
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								dwm.c
									
									
									
									
									
								
							@@ -4102,6 +4102,7 @@ spawn(const Arg *arg)
 | 
				
			|||||||
	if (arg->v == dmenucmd)
 | 
						if (arg->v == dmenucmd)
 | 
				
			||||||
		dmenumon[0] = '0' + selmon->num;
 | 
							dmenumon[0] = '0' + selmon->num;
 | 
				
			||||||
	#endif // NODMENU_PATCH
 | 
						#endif // NODMENU_PATCH
 | 
				
			||||||
 | 
					fprintf(stderr, "spawn running cmd:\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	#if RIODRAW_PATCH
 | 
						#if RIODRAW_PATCH
 | 
				
			||||||
	if ((pid = fork()) == 0)
 | 
						if ((pid = fork()) == 0)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										81
									
								
								patch/bar_launcher.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								patch/bar_launcher.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,81 @@
 | 
				
			|||||||
 | 
					#if BAR_STATUS2D_PATCH
 | 
				
			||||||
 | 
					int
 | 
				
			||||||
 | 
					width_launcher(Bar *bar, BarArg *a)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int i, x = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (i = 0; i < LENGTH(launchers); i++) {
 | 
				
			||||||
 | 
							x += status2dtextlength(launchers[i].name) + lrpad;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return x;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int
 | 
				
			||||||
 | 
					draw_launcher(Bar *bar, BarArg *a)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int i, w = 0;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (i = 0; i < LENGTH(launchers); i++) {
 | 
				
			||||||
 | 
							w = status2dtextlength(launchers[i].name);
 | 
				
			||||||
 | 
							drawstatusbar(a, launchers[i].name);
 | 
				
			||||||
 | 
							a->x += w + lrpad;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return a->x ;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int
 | 
				
			||||||
 | 
					click_launcher(Bar *bar, Arg *arg, BarArg *a)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int i, x = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (i = 0; i < LENGTH(launchers); i++) {
 | 
				
			||||||
 | 
							x += status2dtextlength(launchers[i].name) + lrpad;
 | 
				
			||||||
 | 
							if (a->x < x) {
 | 
				
			||||||
 | 
							    spawn(&launchers[i].command);
 | 
				
			||||||
 | 
							    break;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return -1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					int
 | 
				
			||||||
 | 
					width_launcher(Bar *bar, BarArg *a)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int i, x = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (i = 0; i < LENGTH(launchers); i++) {
 | 
				
			||||||
 | 
							x += TEXTW(launchers[i].name);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return x;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int
 | 
				
			||||||
 | 
					draw_launcher(Bar *bar, BarArg *a)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int i, x = 0, w = 0;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (i = 0; i < LENGTH(launchers); i++) {
 | 
				
			||||||
 | 
							w = TEXTW(launchers[i].name);
 | 
				
			||||||
 | 
							drw_text(drw, x, 0, w, bh, lrpad / 2, launchers[i].name, 0, True);
 | 
				
			||||||
 | 
							x += w;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return x;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int
 | 
				
			||||||
 | 
					click_launcher(Bar *bar, Arg *arg, BarArg *a)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int i, x = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (i = 0; i < LENGTH(launchers); i++) {
 | 
				
			||||||
 | 
							x += TEXTW(launchers[i].name);
 | 
				
			||||||
 | 
							if (a->x < x) {
 | 
				
			||||||
 | 
							    spawn(&launchers[i].command);
 | 
				
			||||||
 | 
							    break;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return -1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif // BAR_STATUS2D_PATCH
 | 
				
			||||||
							
								
								
									
										8
									
								
								patch/bar_launcher.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								patch/bar_launcher.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					typedef struct {
 | 
				
			||||||
 | 
						char* name;
 | 
				
			||||||
 | 
						const Arg command;
 | 
				
			||||||
 | 
					} Launcher;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int width_launcher(Bar *bar, BarArg *a);
 | 
				
			||||||
 | 
					static int draw_launcher(Bar *bar, BarArg *a);
 | 
				
			||||||
 | 
					static int click_launcher(Bar *bar, Arg *arg, BarArg *a);
 | 
				
			||||||
@@ -15,4 +15,3 @@ click_ltsymbol(Bar *bar, Arg *arg, BarArg *a)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	return ClkLtSymbol;
 | 
						return ClkLtSymbol;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,3 @@
 | 
				
			|||||||
static int width_ltsymbol(Bar *bar, BarArg *a);
 | 
					static int width_ltsymbol(Bar *bar, BarArg *a);
 | 
				
			||||||
static int draw_ltsymbol(Bar *bar, BarArg *a);
 | 
					static int draw_ltsymbol(Bar *bar, BarArg *a);
 | 
				
			||||||
static int click_ltsymbol(Bar *bar, Arg *arg, BarArg *a);
 | 
					static int click_ltsymbol(Bar *bar, Arg *arg, BarArg *a);
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -96,6 +96,7 @@ drawstatusbar(BarArg *a, char* stext)
 | 
				
			|||||||
	#else
 | 
						#else
 | 
				
			||||||
	memcpy(text, stext, len);
 | 
						memcpy(text, stext, len);
 | 
				
			||||||
	#endif // BAR_STATUSCMD_PATCH
 | 
						#endif // BAR_STATUSCMD_PATCH
 | 
				
			||||||
 | 
						text[len] = '\0';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	x += lrpad / 2;
 | 
						x += lrpad / 2;
 | 
				
			||||||
	drw_setscheme(drw, scheme[LENGTH(colors)]);
 | 
						drw_setscheme(drw, scheme[LENGTH(colors)]);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,9 @@
 | 
				
			|||||||
#if COMBO_PATCH
 | 
					#if COMBO_PATCH
 | 
				
			||||||
#include "combo.c"
 | 
					#include "combo.c"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					#if BAR_LAUNCHER_PATCH
 | 
				
			||||||
 | 
					#include "bar_launcher.c"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
#if BAR_LTSYMBOL_PATCH
 | 
					#if BAR_LTSYMBOL_PATCH
 | 
				
			||||||
#include "bar_ltsymbol.c"
 | 
					#include "bar_ltsymbol.c"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,6 +24,9 @@
 | 
				
			|||||||
#if BAR_HOLDBAR_PATCH
 | 
					#if BAR_HOLDBAR_PATCH
 | 
				
			||||||
#include "bar_holdbar.h"
 | 
					#include "bar_holdbar.h"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					#if BAR_LAUNCHER_PATCH
 | 
				
			||||||
 | 
					#include "bar_launcher.h"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
#if BAR_LTSYMBOL_PATCH
 | 
					#if BAR_LTSYMBOL_PATCH
 | 
				
			||||||
#include "bar_ltsymbol.h"
 | 
					#include "bar_ltsymbol.h"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,6 +8,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define BAR_FLEXWINTITLE_PATCH 0
 | 
					#define BAR_FLEXWINTITLE_PATCH 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define BAR_LAUNCHER_PATCH 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define BAR_LAYOUTMENU_PATCH 0
 | 
					#define BAR_LAYOUTMENU_PATCH 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define BAR_LTSYMBOL_PATCH 0
 | 
					#define BAR_LTSYMBOL_PATCH 0
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user