Skip to content

touchy: stop MDI, listing and file panes resizing with content#4151

Merged
andypugh merged 3 commits into
LinuxCNC:masterfrom
grandixximo:touchy-no-pane-resize
Jun 12, 2026
Merged

touchy: stop MDI, listing and file panes resizing with content#4151
andypugh merged 3 commits into
LinuxCNC:masterfrom
grandixximo:touchy-no-pane-resize

Conversation

@grandixximo

@grandixximo grandixximo commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #4131, for the issues @andypugh reported there: the MDI word labels, the G-code listing and the file chooser names grow with their text, so typing a long number resized the number pad pane, and a long G-code line pushed the page/start point controls out of view. This wraps each of those label columns in a horizontal scroller with the existing drag-to-pan, so long content scrolls in place and the layout never moves.

Two small fixes found while testing: a saved window_geometry preference is honored again (the fit-to-monitor resize was overriding it), and starting with window_force_max set no longer crashes on a GTK2 leftover (.window.maximize()).

Tested in sim: before, typing 16 digits shifted the keypad sideways and a long line pushed the right control column off screen; after, the panes stay pixel-identical while typing and the controls stay visible. Tested locally, waiting for Andy's feedback on this one.

window.maximize() is a GTK2 leftover; a GTK3 GtkWindow has no .window
attribute, so starting with window_geometry and window_force_max set in
~/.touchy_preferences crashed at startup. Call maximize() on the window
itself, as the default-geometry path already does.
The map-time resize to the content's natural size overrode a
user-saved window_geometry preference, so the saved size was never
honored. Skip the natural-size resize when an explicit geometry is
set; the scroller still bounds the window to the work area.
The MDI word labels, the G-code listing and the file chooser names
grow with their text, so typing a long number resized the number pad
pane and a long G-code line pushed the page/start-point controls out
of view. Wrap each of those label columns in a horizontal scroller
(with the existing drag-to-pan) so long content scrolls in place and
the layout never moves.
@grandixximo

Copy link
Copy Markdown
Contributor Author

And I guess today is Docker that crapped itself...

@grandixximo

Copy link
Copy Markdown
Contributor Author

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1135890

Its been tracked, hopefully will be fixed soon, I'll send a PR to make the CI less flaky when this happens

@andypugh

Copy link
Copy Markdown
Collaborator

I tried running this, but get an impenetrable error:

andypugh@Harrison:~/linuxcnc-dev$ linuxcnc
LINUXCNC - 2.10.0~pre1
Machine configuration directory is '/home/andypugh/linuxcnc/configs/Harrison2'
Machine configuration file is 'harrisonHS.ini'
Traceback (most recent call last):
  File "/home/andypugh/linuxcnc-dev/bin/linuxcnc_check_ini", line 25, in <module>
    import linuxcnc
ImportError: /home/andypugh/linuxcnc-dev/lib/python/linuxcnc.so: undefined symbol: _ZN8linuxcnc7IniFile14mapLinearUnitsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
linuxcnc_check_ini validation failed
LinuxCNC terminated with an error.  You can find more information in the log:
    /home/andypugh/linuxcnc_debug.txt
and
    /home/andypugh/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal

I have tried a "make clean" though not (yet) tried deleting the specific file mentioned.

@grandixximo

Copy link
Copy Markdown
Contributor Author

Weird, it built and ran fine on my system

@BsAtHome

Copy link
Copy Markdown
Contributor

This is the typical signature of left-overs from another compile. Happens specifically when you branch switch between 2.9 and master because the liblinuxcncinifile.so got a version update.

You need to do a git clean -dxf . in the clone's directory. Make sure you you save your work before cleaning.

@andypugh andypugh merged commit 9a49a76 into LinuxCNC:master Jun 12, 2026
23 of 32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants