mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-20 21:08:08 +01:00
fixes relate modelock.
This commit is contained in:
@@ -135,32 +135,32 @@ static char *PRED_XKBGROUP3_XPM[] = {
|
||||
" 10 10 2 1",
|
||||
". c #000000",
|
||||
"# c None",
|
||||
"##########",
|
||||
"##########",
|
||||
"##..##..##",
|
||||
"##..##..##",
|
||||
"##########",
|
||||
"##########",
|
||||
"#........#",
|
||||
"##......##",
|
||||
"###....###",
|
||||
"##########"
|
||||
"..........",
|
||||
"..........",
|
||||
"..##..##..",
|
||||
"..##..##..",
|
||||
"..........",
|
||||
"..........",
|
||||
"..######..",
|
||||
"...####...",
|
||||
"....##....",
|
||||
".........."
|
||||
};
|
||||
|
||||
static char *PRED_XKBGROUP4_XPM[] = {
|
||||
" 10 10 2 1",
|
||||
". c #000000",
|
||||
"# c None",
|
||||
"##########",
|
||||
"##########",
|
||||
"##..##..##",
|
||||
"##..##..##",
|
||||
"##########",
|
||||
"##########",
|
||||
"#........#",
|
||||
"##......##",
|
||||
"###....###",
|
||||
"##########"
|
||||
"..........",
|
||||
".########.",
|
||||
".#..##..#.",
|
||||
".#..##..#.",
|
||||
".########.",
|
||||
".#......#.",
|
||||
".##....##.",
|
||||
".###..###.",
|
||||
".########.",
|
||||
".........."
|
||||
};
|
||||
|
||||
#endif /* XKB_BUTTON_HINT */
|
||||
|
||||
13
src/event.c
13
src/event.c
@@ -96,6 +96,10 @@ extern Bool wShapeSupported;
|
||||
extern int wShapeEventBase;
|
||||
#endif
|
||||
|
||||
#ifdef KEEP_XKB_LOCK_STATUS
|
||||
extern int wXkbEventBase;
|
||||
#endif
|
||||
|
||||
/* special flags */
|
||||
extern char WDelayedActionSet;
|
||||
|
||||
@@ -447,18 +451,15 @@ static void
|
||||
handleExtensions(XEvent *event)
|
||||
{
|
||||
XkbEvent *xkbevent;
|
||||
xkbevent = event;
|
||||
xkbevent = (XkbEvent *)event;
|
||||
#ifdef SHAPE
|
||||
if (wShapeSupported && event->type == (wShapeEventBase+ShapeNotify)) {
|
||||
handleShapeNotify(event);
|
||||
}
|
||||
#endif
|
||||
#ifdef KEEP_XKB_LOCK_STATUS
|
||||
if (wPreferences.modelock &&
|
||||
(event->type == 0x54)){
|
||||
/* if someone know how to call this 0x50
|
||||
* or how to clean code this please tell ]d */
|
||||
handleXkbIndicatorStateNotify(event);
|
||||
if (wPreferences.modelock && (xkbevent->type == wXkbEventBase)){
|
||||
handleXkbIndicatorStateNotify(event);
|
||||
}
|
||||
#endif /*KEEP_XKB_LOCK_STATUS*/
|
||||
}
|
||||
|
||||
11
src/screen.c
11
src/screen.c
@@ -88,6 +88,10 @@ extern Atom _XA_WINDOWMAKER_NOTICEBOARD;
|
||||
|
||||
extern int wScreenCount;
|
||||
|
||||
#ifdef KEEP_XKB_LOCK_STATUS
|
||||
extern int wXkbSupported;
|
||||
#endif
|
||||
|
||||
extern WDDomain *WDWindowMaker;
|
||||
|
||||
|
||||
@@ -713,8 +717,11 @@ wScreenInit(int screen_number)
|
||||
XSelectInput(dpy, scr->root_win, event_mask);
|
||||
|
||||
#ifdef KEEP_XKB_LOCK_STATUS
|
||||
XkbSelectEventDetails(dpy,XkbUseCoreKbd,XkbIndicatorStateNotify,
|
||||
XkbIndicatorStateNotifyMask, XkbIndicatorStateNotifyMask);
|
||||
if (wXkbSupported) {
|
||||
XkbSelectEvents(dpy,XkbUseCoreKbd,
|
||||
XkbStateNotifyMask,
|
||||
XkbStateNotifyMask);
|
||||
}
|
||||
#endif /* KEEP_XKB_LOCK_STATUS */
|
||||
|
||||
XSync(dpy, False);
|
||||
|
||||
Reference in New Issue
Block a user