From d9d5a52200906c080a7bf80713a8804e9230a462 Mon Sep 17 00:00:00 2001 From: kojima Date: Thu, 9 Nov 2000 17:42:20 +0000 Subject: [PATCH] added shortcut to switch screens --- src/defaults.c | 50 +++++++++++++------------------------------------- src/event.c | 26 ++++++++++++++++++++++++-- src/keybind.h | 32 +++++++++++++------------------- 3 files changed, 50 insertions(+), 58 deletions(-) diff --git a/src/defaults.c b/src/defaults.c index 9a1fa328..7d902ed7 100644 --- a/src/defaults.c +++ b/src/defaults.c @@ -83,7 +83,6 @@ extern proplist_t ReadProplistFromFile(char *file); extern WDDomain *WDWindowMaker; extern WDDomain *WDWindowAttributes; -extern WDDomain *WDRootMenu; extern int wScreenCount; @@ -182,8 +181,9 @@ static int setClipTitleFont(); static int setClipTitleColor(); static int setMenuStyle(); +#if 0 static int setMultiByte(); - +#endif static int updateUsableArea(); #ifdef DEFINABLE_CURSOR @@ -374,10 +374,12 @@ WDefaultEntry staticOptionList[] = { }, {"DisableMiniwindows", "NO", NULL, &wPreferences.disable_miniwindows, getBool, NULL - }, - {"MultiByteText", "NO", NULL, - &wPreferences.multi_byte_text, getBool, setMultiByte } +#if 0 + ,{"MultiByteText", "NO", NULL, + &wPreferences.multi_byte_text, getBool, setMultiByte + } +#endif }; @@ -786,7 +788,6 @@ WDefaultEntry optionList[] = { {"WindowShortcut4Key","None", (void*)WKBD_WINDOW4, NULL, getKeybind, setKeyGrab } -#ifdef EXTEND_WINDOWSHORTCUT ,{"WindowShortcut5Key","None", (void*)WKBD_WINDOW5, NULL, getKeybind, setKeyGrab }, @@ -804,8 +805,10 @@ WDefaultEntry optionList[] = { }, {"WindowShortcut10Key","None", (void*)WKBD_WINDOW10, NULL, getKeybind, setKeyGrab - } -#endif /* EXTEND_WINDOWSHORTCUT */ + }, + {"ScreenSwitchKey", "None", (void*)WKBD_SWITCH_SCREEN, + NULL, getKeybind, setKeyGrab + }, #ifdef KEEP_XKB_LOCK_STATUS ,{"ToggleKbdModeKey", "None", (void*)WKBD_TOGGLE, @@ -1148,33 +1151,6 @@ wDefaultsCheckDomains(void *foo) WDWindowAttributes->timestamp = stbuf.st_mtime; } -#ifndef LITE - if (stat(WDRootMenu->path, &stbuf)>=0 - && WDRootMenu->timestamp < stbuf.st_mtime) { - dict = ReadProplistFromFile(WDRootMenu->path); -#ifdef HEARTBEAT - puts("Checking WMRootMenu domain"); -#endif - if (dict) { - if (!PLIsArray(dict) && !PLIsString(dict)) { - PLRelease(dict); - dict = NULL; - wwarning(_("Domain %s (%s) of defaults database is corrupted!"), - "WMRootMenu", WDRootMenu->path); - } else { - if (WDRootMenu->dictionary) { - PLRelease(WDRootMenu->dictionary); - } - WDRootMenu->dictionary = dict; - } - } else { - wwarning(_("could not load domain %s from user defaults database"), - "WMRootMenu"); - } - WDRootMenu->timestamp = stbuf.st_mtime; - } -#endif /* !LITE */ - if (!foo) WMAddTimerHandler(DEFAULTS_CHECK_INTERVAL, wDefaultsCheckDomains, foo); } @@ -3471,7 +3447,7 @@ setDoubleClick(WScreen *scr, WDefaultEntry *entry, int *value, void *foo) } - +#if 0 static int setMultiByte(WScreen *scr, WDefaultEntry *entry, char *value, void *foo) { @@ -3481,7 +3457,7 @@ setMultiByte(WScreen *scr, WDefaultEntry *entry, char *value, void *foo) return 0; } - +#endif #ifdef DEFINABLE_CURSOR static int diff --git a/src/event.c b/src/event.c index f9d52f04..a9b123ba 100644 --- a/src/event.c +++ b/src/event.c @@ -1521,14 +1521,12 @@ handleKeyPress(XEvent *event) case WKBD_WINDOW2: case WKBD_WINDOW3: case WKBD_WINDOW4: -#ifdef EXTEND_WINDOWSHORTCUT case WKBD_WINDOW5: case WKBD_WINDOW6: case WKBD_WINDOW7: case WKBD_WINDOW8: case WKBD_WINDOW9: case WKBD_WINDOW10: -#endif #define INITBAG(bag) if (bag) WMEmptyBag(bag); else bag = WMCreateBag(4) @@ -1604,6 +1602,30 @@ handleKeyPress(XEvent *event) #undef INITBAG break; + + case WKBD_SWITCH_SCREEN: + if (wScreenCount > 1) { + WScreen *scr2; + int i; + + /* find index of this screen */ + for (i = 0; < wScreenCount; i++) { + if (wScreenWithNumber(i) == scr) + break; + } + i++; + if (i >= wScreenCount) { + i = 0; + } + scr2 = wScreenWithNumber(i); + + if (scr2) { + XWarpPointer(dpy, scr->root_win, scr2->root_win, 0, 0, 0, 0, + scr2->scr_width/2, scr2->scr_height/2); + } + } + break; + case WKBD_NEXTWSLAYER: case WKBD_PREVWSLAYER: { diff --git a/src/keybind.h b/src/keybind.h index 5697a952..60e4ff8b 100644 --- a/src/keybind.h +++ b/src/keybind.h @@ -69,25 +69,19 @@ #define WKBD_WINDOW4 37 #define WKBD_WINDOW5 38 #define WKBD_WINDOW6 39 -#ifdef EXTEND_WINDOWSHORTCUT -# define WKBD_WINDOW7 40 -# define WKBD_WINDOW8 41 -# define WKBD_WINDOW9 42 -# define WKBD_WINDOW10 43 -# ifdef KEEP_XKB_LOCK_STATUS -# define WKBD_TOGGLE 44 -# define WKBD_LAST 45 -# else -# define WKBD_LAST 44 -# endif /* KEEP_XKB_LOCK_STATUS */ -#else /* !EXTEND_WINDOWSHORTCUT */ -# ifdef KEEP_XKB_LOCK_STATUS -# define WKBD_TOGGLE 40 -# define WKBD_LAST 41 -# else -# define WKBD_LAST 42 -# endif /* KEEP_XKB_LOCK_STATUS */ -#endif /* !EXTEND_WINDOWSHORTCUT */ +#define WKBD_WINDOW7 40 +#define WKBD_WINDOW8 41 +#define WKBD_WINDOW9 42 +#define WKBD_WINDOW10 43 + +#define WKBD_SWITCH_SCREEN 44 + +#ifdef KEEP_XKB_LOCK_STATUS +# define WKBD_TOGGLE 45 +# define WKBD_LAST 46 +#else +# define WKBD_LAST 45 +#endif /* KEEP_XKB_LOCK_STATUS */ typedef struct WShortKey {