Added warning if relevant clipboard tool is not installed

Former-commit-id: 2d89d7954a6d1c0133f235862e78b1bcfdcef9ff
Former-commit-id: 988a751409f02e2b065c461d4c3f723472ee725a
This commit is contained in:
2023-05-11 12:11:30 -04:00
parent 64e56fb871
commit a89b201fc7
3 changed files with 56 additions and 0 deletions
+13
View File
@@ -329,6 +329,19 @@ def tweak():
_lines += 1
_config_file.write('n')
print(f"{_divider}configuration complete\n")
# PORT START CLIPTOOL
# check for clipboard tool and display warning if missing
if uname()[0] in ('Linux', 'FreeBSD'):
if 'WAYLAND_DISPLAY' in environ:
_display_server, _clipboard_tool = 'Wayland', 'wl-clipboard'
else:
_display_server, _clipboard_tool = 'X11', 'xclip'
from shutil import which
if which(_clipboard_tool) is None:
print(f'\u001b[38;5;9mwarning: you are using {_display_server} and "{_clipboard_tool}" is not present -'
f'\ncopying entry fields will not function until "{_clipboard_tool}" is installed\u001b[0m\n')
# PORT END CLIPTOOL
# prints help text based on argument
+7
View File
@@ -17,6 +17,7 @@ _create_generic_linux() {
# START PORT
cp -r lib/. port-jobs/working/
cd port-jobs
./CLIPTOOL.py LINUX
./CLIPBOARD.py LINUX
./UNAME.py LINUX
./COMMENTS.py ALL
@@ -152,6 +153,7 @@ urls {
cd port-jobs
./SHEBANG.sh
./RMSERVER.py
./CLIPTOOL.py
./CLIPBOARD.py HAIKU
./COMMENTS.py ALL
./UNAME.py TMP
@@ -198,9 +200,11 @@ Installed-Size: 71680
cp -r lib/. port-jobs/working/
cd port-jobs
if [ "$1" = 'Debian' ]; then
./CLIPTOOL.py LINUX
./CLIPBOARD.py LINUX
special=UBUNTU
else
./CLIPTOOL.py
./CLIPBOARD.py WSL
special=WSL-ONLY-UBUNTU
fi
@@ -246,6 +250,7 @@ Installed-Size: 71680
# START PORT
cp -r lib/. port-jobs/working/
cd port-jobs
./CLIPTOOL.py
./CLIPBOARD.py TERMUX
./UNAME.py TERMUX
./COMMENTS.py ALL
@@ -303,6 +308,7 @@ cp -r %%{_sourcedir}/usr %%{buildroot}
# START PORT
cp -r lib/. port-jobs/working/
cd port-jobs
./CLIPTOOL.py LINUX
./CLIPBOARD.py LINUX
./UNAME.py LINUX
./COMMENTS.py ALL
@@ -363,6 +369,7 @@ printf "/usr/bin/sshyp
# START PORT
cp -r lib/. port-jobs/working/
cd port-jobs
./CLIPTOOL.py BSD
./CLIPBOARD.py TERMUX
./UNAME.py TMP
./COMMENTS.py ALL
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env python3
import re
from sys import argv, exit as s_exit
# read arguments
arguments = argv[1:]
# define PORT target
string1 = '# PORT START CLIPTOOL'
string2 = '# PORT END CLIPTOOL'
# define replacement text depending on arguments
if len(arguments) > 0:
regex = re.compile(f"{string1}.*?{string2}", re.DOTALL)
replacement = """# check for clipboard tool and display warning if missing
if 'WAYLAND_DISPLAY' in environ:
_display_server, _clipboard_tool = 'Wayland', 'wl-clipboard'
else:
_display_server, _clipboard_tool = 'X11', 'xclip'
from shutil import which
if which(_clipboard_tool) is None:
print(f'''\u001b[38;5;9mwarning: you are using {_display_server} and "{_clipboard_tool}" is not present -
copying entry fields will not function until "{_clipboard_tool}" is installed\u001b[0m
''')"""
else:
regex = re.compile(f"{string1}.*?{string2}\n\n", re.DOTALL)
replacement = ''
# read input file
text = open('working/sshyp.py', 'r').read()
# find and replace the defined PORT target
new_text = re.sub(regex, replacement, text)
# write updated text
open('working/sshyp.py', 'w').write(new_text)