Tk Source Code

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2026-08-05
03:20
cherrypick changes to autoconf files and tkWaylandPort.h from wayland. Leaf check-in: 3f02ccde3d user: culler tags: wayland_nvg
02:54
Import tkWaylandMouseEvent.c from wayland; fix and streamline the CursorPosCallback - remove code that duplicates what is done in Tk_UpdatePointer. check-in: 91a55b6511 user: culler tags: wayland_nvg
2026-08-04
23:14
Similar fix for bitmaps Leaf check-in: 61ec6bab13 user: kevin_walzer tags: wayland
23:07
Fix segfault in image allocation check-in: 5ed6b5ee7c user: kevin_walzer tags: wayland
22:54
Complete merge of wayland_nvg check-in: 47044e6cc8 user: kevin_walzer tags: wayland
22:46
Update all platform definitions to TK_USE_WAYLAND for consistency check-in: 4ab8c540b1 user: kevin_walzer tags: wayland
22:43
Merge latest fixes from wayland_nvg check-in: 6636729037 user: kevin_walzer tags: wayland
17:00
Proposed fix for [971a266013]: Xlib emulation for macOS causes many visual artifacts. Leaf check-in: fd490188a6 user: csaba tags: macos-xlib-fixes
16:03
Create new branch named "macos-xlib-fixes" check-in: dd6df4911c user: csaba tags: macos-xlib-fixes
15:23
Eliminate vapor trails when dragging anti-aliased canvas shapes. check-in: b6b0116024 user: culler tags: wayland_nvg
11:52
Restore font updates from wayland_nvg check-in: 61692dfc3f user: kevin_walzer tags: wayland
03:08
Revert text updates from wayland_nvg - impact on scrolling check-in: 428f3a4279 user: kevin_walzer tags: wayland
02:46
Merge font/text changes from wayland_nvg check-in: 860abb8607 user: kevin_walzer tags: wayland
02:40
Remove XRender dependency from Wayland check-in: 969db8a6ae user: kevin_walzer tags: wayland
02:29
Merge trunk check-in: bd0e6ceb6a user: kevin_walzer tags: wayland
02:21
Correct button, text widget and entry bugs in accessibility Leaf check-in: 4a7dd97194 user: kevin_walzer tags: trunk, main
01:59
Correct button, text widget and entry bugs in accessibility Leaf check-in: 7a3e35a2ef user: kevin_walzer tags: accessibility_fix
2026-08-03
21:26
Wrap console tclIndex entry in a Unix-only platform check, per Schelte's tip-561-autoload branch Leaf check-in: 82b5fdbc85 user: rocketship98 tags: tip-561-revised
18:53
Add missing BeginDraw/EndDraw calls in TkpDrawAngledCharsInContext; remove incorrect ones in TkpDisplayButton; add a guard which panics if there is a nested nvgBeginFrame/nvgEndFrame block. check-in: 792c4f47e1 user: culler tags: wayland_nvg
09:27
Restore FILE comment in consolecmd.impl check-in: f3d95ffd49 user: rocketship98 tags: tip-561-revised
08:36
TIP 561: tclIndex-based console command for Unix check-in: 61aea04d1f user: rocketship98 tags: tip-561-revised
08:11
Create new branch named "tip-561-revised" check-in: 42a6d9f7df user: rocketship98 tags: tip-561-revised
02:11
Minor cleanup check-in: 333a38a7e3 user: kevin_walzer tags: wayland
01:32
Significant progress on text widget scrolling check-in: 6557bfede3 user: kevin_walzer tags: wayland
00:50
Cherry-pick clipping update from wayland_nvg check-in: ca96d0aa64 user: kevin_walzer tags: wayland
2026-08-02
19:53
Add a scissor to prevent the canvas from drawing outside its bounding box. check-in: 3a58541c43 user: culler tags: wayland_nvg
17:23
fix typo check-in: 82966ac61a user: culler tags: wayland_nvg
15:03
Comment cleanup check-in: 2a5a9951b6 user: kevin_walzer tags: wayland-scroll
01:33
Dithering is not needed with depth 8 images. check-in: 7170274de3 user: culler tags: wayland_nvg
01:07
Merge wayland check-in: 261aae96a8 user: kevin_walzer tags: wayland-scroll
00:46
Add function to header, prevent compiler error check-in: a3a7d86416 user: kevin_walzer tags: wayland
00:32
Cherry pick font-cleanup call from wayland_nvg check-in: 0a8ff01d0e user: kevin_walzer tags: wayland
2026-08-01
20:42
Fix issue with no fonts being usable by a window. check-in: d8cd5e54be user: culler tags: wayland_nvg
02:05
Correct brace errors in accessibility.tcl check-in: 90900e8857 user: kevin_walzer tags: wayland
02:03
WIP, text scrolling is still very spotty check-in: 0d789b8d2b user: kevin_walzer tags: wayland-scroll
2026-07-31
23:39
Merge trunk check-in: 9bb5fab8e6 user: kevin_walzer tags: wayland-scroll
23:38
Merge trunk check-in: 9e7f1642e0 user: kevin_walzer tags: wayland
23:30
Improve color management in bidi fonts check-in: a365e1000d user: kevin_walzer tags: trunk, main
22:56
Import tkWaylandFont.c from wayland branch; fix type of TkWaylandPixmap.rgba. check-in: 27e1fe4037 user: culler tags: wayland_nvg
21:27
Correct keyboard navigation in entry/ttk::entry widgets when screen reader is on check-in: 3fe87b386b user: kevin_walzer tags: trunk, main
18:21
Open 9.1b1 release branch Leaf check-in: 18fdd1094d user: dgp tags: core-9-1-b1-rc
17:03
merge main check-in: e8cebab82f user: culler tags: wayland_nvg
16:48
Clean up radio and check buttons. check-in: b8e5af963b user: culler tags: wayland_nvg
15:13
Prototype: implement the macOS accessibility text protocol for entry widgets Proposal for [e4b27e35], on top of the minimal caret fix. With this, VoiceOver reads "i" on Left and "ghi" on Option+Left in a ttk::entry holding "abc def ghi", matching TextEdit. Nothing here asks for word granularity. There is no code that decides what to say. VoiceOver picks the word boundary itself and calls accessibilityStringForRange with the range it wants, which is the arrangement NSAccessibilityNavigableStaticText describes. Four changes. The text methods on TkAccessibilityElement, entry only: number of characters, selected text, selected text range and its setter, visible character range, string and attributed string for range, line for index, range for line, range for index, insertion point line number. EmitSelectionChanged posts SelectedTextChanged rather than forcing speech. Previously the text roles took a branch that posted no notification at all: it sent an AnnouncementRequested carrying the whole accessible value to NSApp mainWindow, so it fired whether or not the caret had moved, reached neither braille nor the VoiceOver cursor, and could not express granularity. accessibilityFocusedUIElement on TKContentView. Without it AXFocusedUIElement resolved to the window, so the entry answered correctly and was never asked. The focus highlight now draws correctly as a side effect. The Tcl layer binds KeyRelease. KeyPress cannot work for two independent reasons: entry.tcl and ttk/entry.tcl rebind Key without a leading plus after accessibility.tcl is sourced and discard the appended script, and the virtual events outrank the generic Key binding on the same tag so arrow keys never reach it either way. No text store. The methods keep no state -- each query evaluates the widget's insert index through Tk_Interp and reads the value already cached for accessibilityValue -- so nothing can drift out of sync. accessibilityValue and accessibilityRowCount already call into Tcl the same way. Measured with the AX API: the entry answered 1 of 17 text attributes before and answers 11 of 17 now, with the selected text range tracking the caret and string for range returning characters. Safari's address bar, the same single-line AXTextField, answers 14. Range for position, bounds for range and style range for index still need coordinate mapping; bounds for range matters for braille routing. Known gaps: the text widget is untouched, braille has not been tested at all, the selected-text-range setter is implemented but unverified, and only Left and Option+Left were measured. tests/entry.test 304 and tests/ttk/entry.test 43 pass. Leaf check-in: 684e413e9f user: nishimotz tags: nishimotz-macos-textprotocol
15:12
Create new branch named "nishimotz-macos-textprotocol" check-in: 05b61183e5 user: nishimotz tags: nishimotz-macos-textprotocol
13:37
Correct outdated comment check-in: 79b2b1995b user: kevin_walzer tags: wayland-scroll
11:54
Re-organize code a bit, improve comments check-in: 9f3a1b78ac user: kevin_walzer tags: wayland-scroll
11:46
Experiment with scrolling improvements check-in: d167aed8f3 user: kevin_walzer tags: wayland-scroll
03:50
Finish making bitmaps work. Buttons still need adjustment. check-in: 9b17719047 user: culler tags: wayland_nvg
00:21
Merge trunk check-in: 9b0c838855 user: kevin_walzer tags: wayland