lxqt-panel icon indicating copy to clipboard operation
lxqt-panel copied to clipboard

Remove setting of desktop names in workspace switcher?

Open stefonarch opened this issue 6 months ago • 4 comments

Actually on every WM (x11) those names set are not persistent and quite useless therefore. Just remove the setting and add a tooltip about configuring names in WM/Compositor?

Expected Behavior

Names set would be persistent.

Current Behavior

Only working for current session. On kwin_wayland they are active but can't be changed which is even worse.

  • LXQt Version: all
  • Distribution & Version: all

stefonarch avatar May 05 '25 08:05 stefonarch

We can make a section in panel.conf where we store the names persistently. At the start of any session (X11 or Wayland), we can update the desktop names. This should solve the problem of persistence.

On wayfire, we can make the change the settings in the wayfire config file. However, the problem is QSettings does not play well with ini format, and supports only a subset of the full specification. For example, a colon (:) is converted to %3A.

marcusbritanicus avatar May 05 '25 09:05 marcusbritanicus

On kwin_wayland they are active but can't be changed which is even worse.

There is a hack to fix this. The virtual desktop protocol of plasma, allows us to create and delete virtual desktops. What we can do, is wait till the protocol is advertised, and then get the desktop names. If there is a desktop whose name does not match, remove it and recreate it with the name we want.

PS: This is what I think could be done by reading the protocol. I have never tried this, so I do not know how it works.

marcusbritanicus avatar May 05 '25 09:05 marcusbritanicus

We can make a section in panel.conf where we store the names persistently. At the start of any session (X11 or Wayland), we can update the desktop names. This should solve the problem of persistence.

This could work, but I see clashes with window-rules, when the compositor/WM internally uses other names. Window rules will not use the workspace names set by LXQt.

Kwin is using hashes apparently now: desktops=9236ad16-aa47-4bfa-b2f2-c66b231a2249

stefonarch avatar May 05 '25 11:05 stefonarch

Window rules will not use the workspace names set by LXQt.

Window rules should not use desktop names at all. They will always use some internal ID. For example, in wayfire, workspaces are arranged as a grid. So we identify workspaces based on (row, column).

Kwin is using hashes apparently now:

This will be the norm, I believe, once ext-workspaces becomes more widely used.

PS: I went through the ext-workspaces protocol. I'm not a big fan of it. For wayfire, we will continue using IPC, which is far more powerful than the protocol 😛

marcusbritanicus avatar May 06 '25 03:05 marcusbritanicus

I think it's easier to let just the WM or compositor write desktop(workspace) names, instead of trying to sync them. But I'm not against having a working feature ;)

stefonarch avatar Jul 22 '25 10:07 stefonarch

I think it's easier to let just the WM or compositor write desktop(workspace) names

That's the correct approach because we support all kinds of WMs/compositors, whether in Wayland or in X11. The backend/WM can return an empty string, in which case, we use the translatable string "Desktop %1" in the front-end.

tsujan avatar Jul 22 '25 11:07 tsujan

Should we remove it for 2.3? I think we won't make any implementation here before.

stefonarch avatar Oct 10 '25 12:10 stefonarch

Let's have no rush and do it after 2.3. It isn't a big deal, IMO.

tsujan avatar Oct 10 '25 13:10 tsujan

It's just a thing which doesn't work, we shouldn't have it.

stefonarch avatar Oct 22 '25 09:10 stefonarch