forge-ext / forge

Forge - Tiling and Window Manager for Gnome-Shell
GNU General Public License v3.0
942 stars 49 forks source link

Toggling floating on one window type toggles it on all of them #172

Open Findarato opened 1 year ago

Findarato commented 1 year ago

Describe the bug/issue If I have more than one copy of a window open...eg gnome-terminal and toggle floating on one of them they all are toggled as floating.

To Reproduce Steps to reproduce the behavior:

  1. open two gnome-terminals
  2. Trigger floating on one of them
  3. Both start floating

Expected behavior One of the windows should float and the other should not

Screenshots or journal logs Provide screenshorts or screen captures if possible. Also if possible, please provide latest logs from e.g. 1 hour ago journalctl -b 0 -r --since "1 hour ago":

Version Information

  1. Distro and version: Fedora 37
  2. Forge from gnome extensions
  3. Gnome-shell version (gnome-shell --version): GNOME Shell 43.2

Monitor Setup

  1. 2 x 1440P
  2. One horizontal other Verticle

Additional context Add any other context about the problem here.

jmmaranan commented 1 year ago

Hi @Findarato - the current default floating window logic (Super + c) is float by window title and window class. gnome-terminal usually starts with the title username@hostname - and if you open them sequentially the titles would remain the same. The other floating logic is float by window class regardless of the window title, which can be triggered by Shift + Super + c.

I'd argue that the intent was just the window you floated - meaning we can use some sort of hash id of the window instance. The current implementation keeps track of all floating windows into the local window config json: $XDG_CONFIG/forge/config/windows.json - it can pollute the windows.json file. I'll see if we can remove the window id when it is closed, however it might not be the same window identity the next time you login.

Findarato commented 1 year ago

Thanks for the feedback. I am coming from the i3 world ( hate having to build up a full DE to use it) and here are the results of i3-get-window-criteria for two gnome-terms... I do not remember where I got the script from so here it is from my dots if it helps....

https://github.com/Findarato/dotFiles/blob/master/scripts/bin/i3-get-window-criteria

[class="Gnome-terminal" id=127939211 instance="gnome-terminal-server" title="Terminal" window_role="gnome-terminal-window-795efeae-948e-45fc-b7dd-fcde645fe5a6"]

[class="Gnome-terminal" id=127939471 instance="gnome-terminal-server" title="Terminal" window_role="gnome-terminal-window-e18fe487-a751-487d-b149-2fb5b17815a6"]