summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Sixt <j6t@kdbg.org>2024-12-14 15:53:35 +0100
committerJohannes Sixt <j6t@kdbg.org>2024-12-14 16:36:42 +0100
commit36625a6974156fbc56bbb97c983b09ae303a06ff (patch)
tree17b44564de06111764742290d0f57d9980bf54e1
parentd77c3e35bbca78a0cee6f0eacecccd9aac957c8b (diff)
gitk: offer "Copy commit ID to X11 selection" only on X11
This option is only useful where a selection clipboard is available, which is only the case on X11. Do not clutter the UI in other environments. Signed-off-by: Johannes Sixt <j6t@kdbg.org>
-rwxr-xr-xgitk14
1 files changed, 10 insertions, 4 deletions
diff --git a/gitk b/gitk
index 38baf20b95..12c0dc401e 100755
--- a/gitk
+++ b/gitk
@@ -1969,6 +1969,10 @@ proc confirm_popup {msg {owner .}} {
return $confirm_ok
}
+proc haveselectionclipboard {} {
+ return [expr {[tk windowingsystem] eq "x11"}]
+}
+
proc setoptions {} {
global use_ttk
@@ -7410,7 +7414,7 @@ proc selectline {l isnew {desired_loc {}} {switch_to_patch 0}} {
$sha1entry delete 0 end
$sha1entry insert 0 $id
- if {$autoselect} {
+ if {$autoselect && [haveselectionclipboard]} {
$sha1entry selection range 0 $autosellen
}
if {$autocopy} {
@@ -11605,9 +11609,11 @@ proc prefspage_general {notebook} {
${NS}::checkbutton $page.autocopy -text [mc "Copy commit ID to clipboard"] \
-variable autocopy
grid x $page.autocopy -sticky w
- ${NS}::checkbutton $page.autoselect -text [mc "Copy commit ID to X11 selection"] \
- -variable autoselect
- grid x $page.autoselect -sticky w
+ if {[haveselectionclipboard]} {
+ ${NS}::checkbutton $page.autoselect -text [mc "Copy commit ID to X11 selection"] \
+ -variable autoselect
+ grid x $page.autoselect -sticky w
+ }
spinbox $page.autosellen -from 1 -to 40 -width 4 -textvariable autosellen
${NS}::label $page.autosellenl -text [mc "Length of commit ID to copy"]
grid x $page.autosellenl $page.autosellen -sticky w