mirror of
https://github.com/mintycube/dwm.git
synced 2024-10-22 14:05:45 +02:00
Adding interim patch to ignore xft errors when drawing text on the status bar
This commit is contained in:
parent
063fe26089
commit
251b933b19
@ -13,6 +13,8 @@ Refer to [https://dwm.suckless.org/](https://dwm.suckless.org/) for details on t
|
|||||||
|
|
||||||
### Changelog:
|
### Changelog:
|
||||||
|
|
||||||
|
2019-10-11 - Added the patch to ignore Xft errors when drawing text in the status bar
|
||||||
|
|
||||||
2019-10-10 - Added mdpcontrol, scratchpad and spawn_cwd cpatches
|
2019-10-10 - Added mdpcontrol, scratchpad and spawn_cwd cpatches
|
||||||
|
|
||||||
2019-10-08 - Added columns layout and fakefullscreen patch
|
2019-10-08 - Added columns layout and fakefullscreen patch
|
||||||
@ -150,6 +152,10 @@ Refer to [https://dwm.suckless.org/](https://dwm.suckless.org/) for details on t
|
|||||||
- with this patch dwm's built-in status bar is only shown when HOLDKEY is pressed
|
- with this patch dwm's built-in status bar is only shown when HOLDKEY is pressed
|
||||||
- additionally the bar will now overlay the display
|
- additionally the bar will now overlay the display
|
||||||
|
|
||||||
|
- [ignore-xft-errors-when-drawing-text](https://groups.google.com/forum/m/#!topic/wmii/7bncCahYIww)
|
||||||
|
- sometimes dwm crashes when it cannot render some glyphs in window titles (usually emoji)
|
||||||
|
- this patch is essentially a hack to ignore any errors when drawing text on the status bar and may be removed if a more appropriate solution comes up
|
||||||
|
|
||||||
- [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
|
||||||
|
|
||||||
|
7
dwm.c
7
dwm.c
@ -1476,12 +1476,19 @@ drawbar(Monitor *m)
|
|||||||
#else
|
#else
|
||||||
drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]);
|
drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]);
|
||||||
#endif // TITLECOLOR_PATCH
|
#endif // TITLECOLOR_PATCH
|
||||||
|
#if IGNORE_XFT_ERRORS_WHEN_DRAWING_TEXT_PATCH
|
||||||
|
XSetErrorHandler(xerrordummy);
|
||||||
|
#endif // IGNORE_XFT_ERRORS_WHEN_DRAWING_TEXT_PATCH
|
||||||
#if CENTEREDWINDOWNAME_PATCH
|
#if CENTEREDWINDOWNAME_PATCH
|
||||||
int mid = (m->ww - TEXTW(m->sel->name)) / 2 - x;
|
int mid = (m->ww - TEXTW(m->sel->name)) / 2 - x;
|
||||||
drw_text(drw, x, 0, w, bh, mid, m->sel->name, 0);
|
drw_text(drw, x, 0, w, bh, mid, m->sel->name, 0);
|
||||||
#else
|
#else
|
||||||
drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0);
|
drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0);
|
||||||
#endif // CENTEREDWINDOWNAME_PATCH
|
#endif // CENTEREDWINDOWNAME_PATCH
|
||||||
|
#if IGNORE_XFT_ERRORS_WHEN_DRAWING_TEXT_PATCH
|
||||||
|
XSync(dpy, False);
|
||||||
|
XSetErrorHandler(xerror);
|
||||||
|
#endif // IGNORE_XFT_ERRORS_WHEN_DRAWING_TEXT_PATCH
|
||||||
if (m->sel->isfloating)
|
if (m->sel->isfloating)
|
||||||
#if ACTIVETAGINDICATORBAR_PATCH
|
#if ACTIVETAGINDICATORBAR_PATCH
|
||||||
drw_rect(drw, x + boxw, 0, w - ( 2 * boxw + 1), boxw, m->sel->isfixed, 0);
|
drw_rect(drw, x + boxw, 0, w - ( 2 * boxw + 1), boxw, m->sel->isfixed, 0);
|
||||||
|
@ -199,6 +199,13 @@
|
|||||||
*/
|
*/
|
||||||
#define HOLDBAR_PATCH 0
|
#define HOLDBAR_PATCH 0
|
||||||
|
|
||||||
|
/* Sometimes dwm crashes when it cannot render some glyphs in window titles (usually emoji).
|
||||||
|
* This patch is essentially a hack to ignore any errors when drawing text on the status bar.
|
||||||
|
* https://groups.google.com/forum/m/#!topic/wmii/7bncCahYIww
|
||||||
|
* https://docs.google.com/viewer?a=v&pid=forums&srcid=MDAwODA2MTg0MDQyMjE0OTgzMzMBMDQ3ODQzODkyMTU3NTAyMTMxNTYBX2RUMVNtOUtDQUFKATAuMQEBdjI&authuser=0
|
||||||
|
*/
|
||||||
|
#define IGNORE_XFT_ERRORS_WHEN_DRAWING_TEXT_PATCH 0
|
||||||
|
|
||||||
/* This patch adds a keybinding to kills all visible clients that are not selected.
|
/* This patch adds a keybinding to kills all visible clients that are not selected.
|
||||||
* https://dwm.suckless.org/patches/killunsel/
|
* https://dwm.suckless.org/patches/killunsel/
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user