Compare commits

...

13 Commits
1.2-1 ... 1.2-2

Author SHA1 Message Date
Ben Reaves
1aa23c239c Merge pull request #300 from rbreaves/dev
- Added autostart bool fix, added info on system tray setup for Gnome3
2020-10-30 02:27:28 -05:00
Ben Reaves
b6fb4ba828 - Added autostart bool fix, added info on system tray setup for Gnome3 2020-10-30 02:21:21 -05:00
Ben Reaves
9ce8612f54 Merge branch 'dev' into master 2020-10-29 21:23:36 -05:00
Ben Reaves
1419646e9c - Fixes to resolve install issues on Manjaro Gnome. 2020-10-29 21:23:11 -05:00
Ben Reaves
464ba631cb Merge branch 'dev' 2020-10-26 20:17:25 -05:00
Ben Reaves
d709a7de20 - Added the missing Right Alt key remap for Windows 2020-10-26 20:12:59 -05:00
Ben Reaves
80627807f5 Update README.md 2020-10-25 20:49:14 -05:00
Ben Reaves
cbee0f8f33 Update README.md 2020-10-25 20:46:58 -05:00
Ben Reaves
f34d9b57f6 Update README.md 2020-10-25 20:41:50 -05:00
Ben Reaves
969427bf5b - More initial setup refinements 2020-10-25 17:41:19 -05:00
Ryan Reaves
adc62fc71b - Fixed initial setup UI issue for chromebook users 2020-10-25 16:47:54 -05:00
Ryan Reaves
0baef33cf6 - Initial setup UI improvement 2020-10-25 13:47:05 -05:00
Ryan Reaves
0f1f05d379 - Added commands to ensure that any previous instance is not running during install 2020-10-25 12:43:36 -05:00
6 changed files with 138 additions and 60 deletions

View File

@@ -73,6 +73,8 @@ Additionally, if you are using a cross-platform app and if it happens to have a
## How to install (Linux) ## How to install (Linux)
Video Tutorial: [Install Kinto.sh for Linux in less than a minute](https://www.youtube.com/watch?v=kd4al45XD1g)
<img src="https://user-images.githubusercontent.com/10969616/97070698-179c4500-15a0-11eb-8064-c03aa7f4d4a5.png" width="75%"> <img src="https://user-images.githubusercontent.com/10969616/97070698-179c4500-15a0-11eb-8064-c03aa7f4d4a5.png" width="75%">
1. clone this repo 1. clone this repo
@@ -93,7 +95,12 @@ sudo apt install python3
./setup.py ./setup.py
``` ```
Note: You can actually press Enter to agree to the wizard setup, and to finish it. No mouse is required to complete the setup, every element is properly focused. Troubleshoot
If the wizard does not appear then either type in "kinto.sh" in your application overview search bar or run this following command.
```
~/.config/kinto/gui/kinto-gui.py
```
To Uninstall Kinto To Uninstall Kinto

View File

@@ -121,9 +121,14 @@ if os.path.isdir(homedir + "/.config/kinto") == False:
os.mkdir(homedir + "/.config/kinto") os.mkdir(homedir + "/.config/kinto")
time.sleep(0.5) time.sleep(0.5)
cmdline("git fetch")
color_arr = [bcolors.CBEIGE,bcolors.CRED2,bcolors.CGREEN,bcolors.CYELLOW ] color_arr = [bcolors.CBEIGE,bcolors.CRED2,bcolors.CGREEN,bcolors.CYELLOW ]
print("\nKinto - Type in Linux like it's a Mac.\n") kintover = cmdline('echo "$(git describe --tag --abbrev=0 | head -n 1)" "build" "$(git rev-parse --short HEAD)"')
print("\nKinto " + kintover + "Type in Linux like it's a Mac.\n")
if args.uninstall: if args.uninstall:
subprocess.check_call(shlex.split("./xkeysnail_service.sh uninstall")) subprocess.check_call(shlex.split("./xkeysnail_service.sh uninstall"))

View File

@@ -235,11 +235,13 @@ GroupAdd, intellij, ahk_exe idea64.exe
; $LAlt::LCtrl ; CB/IBM ; $LAlt::LCtrl ; CB/IBM
; $RAlt::RCtrl ; CB/IBM ; $RAlt::RCtrl ; CB/IBM
; $RCtrl::RAlt ; CB/IBM
; $CapsLock::LWin ; IBM ; $CapsLock::LWin ; IBM
; $LCtrl::LAlt ; CB/IBM ; $LCtrl::LAlt ; CB/IBM
; $LAlt::LCtrl ; WinModifiers ; $LAlt::LCtrl ; WinModifiers
; $RAlt::RCtrl ; WinModifiers ; $RAlt::RCtrl ; WinModifiers
; $RCtrl::RAlt ; WinModifiers
; $LWin::LAlt ; WinModifiers ; $LWin::LAlt ; WinModifiers
; $LCtrl::LWin ; WinModifiers ; $LCtrl::LWin ; WinModifiers

View File

@@ -43,6 +43,8 @@ class MyWindow(Gtk.Window):
bgerror = Gtk.Image() bgerror = Gtk.Image()
bguninstall = Gtk.Image() bguninstall = Gtk.Image()
last_onward = Gtk.Button() last_onward = Gtk.Button()
first_onward = Gtk.ToggleButton()
page = 1
label = Gtk.Label() label = Gtk.Label()
label.set_alignment(1, 0) label.set_alignment(1, 0)
@@ -78,6 +80,7 @@ class MyWindow(Gtk.Window):
homedir = os.path.expanduser("~") homedir = os.path.expanduser("~")
self.kconfig = homedir+"/.config/kinto/kinto.py" self.kconfig = homedir+"/.config/kinto/kinto.py"
autostart_bool = False
path = os.environ['HOME']+'/.config/kinto/kinto-color.svg' path = os.environ['HOME']+'/.config/kinto/kinto-color.svg'
width = -1 width = -1
@@ -397,6 +400,7 @@ class MyWindow(Gtk.Window):
self.setupwin.set_position(Gtk.WindowPosition.CENTER) self.setupwin.set_position(Gtk.WindowPosition.CENTER)
self.setupwin.add(self.overlay) self.setupwin.add(self.overlay)
self.setupwin.signal_id = 0
from PIL import Image from PIL import Image
@@ -987,55 +991,63 @@ class MyWindow(Gtk.Window):
self.label.set_markup(" " + status + " ") self.label.set_markup(" " + status + " ")
return self.kinto_status.poll() is None return self.kinto_status.poll() is None
def key_press_event(self, widget, event, page): def key_press_event(self, widget, event):
global openWin global openWin
trigger = "None" trigger = "None"
keyname = Gdk.keyval_name(event.keyval) keyname = Gdk.keyval_name(event.keyval)
current = self.second_page current = self.second_page
bg = self.bgsuccess4 bg = self.bgsuccess4
onward = self.success_page onward = self.success_page
print("page value: "+str(self.page))
if page == 1 and "Control" in keyname: if self.page == 1 and "Control" in keyname and openWin == False:
print("IBM or Chromebook") print("IBM or Chromebook")
print("Continue to page 2") print("Continue to page 2")
bg = self.bgcaps bg = self.bgcaps
onward = self.caps_page onward = self.caps_page
trigger = "Half" trigger = "Half"
elif page == 2 and "Caps_Lock" in keyname and event.state & Gdk.ModifierType.LOCK_MASK: self.page += 1
elif self.page == 2 and "Caps_Lock" in keyname and event.state & Gdk.ModifierType.LOCK_MASK:
print("Set IBM Keyboard") print("Set IBM Keyboard")
current = self.caps_page current = self.caps_page
self.options["kbtype"] = "ibm" self.options["kbtype"] = "ibm"
trigger = "Done" trigger = "Done"
elif page == 2 and "Super" in keyname: elif self.page == 2 and "Super" in keyname:
print("Set Chromebook Keyboard") print("Set Chromebook Keyboard")
current = self.caps_page current = self.caps_page
self.options["kbtype"] = "cbk" self.options["kbtype"] = "cbk"
trigger = "Done" trigger = "Done"
elif page == 1 and "Alt" in keyname: elif self.page == 1 and "Alt" in keyname:
print("Set Mac Keyboard") print("Set Mac Keyboard")
self.options["kbtype"] = "mac" self.options["kbtype"] = "mac"
trigger = "Done" trigger = "Done"
elif page == 1 and "Super" in keyname: elif self.page == 1 and "Super" in keyname:
print("Set Win Keyboard") print("Set Win Keyboard")
self.options["kbtype"] = "win" self.options["kbtype"] = "win"
trigger = "Done" trigger = "Done"
if trigger == "Half" or trigger == "Done": if trigger == "Half" or trigger == "Done" and openWin == False:
for grandkid in self.overlay.get_children(): for grandkid in self.overlay.get_children():
self.overlay.remove(grandkid) self.overlay.remove(grandkid)
self.overlay.add(bg) self.overlay.add(bg)
self.overlay.add_overlay(self.container) self.overlay.add_overlay(self.container)
self.container.add(onward) self.container.add(onward)
self.container.remove(current) self.container.remove(current)
self.setupwin.disconnect(self.setupwin.signal_id) # self.setupwin.disconnect(self.setupwin.signal_id)
if trigger == "Half": if trigger == "Half" and openWin == False:
self.setupwin.signal_id = self.setupwin.connect("key_press_event", self.key_press_event,2) # print("reset key_press_event")
# self.setupwin.signal_id = self.setupwin.connect("key_press_event", self.key_press_event)
self.setupwin.show_all() self.setupwin.show_all()
elif trigger == "Done": elif trigger == "Done" and openWin == False:
print("in Done")
self.setKinto() self.setKinto()
self.setupwin.show_all() self.setupwin.show_all()
openWin = True openWin = True
self.last_onward.grab_focus() self.last_onward.grab_focus()
# print(self.setupwin.signal_id)
self.setupwin.disconnect(self.setupwin.signal_id)
# print(self.setupwin.signal_id)
print("key press event is on")
def InputToTerm(self,cmd): def InputToTerm(self,cmd):
# Not clearly known which VTE versions # Not clearly known which VTE versions
@@ -1144,15 +1156,22 @@ class FirstPage(Gtk.Box):
scroller.add(vbox) scroller.add(vbox)
hbox = Gtk.HBox() hbox = Gtk.HBox()
previous = Gtk.Button("Decline") previous = Gtk.Button("")
for child in previous.get_children():
child.set_label("<b>Decline</b>")
child.set_use_markup(True)
previous.connect("clicked", self.goback) previous.connect("clicked", self.goback)
previous.set_margin_right(245) previous.set_margin_right(245)
hbox.add(previous) hbox.add(previous)
onward = Gtk.Button("Agree") self.__parent_window.first_onward.set_label("")
onward.connect("clicked", self.forward) for child in self.__parent_window.first_onward.get_children():
child.set_label("<b>Agree</b>")
child.set_use_markup(True)
self.__parent_window.first_onward.set_active(True)
self.__parent_window.first_onward.connect("clicked", self.forward)
hbox.add(onward) hbox.add(self.__parent_window.first_onward)
hbox.set_hexpand(False) hbox.set_hexpand(False)
hbox.set_vexpand(False) hbox.set_vexpand(False)
hbox.set_margin_bottom(6) hbox.set_margin_bottom(6)
@@ -1170,19 +1189,22 @@ class FirstPage(Gtk.Box):
self.grid.add(vbox_container) self.grid.add(vbox_container)
self.grid.attach_next_to(hbox, vbox_container, Gtk.PositionType.BOTTOM, 2, 1) self.grid.attach_next_to(hbox, vbox_container, Gtk.PositionType.BOTTOM, 2, 1)
self.add(self.grid) self.add(self.grid)
onward.grab_focus() self.__parent_window.first_onward.grab_focus()
def goback(self, *args): def goback(self, *args):
Gtk.main_quit() Gtk.main_quit()
self.hide() self.hide()
def forward(self, button): def forward(self, button):
self.__parent_window.first_onward.set_active(True)
for grandkid in self.__parent_window.overlay.get_children(): for grandkid in self.__parent_window.overlay.get_children():
self.__parent_window.overlay.remove(grandkid) self.__parent_window.overlay.remove(grandkid)
self.__parent_window.overlay.add(self.__parent_window.bgspace) self.__parent_window.overlay.add(self.__parent_window.bgspace)
self.__parent_window.overlay.add_overlay(self.__parent_window.container) self.__parent_window.overlay.add_overlay(self.__parent_window.container)
self.__parent_window.container.add(self.__parent_window.second_page) self.__parent_window.container.add(self.__parent_window.second_page)
self.__parent_window.setupwin.signal_id = self.__parent_window.setupwin.connect("key_press_event", self.__parent_window.key_press_event,1) # print(self.__parent_window.setupwin.signal_id)
self.__parent_window.setupwin.signal_id = self.__parent_window.setupwin.connect("key_press_event", self.__parent_window.key_press_event)
# print(self.__parent_window.setupwin.signal_id)
self.__parent_window.container.remove(self.__parent_window.first_page) self.__parent_window.container.remove(self.__parent_window.first_page)
self.__parent_window.setupwin.show_all() self.__parent_window.setupwin.show_all()
self.hide() self.hide()
@@ -1206,7 +1228,10 @@ class SecondPage(Gtk.Box):
scroller.add(vbox) scroller.add(vbox)
hbox = Gtk.HBox() hbox = Gtk.HBox()
previous = Gtk.Button("Go Back") previous = Gtk.Button("")
for child in previous.get_children():
child.set_label("<b>Go Back</b>")
child.set_use_markup(True)
previous.connect("clicked", self.goback) previous.connect("clicked", self.goback)
previous.set_margin_right(315) previous.set_margin_right(315)
hbox.add(previous) hbox.add(previous)
@@ -1242,29 +1267,31 @@ class SecondPage(Gtk.Box):
self.__parent_window.container.remove(self.__parent_window.second_page) self.__parent_window.container.remove(self.__parent_window.second_page)
self.__parent_window.setupwin.disconnect(self.__parent_window.setupwin.signal_id) self.__parent_window.setupwin.disconnect(self.__parent_window.setupwin.signal_id)
self.__parent_window.setupwin.show_all() self.__parent_window.setupwin.show_all()
self.__parent_window.first_onward.grab_focus()
self.hide() self.hide()
def capsforward(self, *args): # def capsforward(self, *args):
for grandkid in self.__parent_window.overlay.get_children(): # for grandkid in self.__parent_window.overlay.get_children():
self.__parent_window.overlay.remove(grandkid) # self.__parent_window.overlay.remove(grandkid)
self.__parent_window.overlay.add(self.__parent_window.bgcaps) # self.__parent_window.overlay.add(self.__parent_window.bgcaps)
self.__parent_window.overlay.add_overlay(self.__parent_window.container) # self.__parent_window.overlay.add_overlay(self.__parent_window.container)
self.__parent_window.container.add(self.__parent_window.caps_page) # self.__parent_window.container.add(self.__parent_window.caps_page)
self.__parent_window.container.remove(self.__parent_window.second_page) # self.__parent_window.container.remove(self.__parent_window.second_page)
self.__parent_window.setupwin.signal_id = self.__parent_window.setupwin.connect("key_press_event", self.__parent_window.key_press_event,2) # self.__parent_window.setupwin.disconnect(self.__parent_window.setupwin.signal_id)
self.__parent_window.setupwin.show_all() # self.__parent_window.setupwin.signal_id = self.__parent_window.setupwin.connect("key_press_event", self.__parent_window.key_press_event,2)
self.hide() # self.__parent_window.setupwin.show_all()
# self.hide()
def forward(self, *args): # def forward(self, *args):
for grandkid in self.__parent_window.overlay.get_children(): # for grandkid in self.__parent_window.overlay.get_children():
self.__parent_window.overlay.remove(grandkid) # self.__parent_window.overlay.remove(grandkid)
self.__parent_window.overlay.add(self.__parent_window.bgsuccess4) # self.__parent_window.overlay.add(self.__parent_window.bgsuccess4)
self.__parent_window.overlay.add_overlay(self.__parent_window.container) # self.__parent_window.overlay.add_overlay(self.__parent_window.container)
self.__parent_window.container.add(self.__parent_window.success_page) # self.__parent_window.container.add(self.__parent_window.success_page)
self.__parent_window.container.remove(self.__parent_window.second_page) # self.__parent_window.container.remove(self.__parent_window.second_page)
self.__parent_window.setupwin.disconnect(self.__parent_window.setupwin.signal_id) # self.__parent_window.setupwin.disconnect(self.__parent_window.setupwin.signal_id)
self.__parent_window.setupwin.show_all() # self.__parent_window.setupwin.show_all()
self.hide() # self.hide()
class CapsPage(Gtk.Box): class CapsPage(Gtk.Box):
def __init__(self, parent_window): def __init__(self, parent_window):
@@ -1285,7 +1312,10 @@ class CapsPage(Gtk.Box):
scroller.add(vbox) scroller.add(vbox)
hbox = Gtk.HBox() hbox = Gtk.HBox()
previous = Gtk.Button("Go Back") previous = Gtk.Button("")
for child in previous.get_children():
child.set_label("<b>Go Back</b>")
child.set_use_markup(True)
previous.connect("clicked", self.goback) previous.connect("clicked", self.goback)
previous.set_margin_right(315) previous.set_margin_right(315)
hbox.add(previous) hbox.add(previous)
@@ -1318,22 +1348,23 @@ class CapsPage(Gtk.Box):
self.__parent_window.overlay.add(self.__parent_window.bgspace) self.__parent_window.overlay.add(self.__parent_window.bgspace)
self.__parent_window.overlay.add_overlay(self.__parent_window.container) self.__parent_window.overlay.add_overlay(self.__parent_window.container)
self.__parent_window.container.add(self.__parent_window.second_page) self.__parent_window.container.add(self.__parent_window.second_page)
self.__parent_window.setupwin.disconnect(self.__parent_window.setupwin.signal_id) self.__parent_window.page = 1
self.__parent_window.setupwin.signal_id = self.__parent_window.setupwin.connect("key_press_event", self.__parent_window.key_press_event,1) # self.__parent_window.setupwin.disconnect(self.__parent_window.setupwin.signal_id)
# self.__parent_window.setupwin.signal_id = self.__parent_window.setupwin.connect("key_press_event", self.__parent_window.key_press_event)
self.__parent_window.container.remove(self.__parent_window.caps_page) self.__parent_window.container.remove(self.__parent_window.caps_page)
self.__parent_window.setupwin.show_all() self.__parent_window.setupwin.show_all()
self.hide() self.hide()
def forward(self, *args): # def forward(self, *args):
for grandkid in self.__parent_window.overlay.get_children(): # for grandkid in self.__parent_window.overlay.get_children():
self.__parent_window.overlay.remove(grandkid) # self.__parent_window.overlay.remove(grandkid)
self.__parent_window.overlay.add(self.__parent_window.bgsuccess4) # self.__parent_window.overlay.add(self.__parent_window.bgsuccess4)
self.__parent_window.overlay.add_overlay(self.__parent_window.container) # self.__parent_window.overlay.add_overlay(self.__parent_window.container)
self.__parent_window.container.add(self.__parent_window.success_page) # self.__parent_window.container.add(self.__parent_window.success_page)
self.__parent_window.container.remove(self.__parent_window.caps_page) # self.__parent_window.container.remove(self.__parent_window.caps_page)
self.__parent_window.setupwin.disconnect(self.__parent_window.setupwin.signal_id) # self.__parent_window.setupwin.disconnect(self.__parent_window.setupwin.signal_id)
self.__parent_window.setupwin.show_all() # self.__parent_window.setupwin.show_all()
self.hide() # self.hide()
class SuccessPage(Gtk.Box): class SuccessPage(Gtk.Box):
def __init__(self, parent_window): def __init__(self, parent_window):
@@ -1349,6 +1380,7 @@ class SuccessPage(Gtk.Box):
def forward(self, *args): def forward(self, *args):
self.hide() self.hide()
# self.__parent_window.setupwin.disconnect(self.__parent_window.setupwin.signal_id)/
self.__parent_window.setupwin.close() self.__parent_window.setupwin.close()

View File

@@ -4,7 +4,7 @@ Description=xkeysnail
[Service] [Service]
Type=simple Type=simple
KillMode=process KillMode=process
ExecStart=/usr/bin/sudo /bin/bash -c '/usr/bin/xhost +SI:localuser:root && {homedir}/.config/kinto/killdups.sh && /usr/local/bin/xkeysnail --quiet --watch {homedir}/.config/kinto/kinto.py' 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' ExecStop=/usr/bin/sudo /bin/bash -c '/usr/bin/sudo pkill -f bin/xkeysnail && exit 0'
Restart=on-failure Restart=on-failure
RestartSec=3 RestartSec=3

View File

@@ -201,6 +201,13 @@ if [[ $1 == "5" || $1 == "uninstall" || $1 == "Uninstall" ]]; then
exit 0 exit 0
fi fi
sudo systemctl stop xkeysnail >/dev/null 2>&1
sudo systemctl disable xkeysnail >/dev/null 2>&1
sudo pkill -f bin/xkeysnail >/dev/null 2>&1
sudo pkill -f "is-active xkeysnail" >/dev/null 2>&1
pip3 install pillow
# Add additional shortcuts if needed, does not modify existing ones # Add additional shortcuts if needed, does not modify existing ones
if [[ $dename == 'gnome' || $dename == 'budgie' ]];then if [[ $dename == 'gnome' || $dename == 'budgie' ]];then
@@ -213,7 +220,6 @@ fi
# if ls /etc/apt/sources.list.d/system76* 1> /dev/null 2>&1; then # if ls /etc/apt/sources.list.d/system76* 1> /dev/null 2>&1; then
if [[ $distro == 'popos' ]]; then if [[ $distro == 'popos' ]]; then
pip3 install pillow
# Addition, does not overwrite existing # Addition, does not overwrite existing
if [[ $(gsettings get org.gnome.desktop.wm.keybindings minimize | grep "\[\]" | wc -l) != 1 ]];then if [[ $(gsettings get org.gnome.desktop.wm.keybindings minimize | grep "\[\]" | wc -l) != 1 ]];then
echo "Adding Super-h (Cmd+h) to hide/minimize Window." echo "Adding Super-h (Cmd+h) to hide/minimize Window."
@@ -228,8 +234,14 @@ if [[ $distro == 'popos' ]]; then
fi fi
fi fi
if ! [ -x "$(command -v xhost)" ] || ! [ -x "$(command -v gcc)" ]; then
if [ "$distro" == "manjarolinux" ]; then
sudo ./system-config/unipkg.sh "xorg-xhost gcc"
fi
fi
if [[ $dename == "kde" ]]; then if [[ $dename == "kde" ]]; then
if [[ $distroy == "manjarolinux" ]]; then if [[ $distro == "manjarolinux" ]]; then
sudo ./system-config/unipkg.sh vte3 sudo ./system-config/unipkg.sh vte3
else else
sudo ./system-config/unipkg.sh libvte-2.91-dev sudo ./system-config/unipkg.sh libvte-2.91-dev
@@ -322,6 +334,9 @@ if ! [ -x "$(command -v python3-config)" ]; then
sudo ./system-config/unipkg.sh "$pydev" sudo ./system-config/unipkg.sh "$pydev"
fi fi
fi fi
# if [ "$distro" == "ubuntu" ] && [ "$dename" == "gnome" ];then
# sudo ./system-config/unipkg.sh gnome-tweaks gnome-shell-extension-appindicator gir1.2-appindicator3-0.1
# fi
if ! [ -x "$(command -v xhost)" ] || ! [ -x "$(command -v gcc)" ]; then if ! [ -x "$(command -v xhost)" ] || ! [ -x "$(command -v gcc)" ]; then
if [ "$distro" == "\"manjaro linux\"" ]; then if [ "$distro" == "\"manjaro linux\"" ]; then
sudo ./system-config/unipkg.sh "xorg-xhost gcc" sudo ./system-config/unipkg.sh "xorg-xhost gcc"
@@ -385,10 +400,11 @@ sed -i "s#{homedir}#`echo "$HOME"`#g" ~/.config/kinto/gui/kinto-gui.py
sed -i "s#{homedir}#`echo "$HOME"`#g" ./xkeysnail-config/gui/kinto.desktop.new sed -i "s#{homedir}#`echo "$HOME"`#g" ./xkeysnail-config/gui/kinto.desktop.new
sudo mv ./xkeysnail-config/gui/kinto.desktop.new /usr/share/applications/kinto.desktop sudo mv ./xkeysnail-config/gui/kinto.desktop.new /usr/share/applications/kinto.desktop
sed -i "s#{xhost}#`\\which xhost`#g" ./xkeysnail-config/xkeysnail.service.new sed -i "s#{xhost}#`\\which xhost`#g" ./xkeysnail-config/xkeysnail.service.new
sed -i "s#{xkeysnail}#`which xkeysnail`#g" ./xkeysnail-config/xkeysnail.service.new
sed -i "s/{username}/`whoami`/g" ./xkeysnail-config/limitedadmins.new sed -i "s/{username}/`whoami`/g" ./xkeysnail-config/limitedadmins.new
sed -i "s#{systemctl}#`\\which systemctl`#g" ./xkeysnail-config/limitedadmins.new sed -i "s#{systemctl}#`\\which systemctl`#g" ./xkeysnail-config/limitedadmins.new
sed -i "s#{pkill}#`\\which pkill`#g" ./xkeysnail-config/limitedadmins.new sed -i "s#{pkill}#`\\which pkill`#g" ./xkeysnail-config/limitedadmins.new
sed -i "s#{xkeysnail}#/usr/local/bin/xkeysnail#g" ./xkeysnail-config/limitedadmins.new sed -i "s#{xkeysnail}#`which xkeysnail`#g" ./xkeysnail-config/limitedadmins.new
sudo chown root:root ./xkeysnail-config/limitedadmins.new sudo chown root:root ./xkeysnail-config/limitedadmins.new
sudo mv ./xkeysnail-config/limitedadmins.new /etc/sudoers.d/limitedadmins sudo mv ./xkeysnail-config/limitedadmins.new /etc/sudoers.d/limitedadmins
sed -i "s#{systemctl}#`\\which systemctl`#g" ~/.config/kinto/xkeysnail.desktop sed -i "s#{systemctl}#`\\which systemctl`#g" ~/.config/kinto/xkeysnail.desktop
@@ -479,9 +495,8 @@ if ! [[ $1 == "5" || $1 == "uninstall" || $1 == "Uninstall" ]]; then
# sudo systemctl enable xkeysnail.service # sudo systemctl enable xkeysnail.service
# fi # fi
# sudo systemctl restart xkeysnail # sudo systemctl restart xkeysnail
if ! [[ $dename == "gnome" || $dename == "kde" ]];then sudo pkill -f kintotray >/dev/null 2>&1
sudo pkill -f kintotray >/dev/null 2>&1 if [[ $dename == "gnome" || $dename == "kde" ]];then
else
sed -i "s/systray = true/systray = false/g" ~/.config/kinto/initkb sed -i "s/systray = true/systray = false/g" ~/.config/kinto/initkb
fi fi
nohup python3 ~/.config/kinto/gui/kinto-gui.py >/dev/null 2>&1 & nohup python3 ~/.config/kinto/gui/kinto-gui.py >/dev/null 2>&1 &
@@ -508,4 +523,21 @@ if ! [[ $1 == "5" || $1 == "uninstall" || $1 == "Uninstall" ]]; then
echo -e "Kinto install is \e[1m\e[32mcomplete\e[0m.\n" echo -e "Kinto install is \e[1m\e[32mcomplete\e[0m.\n"
echo "If the setup wizard fails to appear then please run this command."
echo -e "~/.config/kinto/gui/kinto-gui.py\n"
echo -e "You can then either \e]8;;https://google.com\a\e[1m\e[36mG\033[0;91mo\033[0;93mo\e[1m\e[36mg\e[1m\e[32ml\033[0;91me\e[0m\e]8;;\a what dependencies you may be missing\nor \e]8;;https://github.com/rbreaves/kinto/issues/new\?assignees=rbreaves&labels=bug&template=bug_report.md&title=\aopen an issue ticket.\e]8;;\a\n"
if [ "$distro" == "manjarolinux" ]; then
echo "If you are using Manjaro and see an error about 'GLIBC_2.xx not found' appears then please update your system."
echo "sudo pacman -Syu"
fi
if [ "$dename" == "gnome" ];then
echo "Gnome may not support appindicators well, so by default you may need to install packages before enabling the System Tray."
echo "You may try one of the following extensions."
echo -e " 1) \e]8;;https://extensions.gnome.org/extension/615/appindicator-support/\aAppIndicator and KStatusNotifierItem Support\e]8;;\a"
echo -e " 2) \e]8;;https://extensions.gnome.org/extension/1031/topicons/\aTopIcons Plus\e]8;;\a"
echo -e "\nNote: you may want these supporting packages\n'sudo apt install gnome-tweaks gnome-shell-extension-appindicator gir1.2-appindicator3-0.1'"
fi
fi fi