Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Sravan Balaji
2023-12-24 11:45:12 -05:00
5 changed files with 66 additions and 0 deletions

View File

@@ -19,6 +19,10 @@ Browsing patches? There is a [map of patches](https://coggle.it/diagram/X9IiSSM6
### Changelog:
2023-12-22 - Added the do-not-die-on-color-allocation-failure patch
2023-12-01 - Added the sendmoncenter patch
2023-11-12 - Added the focusmaster-return patch variant
2023-06-27 - Added the focusfollowmouse and unmanaged patches
@@ -357,6 +361,10 @@ Browsing patches? There is a [map of patches](https://coggle.it/diagram/X9IiSSM6
- i.e. if topbar is 0 then dmenu will appear at the bottom and if 1 then dmenu will appear at
the top
- do-not-die-on-color-allocation-failure
- avoids dwm terminating (dying) on color allocation failures
- useful for the xrdb (xresources) and status2d patches
- [dragcfact](https://github.com/bakkeby/patches/wiki/dragcfact/)
- lets you resize clients' size (i.e. modify cfact) by holding modkey + shift + right-click
and dragging the mouse
@@ -650,6 +658,9 @@ Browsing patches? There is a [map of patches](https://coggle.it/diagram/X9IiSSM6
- [selfrestart](https://dwm.suckless.org/patches/selfrestart/)
- restart dwm without the unnecessary dependency of an external script
- [sendmoncenter](https://dwm.suckless.org/patches/sendmoncenter/)
- floating windows being sent to another monitor will be centered
- [sendmon\_keepfocus](https://github.com/bakkeby/patches/wiki/sendmon_keepfocus/)
- minor patch that allow clients to keep focus when being sent to another monitor

View File

@@ -79,6 +79,7 @@
- [[#cycle-layouts][Cycle Layouts]]
- [[#decoration-hints][Decoration Hints]]
- [[#distribute-tags][Distribute Tags]]
- [[#do-not-die-on-color-allocation-failure][Do Not Die on Color Allocation Failure]]
- [[#drag-cfact][Drag CFact]]
- [[#drag-mfact][Drag MFact]]
- [[#dwmc][DWMC]]
@@ -137,6 +138,7 @@
- [[#seamless-restart][Seamless Restart]]
- [[#selective-fake-fullscreen][Selective Fake Fullscreen]]
- [[#self-restart][Self Restart]]
- [[#send-monitor-center][Send Monitor Center]]
- [[#send-monitor-keep-focus][Send Monitor Keep Focus]]
- [[#set-border-pixels][Set Border Pixels]]
- [[#shift-both][Shift Both]]
@@ -304,6 +306,10 @@ Browsing patches? There is a [[https://coggle.it/diagram/X9IiSSM6PTWOM9Wz][map o
** Changelog
2023-12-22 - Added the do-not-die-on-color-allocation-failure patch
2023-12-01 - Added the sendmoncenter patch
2023-11-12 - Added the focusmaster-return patch variant
2023-06-27 - Added the focusfollowmouse and unmanaged patches
@@ -627,6 +633,10 @@ Browsing patches? There is a [[https://coggle.it/diagram/X9IiSSM6PTWOM9Wz][map o
- updates the position of dmenu to match that of the bar
- i.e. if topbar is 0 then dmenu will appear at the bottom and if 1 then dmenu will appear at the top
- do-not-die-on-color-allocation-failure
- avoids dwm terminating (dying) on color allocation failures
- useful for the xrdb (xresources) and status2d patches
- [[https://github.com/bakkeby/patches/wiki/dragcfact/][dragcfact]]
- lets you resize clients' size (i.e. modify cfact) by holding modkey + shift + right-click and dragging the mouse
@@ -878,6 +888,9 @@ Browsing patches? There is a [[https://coggle.it/diagram/X9IiSSM6PTWOM9Wz][map o
- [[https://dwm.suckless.org/patches/selfrestart/][selfrestart]]
- restart dwm without the unnecessary dependency of an external script
- [[https://dwm.suckless.org/patches/sendmoncenter/][sendmoncenter]]
- floating windows being sent to another monitor will be centered
- [[https://github.com/bakkeby/patches/wiki/sendmon_keepfocus/][sendmon_keepfocus]]
- minor patch that allow clients to keep focus when being sent to another monitor
@@ -1984,6 +1997,18 @@ https://dwm.suckless.org/patches/reorganizetags/
#define DISTRIBUTETAGS_PATCH 0
#+END_SRC
*** Do Not Die on Color Allocation Failure
By default dwm will terminate on color allocation failure and the behaviour is intended to catch and inform the user of color configuration issues.
Some patches like status2d and xresources / xrdb can change colours during runtime, which means that if a color can't be allocated at this time then the window manager will abruptly terminate.
This patch will ignore color allocation failures and continue on as normal. The effect of this is that the existing color, that was supposed to be replaced, will remain as-is.
#+BEGIN_SRC c :tangle patches.def.h
#define DO_NOT_DIE_ON_COLOR_ALLOCATION_FAILURE_PATCH 0
#+END_SRC
*** Drag CFact
Similarly to the dragmfact patch this allows you to click and drag clients to change the cfact to adjust the client's size in the stack. This patch depends on the cfacts patch.
@@ -2740,6 +2765,16 @@ https://dwm.suckless.org/patches/selfrestart/
#define SELFRESTART_PATCH 0
#+END_SRC
*** Send Monitor Center
Floating windows being sent to another monitor will be centered.
https://dwm.suckless.org/patches/sendmoncenter/
#+BEGIN_SRC c :tangle patches.def.h
#define SENDMON_CENTER_PATCH 0
#+END_SRC
*** Send Monitor Keep Focus
This patch allow clients to keep focus when being sent to another monitor.

8
drw.c
View File

@@ -337,14 +337,22 @@ drw_clr_create(
#if BAR_ALPHA_PATCH
if (!XftColorAllocName(drw->dpy, drw->visual, drw->cmap,
clrname, dest))
#if DO_NOT_DIE_ON_COLOR_ALLOCATION_FAILURE_PATCH
fprintf(stderr, "warning, cannot allocate color '%s'", clrname);
#else
die("error, cannot allocate color '%s'", clrname);
#endif // DO_NOT_DIE_ON_COLOR_ALLOCATION_FAILURE_PATCH
dest->pixel = (dest->pixel & 0x00ffffffU) | (alpha << 24);
#else
if (!XftColorAllocName(drw->dpy, DefaultVisual(drw->dpy, drw->screen),
DefaultColormap(drw->dpy, drw->screen),
clrname, dest))
#if DO_NOT_DIE_ON_COLOR_ALLOCATION_FAILURE_PATCH
fprintf(stderr, "warning, cannot allocate color '%s'", clrname);
#else
die("error, cannot allocate color '%s'", clrname);
#endif // DO_NOT_DIE_ON_COLOR_ALLOCATION_FAILURE_PATCH
#if NO_TRANSPARENT_BORDERS_PATCH
dest->pixel |= 0xff << 24;

8
dwm.c
View File

@@ -3383,6 +3383,14 @@ sendmon(Client *c, Monitor *m)
#else
c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */
#endif // EMPTYVIEW_PATCH
#if SENDMON_CENTER_PATCH
c->x = m->mx + (m->mw - WIDTH(c)) / 2;
c->y = m->my + (m->mh - HEIGHT(c)) / 2;
#if SAVEFLOATS_PATCH
c->sfx = m->mx + (m->mw - c->sfw - 2 * c->bw) / 2;
c->sfy = m->my + (m->mh - c->sfh - 2 * c->bw) / 2;
#endif // SAVEFLOATS_PATCH
#endif // SENDMON_CENTER_PATCH
#if ATTACHABOVE_PATCH || ATTACHASIDE_PATCH || ATTACHBELOW_PATCH || ATTACHBOTTOM_PATCH
attachx(c);
#else

View File

@@ -145,6 +145,8 @@
#define DISTRIBUTETAGS_PATCH 0
#define DO_NOT_DIE_ON_COLOR_ALLOCATION_FAILURE_PATCH 0
#define DRAGCFACT_PATCH 0
#define DRAGMFACT_PATCH 0
@@ -277,6 +279,8 @@
#define SELFRESTART_PATCH 0
#define SENDMON_CENTER_PATCH 0
#define SENDMON_KEEPFOCUS_PATCH 0
#define SETBORDERPX_PATCH 0