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:
|
### Changelog:
|
||||||
|
|
||||||
|
2023-12-22 - Added the do-not-die-on-color-allocation-failure patch
|
||||||
|
|
||||||
2023-12-01 - Added the sendmoncenter patch
|
2023-12-01 - Added the sendmoncenter patch
|
||||||
|
|
||||||
2023-11-12 - Added the focusmaster-return patch variant
|
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
|
- i.e. if topbar is 0 then dmenu will appear at the bottom and if 1 then dmenu will appear at
|
||||||
the top
|
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/)
|
- [dragcfact](https://github.com/bakkeby/patches/wiki/dragcfact/)
|
||||||
- lets you resize clients' size (i.e. modify cfact) by holding modkey + shift + right-click
|
- lets you resize clients' size (i.e. modify cfact) by holding modkey + shift + right-click
|
||||||
and dragging the mouse
|
and dragging the mouse
|
||||||
|
8
drw.c
8
drw.c
@ -337,14 +337,22 @@ drw_clr_create(
|
|||||||
#if BAR_ALPHA_PATCH
|
#if BAR_ALPHA_PATCH
|
||||||
if (!XftColorAllocName(drw->dpy, drw->visual, drw->cmap,
|
if (!XftColorAllocName(drw->dpy, drw->visual, drw->cmap,
|
||||||
clrname, dest))
|
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);
|
die("error, cannot allocate color '%s'", clrname);
|
||||||
|
#endif // DO_NOT_DIE_ON_COLOR_ALLOCATION_FAILURE_PATCH
|
||||||
|
|
||||||
dest->pixel = (dest->pixel & 0x00ffffffU) | (alpha << 24);
|
dest->pixel = (dest->pixel & 0x00ffffffU) | (alpha << 24);
|
||||||
#else
|
#else
|
||||||
if (!XftColorAllocName(drw->dpy, DefaultVisual(drw->dpy, drw->screen),
|
if (!XftColorAllocName(drw->dpy, DefaultVisual(drw->dpy, drw->screen),
|
||||||
DefaultColormap(drw->dpy, drw->screen),
|
DefaultColormap(drw->dpy, drw->screen),
|
||||||
clrname, dest))
|
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);
|
die("error, cannot allocate color '%s'", clrname);
|
||||||
|
#endif // DO_NOT_DIE_ON_COLOR_ALLOCATION_FAILURE_PATCH
|
||||||
|
|
||||||
#if NO_TRANSPARENT_BORDERS_PATCH
|
#if NO_TRANSPARENT_BORDERS_PATCH
|
||||||
dest->pixel |= 0xff << 24;
|
dest->pixel |= 0xff << 24;
|
||||||
|
@ -572,6 +572,18 @@
|
|||||||
*/
|
*/
|
||||||
#define DISTRIBUTETAGS_PATCH 0
|
#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
|
/* 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.
|
* 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