pop-os / cosmic-epoch

Next generation Cosmic desktop environment
1.71k stars 54 forks source link

FR: Allow window stacking in floating mode #252

Open boredsquirrel opened 2 months ago

boredsquirrel commented 2 months ago

Window stacking is extremely awesome, thank you so much this changes everything like using Alacritty even without tab support.

But it doesnt work in floating mode yet. This would be great!

Drakulix commented 2 months ago

It should absolutely work in floating mode already. What problems do you have trying to use stacks in floating mode?

boredsquirrel commented 2 months ago

strange, I hovered a window over another and nothing appeared. Are there multiple ways to enable this stacking?

Drakulix commented 2 months ago

strange, I hovered a window over another and nothing appeared. Are there multiple ways to enable this stacking?

Yes. You usually don't get the stacking hint the same way in floating mode.

There is also a shortcut (Super+S by default), then you can drag new windows onto the stack header.

Additionally there is the window menu (right-click somewhere on the window header), which should give you the option to "Create window stack".

cybin commented 2 months ago

I love working in stacked windows, as I do in sway all the time. It would be nice to have this as an option in the tiling applet, to set a workspace to automatically stack windows. Looks like cosmic is going to be my next working environment, because it seems to be a proper mix of stacking/tiling and floating modes.

Drakulix commented 2 months ago

I love working in stacked windows, as I do in sway all the time. It would be nice to have this as an option in the tiling applet, to set a workspace to automatically stack windows. Looks like cosmic is going to be my next working environment, because it seems to be a proper mix of stacking/tiling and floating modes.

If a stack is already focused any new window will already be added to the stack.

So effectively you can already enable that behavior by just turning the first window into a stack.

Is there anything beyond that you are particularly missing?

cybin commented 2 months ago

So effectively you can already enable that behavior by just turning the first window into a stack.

lol... yes, I didn't recognized that. A vertical alignment of the title bars would be great. For an unknown reason, I feel more comfortable with a vertical stack and Super+[Up/Down], than with a horizontal one. Keyboard navigation to get to the right monitor would be more comfortable too, instead I need to navigate through the whole stack header first.

Is there anything beyond that you are particularly missing?

Well, there are a few things...

Keyboard settings lack of options for delay and repeat, switching layouts, shortcuts...

Another thing is the workspace handling. It's kind of weird. I have this workspace applet in the upper left corner, show 1 & 2, on my right monitor. I open Firefox on the left monitor, switch to the right one and press Super+2. The 2 disappears and I'm still on workspace 1. I open a terminal on the right monitor and now I can switch to workspace 2 (only on the right monitor). It looks like it's required to have a window open to switch to another workspace, though 'Displays have separate workspaces' is selected.

I know you are working on settings for the Alpha release, so I'm patient.

Drakulix commented 2 months ago

A vertical alignment of the title bars would be great

This has been a common request and is noted, however I can not tell you anything about actual plans to make it happen.

Keyboard settings lack of options for delay and repeat, switching layouts, shortcuts...

That is in the works. All of that is actually already available via config files and should come soon to the settings app!

It looks like it's required to have a window open to switch to another workspace, though 'Displays have separate workspaces' is selected.

Displays have separate workspaces, means that workspace "2" on the left and right monitor are not related to each other at all. And yes empty workspaces get cleared automatically, so that there are two workspaces to begin with is kind of a bug.

cybin commented 2 months ago

Displays have separate workspaces, means that workspace "2" on the left and right monitor are not related to each other at all. And yes empty workspaces get cleared automatically, so that there are two workspaces to begin with is kind of a bug.

Ah... now it makes sense. :smile: Thanks alot.

Regarding the config files, is there any documentation somewhere? I don't mind to edit text files.

Drakulix commented 2 months ago

Displays have separate workspaces, means that workspace "2" on the left and right monitor are not related to each other at all. And yes empty workspaces get cleared automatically, so that there are two workspaces to begin with is kind of a bug.

Ah... now it makes sense. 😄 Thanks alot.

Regarding the config files, is there any documentation somewhere? I don't mind to edit text files.

Sadly not really. Most of it is in .config/cosmic though and should have somewhat descriptive names. However the internal structure of these config files is derived from code, so for that you need to look into the respective projects.

(Documentation is definitely planned though.)