1
0
mirror of https://github.com/gryf/wmaker.git synced 2026-03-19 17:23:33 +01:00

wmaker: fix titlebar glitch issues with modelock

This patch is fixing 2 issues with the modelock language pixmap
located in the titlebar.

If wmaker is compiled with modelock support but modelock is disabled
from the expert preferences, dialog windows like run command or exit
will not show the language pixmap but will show empty frame borders.

When modelock is enabled from the expert preferences, it needs a
warm restart for the titlebars to be updated with the language pixmap.
If afterwards, modelock is disabled from the expert preferences,
any old windows that is gettting focus will be repainted and the language
pixmap will be destroyed but the empty frame borders will still be
present. Now to fully disable modelock for existing opened windows,
wmaker needs a warm restart.
This commit is contained in:
David Maciejak
2026-02-08 17:15:06 -05:00
committed by Carlos R. Mafra
parent 839061a25a
commit 7ca96b9ed6
2 changed files with 3 additions and 2 deletions

View File

@@ -1394,7 +1394,7 @@ static void handleButtonExpose(WObjDescriptor * desc, XEvent * event)
#ifdef XKB_BUTTON_HINT
if (button == fwin->language_button) {
if (wPreferences.modelock)
if (!fwin->flags.hide_language_button)
paintButton(button, fwin->title_texture[fwin->flags.state],
WMColorPixel(fwin->title_color[fwin->flags.state]),
fwin->languagebutton_image, False);

View File

@@ -1437,7 +1437,8 @@ WWindow *wManageInternalWindow(WScreen *scr, Window window, Window owner,
foo = WFF_RIGHT_BUTTON | WFF_BORDER;
foo |= WFF_TITLEBAR;
#ifdef XKB_BUTTON_HINT
foo |= WFF_LANGUAGE_BUTTON;
if (wPreferences.modelock)
foo |= WFF_LANGUAGE_BUTTON;
#endif
wwin->frame = wFrameWindowCreate(scr, WMFloatingLevel,