1
0
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:
id
1999-05-23 19:33:19 +00:00
parent 17e920ac4d
commit 2bce79404d
3 changed files with 36 additions and 28 deletions

View File

@@ -135,32 +135,32 @@ static char *PRED_XKBGROUP3_XPM[] = {
" 10 10 2 1", " 10 10 2 1",
". c #000000", ". c #000000",
"# c None", "# c None",
"##########", "..........",
"##########", "..........",
"##..##..##", "..##..##..",
"##..##..##", "..##..##..",
"##########", "..........",
"##########", "..........",
"#........#", "..######..",
"##......##", "...####...",
"###....###", "....##....",
"##########" ".........."
}; };
static char *PRED_XKBGROUP4_XPM[] = { static char *PRED_XKBGROUP4_XPM[] = {
" 10 10 2 1", " 10 10 2 1",
". c #000000", ". c #000000",
"# c None", "# c None",
"##########", "..........",
"##########", ".########.",
"##..##..##", ".#..##..#.",
"##..##..##", ".#..##..#.",
"##########", ".########.",
"##########", ".#......#.",
"#........#", ".##....##.",
"##......##", ".###..###.",
"###....###", ".########.",
"##########" ".........."
}; };
#endif /* XKB_BUTTON_HINT */ #endif /* XKB_BUTTON_HINT */

View File

@@ -96,6 +96,10 @@ extern Bool wShapeSupported;
extern int wShapeEventBase; extern int wShapeEventBase;
#endif #endif
#ifdef KEEP_XKB_LOCK_STATUS
extern int wXkbEventBase;
#endif
/* special flags */ /* special flags */
extern char WDelayedActionSet; extern char WDelayedActionSet;
@@ -447,17 +451,14 @@ static void
handleExtensions(XEvent *event) handleExtensions(XEvent *event)
{ {
XkbEvent *xkbevent; XkbEvent *xkbevent;
xkbevent = event; xkbevent = (XkbEvent *)event;
#ifdef SHAPE #ifdef SHAPE
if (wShapeSupported && event->type == (wShapeEventBase+ShapeNotify)) { if (wShapeSupported && event->type == (wShapeEventBase+ShapeNotify)) {
handleShapeNotify(event); handleShapeNotify(event);
} }
#endif #endif
#ifdef KEEP_XKB_LOCK_STATUS #ifdef KEEP_XKB_LOCK_STATUS
if (wPreferences.modelock && if (wPreferences.modelock && (xkbevent->type == wXkbEventBase)){
(event->type == 0x54)){
/* if someone know how to call this 0x50
* or how to clean code this please tell ]d */
handleXkbIndicatorStateNotify(event); handleXkbIndicatorStateNotify(event);
} }
#endif /*KEEP_XKB_LOCK_STATUS*/ #endif /*KEEP_XKB_LOCK_STATUS*/

View File

@@ -88,6 +88,10 @@ extern Atom _XA_WINDOWMAKER_NOTICEBOARD;
extern int wScreenCount; extern int wScreenCount;
#ifdef KEEP_XKB_LOCK_STATUS
extern int wXkbSupported;
#endif
extern WDDomain *WDWindowMaker; extern WDDomain *WDWindowMaker;
@@ -713,8 +717,11 @@ wScreenInit(int screen_number)
XSelectInput(dpy, scr->root_win, event_mask); XSelectInput(dpy, scr->root_win, event_mask);
#ifdef KEEP_XKB_LOCK_STATUS #ifdef KEEP_XKB_LOCK_STATUS
XkbSelectEventDetails(dpy,XkbUseCoreKbd,XkbIndicatorStateNotify, if (wXkbSupported) {
XkbIndicatorStateNotifyMask, XkbIndicatorStateNotifyMask); XkbSelectEvents(dpy,XkbUseCoreKbd,
XkbStateNotifyMask,
XkbStateNotifyMask);
}
#endif /* KEEP_XKB_LOCK_STATUS */ #endif /* KEEP_XKB_LOCK_STATUS */
XSync(dpy, False); XSync(dpy, False);