mirror of
https://github.com/mintycube/dwm.git
synced 2024-10-22 14:05:45 +02:00
Adding the do-not-die-on-color-allocation-failure patch ref. #404
This commit is contained in:
parent
9869c22cb2
commit
5a0c5e617f
@ -19,6 +19,8 @@ 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
|
||||
@ -359,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
|
||||
|
8
drw.c
8
drw.c
@ -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;
|
||||
|
@ -572,6 +572,18 @@
|
||||
*/
|
||||
#define DISTRIBUTETAGS_PATCH 0
|
||||
|
||||
/* 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.
|
||||
*/
|
||||
#define DO_NOT_DIE_ON_COLOR_ALLOCATION_FAILURE_PATCH 0
|
||||
|
||||
/* 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.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user