From 1e6ea1f25b941f51f9671df5ed24520c6b8ad9fd Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 7 Dec 2016 19:56:45 -0500 Subject: onboard --- .config/X11/modmap | 21 +- .config/dconf/user.txt | 265 ++++++--------------- .config/systemd/user/onboard@.service | 12 + .../user/wmii@.service.wants/onboard@.service | 1 + .config/wmii-hg/config.sh | 23 +- .config/wmii-hg/ctl-init | 2 +- .config/wmii-hg/rules | 1 + .config/wmii-hg/workarounds.sh | 20 ++ 8 files changed, 136 insertions(+), 209 deletions(-) create mode 100644 .config/systemd/user/onboard@.service create mode 120000 .config/systemd/user/wmii@.service.wants/onboard@.service diff --git a/.config/X11/modmap b/.config/X11/modmap index b332204..d97c134 100644 --- a/.config/X11/modmap +++ b/.config/X11/modmap @@ -1,14 +1,21 @@ ! -*- Mode: Xmodmap -*- -! My desktop doesn't have a super key, so I map Caps_Lock to Super_L +! Notes on the syntax: +! - The RHS of keycode/keysym commands is: +! normal [Shift [Mode_switch [Shift+Mode_switch]]] +! - The modifiers are (non-caps sensitive): +! 0: Shift +! 1: Lock +! 2: Control +! 3-7: Mod{1-5} + +! My desktop doesn't have a super key, so I map Caps_Lock to Hyper_L ! Also, use Caps_Lock for the compose key remove lock = Caps_Lock -keysym Caps_Lock = Super_L Multi_key +keysym Caps_Lock = Hyper_L Multi_key ! All of these are my "super". Silly I have so many... clear mod4 -add mod4 = Super_L Super_R Hyper_L Hyper_R Menu - - -! Note to future me: -! The modifiers are: << Shift, Lock, Control, Mod{1..5} >> and are NOT case sensitive +add mod4 = Super_L Super_R Hyper_L Hyper_R +clear mod5 +add mod5 = Menu diff --git a/.config/dconf/user.txt b/.config/dconf/user.txt index 48a55eb..a041066 100644 --- a/.config/dconf/user.txt +++ b/.config/dconf/user.txt @@ -1,200 +1,69 @@ -[org/mate/terminal/profiles/default] -background-color='#FFFFFFFFDDDD' -login-shell=true -palette='#2E2E34343636:#CCCC00000000:#4E4E9A9A0606:#C4C4A0A00000:#34346565A4A4:#757550507B7B:#060698209A9A:#D3D3D7D7CFCF:#555557575353:#EFEF29292929:#8A8AE2E23434:#FCFCE9E94F4F:#72729F9FCFCF:#ADAD7F7FA8A8:#3434E2E2E2E2:#EEEEEEEEECEC' -bold-color='#000000000000' -foreground-color='#000000000000' -visible-name='Default' - -[org/mate/eom/ui] -image-collection=false -sidebar=false - -[org/mate/engrampa/listing] -sort-method='name' -name-column-width=250 -sort-type='ascending' -list-mode='as-folder' -show-path=false - -[org/mate/engrampa/ui] -sidebar-width=200 -window-height=480 -window-width=600 - -[org/mate/volume-control] -window-height=886 -window-width=1706 - -[org/mate/screenshot] -include-pointer=true -include-border=true -border-effect='none' -delay=0 - -[org/mate/desktop/peripherals/keyboard] -numlock-state='off' - -[org/mate/desktop/accessibility/keyboard] -slowkeys-beep-press=true -mousekeys-accel-time=1200 -bouncekeys-beep-reject=true -slowkeys-beep-reject=false -togglekeys-enable=false -enable=false -bouncekeys-enable=false -stickykeys-enable=false -feature-state-change-beep=false -slowkeys-beep-accept=true -bouncekeys-delay=300 -mousekeys-max-speed=750 -mousekeys-enable=false -timeout-enable=false -slowkeys-delay=300 -stickykeys-modifier-beep=true -stickykeys-two-key-off=true -mousekeys-init-delay=160 -timeout=120 -slowkeys-enable=false - -[org/mate/desktop/background] -color-shading-type='solid' -primary-color='#a1a184845c5c' -picture-options='wallpaper' -picture-filename='' -secondary-color='#3c3c8f8f2525' - -[org/mate/desktop/font-rendering] -antialiasing='grayscale' -dpi=95.0 -hinting='full' - -[org/mate/desktop/session] -session-start=1443192888 - -[org/mate/pluma/plugins/filebrowser/on-load] -virtual-root='file:///tmp' -tree-view=true -root='file:///' - -[org/mate/pluma] -statusbar-visible=true - -[org/mate/marco/general] -mouse-button-modifier='' -side-by-side-tiling=true -focus-mode='click' -theme='Purdue' - -[org/mate/panel/general] -show-program-list=true -toplevel-id-list=['top', 'bottom'] -history-mate-run=['/homes/shumakl/.prefix.x86_64/bin/urxvt', '/bin/bash --noprofile --norc', 'mate-terminal /bin/sh', 'vncviewer', 'gimp', 'emacs', 'killall emacs', 'urxvt', 'mate-terminal bash --noprofile --norc', 'mate-terminal'] -object-id-list=['menu-bar', 'separator', 'terminal', 'web-browser', 'notification-area', 'clock', 'window-menu', 'show-desktop', 'window-list', 'workspace-switcher', 'object_0'] - -[org/mate/panel/toplevels/bottom] -expand=true -orientation='bottom' -screen=0 -y-bottom=0 -size=24 -y=1055 - -[org/mate/panel/toplevels/top] -expand=true -orientation='top' -screen=0 -size=24 - -[org/mate/panel/objects/workspace-switcher] -applet-iid='WnckletFactory::WorkspaceSwitcherApplet' -locked=true -toplevel-id='bottom' -position=0 -object-type='applet' -panel-right-stick=true - -[org/mate/panel/objects/clock] -applet-iid='ClockAppletFactory::ClockApplet' -locked=true -toplevel-id='top' -position=5 -object-type='applet' -panel-right-stick=true - -[org/mate/panel/objects/clock/prefs] -format='12-hour' -custom-format='' - -[org/mate/panel/objects/object_0] -launcher-location='v-editor.desktop' -toplevel-id='top' -position=296 -object-type='launcher' -panel-right-stick=false - -[org/mate/panel/objects/separator] -locked=true -toplevel-id='top' -position=5 -object-type='separator' - -[org/mate/panel/objects/menu-bar] -locked=true -toplevel-id='top' -position=0 -object-type='menu-bar' - -[org/mate/panel/objects/window-menu] -applet-iid='WnckletFactory::WindowMenuApplet' -locked=true -toplevel-id='top' -position=0 -object-type='applet' -panel-right-stick=true - -[org/mate/panel/objects/window-list] -applet-iid='WnckletFactory::WindowListApplet' -locked=true -toplevel-id='bottom' -position=20 -object-type='applet' - -[org/mate/panel/objects/notification-area] -applet-iid='NotificationAreaAppletFactory::NotificationArea' -locked=true -toplevel-id='top' -position=10 -object-type='applet' -panel-right-stick=true - -[org/mate/panel/objects/show-desktop] -applet-iid='WnckletFactory::ShowDesktopApplet' -locked=true -toplevel-id='bottom' -position=0 -object-type='applet' - -[org/mate/panel/objects/web-browser] -locked=true -launcher-location='/usr/share/applications/firefox.desktop' -toplevel-id='top' -position=10 -object-type='launcher' - -[org/mate/panel/objects/terminal] -locked=true -launcher-location='urxvt.desktop' -toplevel-id='top' -position=10 -object-type='launcher' - -[org/mate/caja/window-state] -start-with-sidebar=true -geometry='800x550+312+123' -start-with-status-bar=true -maximized=true -start-with-toolbar=true +[org/onboard/auto-show] +enabled=false + +[org/onboard/keyboard] +show-click-buttons=true + +[org/onboard] +current-settings-page=1 +use-system-defaults=false +theme='/usr/share/onboard/themes/Nightshade.theme' +system-theme-associations={'LowContrast': 'LowContrast', 'oxygen-gtk': '/usr/share/onboard/themes/Nightshade.theme', 'Default': '', 'HighContrast': 'HighContrast', 'HighContrastInverse': 'HighContrastInverse'} +start-minimized=true +layout='/home/lukeshu-parabola/.local/share/onboard/layouts/LukeShu.onboard' +schema-version='2.3' +snippets=['0:Onboard\\\\nHome:https\\://launchpad.net/onboard', '1:Example:Create your macros here.'] +status-icon-provider='auto' + +[org/onboard/theme-settings] +key-size=94.0 +key-stroke-width=0.0 +key-gradient-direction=-3.0 +color-scheme='/usr/share/onboard/themes/Charcoal.colors' +key-fill-gradient=8.0 +key-style='gradient' +background-gradient=0.0 +key-stroke-gradient=8.0 +key-label-font='' +key-shadow-strength=0.0 +key-shadow-size=0.0 +roundrect-radius=20.0 + +[org/onboard/typing-assistance/word-suggestions] +enabled=false + +[org/onboard/window] +docking-enabled=true +window-handles='' + +[org/onboard/window/landscape] +width=663 +dock-expand=true +x=0 +y=0 + +[org/onboard/scanner] +enabled=false + +[org/gtk/settings/file-chooser] +sort-column='name' +sidebar-width=156 +window-position=(83, 40) +show-size-column=true +show-hidden=false +window-size=(858, 622) +sort-directories-first=false +date-format='regular' +sort-order='ascending' +location-mode='path-bar' [org/mate/atril/default] -window-ratio=(3.1209150326797386, 1.2676767676767677) +continuous=true +fullscreen=false +show-toolbar=true +show-sidebar=false +inverted-colors=false +sidebar-page='links' +sidebar-size=132 +dual-page=false +sizing-mode='free' diff --git a/.config/systemd/user/onboard@.service b/.config/systemd/user/onboard@.service new file mode 100644 index 0000000..541731f --- /dev/null +++ b/.config/systemd/user/onboard@.service @@ -0,0 +1,12 @@ +[Unit] +Description=Onboard on-screen keyboard on X display %I +Documentation=man:onboard(1) +After=X11@%i.target panel@%i.target +Requisite=X11@%i.target +BindsTo=panel@%i.target + +[Service] +Environment=DISPLAY=%I + +Type=simple +ExecStart=/usr/bin/env onboard diff --git a/.config/systemd/user/wmii@.service.wants/onboard@.service b/.config/systemd/user/wmii@.service.wants/onboard@.service new file mode 120000 index 0000000..fbe829b --- /dev/null +++ b/.config/systemd/user/wmii@.service.wants/onboard@.service @@ -0,0 +1 @@ +../onboard@.service \ No newline at end of file diff --git a/.config/wmii-hg/config.sh b/.config/wmii-hg/config.sh index ffb5f20..9c6a041 100644 --- a/.config/wmii-hg/config.sh +++ b/.config/wmii-hg/config.sh @@ -123,13 +123,17 @@ Event() { 2) ;; 3) { - case $(wmii9menu Delete Fullscreen ToggleFloat) in + case $(wmii9menu Delete Fullscreen ToggleFloat SendLeft SendRight) in Delete) echo kill >> $WMII_DIR/client/$client/ctl;; Fullscreen) echo Fullscreen on >> $WMII_DIR/client/$client/ctl;; ToggleFloat) echo send $client toggle >> $WMII_DIR/tag/sel/ctl;; + SendLeft) + echo send sel left >> $WMII_DIR/tag/sel/ctl;; + SendRight) + echo send sel right >> $WMII_DIR/tag/sel/ctl;; esac }& ;; 4) ;; @@ -160,7 +164,9 @@ Event() { DestroyTag) ## $1=tag rm $WMII_DIR/lbar/$1;; FocusTag) ## $1=tag - echo colors "$WMII_FOCUSCOLORS" >> $WMII_DIR/lbar/$1;; + echo colors "$WMII_FOCUSCOLORS" >> $WMII_DIR/lbar/$1 + onboard-hack + ;; UnfocusTag) ## $1=tag echo colors "$WMII_NORMCOLORS" >> $WMII_DIR/lbar/$1;; UrgentTag) ## $1=[Manager|Client] $2=tag @@ -265,7 +271,7 @@ Key() { echo "$tag" >> $WMII_DIR/client/$sel/tags;; ## Hardware keys - XF86RotateWindows) ## Rotate the screen + XF86RotateWindows) ## Toggle between 'normal' an 'right' local old new old="$(xrotate|cut -d $'\t' -f3|sort -u)" case "$old" in @@ -274,6 +280,17 @@ Key() { esac xrotate "$new" ;; + $MODKEY-XF86RotateWindows) ## Rotate in 90° steps + local old new + old="$(xrotate|cut -d $'\t' -f3|sort -u)" + case "$old" in + normal) new=right;; + right) new=inverted;; + inverted) new=left;; + left) new=normal;; + esac + xrotate "$new" + ;; esac } diff --git a/.config/wmii-hg/ctl-init b/.config/wmii-hg/ctl-init index 026c0d5..a7e5358 100644 --- a/.config/wmii-hg/ctl-init +++ b/.config/wmii-hg/ctl-init @@ -1,5 +1,5 @@ font xft:Monospace-8 focuscolors $WMII_FOCUSCOLORS normcolors $WMII_NORMCOLORS -grabmod $MODKEY +grabmod Mod5 border 1 diff --git a/.config/wmii-hg/rules b/.config/wmii-hg/rules index 65f8339..bf219bc 100644 --- a/.config/wmii-hg/rules +++ b/.config/wmii-hg/rules @@ -1,5 +1,6 @@ /wimenu/ floating=always /panel/ tags=/.*/ floating=always +/^onboard:/ tags=/.*/ floating=always /^FLTK:FLTK:/ floating=always diff --git a/.config/wmii-hg/workarounds.sh b/.config/wmii-hg/workarounds.sh index c0b6f31..66ea64c 100644 --- a/.config/wmii-hg/workarounds.sh +++ b/.config/wmii-hg/workarounds.sh @@ -40,3 +40,23 @@ systemd-notify() { printf -v n '%s\n' "${our_env[@]}" socat STDIO UNIX-SENDTO:"$NOTIFY_SOCKET" <<<"$n" } + +## +# Reposition Onboard in the correct location +# +# I think this is actually working around a +# WMII bug where it confuses the heights when +# there are multiple panels. +# +onboard-hack() { + local res=$(xdpyinfo|awk '/^\s*dimensions:/{print $2}') + [[ "$res" == *x* ]] || break + local file wid size + while read -r file; do + wid="${file%/props}" + wid="${wid##*/}" + size=$(xdotool getwindowgeometry 0x01000007|awk '/^\s*Geometry:/{print $2}') + [[ "$size" == *x* ]] || continue + xdotool windowmove "$wid" 0 "$(bc <<<"${res#*x}-${size#*x}")" + done < <(grep -l ^onboard: -- "$WMII_DIR"/client/*/props) +} -- cgit v1.1-4-g5e80