mirror of
https://github.com/rbreaves/kinto.git
synced 2025-08-05 18:38:26 +02:00
Compare commits
67 Commits
chrome-fix
...
CI
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c4b30587dd | ||
![]() |
81581c547b | ||
![]() |
bd9ecd123f | ||
![]() |
14ac2c8349 | ||
![]() |
a91bbec93c | ||
![]() |
df43fb363d | ||
![]() |
0dd5baca34 | ||
![]() |
896ab30e57 | ||
![]() |
f9aaae3038 | ||
![]() |
94b018aa48 | ||
![]() |
6b3ea9afab | ||
![]() |
1ee92339c0 | ||
![]() |
4e1331f9bb | ||
![]() |
f44182cefd | ||
![]() |
d15972dcae | ||
![]() |
65f48ce2f1 | ||
![]() |
589807bad9 | ||
![]() |
55a6d132c7 | ||
![]() |
eebf4d61eb | ||
![]() |
b364902db0 | ||
![]() |
035b9e2d85 | ||
![]() |
db68031eb4 | ||
![]() |
30f4c1285b | ||
![]() |
f858ae9614 | ||
![]() |
75dbe611b3 | ||
![]() |
6cdedf41e3 | ||
![]() |
df8d46e1c1 | ||
![]() |
b9f15950b2 | ||
![]() |
2f8ae2380f | ||
![]() |
77d52ec176 | ||
![]() |
13a98ce8cc | ||
![]() |
8f333dec20 | ||
![]() |
f7ff8d1728 | ||
![]() |
5b2a2c88c2 | ||
![]() |
48b5699aed | ||
![]() |
eec325024d | ||
![]() |
a5087b0f95 | ||
![]() |
36f189e434 | ||
![]() |
50b31abba9 | ||
![]() |
aa53c83c61 | ||
![]() |
5f795328c9 | ||
![]() |
39ed3c83f9 | ||
![]() |
bf35285914 | ||
![]() |
7a3d9cbd7c | ||
![]() |
2a920d0622 | ||
![]() |
253b061b12 | ||
![]() |
c8a28fe3e0 | ||
![]() |
9f5ba6e14e | ||
![]() |
f855da301c | ||
![]() |
4e33e5516b | ||
![]() |
5c25cd15cb | ||
![]() |
af4b4ea08e | ||
![]() |
e69e529a18 | ||
![]() |
f717db9aaa | ||
![]() |
353c2c6bb4 | ||
![]() |
dcbf1e8382 | ||
![]() |
9a52bd864a | ||
![]() |
9b87fda382 | ||
![]() |
b3fc4c9202 | ||
![]() |
4858b9cf28 | ||
![]() |
45ad4f3f68 | ||
![]() |
e54dba20a1 | ||
![]() |
1f4b2bb451 | ||
![]() |
9a5b44661c | ||
![]() |
d19e5836a5 | ||
![]() |
5e28015a31 | ||
![]() |
3a59edb51e |
34
.github/workflows/01-ubuntu-budgie.yml
vendored
Normal file
34
.github/workflows/01-ubuntu-budgie.yml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
# This is a basic workflow to help you get started with Actions
|
||||
|
||||
name: CI
|
||||
|
||||
# Controls when the workflow will run
|
||||
on:
|
||||
# Triggers the workflow on push or pull request events but only for the master branch
|
||||
push:
|
||||
branches: [ staging ]
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
# This workflow contains a single job called "build"
|
||||
build:
|
||||
# The type of runner that the job will run on
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
# Runs a single command using the runners shell
|
||||
- name: Run a one-line script
|
||||
run: echo Hello, world!
|
||||
|
||||
# Runs a set of commands using the runners shell
|
||||
- name: Run a multi-line script
|
||||
run: |
|
||||
echo Add other actions to build,
|
||||
echo test, and deploy your project.
|
15
README.md
15
README.md
@@ -26,7 +26,9 @@ If you like or appreciate this project then please consider donating.
|
||||
|**Wishlists**|[Amazon](https://smile.amazon.com/hz/wishlist/ls/3EVXR21VFKD9Z?ref_=wl_share)|[Adafruit](https://www.adafruit.com/wishlists/515932)|[eBay](https://www.ebay.com/mye/myebay/WatchList?custom_list_id=636668138019)|
|
||||
|---|---|---|---|
|
||||
|
||||
If you would like to send me a keyboard directly then please reach out to me over [twitter](https://twitter.com/gbit86) and send me a DM.
|
||||
I have received some really great letters with donations & email. I've also posted some of them with redacted first names to kinto.sh.
|
||||
|
||||
Also if you would like to send me a keyboard directly then please reach out to me over [twitter](https://twitter.com/gbit86) and send me a DM.
|
||||
|
||||
## How to install (Linux)
|
||||
|
||||
@@ -84,9 +86,12 @@ sudo apt install xfce4-appmenu-plugin vala-panel-appmenu-common appmenu-gtk2-mod
|
||||
xfconf-query -c xsettings -p /Gtk/Modules -n -t string -s "appmenu-gtk-module"
|
||||
```
|
||||
|
||||
**Perfect HiDPI fractional scaling on Ubuntu Budgie 20.04 under x11**
|
||||
**Fractional HiDPI Scaling for Gnome/Budgie w/ x11**
|
||||
|
||||
https://github.com/rbreaves/betterScale
|
||||
|
||||
Use this with autorandr to save your settings as a profile that will auto re-apply when needed.
|
||||
|
||||
https://discourse.ubuntubudgie.org/t/ubuntu-budgie-20-04-fractional-hidpi-for-x11/4777
|
||||
|
||||
## How to Install (Windows)
|
||||
|
||||
@@ -157,6 +162,10 @@ RDP fully works as long as the entire keyboard input is being captured. RDP had
|
||||
|Royal TSX Client| 🍎macOS⇒| ❖Windows | ❌ No|Initial Cmd key press not being passed|
|
||||
|Official MS RDP| 🍎🤖iOS/Android⇒| ❖Windows | ❌ No|No workaround atm|
|
||||
|
||||
## How to Remap Windows keyboards for remote access to macOS
|
||||
Quick summary - Swap Alt & Win to conform with Apple keyboard layouts. Sharpkeys for Windows, Setkeycodes for Linux, then install Kinto.sh or change/update the Keyboard Type to Apple in the system tray.
|
||||
https://benreaves.medium.com/macos-to-linux-back-again-c6151200f4dc
|
||||
|
||||
## FreeRDP for macOS
|
||||
|
||||
1. Install [brew.sh](https://brew.sh).
|
||||
|
0
linux/config.d/app-general-browsers.yaml
Normal file
0
linux/config.d/app-general-browsers.yaml
Normal file
50
linux/config.d/conditional-modmap-gui.yaml
Normal file
50
linux/config.d/conditional-modmap-gui.yaml
Normal file
@@ -0,0 +1,50 @@
|
||||
# Keyboard options
|
||||
# - "IBM", "Chromebook","WinMac", "Mac"
|
||||
keyboard: ""
|
||||
# Possible options
|
||||
# - ["altgr","caps2cmd"]
|
||||
options: []
|
||||
Any:
|
||||
default: []
|
||||
altgr: []
|
||||
caps2cmd: ["Key.CAPSLOCK: Key.RIGHT_CTRL,"]
|
||||
IBM:
|
||||
default: [
|
||||
"Key.LEFT_ALT: Key.RIGHT_CTRL,",
|
||||
"Key.LEFT_CTRL: Key.LEFT_ALT,",
|
||||
"Key.CAPSLOCK: Key.LEFT_META,"
|
||||
]
|
||||
altgr: [
|
||||
"Key.RIGHT_ALT: Key.RIGHT_CTRL,",
|
||||
"Key.RIGHT_CTRL: Key.RIGHT_ALT,"
|
||||
]
|
||||
Chromebook:
|
||||
default: [
|
||||
"Key.LEFT_ALT: Key.RIGHT_CTRL,",
|
||||
"Key.LEFT_CTRL: Key.LEFT_ALT,"
|
||||
]
|
||||
altgr: [
|
||||
"Key.RIGHT_ALT: Key.RIGHT_CTRL,",
|
||||
"Key.RIGHT_CTRL: Key.RIGHT_ALT,"
|
||||
]
|
||||
caps2cmd: ["Key.LEFT_META: Key.RIGHT_CTRL,"]
|
||||
WinMac:
|
||||
default: [
|
||||
"Key.LEFT_ALT: Key.RIGHT_CTRL,",
|
||||
"Key.LEFT_META: Key.LEFT_ALT,",
|
||||
"Key.LEFT_CTRL: Key.LEFT_META,"
|
||||
]
|
||||
altgr: [
|
||||
"Key.RIGHT_ALT: Key.RIGHT_CTRL,",
|
||||
"Key.RIGHT_META: Key.RIGHT_ALT,",
|
||||
"Key.RIGHT_CTRL: Key.RIGHT_META,"
|
||||
]
|
||||
Mac:
|
||||
default: [
|
||||
"Key.LEFT_META: Key.RIGHT_CTRL,",
|
||||
"Key.LEFT_CTRL: Key.LEFT_META,"
|
||||
]
|
||||
altgr: [
|
||||
"Key.RIGHT_META: Key.RIGHT_CTRL,",
|
||||
"Key.RIGHT_CTRL: Key.RIGHT_META,"
|
||||
]
|
49
linux/config.d/conditional-modmap-terminal.yaml
Normal file
49
linux/config.d/conditional-modmap-terminal.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
# Keyboard options
|
||||
# - "IBM", "Chromebook","WinMac", "Mac"
|
||||
keyboard: ""
|
||||
# Possible options
|
||||
# - ["altgr","caps2cmd"]
|
||||
options: []
|
||||
Any:
|
||||
default: []
|
||||
altgr: []
|
||||
caps2cmd: ["Key.CAPSLOCK: Key.RIGHT_CTRL,"]
|
||||
IBM:
|
||||
default: [
|
||||
"Key.LEFT_ALT: Key.RIGHT_CTRL,",
|
||||
"Key.CAPSLOCK: Key.LEFT_ALT,",
|
||||
"Key.RIGHT_CTRL: Key.RIGHT_ALT,"
|
||||
]
|
||||
altgr: [
|
||||
"Key.RIGHT_ALT: Key.RIGHT_CTRL,",
|
||||
"Key.RIGHT_CTRL: Key.RIGHT_ALT,"
|
||||
]
|
||||
Chromebook:
|
||||
default: [
|
||||
"Key.LEFT_ALT: Key.RIGHT_CTRL,",
|
||||
"Key.LEFT_META: Key.LEFT_ALT,",
|
||||
"Key.RIGHT_CTRL: Key.RIGHT_ALT,"
|
||||
]
|
||||
altgr: [
|
||||
"Key.RIGHT_ALT: Key.RIGHT_CTRL,"
|
||||
]
|
||||
caps2cmd: ["Key.LEFT_META: Key.RIGHT_CTRL,"]
|
||||
WinMac:
|
||||
default: [
|
||||
"Key.LEFT_ALT: Key.RIGHT_CTRL,",
|
||||
"Key.LEFT_META: Key.LEFT_ALT,",
|
||||
"Key.LEFT_CTRL: Key.LEFT_CTRL,"
|
||||
]
|
||||
altgr: [
|
||||
"Key.RIGHT_ALT: Key.RIGHT_CTRL,",
|
||||
"Key.RIGHT_META: Key.RIGHT_ALT,",
|
||||
"Key.RIGHT_CTRL: Key.LEFT_CTRL,"
|
||||
]
|
||||
Mac:
|
||||
default: [
|
||||
"Key.LEFT_META: Key.RIGHT_CTRL,"
|
||||
]
|
||||
altgr: [
|
||||
"Key.RIGHT_META: Key.RIGHT_CTRL,",
|
||||
"Key.RIGHT_CTRL: Key.LEFT_CTRL,"
|
||||
]
|
0
linux/config.d/group-terminals.yaml
Normal file
0
linux/config.d/group-terminals.yaml
Normal file
@@ -353,7 +353,7 @@ class MyWindow(Gtk.Window):
|
||||
self.queryConfig('cp '+os.environ['HOME']+'/.config/kinto/xkeysnail.desktop '+os.environ['HOME']+'/.config/autostart/xkeysnail.desktop')
|
||||
if self.options["systray"]:
|
||||
self.queryConfig('cp '+os.environ['HOME']+'/.config/kinto/kintotray.desktop '+os.environ['HOME']+'/.config/autostart/kintotray.desktop')
|
||||
self.queryConfig("nohup python3 ~/.config/kinto/kintotray.py >/dev/null 2>&1 &")
|
||||
self.queryConfig("nohup /usr/bin/python3 ~/.config/kinto/kintotray.py >/dev/null 2>&1 &")
|
||||
self.menuitem_systray.disconnect(self.menuitem_systray.signal_id)
|
||||
self.menuitem_systray.set_active(True)
|
||||
self.menuitem_systray.signal_id = self.menuitem_systray.connect('activate',self.checkTray,False)
|
||||
@@ -616,7 +616,7 @@ class MyWindow(Gtk.Window):
|
||||
if tray_bool:
|
||||
Popen(['cp',os.environ['HOME']+'/.config/kinto/kintotray.desktop',os.environ['HOME']+'/.config/autostart/kintotray.desktop'])
|
||||
if not kintotray:
|
||||
Popen([os.environ['HOME']+'/.config/kinto/kintotray.py'])
|
||||
Popen(['/usr/bin/python3',os.environ['HOME']+'/.config/kinto/kintotray.py'])
|
||||
self.menuitem_systray.disconnect(self.menuitem_systray.signal_id)
|
||||
self.menuitem_systray.set_active(True)
|
||||
self.menuitem_systray.signal_id = self.menuitem_systray.connect('activate',self.checkTray,False)
|
||||
|
@@ -4,7 +4,7 @@ Name=Kinto.sh
|
||||
GenericName=Kinto.sh
|
||||
Categories=Utility;
|
||||
Type=Application
|
||||
Exec={homedir}/.config/kinto/gui/kinto-gui.py
|
||||
Exec=/usr/bin/python3 {homedir}/.config/kinto/gui/kinto-gui.py
|
||||
Icon={homedir}/.config/kinto/kinto-color-48.svg
|
||||
# Icon=/usr/share/icons/Pocillo/kinto-color.svg
|
||||
Terminal=false
|
||||
|
196
linux/kinto.py
196
linux/kinto.py
@@ -9,6 +9,7 @@ from xkeysnail.transform import *
|
||||
# xbindkeys -mk
|
||||
terminals = [
|
||||
"alacritty",
|
||||
"cutefish-terminal",
|
||||
"deepin-terminal",
|
||||
"eterm",
|
||||
"gnome-terminal",
|
||||
@@ -24,6 +25,7 @@ terminals = [
|
||||
"st",
|
||||
"sakura",
|
||||
"station",
|
||||
"tabby",
|
||||
"terminator",
|
||||
"termite",
|
||||
"tilda",
|
||||
@@ -44,7 +46,10 @@ codeStr = "|".join(str('^'+x+'$') for x in mscodes)
|
||||
remotes = [
|
||||
"Gnome-boxes",
|
||||
"org.remmina.Remmina",
|
||||
"remmina",
|
||||
"qemu-system-.*",
|
||||
"qemu",
|
||||
"Spicy",
|
||||
"Virt-manager",
|
||||
"VirtualBox",
|
||||
"VirtualBox Machine",
|
||||
@@ -63,6 +68,8 @@ browsers = [
|
||||
"Discord",
|
||||
"Epiphany",
|
||||
"Firefox",
|
||||
"Firefox Developer Edition",
|
||||
"Waterfox",
|
||||
"Google-chrome",
|
||||
"microsoft-edge",
|
||||
"microsoft-edge-dev",
|
||||
@@ -80,6 +87,8 @@ chromes = [
|
||||
chromes = [chrome.casefold() for chrome in chromes]
|
||||
chromeStr = "|".join(str('^'+x+'$') for x in chromes)
|
||||
|
||||
# Reference group-name-custom.yaml
|
||||
|
||||
# edges = ["microsoft-edge-dev","microsoft-edge"]
|
||||
# edges = [edge.casefold() for edge in edges]
|
||||
# edgeStr = "|".join(str('^'+x+'$') for x in edges)
|
||||
@@ -266,20 +275,26 @@ define_keymap(re.compile("^jetbrains-(?!.*toolbox).*$", re.IGNORECASE),{
|
||||
# (overrides some bindings from general file manager code block below)
|
||||
define_keymap(re.compile("caja", re.IGNORECASE),{
|
||||
# K("RC-Super-o"): K("RC-Shift-Enter"), # Open in new tab
|
||||
K("RC-Super-o"): K("RC-Shift-W"), # Open in new window
|
||||
},"Overrides for Caja - Finder")
|
||||
K("RC-Super-o"): K("RC-Shift-W"), # Open in new window
|
||||
},"Overrides for Caja - Finder Mods")
|
||||
|
||||
# Keybindings overrides for DDE (Deepin) File Manager
|
||||
# (overrides some bindings from general file manager code block below)
|
||||
define_keymap(re.compile("dde-file-manager", re.IGNORECASE),{
|
||||
K("RC-i"): K("RC-i"), # File properties dialog (Get Info)
|
||||
K("RC-comma"): None, # Disable preferences shortcut (no shortcut available)
|
||||
K("RC-Up"): K("RC-Up"), # Go Up dir
|
||||
},"Overrides for DDE File Manager - Finder")
|
||||
K("RC-i"): K("RC-i"), # File properties dialog (Get Info)
|
||||
K("RC-comma"): None, # Disable preferences shortcut (no shortcut available)
|
||||
K("RC-Up"): K("RC-Up"), # Go Up dir
|
||||
K("RC-Shift-Left_Brace"): K("C-Shift-Tab"), # Go to prior tab
|
||||
K("RC-Shift-Right_Brace"): K("C-Tab"), # Go to next tab
|
||||
K("RC-Shift-Left"): K("C-Shift-Tab"), # Go to prior tab
|
||||
K("RC-Shift-Right"): K("C-Tab"), # Go to next tab
|
||||
},"Overrides for DDE File Manager - Finder Mods")
|
||||
|
||||
# Keybindings overrides for Dolphin
|
||||
# (overrides some bindings from general file manager code block below)
|
||||
define_keymap(re.compile("dolphin", re.IGNORECASE),{
|
||||
K("RC-KEY_2"): K("C-KEY_3"), # View as List (Detailed)
|
||||
K("RC-KEY_3"): K("C-KEY_2"), # View as List (Compact)
|
||||
##########################################################################################
|
||||
### "Open in new window" requires manually setting custom shortcut of Ctrl+Shift+o
|
||||
### in Dolphin's keyboard shortcuts. There is no default shortcut set for this function.
|
||||
@@ -287,51 +302,64 @@ define_keymap(re.compile("dolphin", re.IGNORECASE),{
|
||||
### "Open in new tab" requires manually setting custom shortcut of Ctrl+Shift+o in
|
||||
### Dolphin's keyboard shortcuts. There is no default shortcut set for this function.
|
||||
##########################################################################################
|
||||
K("RC-Super-o"): K("RC-Shift-o"), # Open in new window (or new tab, user's choice, see above)
|
||||
K("RC-Shift-N"): K("F10"), # Create new folder
|
||||
K("RC-comma"): K("RC-Shift-comma"), # Open preferences dialog
|
||||
},"Overrides for Dolphin - Finder")
|
||||
K("RC-Super-o"): K("RC-Shift-o"), # Open in new window (or new tab, user's choice, see above)
|
||||
K("RC-Shift-N"): K("F10"), # Create new folder
|
||||
K("RC-comma"): K("RC-Shift-comma"), # Open preferences dialog
|
||||
},"Overrides for Dolphin - Finder Mods")
|
||||
|
||||
# Keybindings overrides for elementary OS Files
|
||||
# Keybindings overrides for elementary OS Files (Pantheon)
|
||||
# (overrides some bindings from general file manager code block below)
|
||||
define_keymap(re.compile("io.elementary.files", re.IGNORECASE),{
|
||||
# K("RC-Super-o"): K("Shift-Enter"), # Open folder in new tab
|
||||
K("RC-Comma"): None, # Disable preferences shortcut since none available
|
||||
},"Overrides for Pantheon - Finder")
|
||||
# K("RC-Super-o"): K("Shift-Enter"), # Open folder in new tab
|
||||
K("RC-comma"): None, # Disable preferences shortcut since none available
|
||||
},"Overrides for Pantheon - Finder Mods")
|
||||
|
||||
# Keybindings overrides for Nautilus
|
||||
# (overrides some bindings from general file manager code block below)
|
||||
define_keymap(re.compile("org.gnome.nautilus|nautilus", re.IGNORECASE),{
|
||||
K("RC-Super-o"): K("Shift-Enter"), # Open in new window
|
||||
# K("RC-Super-o"): K("RC-Enter"), # Open in new tab
|
||||
K("RC-comma"): K("RC-comma"), # Overrides "Open preferences dialog" shortcut below
|
||||
},"Overrides for Nautilus - Finder")
|
||||
# K("RC-N"): K("C-M-Space"), # macOS Finder search window shortcut Cmd+Option+Space
|
||||
# For this ^^^^^^^^^^^ to work, a custom shortcut must be set up in the Settings app in GNOME
|
||||
# to run command: "nautilus --new-window /home/USER" [ replace "USER" ]
|
||||
K("RC-KEY_1"): K("C-KEY_2"), # View as Icons
|
||||
K("RC-KEY_2"): K("C-KEY_1"), # View as List (Detailed)
|
||||
K("RC-Super-o"): K("Shift-Enter"), # Open in new window
|
||||
# K("RC-Super-o"): K("RC-Enter"), # Open in new tab
|
||||
K("RC-comma"): K("RC-comma"), # Overrides "Open preferences dialog" shortcut below
|
||||
},"Overrides for Nautilus - Finder Mods")
|
||||
|
||||
# Keybindings overrides for PCManFM and PCManFM-Qt
|
||||
# (overrides some bindings from general file manager code block below)
|
||||
define_keymap(re.compile("pcmanfm|pcmanfm-qt", re.IGNORECASE),{
|
||||
K("RC-Backspace"): [K("Delete"),K("Enter")], # Move to Trash (delete, bypass dialog)
|
||||
},"Overrides for PCManFM - Finder")
|
||||
K("RC-KEY_2"): K("C-KEY_4"), # View as List (Detailed) [Not in PCManFM-Qt]
|
||||
K("RC-Backspace"): [K("Delete"),K("Enter")], # Move to Trash (delete, bypass dialog)
|
||||
},"Overrides for PCManFM - Finder Mods")
|
||||
|
||||
# Keybindings overrides for SpaceFM
|
||||
# (overrides some bindings from general file manager code block below)
|
||||
define_keymap(re.compile("spacefm", re.IGNORECASE),{
|
||||
K("RC-Shift-N"): [K("RC-F")], # Create new folder is Ctrl+F by default
|
||||
K("RC-Backspace"): [K("Delete"),K("Enter")], # Move to Trash (delete, bypass dialog)
|
||||
K("RC-comma"): [K("M-V"),K("p")], # Overrides "Open preferences dialog" shortcut below
|
||||
K("RC-Page_Up"): K("C-Shift-Tab"), # Go to prior tab
|
||||
K("RC-Page_Down"): K("C-Tab"), # Go to next tab
|
||||
K("RC-Shift-Left_Brace"): K("C-Shift-Tab"), # Go to prior tab
|
||||
K("RC-Shift-Right_Brace"): K("C-Tab"), # Go to next tab
|
||||
K("RC-Shift-Left"): K("C-Shift-Tab"), # Go to prior tab
|
||||
K("RC-Shift-Right"): K("C-Tab"), # Go to next tab
|
||||
K("RC-Shift-N"): K("RC-F"), # Create new folder is Ctrl+F by default
|
||||
K("RC-Backspace"): [K("Delete"),K("Enter")], # Move to Trash (delete, bypass dialog)
|
||||
K("RC-comma"): [K("M-V"),K("p")], # Overrides "Open preferences dialog" shortcut below
|
||||
# This shortcut ^^^^^^^^^^^^^^^ is not fully working in SpaceFM. Opens "View" menu but not Preferences.
|
||||
# SpaceFM seems to be doing some nasty binding that blocks things like Alt+Tab while the menu is open.
|
||||
},"Overrides for SpaceFM - Finder")
|
||||
},"Overrides for SpaceFM - Finder Mods")
|
||||
|
||||
# Keybindings overrides for Thunar
|
||||
# (overrides some bindings from general file manager code block below)
|
||||
define_keymap(re.compile("thunar", re.IGNORECASE),{
|
||||
K("RC-Super-o"): K("RC-Shift-P"), # Open in new tab
|
||||
K("RC-comma"): [K("M-E"),K("E")], # Overrides "Open preferences dialog" shortcut below
|
||||
},"Overrides for Thunar - Finder")
|
||||
K("RC-Super-o"): K("RC-Shift-P"), # Open in new tab
|
||||
K("RC-comma"): [K("M-E"),K("E")], # Overrides "Open preferences dialog" shortcut below
|
||||
},"Overrides for Thunar - Finder Mods")
|
||||
|
||||
filemanagers = [
|
||||
"caja",
|
||||
"cutefish-filemanager",
|
||||
"dde-file-manager",
|
||||
"dolphin",
|
||||
"io.elementary.files",
|
||||
@@ -364,37 +392,58 @@ define_keymap(re.compile(filemanagerStr, re.IGNORECASE),{
|
||||
###########################################################################################################
|
||||
### Show Properties (Get Info) | Open Settings/Preferences | Show/Hide hidden files ###
|
||||
###########################################################################################################
|
||||
K("RC-i"): K("M-Enter"), # File properties dialog (Get Info)
|
||||
K("RC-comma"): [K("M-E"),K("N")], # Open preferences dialog
|
||||
K("RC-Shift-dot"): K("RC-H"), # Show/hide hidden files ("dot" files)
|
||||
K("RC-i"): K("M-Enter"), # File properties dialog (Get Info)
|
||||
K("RC-comma"): [K("M-E"),K("N")], # Open preferences dialog
|
||||
K("RC-Shift-dot"): K("RC-H"), # Show/hide hidden files ("dot" files)
|
||||
###########################################################################################################
|
||||
### Navigation ###
|
||||
###########################################################################################################
|
||||
K("RC-Left"): K("M-Left"), # Go Back
|
||||
K("RC-Right"): K("M-Right"), # Go Forward
|
||||
K("RC-Up"): K("M-Up"), # Go Up dir
|
||||
# K("RC-Down"): K("M-Down"), # Go Down dir (only works on folders) [not universal]
|
||||
# K("RC-Down"): K("RC-O"), # Go Down dir (open folder/file) [not universal]
|
||||
K("RC-Down"): K("Enter"), # Go Down dir (open folder/file) [universal]
|
||||
K("RC-Left_Brace"): K("M-Left"), # Go Back
|
||||
K("RC-Right_Brace"): K("M-Right"), # Go Forward
|
||||
K("RC-Left"): K("M-Left"), # Go Back
|
||||
K("RC-Right"): K("M-Right"), # Go Forward
|
||||
K("RC-Up"): K("M-Up"), # Go Up dir
|
||||
# K("RC-Down"): K("M-Down"), # Go Down dir (only works on folders) [not universal]
|
||||
# K("RC-Down"): K("RC-O"), # Go Down dir (open folder/file) [not universal]
|
||||
K("RC-Down"): K("Enter"), # Go Down dir (open folder/file) [universal]
|
||||
K("RC-Shift-Left_Brace"): K("C-Page_Up"), # Go to prior tab
|
||||
K("RC-Shift-Right_Brace"): K("C-Page_Down"), # Go to next tab
|
||||
K("RC-Shift-Left"): K("C-Page_Up"), # Go to prior tab
|
||||
K("RC-Shift-Right"): K("C-Page_Down"), # Go to next tab
|
||||
###########################################################################################################
|
||||
### Open in New Window | Move to Trash | Duplicate file/folder ###
|
||||
###########################################################################################################
|
||||
K("RC-Super-o"): K("RC-Shift-o"), # Open in new window (or tab, depends on FM setup) [not universal]
|
||||
K("RC-Backspace"): K("Delete"), # Move to Trash (delete)
|
||||
K("RC-D"): [K("RC-C"),K("RC-V")], # Mimic Finder's Duplicate command (Copy, then Paste)
|
||||
K("RC-Super-o"): K("RC-Shift-o"), # Open in new window (or tab, depends on FM setup) [not universal]
|
||||
K("RC-Backspace"): K("Delete"), # Move to Trash (delete)
|
||||
# K("RC-D"): [K("RC-C"),K("RC-V")], # Duplicate file/folder (Copy, then Paste) [conflicts with "Add Bookmark"]
|
||||
###########################################################################################################
|
||||
### To enable renaming files with the Enter key, uncomment the two keymapping lines just below this. ###
|
||||
### Use Ctrl+Shift+Enter to escape or activate text fields such as "[F]ind" and "[L]ocation" fields. ###
|
||||
###########################################################################################################
|
||||
# K("Enter"): K("F2"), # Rename with Enter key
|
||||
# K("RC-Shift-Enter"): K("Enter"), # Remap alternative "Enter" key to easily activate/exit text fields
|
||||
},"File Managers - Finder")
|
||||
# K("Enter"): K("F2"), # Rename with Enter key
|
||||
# K("RC-Shift-Enter"): K("Enter"), # Remap alternative "Enter" key to easily activate/exit text fields
|
||||
# K("RC-Shift-Enter"): K("F2"), # Rename with Cmd+Shift+Enter
|
||||
},"General File Managers - Finder Mods")
|
||||
|
||||
############################################
|
||||
### END OF FILE MANAGER GROUP OF KEYMAPS ###
|
||||
############################################
|
||||
|
||||
# Keybindings for Browsers
|
||||
# Open preferences in browsers
|
||||
define_keymap(re.compile("Firefox", re.IGNORECASE),{
|
||||
K("C-comma"): [
|
||||
K("C-T"),K("a"),K("b"),K("o"),K("u"),K("t"),
|
||||
K("Shift-SEMICOLON"),K("p"),K("r"),K("e"),K("f"),
|
||||
K("e"),K("r"),K("e"),K("n"),K("c"),K("e"),K("s"),K("Enter")
|
||||
],
|
||||
K("RC-Shift-N"): K("RC-Shift-P"), # Open private window with Ctrl+Shift+N like other browsers
|
||||
})
|
||||
define_keymap(re.compile(chromeStr, re.IGNORECASE),{
|
||||
K("C-comma"): [K("M-e"), K("s"),K("Enter")],
|
||||
}, "Browsers")
|
||||
# Opera C-F12
|
||||
|
||||
# Keybindings for General Web Browsers
|
||||
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
|
||||
@@ -408,22 +457,40 @@ define_keymap(re.compile(browserStr, re.IGNORECASE),{
|
||||
K("RC-Key_7"): K("M-Key_7"),
|
||||
K("RC-Key_8"): K("M-Key_8"),
|
||||
K("RC-Key_9"): K("M-Key_9"), # Jump to last tab
|
||||
K("C-Left_Brace"): K("C-Page_Up"),
|
||||
K("C-Right_Brace"): K("C-Page_Down"),
|
||||
})
|
||||
# Enable Cmd+Shift+Braces for tab navigation
|
||||
K("RC-Shift-Left_Brace"): K("C-Page_Up"), # Go to prior tab
|
||||
K("RC-Shift-Right_Brace"): K("C-Page_Down"), # Go to next tab
|
||||
# Enable Cmd+Option+Left/Right for tab navigation
|
||||
K("RC-M-Left"): K("C-Page_Up"), # Go to prior tab
|
||||
K("RC-M-Right"): K("C-Page_Down"), # Go to next tab
|
||||
# Enable Ctrl+PgUp/PgDn for tab navigation
|
||||
K("Super-Page_Up"): K("C-Page_Up"), # Go to prior tab
|
||||
K("Super-Page_Down"): K("C-Page_Down"), # Go to next tab
|
||||
# Use Cmd+Braces keys for tab navigation instead of page navigation
|
||||
# K("C-Left_Brace"): K("C-Page_Up"),
|
||||
# K("C-Right_Brace"): K("C-Page_Down"),
|
||||
}, "General Web Browsers")
|
||||
|
||||
# Open preferences in browsers
|
||||
define_keymap(re.compile("Firefox", re.IGNORECASE),{
|
||||
K("C-comma"): [
|
||||
K("C-T"),K("a"),K("b"),K("o"),K("u"),K("t"),
|
||||
K("Shift-SEMICOLON"),K("p"),K("r"),K("e"),K("f"),
|
||||
K("e"),K("r"),K("e"),K("n"),K("c"),K("e"),K("s"),K("Enter")
|
||||
],
|
||||
})
|
||||
define_keymap(re.compile(chromeStr, re.IGNORECASE),{
|
||||
K("C-comma"): [K("M-e"), K("s"),K("Enter")],
|
||||
}, "Browsers")
|
||||
# Opera C-F12
|
||||
define_keymap(re.compile("ulauncher", re.IGNORECASE),{
|
||||
K("RC-Key_1"): K("M-Key_1"), # Remap Ctrl+[1-9] and Ctrl+[a-z] to Alt+[1-9] and Alt+[a-z]
|
||||
K("RC-Key_2"): K("M-Key_2"),
|
||||
K("RC-Key_3"): K("M-Key_3"),
|
||||
K("RC-Key_4"): K("M-Key_4"),
|
||||
K("RC-Key_5"): K("M-Key_5"),
|
||||
K("RC-Key_6"): K("M-Key_6"),
|
||||
K("RC-Key_7"): K("M-Key_7"),
|
||||
K("RC-Key_8"): K("M-Key_8"),
|
||||
K("RC-Key_9"): K("M-Key_9"),
|
||||
K("RC-Key_0"): K("M-Key_0"),
|
||||
# K("RC-a"): K("M-a"),
|
||||
K("RC-b"): K("M-b"),
|
||||
# K("RC-c"): K("M-c"),
|
||||
K("RC-d"): K("M-d"),
|
||||
K("RC-e"): K("M-e"),
|
||||
K("RC-f"): K("M-f"),
|
||||
K("RC-g"): K("M-g"),
|
||||
K("RC-h"): K("M-h"),
|
||||
}, "Ulauncher")
|
||||
|
||||
# Note: terminals extends to remotes as well
|
||||
define_keymap(lambda wm_class: wm_class.casefold() not in terminals,{
|
||||
@@ -437,6 +504,7 @@ define_keymap(lambda wm_class: wm_class.casefold() not in remotes,{
|
||||
K("RC-Space"): K("Alt-F1"), # Default SL - Launch Application Menu (gnome/kde)
|
||||
K("RC-F3"):K("Super-d"), # Default SL - Show Desktop (gnome/kde,eos)
|
||||
K("RC-Super-f"):K("M-F10"), # Default SL - Maximize app (gnome/kde)
|
||||
# K("RC-Super-f"): K("Super-Page_Up"), # SL - Toggle maximized window state (kde_neon)
|
||||
# K("Super-Right"):K("C-M-Right"), # Default SL - Change workspace (budgie)
|
||||
# K("Super-Left"):K("C-M-Left"), # Default SL - Change workspace (budgie)
|
||||
K("RC-Q"): K("M-F4"), # Default SL - not-popos
|
||||
@@ -542,10 +610,12 @@ define_keymap(re.compile(codeStr, re.IGNORECASE),{
|
||||
K("M-Shift-Left"): [K("M-F19"),K("C-Shift-Left")], # Select Left of Word
|
||||
K("M-Shift-Right"): [K("M-F19"),K("C-Shift-Right")], # Select Right of Word
|
||||
|
||||
# K("C-PAGE_DOWN"): pass_through_key, # cancel next_view
|
||||
# K("C-PAGE_UP"): pass_through_key, # cancel prev_view
|
||||
K("C-M-Left"): K("C-PAGE_UP"), # next_view
|
||||
K("C-M-Right"): K("C-PAGE_DOWN"), # prev_view
|
||||
# K("C-PAGE_DOWN"): pass_through_key, # cancel next_view
|
||||
# K("C-PAGE_UP"): pass_through_key, # cancel prev_view
|
||||
K("C-M-Left"): K("C-PAGE_UP"), # next_view
|
||||
K("C-M-Right"): K("C-PAGE_DOWN"), # prev_view
|
||||
K("RC-Shift-Left_Brace"): K("C-PAGE_UP"), # next_view
|
||||
K("RC-Shift-Right_Brace"): K("C-PAGE_DOWN"), # prev_view
|
||||
|
||||
# VS Code Shortcuts
|
||||
K("C-g"): pass_through_key, # cancel Go to Line...
|
||||
@@ -693,6 +763,8 @@ define_keymap(re.compile(termStr, re.IGNORECASE),{
|
||||
K("RC-P"): K("C-Shift-P"),
|
||||
K("RC-LEFT_BRACE"): K("C-Shift-LEFT_BRACE"),
|
||||
K("RC-RIGHT_BRACE"): K("C-Shift-RIGHT_BRACE"),
|
||||
K("RC-Shift-Left_Brace"): K("C-Page_Up"), # Go to prior tab (Left)
|
||||
K("RC-Shift-Right_Brace"): K("C-Page_Down"), # Go to next tab (Right)
|
||||
K("RC-A"): K("C-Shift-A"),
|
||||
K("RC-S"): K("C-Shift-S"),
|
||||
K("RC-D"): K("C-Shift-D"),
|
||||
|
@@ -11,3 +11,4 @@ Defaults!/etc/init.d/kinto setenv,env_reset,env_delete+=PATH,env_delete+=LD_PREL
|
||||
%{username} ALL=NOPASSWD: {pkill} -f bin/xkeysnail
|
||||
%{username} ALL=NOPASSWD: {xkeysnail} *
|
||||
%{username} ALL=NOPASSWD: {systemctl} is-active --quiet xkeysnail
|
||||
%{username} ALL=NOPASSWD: /usr/lib/systemd/system/xkeysnail.service
|
||||
|
@@ -116,6 +116,8 @@ class Indicator():
|
||||
with open(self.kconfig) as configfile:
|
||||
autostart_line = configfile.read().split('\n')[1]
|
||||
|
||||
autostart_bool = False
|
||||
|
||||
# Autostart
|
||||
if "autostart = true" in autostart_line.casefold():
|
||||
autostart_bool = True
|
||||
@@ -619,9 +621,9 @@ class Indicator():
|
||||
def runDebug(self,button,opendebug):
|
||||
try:
|
||||
if opendebug:
|
||||
Popen([os.environ['HOME']+'/.config/kinto/gui/kinto-gui.py','-d'])
|
||||
Popen(['/usr/bin/python3',os.environ['HOME']+'/.config/kinto/gui/kinto-gui.py','-d'])
|
||||
else:
|
||||
Popen([os.environ['HOME']+'/.config/kinto/gui/kinto-gui.py'])
|
||||
Popen(['/usr/bin/python3',os.environ['HOME']+'/.config/kinto/gui/kinto-gui.py'])
|
||||
except:
|
||||
Popen(['notify-send','Kinto: Error opening Kinto!'])
|
||||
|
||||
|
@@ -4,8 +4,8 @@ Description=xkeysnail
|
||||
[Service]
|
||||
Type=simple
|
||||
KillMode=process
|
||||
ExecStart=/usr/bin/sudo /bin/bash -c '/usr/bin/xhost +SI:localuser:root && {homedir}/.config/kinto/killdups.sh && {xkeysnail} --quiet --watch {homedir}/.config/kinto/kinto.py'
|
||||
ExecStop=/usr/bin/sudo /bin/bash -c '/usr/bin/sudo pkill -f bin/xkeysnail && exit 0'
|
||||
ExecStart={sudo}/bin/bash -c '/usr/bin/xhost +SI:localuser:root && {homedir}/.config/kinto/killdups.sh && {xkeysnail} --quiet --watch {homedir}/.config/kinto/kinto.py'
|
||||
ExecStop={sudo}/bin/bash -c '{sudo}pkill -f bin/xkeysnail && exit 0'
|
||||
Restart=on-failure
|
||||
RestartSec=3
|
||||
Environment=DISPLAY={displayid}
|
||||
|
BIN
windows/WinToMac_AltWin_swap.skl
Normal file
BIN
windows/WinToMac_AltWin_swap.skl
Normal file
Binary file not shown.
@@ -176,6 +176,7 @@ GroupAdd, remotes, ahk_exe VirtualBoxVM.exe
|
||||
GroupAdd, remotes, ahk_exe mstsc.exe
|
||||
GroupAdd, remotes, ahk_exe msrdc.exe
|
||||
GroupAdd, remotes, ahk_exe nxplayer.bin
|
||||
GroupAdd, remotes, ahk_exe vmconnect.exe
|
||||
|
||||
; Disabled Edge for now - no ability to close all instances
|
||||
; GroupAdd, browsers, Microsoft Edge ahk_class ApplicationFrameWindow
|
||||
@@ -202,6 +203,44 @@ GroupAdd, intellij, ahk_exe idea64.exe
|
||||
; End::Send {Media_Play_Pause} ; Pause/Play
|
||||
; PgDn::Send {Media_Next} ; Next
|
||||
|
||||
; Virtual Desktop Hack via TotalSpaces2 - macOS Remote Desktop
|
||||
; Custom Bind Gestures in Windows
|
||||
; Shift-F8 on Left Swipe
|
||||
; Shift-F9 on Right Swipe
|
||||
#IfWinActive ahk_exe nxplayer.bin
|
||||
+F8::Send !+- ; macOS TotalSpaces2 - Space Left
|
||||
+F6::Send !+= ; macOS TotalSpaces2 - Space Right
|
||||
#If
|
||||
; +F8::Send {LCtrl down}{LWin down}{left}{LCtrl up}{LWin up} ; Comment out on host machine
|
||||
; +F6::Send {LCtrl down}{LWin down}{right}{LCtrl up}{LWin up} ; Comment out on host machine
|
||||
|
||||
#IfWinNotActive ahk_group remotes
|
||||
; Lock Workstation
|
||||
#^q::DllCall("LockWorkStation")
|
||||
; Conflicts w/ Win-L so will use Ctrl-Shift-L as Ctrl-L replacement
|
||||
; Helpful for Sublime text lowercasing & VSCode
|
||||
^+l::Send ^{l}
|
||||
; Adds Task View to Ctrl-Cmd-Down
|
||||
#^Down::
|
||||
Run, "C:\Windows\explorer.exe" "shell:::{3080F90E-D7AD-11D9-BD98-0000947B0257}"
|
||||
return
|
||||
; wordwise support
|
||||
^Up::Send ^{Home}
|
||||
^+Up::Send ^+{Home}
|
||||
^Down::Send ^{End}
|
||||
^+Down::Send ^+{End}
|
||||
$^Backspace::Send +{Home}{Delete}
|
||||
!Backspace::Send ^{Backspace}
|
||||
!Left::Send ^{Left}
|
||||
!+Left::Send ^+{Left}
|
||||
!Right::Send ^{Right}
|
||||
!+Right::Send ^+{Right}
|
||||
$^Left::Send {Home}
|
||||
$^+Left::Send +{Home}
|
||||
$^Right::Send {End}
|
||||
$^+Right::Send +{End}
|
||||
#If
|
||||
|
||||
#IfWinNotActive ahk_group remotes
|
||||
|
||||
; New AltTab and CtrlTab fix
|
||||
@@ -308,8 +347,10 @@ GroupAdd, intellij, ahk_exe idea64.exe
|
||||
!Esc::SendInput, {Pause}
|
||||
|
||||
; Go up or down a page
|
||||
$!Down::Send {PgDn};
|
||||
$!Up::Send {PgUp};
|
||||
#IfWinNotActive ahk_group editors
|
||||
$!Down::Send {PgDn}
|
||||
$!Up::Send {PgUp}
|
||||
#If
|
||||
|
||||
; Close Apps
|
||||
^q::Send !{F4}
|
||||
@@ -366,22 +407,6 @@ GroupAdd, intellij, ahk_exe idea64.exe
|
||||
; !^space::Send #e ; Default
|
||||
; #^space::Send #e ; CB/IBM
|
||||
|
||||
; wordwise support
|
||||
^Up::Send ^{Home}
|
||||
^+Up::Send ^+{Home}
|
||||
^Down::Send ^{End}
|
||||
^+Down::Send ^+{End}
|
||||
$^Backspace::Send +{Home}{Delete}
|
||||
!Backspace::Send ^{Backspace}
|
||||
!Left::Send ^{Left}
|
||||
!+Left::Send ^+{Left}
|
||||
!Right::Send ^{Right}
|
||||
!+Right::Send ^+{Right}
|
||||
$^Left::Send {Home}
|
||||
$^+Left::Send +{Home}
|
||||
$^Right::Send {End}
|
||||
$^+Right::Send +{End}
|
||||
|
||||
; #if GetKeyState("LWin", "P") || GetKeyState("RAlt", "P") ; Chromebook
|
||||
; Space::Send ^{Esc} ; Chromebook
|
||||
; 0::Send #0 ; Chromebook
|
||||
@@ -536,6 +561,13 @@ GroupAdd, intellij, ahk_exe idea64.exe
|
||||
|
||||
; Close all browsers
|
||||
#IfWinActive ahk_group browsers
|
||||
;Tab Navigation
|
||||
^+[::send ^{PgUp}
|
||||
^+]::send ^{PgDn}
|
||||
^!Left::send ^{PgUp}
|
||||
^!Right::send ^{PgDn}
|
||||
#Left::send ^{PgUp}
|
||||
#Right::send ^{PgDn}
|
||||
^q::send {Alt Down}f{Alt Up}x ; exit all windows
|
||||
; Dev Tools
|
||||
!^i::send {Ctrl Down}{Shift Down}i{Shift Up}{Ctrl Up}
|
||||
@@ -543,6 +575,7 @@ GroupAdd, intellij, ahk_exe idea64.exe
|
||||
; Open preferences
|
||||
#IfWinActive ahk_exe firefox.exe
|
||||
^,::send, {Ctrl Down}t{Ctrl Up}about:preferences{Enter}
|
||||
^+n::send ^+p
|
||||
#If
|
||||
#IfWinActive ahk_exe chrome.exe
|
||||
^,::send {Alt Down}e{Alt Up}s{Enter}
|
||||
@@ -833,4 +866,4 @@ Send {RWin up}
|
||||
Send {LWin up}
|
||||
Send {RShift up}
|
||||
Send {LShift up}
|
||||
return
|
||||
return
|
||||
|
@@ -305,6 +305,7 @@ fi
|
||||
|
||||
if [[ $distro == "elementaryos" ]]; then
|
||||
gsettings set io.elementary.terminal.settings natural-copy-paste false
|
||||
sudo ./linux/system-config/unipkg.sh libvte-2.91-dev
|
||||
fi
|
||||
|
||||
if ! [ -x "$(command -v xhost)" ] || ! [ -x "$(command -v gcc)" ]; then
|
||||
@@ -329,25 +330,6 @@ if [[ $distro == 'kdeneon' ]]; then
|
||||
fi
|
||||
|
||||
if [[ $distro == 'fedora' ]]; then
|
||||
echo "Checking SELinux status..."
|
||||
if [[ $(perl -ne 'print if /^SELINUX=enforcing/' /etc/selinux/config | wc -l) != 0 ]]; then
|
||||
while true; do
|
||||
read -rep $'\nWould you like to update your SELinux state from enforcing to permissive? (y/n)\n' yn
|
||||
case $yn in
|
||||
[Yy]* ) setSE='yes'; break;;
|
||||
[Nn]* ) exp='no'; expsh=" " break;;
|
||||
# * ) echo "Please answer yes or no.";;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ $yn == "yes" ]]; then
|
||||
sed -i "s/SELINUX=enforcing/SELINUX=permissive/g" /etc/selinux/config
|
||||
echo "/etc/selinux/config has been updated. Please reboot your computer before continuing."
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
echo "SELinux state should be ok for Kinto to install"
|
||||
fi
|
||||
if [[ $(gsettings get org.gnome.desktop.wm.keybindings show-desktop | grep "\[\]" | wc -l) == 1 ]];then
|
||||
gsettings set org.gnome.desktop.wm.keybindings show-desktop "['<Super>d']"
|
||||
else
|
||||
@@ -520,6 +502,11 @@ fi
|
||||
|
||||
if [[ $distro == "fedora" ]]; then
|
||||
perl -pi -e "\s{4}(# )(K.*)(# SL - .*fedora.*)/ \$2\$3/g" ./linux/kinto.py.new >/dev/null 2>&1
|
||||
sed -i "s#{sudo}##g" ./linux/xkeysnail.service.new
|
||||
selinuxuser=system_u
|
||||
selinuxtype=systemd_unit_file_t
|
||||
else
|
||||
sed -i "s#{sudo}#`\\which sudo` #g" ./linux/xkeysnail.service.new
|
||||
fi
|
||||
|
||||
if [[ $distro == "elementaryos" ]]; then
|
||||
@@ -568,17 +555,15 @@ if ! [[ $1 == "5" || $1 == "uninstall" || $1 == "Uninstall" ]]; then
|
||||
xkeypath="/lib/systemd/system/"
|
||||
fi
|
||||
xhost +SI:localuser:root
|
||||
git clone --depth 10 https://github.com/rbreaves/xkeysnail.git
|
||||
git clone -b kinto --depth 10 https://github.com/rbreaves/xkeysnail.git
|
||||
cd xkeysnail
|
||||
git checkout kinto
|
||||
giturl=$(git ls-remote --get-url)
|
||||
if [ "$giturl" != "https://github.com/rbreaves/xkeysnail.git" ];then
|
||||
echo -e "\nreplacing xkeysnail with fork...\n"
|
||||
cd ..
|
||||
rm -rf ./xkeysnail
|
||||
git clone --depth 10 https://github.com/rbreaves/xkeysnail.git
|
||||
git clone -b kinto --depth 10 https://github.com/rbreaves/xkeysnail.git
|
||||
cd xkeysnail
|
||||
git checkout kinto
|
||||
fi
|
||||
sudo pip3 install --upgrade .
|
||||
cd ..
|
||||
@@ -590,6 +575,10 @@ if ! [[ $1 == "5" || $1 == "uninstall" || $1 == "Uninstall" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
sed -i "s#{xkeysnail}#`which xkeysnail`#g" ./linux/limitedadmins.new
|
||||
if [[ $distro == "fedora" ]]; then
|
||||
echo "Changing SELinux context"
|
||||
sudo chcon -v --user=$selinuxuser --type=$selinuxtype "$xkeypath"xkeysnail.service
|
||||
fi
|
||||
sudo chown root:root ./linux/limitedadmins.new
|
||||
# Add a check here for xkeysnail path resolving
|
||||
sudo mv ./linux/limitedadmins.new /etc/sudoers.d/limitedadmins
|
||||
@@ -598,10 +587,19 @@ if ! [[ $1 == "5" || $1 == "uninstall" || $1 == "Uninstall" ]]; then
|
||||
sed -i "s#{xkeysnail}#`which xkeysnail`#g" ./linux/xkeysnail.service.new
|
||||
sudo mv ./linux/xkeysnail.service.new "$xkeypath"xkeysnail.service && echo "Service file added to "$xkeypath"xkeysnail.service"
|
||||
|
||||
sudo chown -R root:root "$xkeypath"xkeysnail.service && echo "Ownership set for root..." || echo "Failed to set ownership..."
|
||||
sudo chmod 644 "$xkeypath"xkeysnail.service && echo "Permissions set to 644..." || echo "Failed to set permissions..."
|
||||
sudo ln -s "$xkeypath"xkeysnail.service /etc/systemd/system/xkeysnail.service && echo "Created soft symlink..." || echo "Failed to create soft symlink..."
|
||||
sudo ln -s "$xkeypath"xkeysnail.service /etc/systemd/system/graphical.target.wants/xkeysnail.service && echo "Created soft symlink for graphical target..." || echo "Failed to create soft symlink for graphical target..."
|
||||
if [[ $distro == "fedora" ]]; then
|
||||
sudo cp "$xkeypath"xkeysnail.service /etc/systemd/system/xkeysnail.service && echo "Copied service file to system..." || echo "Failed to create copy..."
|
||||
sudo cp "$xkeypath"xkeysnail.service /etc/systemd/system/graphical.target.wants/xkeysnail.service && echo "Copied service file to system for graphical target..." || echo "Failed to create copy for graphical target..."
|
||||
sudo chown -R root:root /etc/systemd/system/xkeysnail.service && echo "Ownership set for root..." || echo "Failed to set ownership..."
|
||||
sudo chown -R root:root /etc/systemd/system/graphical.target.wants/xkeysnail.service && echo "Ownership set for root..." || echo "Failed to set ownership..."
|
||||
sudo chmod 644 /etc/systemd/system/xkeysnail.service && echo "Permissions set to 644..." || echo "Failed to set permissions..."
|
||||
sudo chmod 644 /etc/systemd/system/graphical.target.wants/xkeysnail.service && echo "Permissions set to 644..." || echo "Failed to set permissions..."
|
||||
else
|
||||
sudo chown -R root:root "$xkeypath"xkeysnail.service && echo "Ownership set for root..." || echo "Failed to set ownership..."
|
||||
sudo chmod 644 "$xkeypath"xkeysnail.service && echo "Permissions set to 644..." || echo "Failed to set permissions..."
|
||||
sudo ln -s "$xkeypath"xkeysnail.service /etc/systemd/system/xkeysnail.service && echo "Created soft symlink..." || echo "Failed to create soft symlink..."
|
||||
sudo ln -s "$xkeypath"xkeysnail.service /etc/systemd/system/graphical.target.wants/xkeysnail.service && echo "Created soft symlink for graphical target..." || echo "Failed to create soft symlink for graphical target..."
|
||||
fi
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl disable xkeysnail
|
||||
sudo systemctl stop xkeysnail
|
||||
|
Reference in New Issue
Block a user