WinBox 4.3 released!

It looks like Winbox 4 saves some of common settings only on quitting of the last instance. I have sometimes it crashing on disconnect and then after opening Winbox 4 again it is possible to obseerve that some of settings (changed after previous starting) are not saved.

That is correct. When you want to change global settings like the layout and font, you need to start 1 instance, change the settings, then close and re-open that (and further instances).

It would be difficult to do it in any other reasonable way, right?

For this particular issue, I have to defend the programmers this time.

As for the rest, I repeat, those who enjoy designing games don't use it to work on.
Or they've never used the faster WinBox 3...
(and I'm not talking about speed as if it were a competition to see whose game has the highest FPS or loads fastest...)

Well, you could push changes to all instances immediately, which would then definitively resolve the question of which settings should be invoked on restart from 0 instances. Otherwise, saving the settings of the last instance closed looks to be a reasonable resolution of that question and actually also would be what would happen if changes were pushed to all instances.

You suggest that a simple standalone application must be turned into a peer-to-peer network? And would that only be on the local machine, or would it extend to multiple computers you own?

I think it is too much to expect. The only reasonable change I see is to save the global settings on exit only when they have actually been changed in that session.

No

Once it gets off the local machine, you would need to scope it so that it did not affect all instances across the network

Well, exactly. I am just extending from your comment to try and get people to think about what they are actually asking for

Nice update The quick comment feature and the improvements to the table and scrolling look really useful. It’s good to see WinBox getting these small usability improvements. Looking forward to trying the new version.

Changes to application settings like font choice, scaling, spacing, dark mode, resource panel can be pushed live easily to all running instances on the same computer, with something like QSharedMemory Class | Qt Core | Qt 6.11.1.

But the rest like windows' layout, columns' width / position / sorting orders, individual tool panel visibility and per window comment placement choices are part of the Workspace and that should absolutely not be synchronized on-the-fly across running instances.

I have a single "Customized" workspace for all RouterOS devices on this PC. I don't want that when I am resizing a column in this WinBox 4 instance (to temporarily see more of a value), suddenly that same column in all the other WinBox instances starts growing or shrinking live too.

It could be far simpler than that . . .

If changes write when made, each instance can simply see the date/time on the settings file change, and pull the update accordingly. Zero direct IPC needed . . .

That's unnecessary storage writes / wears though vs. in RAM only. Settings only need to be written to storage when a process closes.

It's one write to non volatile storage in either case (well, unless someone is constantly scrrwing with settings) and on a desktop/laptop, I doubt the writes would matter much.

Or are we talking about window positions and such as well? I was mainly thinking of fonts and other options.

When you change something like padding/spacing/zoom/etc. if effectively affects windows position. I don't believe in any benefit in such a "window instances settings sync" feature (because it can interrupt your work, etc.). Generally I don't like automagical features. If someone really wants such a functionality, then it would be better to be asked. "Global Settings changed. Would you like to apply in this instance? yes/no"

One single biggest problem with this "write settings on exit" is that already applied settings do not apply to session opened in new window if first instance has not beed closed after making changes in global settings.

Exactly why I suggested that settings (not necessarily session information) should save real time. (Then again, how often do folks really change things? Myself, I tend to set what I like and leave it for months or more unless an update changes something.)

This is the correct answer.

The only setting that changes every time is the currently selected entry from the saved devices list. That should be outside of the settings.cfg.viw2 file. Maybe it should not be saved at all.

I am regularly requesting that Winbox4 accept a parameter that selects the device and connects it, to make it possible to have shortcut icons on your desktop, in a menu, or to have a script that will automatically open a number of sessions when logging in to the computer desktop.

Unfortunately my request falls onto deaf ears...

Hmmm . . . An interesting idea. Seems like the pieces are there . . . Simply add a "sessions" tab along with "saved", "discovered", etc. and when "New" is selected, add known devices, and then let clicking the session call the known device entries.

Parameters to the called binary isn't a bad idea either, but seems like a bigger job, esp. if command parsing isn't there at all.

I am using multiple virtual desktops and I want my router sessions to be on different virtual desktops.

So I need to launch a new WinBox for every router. But then I have to select a device from the saved list and do a connect (actually double-click in the list works too).

When I could start WinBox with a single parameter (the entry in the saved list, so a name or IP address), and it would automatically connect that router, I could arrange for the windows to be fully automatically opened.

????

> /local/WinBoxLinux/WinBox -h
Usage: /local/WinBoxLinux/WinBox [options] connect-to username password workspace

Options:
  -h, --help      Displays help on commandline options.
  --help-all      Displays help, including generic Qt options.
  -v, --version   Displays version information.
  --force-update  Update process won't compare versions and will update to
                  latest

Arguments:
  connect-to      Connct to
  username        Username
  password        Password
  workspace       Workspace

Not that the 'connect-to' option seems to work

What I mean is only specify the devicename and get the other parameters from the saved device list.

When you specify only the connect-to parameter it only selects the device as default but it does not connect.