From ef99b6548cd23ae7a25e648d5c89ff3292995a55 Mon Sep 17 00:00:00 2001 From: Ben Reaves Date: Thu, 11 Feb 2021 00:13:33 -0600 Subject: [PATCH] - WIP Back/Forward/Close Tab Browser hotkeys for Linux. #348 --- linux/.xbindkeysrc | 11 +++++++++++ linux/browsers.sh | 31 +++++++++++++++++++++++++++++++ linux/kinto.py | 3 +++ 3 files changed, 45 insertions(+) create mode 100755 linux/.xbindkeysrc create mode 100755 linux/browsers.sh diff --git a/linux/.xbindkeysrc b/linux/.xbindkeysrc new file mode 100755 index 0000000..c9dcc2a --- /dev/null +++ b/linux/.xbindkeysrc @@ -0,0 +1,11 @@ +"~/.config/kinto/browsers.sh Left" + m:0x8 + c:192 + Alt + XF86Launch5 + +"~/.config/kinto/browsers.sh Right" + m:0x8 + c:193 + Alt + XF86Launch6 + +"~/.config/kinto/browsers.sh Undo" + m:0x8 + c:194 + Alt + XF86Launch7 diff --git a/linux/browsers.sh b/linux/browsers.sh new file mode 100755 index 0000000..e6b2b4c --- /dev/null +++ b/linux/browsers.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +action=$1 + +saveClipboard=$(xclip -selection clipboard -o) +echo "$saveClipboard" +echo "" | xclip -i -selection clipboard +# --delay 12 +xdotool getactivewindow key --clearmodifiers Left Left Right Shift+Right ctrl+c Right +newClipboard=$(xclip -selection clipboard -o) + + +if [ "$newClipboard" == "" ] && [ "$action" == "Left" ];then + xdotool getactivewindow key --clearmodifiers alt+Left +elif [ "$action" == "Left" ];then + xdotool getactivewindow key --clearmodifiers Home +fi + +if [ "$newClipboard" == "" ] && [ "$action" == "Right" ];then + xdotool getactivewindow key --clearmodifiers alt+Right +elif [ "$action" == "Right" ];then + xdotool getactivewindow key --clearmodifiers End +fi + +if [ "$newClipboard" == "" ] && [ "$action" == "Undo" ];then + xdotool getactivewindow key ctrl+Shift+t +elif [ "$action" == "Undo" ];then + xdotool getactivewindow key --clearmodifiers ctrl+z +fi + +echo $saveClipboard | xclip -i -selection clipboard \ No newline at end of file diff --git a/linux/kinto.py b/linux/kinto.py index 402f125..d5c36ce 100755 --- a/linux/kinto.py +++ b/linux/kinto.py @@ -209,6 +209,9 @@ define_keymap(re.compile(browserStr, re.IGNORECASE),{ K("RC-Q"): K("RC-Q"), # Close all browsers Instances K("M-RC-I"): K("RC-Shift-I"), # Dev tools K("M-RC-J"): K("RC-Shift-J"), # Dev tools + K("RC-Left"): K("M-F14"), # Back + K("RC-Right"): K("M-F15"), # Forward + K("RC-Z"): K("M-F16"), # Undo Text/Closed Tab }) # Open preferences in browsers