mirror of
https://github.com/rwinkhart/sshyp.git
synced 2026-09-04 08:07:15 -04:00
Fixed clipboard contents leaking through process list on Wayland
Former-commit-id: bb1485fec2d891af9f49b4d8e81df72b0e6160d9 Former-commit-id: 2eff4ace8b82735a890bf1e669d92d7abbb59dfa
This commit is contained in:
+4
-3
@@ -544,7 +544,8 @@ def copy_data():
|
|||||||
Popen("sleep 30; powershell.exe -c Set-Clipboard ''", shell=True, stdout=DEVNULL, stderr=DEVNULL)
|
Popen("sleep 30; powershell.exe -c Set-Clipboard ''", shell=True, stdout=DEVNULL, stderr=DEVNULL)
|
||||||
# Wayland clipboard detection
|
# Wayland clipboard detection
|
||||||
elif 'WAYLAND_DISPLAY' in environ:
|
elif 'WAYLAND_DISPLAY' in environ:
|
||||||
run(('wl-copy', _copy_subject))
|
run('wl-copy', stdin=Popen(('printf', _copy_subject.replace('\\', '\\\\').replace('%', '%%')),
|
||||||
|
stdout=PIPE).stdout)
|
||||||
Popen('sleep 30; wl-copy -c', shell=True)
|
Popen('sleep 30; wl-copy -c', shell=True)
|
||||||
# Haiku clipboard detection
|
# Haiku clipboard detection
|
||||||
elif uname()[0] == 'Haiku':
|
elif uname()[0] == 'Haiku':
|
||||||
@@ -561,9 +562,9 @@ def copy_data():
|
|||||||
Popen("sleep 30; termux-clipboard-set ''", shell=True)
|
Popen("sleep 30; termux-clipboard-set ''", shell=True)
|
||||||
# X11 clipboard detection
|
# X11 clipboard detection
|
||||||
elif 'DISPLAY' in environ:
|
elif 'DISPLAY' in environ:
|
||||||
run(('xclip', '-sel', 'c'), stdin=Popen(('printf', _copy_subject.replace('\\', '\\\\')
|
run(('xclip', '-se', 'c'), stdin=Popen(('printf', _copy_subject.replace('\\', '\\\\')
|
||||||
.replace('%', '%%')), stdout=PIPE).stdout)
|
.replace('%', '%%')), stdout=PIPE).stdout)
|
||||||
Popen("sleep 30; printf '' | xclip -sel c", shell=True)
|
Popen("sleep 30; printf '' | xclip -se c", shell=True)
|
||||||
else:
|
else:
|
||||||
print('\n\u001b[38;5;9merror: clipboard tool could not be determined\n\nnote that the clipboard does not '
|
print('\n\u001b[38;5;9merror: clipboard tool could not be determined\n\nnote that the clipboard does not '
|
||||||
'function in a raw tty\u001b[0m\n')
|
'function in a raw tty\u001b[0m\n')
|
||||||
|
|||||||
@@ -22,7 +22,8 @@ if len(arguments) > 0:
|
|||||||
Popen("sleep 30; termux-clipboard-set ''", shell=True)"""
|
Popen("sleep 30; termux-clipboard-set ''", shell=True)"""
|
||||||
elif arguments[0] == 'LINUX':
|
elif arguments[0] == 'LINUX':
|
||||||
replacement = """if 'WAYLAND_DISPLAY' in environ:
|
replacement = """if 'WAYLAND_DISPLAY' in environ:
|
||||||
run(('wl-copy', _copy_subject))
|
run('wl-copy', stdin=Popen(('printf', _copy_subject
|
||||||
|
.replace('\\\\\\', '\\\\\\\\\\\\\\').replace('%', '%%')), stdout=PIPE).stdout)
|
||||||
Popen('sleep 30; wl-copy -c', shell=True)
|
Popen('sleep 30; wl-copy -c', shell=True)
|
||||||
else:
|
else:
|
||||||
run(('xclip', '-sel', 'c'), stdin=Popen(('printf', _copy_subject
|
run(('xclip', '-sel', 'c'), stdin=Popen(('printf', _copy_subject
|
||||||
|
|||||||
Reference in New Issue
Block a user