Fossil SCM

On tall-ish screens, experimentally resize diff -tk's view to some appreciable fraction of the screen size. This is arguable but is expected to save me many future manual window resizings. Down-side is that it's overkill for small diffs.

stephan 2026-06-04 08:56 UTC trunk
Commit 7f2f04c835a42bc8c456a09eeffb0bcf0cd161f539b3c0697cbe1a7376491d16
1 file changed +16 -4
+16 -4
--- src/diff.tcl
+++ src/diff.tcl
@@ -125,11 +125,11 @@
125125
}
126126
set N [llength $difftxt]
127127
set ii 0
128128
set nDiffs 0
129129
set n1 0
130
- set n2 0
130
+ set n2 0
131131
array set widths {txt 3 ln 3 mkr 1}
132132
if {$redo} {
133133
foreach c [cols] {$c config -state normal}
134134
.lnA delete 1.0 end
135135
.txtA delete 1.0 end
@@ -136,12 +136,12 @@
136136
.lnB delete 1.0 end
137137
.txtB delete 1.0 end
138138
.mkr delete 1.0 end
139139
.wfiles.lb delete 0 end
140140
}
141
-
142
-
141
+
142
+
143143
set fromIndex [lsearch -glob $fossilcmd *-from]
144144
set toIndex [lsearch -glob $fossilcmd *-to]
145145
set branchIndex [lsearch -glob $fossilcmd *-branch]
146146
set checkinIndex [lsearch -glob $fossilcmd *-checkin]
147147
if {[lsearch -glob $fossilcmd *-label]>=0
@@ -167,11 +167,11 @@
167167
}
168168
if {$checkinIndex > -1} {
169169
set fA "primary parent"; set fB [lindex $fossilcmd $checkinIndex+1]
170170
}
171171
}
172
-
172
+
173173
while {[set line [getLine $difftxt $N ii]] != -1} {
174174
switch -- [lindex $line 0] {
175175
FILE {
176176
incr nDiffs
177177
foreach wx [list [string length $n1] [string length $n2]] {
@@ -626,8 +626,20 @@
626626
grid .sbxA -row 2 -columnspan 2 -sticky ew
627627
grid .spacer -row 2 -column 2
628628
grid .sbxB -row 2 -column 3 -columnspan 2 -sticky ew
629629
630630
.spacer config -height [winfo height .sbxA]
631
+
632
+set h [winfo screenheight .]
633
+if {$h > 1280} {
634
+ set w [winfo screenwidth .]; # [winfo width] == 32
635
+ if {$w > 2048} {
636
+ set w 2048
637
+ }
638
+ set g [expr {$w / 3 * 2}]x[expr {$h / 4 * 3}]
639
+ wm geometry . $g
640
+}
641
+
631642
wm deiconify .
643
+
632644
}
633645
eval $prog
634646
--- src/diff.tcl
+++ src/diff.tcl
@@ -125,11 +125,11 @@
125 }
126 set N [llength $difftxt]
127 set ii 0
128 set nDiffs 0
129 set n1 0
130 set n2 0
131 array set widths {txt 3 ln 3 mkr 1}
132 if {$redo} {
133 foreach c [cols] {$c config -state normal}
134 .lnA delete 1.0 end
135 .txtA delete 1.0 end
@@ -136,12 +136,12 @@
136 .lnB delete 1.0 end
137 .txtB delete 1.0 end
138 .mkr delete 1.0 end
139 .wfiles.lb delete 0 end
140 }
141
142
143 set fromIndex [lsearch -glob $fossilcmd *-from]
144 set toIndex [lsearch -glob $fossilcmd *-to]
145 set branchIndex [lsearch -glob $fossilcmd *-branch]
146 set checkinIndex [lsearch -glob $fossilcmd *-checkin]
147 if {[lsearch -glob $fossilcmd *-label]>=0
@@ -167,11 +167,11 @@
167 }
168 if {$checkinIndex > -1} {
169 set fA "primary parent"; set fB [lindex $fossilcmd $checkinIndex+1]
170 }
171 }
172
173 while {[set line [getLine $difftxt $N ii]] != -1} {
174 switch -- [lindex $line 0] {
175 FILE {
176 incr nDiffs
177 foreach wx [list [string length $n1] [string length $n2]] {
@@ -626,8 +626,20 @@
626 grid .sbxA -row 2 -columnspan 2 -sticky ew
627 grid .spacer -row 2 -column 2
628 grid .sbxB -row 2 -column 3 -columnspan 2 -sticky ew
629
630 .spacer config -height [winfo height .sbxA]
 
 
 
 
 
 
 
 
 
 
 
631 wm deiconify .
 
632 }
633 eval $prog
634
--- src/diff.tcl
+++ src/diff.tcl
@@ -125,11 +125,11 @@
125 }
126 set N [llength $difftxt]
127 set ii 0
128 set nDiffs 0
129 set n1 0
130 set n2 0
131 array set widths {txt 3 ln 3 mkr 1}
132 if {$redo} {
133 foreach c [cols] {$c config -state normal}
134 .lnA delete 1.0 end
135 .txtA delete 1.0 end
@@ -136,12 +136,12 @@
136 .lnB delete 1.0 end
137 .txtB delete 1.0 end
138 .mkr delete 1.0 end
139 .wfiles.lb delete 0 end
140 }
141
142
143 set fromIndex [lsearch -glob $fossilcmd *-from]
144 set toIndex [lsearch -glob $fossilcmd *-to]
145 set branchIndex [lsearch -glob $fossilcmd *-branch]
146 set checkinIndex [lsearch -glob $fossilcmd *-checkin]
147 if {[lsearch -glob $fossilcmd *-label]>=0
@@ -167,11 +167,11 @@
167 }
168 if {$checkinIndex > -1} {
169 set fA "primary parent"; set fB [lindex $fossilcmd $checkinIndex+1]
170 }
171 }
172
173 while {[set line [getLine $difftxt $N ii]] != -1} {
174 switch -- [lindex $line 0] {
175 FILE {
176 incr nDiffs
177 foreach wx [list [string length $n1] [string length $n2]] {
@@ -626,8 +626,20 @@
626 grid .sbxA -row 2 -columnspan 2 -sticky ew
627 grid .spacer -row 2 -column 2
628 grid .sbxB -row 2 -column 3 -columnspan 2 -sticky ew
629
630 .spacer config -height [winfo height .sbxA]
631
632 set h [winfo screenheight .]
633 if {$h > 1280} {
634 set w [winfo screenwidth .]; # [winfo width] == 32
635 if {$w > 2048} {
636 set w 2048
637 }
638 set g [expr {$w / 3 * 2}]x[expr {$h / 4 * 3}]
639 wm geometry . $g
640 }
641
642 wm deiconify .
643
644 }
645 eval $prog
646

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button