Switch between desktops using keyboard in factory

darcs
wayo.cavazos 2006-02-17 07:43:21 +00:00
parent 9873d6285c
commit 71b59977ad
2 changed files with 20 additions and 23 deletions

View File

@ -275,31 +275,24 @@ M: wm-root handle-button-press-event ( event wm-root -- )
! M: wm-root handle-key-press-event ! M: wm-root handle-key-press-event
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! M: wm-root handle-key-press-event ( event wm-root -- ) SYMBOL: f1-keycode 67 f1-keycode set-global
! drop SYMBOL: f2-keycode 68 f2-keycode set-global
! { { [ dup XKeyEvent-keycode 67 = ] SYMBOL: f3-keycode 69 f3-keycode set-global
! [ workspace-1 get switch-to-workspace ] } SYMBOL: f4-keycode 70 f4-keycode set-global
! { [ dup XKeyEvent-keycode 68 = ]
! [ workspace-2 get switch-to-workspace ] } : grab-keys ( -- )
! { [ dup XKeyEvent-keycode 69 = ] f1-keycode get Mod1Mask False GrabModeAsync GrabModeAsync grab-key
! [ workspace-3 get switch-to-workspace ] } f2-keycode get Mod1Mask False GrabModeAsync GrabModeAsync grab-key
! { [ dup XKeyEvent-keycode 70 = ] f3-keycode get Mod1Mask False GrabModeAsync GrabModeAsync grab-key
! [ workspace-4 get switch-to-workspace ] } } f4-keycode get Mod1Mask False GrabModeAsync GrabModeAsync grab-key ;
! cond ;
M: wm-root handle-key-press-event ( event wm-root -- ) M: wm-root handle-key-press-event ( event wm-root -- )
drop drop
{ { [ dup XKeyEvent-keycode 67 = ] { { [ dup XKeyEvent-keycode f1-keycode get = ] [ workspace-1 get switch-to ] }
[ "Switch to workspace 1" print drop ] } { [ dup XKeyEvent-keycode f2-keycode get = ] [ workspace-2 get switch-to ] }
{ [ dup XKeyEvent-keycode 68 = ] { [ dup XKeyEvent-keycode f3-keycode get = ] [ workspace-3 get switch-to ] }
[ "Switch to workspace 2" print drop ] } { [ dup XKeyEvent-keycode f4-keycode get = ] [ workspace-4 get switch-to ] }
{ [ dup XKeyEvent-keycode 69 = ] { [ t ] [ "wm-root ignoring key press" print drop ] } } cond ;
[ "Switch to workspace 3" print drop ] }
{ [ dup XKeyEvent-keycode 70 = ]
[ "Switch to workspace 4" print drop ] }
{ [ t ]
[ "wm-root ignoring key press" print drop ] } }
cond ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@ -592,6 +585,7 @@ SYMBOL: window-list
root get [ make-drag-gc ] with-win drag-gc set root get [ make-drag-gc ] with-win drag-gc set
root get [ black-pixel get set-window-background clear-window ] with-win root get [ black-pixel get set-window-background clear-window ] with-win
root get create-wm-root root get create-wm-root
root get [ grab-keys ] with-win
setup-root-menu setup-root-menu
setup-window-list setup-window-list
setup-workspace-menu setup-workspace-menu

View File

@ -251,6 +251,9 @@ dup length 1 - [ swap 2nth draw-line ] each-with ;
: ungrab-pointer ( time -- ) : ungrab-pointer ( time -- )
>r dpy get r> XUngrabPointer drop ; >r dpy get r> XUngrabPointer drop ;
: grab-key ( keycode modifiers owner-events pointer-mode keyboard-mode -- )
>r >r >r >r >r dpy get r> r> win get r> r> r> XGrabKey drop ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! 14 - Inter-Client Communication Functions ! 14 - Inter-Client Communication Functions
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!