Updated dwm-flexipatch to commit 3e97a1d & more

- The commit changes the Makefile, per vanilla dwm upstream, as well as fixing conflicts with
  unmanaged and systray
- Change screenshots in the readme to reflect current status
- Adding new layouts
This commit is contained in:
Alexis Jhon Gaspar 2023-09-23 10:48:48 +08:00
parent 9263e65c27
commit f8acbaafec
9 changed files with 27 additions and 26 deletions

View file

@ -5,10 +5,11 @@ picom -b # launches compositor
/usr/local/bin/dwmblocks & # launches slstatus/dwmblocks
/usr/bin/dunst & # launches dunst daemon
while true; do
xsetroot -name ";$(date +'%A, %B %d, %Y') | Kernel $(uname -r) | suckless-utils 6.4"
sleep infinity
done &
xsetroot -name ";$(date +'%A, %B %d, %Y') | Kernel $(uname -r) | suckless-utils 6.4" # set bottom bar status
sleep infinity # to stop it from interfering with dwmblocks/slstatus
done &
paplay /usr/share/sounds/Oxygen-Sys-Special.ogg # autoplay sound, optional
pkill -f "sleep infinity" &
nm-applet &
pkill -f "sleep infinity" & # set the bottom status as sleep infinity doesn't load it up
nm-applet & # optional, launch network-manager applet
nemo-desktop & # launch nemo in desktop mode, to provide desktop icons, optional
exec /usr/local/bin/dwm # launch dwm

View file

@ -9,17 +9,11 @@ OBJ = ${SRC:.c=.o}
# FreeBSD users, prefix all ifdef, else and endif statements with a . for this to work (e.g. .ifdef)
ifdef YAJLLIBS
all: options dwm dwm-msg
all: dwm dwm-msg
else
all: options dwm
all: dwm
endif
options:
@echo dwm build options:
@echo "CFLAGS = ${CFLAGS}"
@echo "LDFLAGS = ${LDFLAGS}"
@echo "CC = ${CC}"
.c.o:
${CC} -c ${CFLAGS} $<
@ -74,4 +68,4 @@ uninstall:
${DESTDIR}${MANPREFIX}/man1/dwm.1\
${DESTDIR}${PREFIX}/share/xsessions/dwm.desktop
.PHONY: all options clean dist install uninstall
.PHONY: all clean dist install uninstall

View file

@ -1,4 +1,4 @@
This dwm 6.4 (e81f17d, 2023-04-09) side project has a different take on dwm patching. It uses preprocessor directives to decide whether or not to include a patch during build time. Essentially this means that this build, for better or worse, contains both the patched _and_ the original code. The aim being that you can select which patches to include and the build will contain that code and nothing more. Due to the complexity of some of the patches dwm-flexipatch has diverged from mainstream dwm by making some core patches non-optional for maintenance reasons. For the classic dwm-flexipatch build refer to branch [dwm-flexipatch-1.0](https://github.com/bakkeby/dwm-flexipatch/tree/dwm-flexipatch-1.0).
This dwm 6.4 (9f88553, 2023-09-22) side project has a different take on dwm patching. It uses preprocessor directives to decide whether or not to include a patch during build time. Essentially this means that this build, for better or worse, contains both the patched _and_ the original code. The aim being that you can select which patches to include and the build will contain that code and nothing more. Due to the complexity of some of the patches dwm-flexipatch has diverged from mainstream dwm by making some core patches non-optional for maintenance reasons. For the classic dwm-flexipatch build refer to branch [dwm-flexipatch-1.0](https://github.com/bakkeby/dwm-flexipatch/tree/dwm-flexipatch-1.0).
For example to include the `alpha` patch then you would only need to flip this setting from 0 to 1 in [patches.h](https://github.com/bakkeby/dwm-flexipatch/blob/master/patches.def.h):
```c

View file

@ -493,6 +493,8 @@ static const Rule rules[] = {
* WM_WINDOW_ROLE(STRING) = role
* _NET_WM_WINDOW_TYPE(ATOM) = wintype
*/
RULE(.wintype = WTYPE "DESKTOP", .unmanaged = 2)
RULE(.wintype = WTYPE "DOCK", .unmanaged = 1)
RULE(.wintype = WTYPE "DIALOG", .isfloating = 1)
RULE(.wintype = WTYPE "UTILITY", .isfloating = 1)
RULE(.wintype = WTYPE "TOOLBAR", .isfloating = 1)

View file

@ -2522,7 +2522,11 @@ manage(Window w, XWindowAttributes *wa)
updatewmhints(c);
if (!c->neverfocus)
XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
#if BAR_SYSTRAY_PATCH
sendevent(c->win, wmatom[WMTakeFocus], NoEventMask, wmatom[WMTakeFocus], CurrentTime, 0, 0, 0);
#else
sendevent(c, wmatom[WMTakeFocus]);
#endif // BAR_SYSTRAY_PATCH
free(c);
unmanaged = 0;

View file

@ -1314,7 +1314,7 @@
* launchers, docks, desktop icons and more.
* https://github.com/bakkeby/patches/wiki/unmanaged
*/
#define UNMANAGED_PATCH 0
#define UNMANAGED_PATCH 1
/* This patch adds configurable gaps between windows differentiating between outer, inner,
* horizontal and vertical gaps.
@ -1396,49 +1396,49 @@
/* Bottomstack layout.
* https://dwm.suckless.org/patches/bottomstack/
*/
#define BSTACK_LAYOUT 0
#define BSTACK_LAYOUT 1
/* Bottomstack horizontal layout.
* https://dwm.suckless.org/patches/bottomstack/
*/
#define BSTACKHORIZ_LAYOUT 0
#define BSTACKHORIZ_LAYOUT 1
/* Centered master layout.
* https://dwm.suckless.org/patches/centeredmaster/
*/
#define CENTEREDMASTER_LAYOUT 0
#define CENTEREDMASTER_LAYOUT 1
/* Centered floating master layout.
* https://dwm.suckless.org/patches/centeredmaster/
*/
#define CENTEREDFLOATINGMASTER_LAYOUT 0
#define CENTEREDFLOATINGMASTER_LAYOUT 1
/* Same as the default tile layout except clients in the master area are arranged in
* columns (i.e. left to right).
* https://dwm.suckless.org/patches/columns/
*/
#define COLUMNS_LAYOUT 0
#define COLUMNS_LAYOUT 1
/* Deck layout.
* https://dwm.suckless.org/patches/deck/
*/
#define DECK_LAYOUT 0
#define DECK_LAYOUT 1
/* Fibonacci dwindle layout.
* https://dwm.suckless.org/patches/fibonacci/
*/
#define FIBONACCI_DWINDLE_LAYOUT 0
#define FIBONACCI_DWINDLE_LAYOUT 1
/* Fibonacci spiral layout.
* https://dwm.suckless.org/patches/fibonacci/
*/
#define FIBONACCI_SPIRAL_LAYOUT 0
#define FIBONACCI_SPIRAL_LAYOUT 1
/* Flextile deluxe layout.
* A revamped, more flexible, and over-the-top version of the original flextile layout.
* https://dwm.suckless.org/patches/flextile/ (original)
*/
#define FLEXTILE_DELUXE_LAYOUT 0
#define FLEXTILE_DELUXE_LAYOUT 1
/* Gappless grid layout.
* https://dwm.suckless.org/patches/gaplessgrid/
@ -1458,7 +1458,7 @@
/* Grid layout where nmaster controls the number of rows.
* https://dwm.suckless.org/patches/nrowgrid/
*/
#define NROWGRID_LAYOUT 0
#define NROWGRID_LAYOUT 1
/* The default tile layout.
* This can be optionally disabled in favour of other layouts.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 KiB

After

Width:  |  Height:  |  Size: 1.3 MiB