conformal / spectrwm

A small dynamic tiling window manager for X11.
ISC License
1.33k stars 97 forks source link

[Feature Request] Ability to resize windows in tiling mode #456

Open tomshoo opened 3 years ago

tomshoo commented 3 years ago

Currently, I am able to resize windows which are in floating mode, but not the windows which are in tiled mode. I tried looking up for issues and man page regarding this issue but found nothing(implying that most likely there is no feature to do this kind of feat).

So, would it be possible to resize tiled windows because some times there is very little work area left in the workspace to essentially see anything properly, currently I am sending windows that are just for providing data and do not require much interaction to other works-paces but it still is a bit troublesome to remember which work-space contains what.

qsmodo commented 3 years ago

I can't speak for the mantainers and may be wrong, but this looks hard. Do you have some opinion on what should happen to the geometry of the resized tiles when one more window were mapped or one of the existing windows were closed?

Have you considered some alternatives, such as swapping the window to the master area (Mod+Enter), iconifying (Mod+w), adding rows/columns to stack or master areas (Mod+., etc.) and changing layout?

Also this seems a duplicate of #413.

tomshoo commented 3 years ago

Have you considered some alternatives, such as swapping the window to the master area (Mod+Enter), iconifying (Mod+w), adding rows/columns to stack or master areas (Mod+., etc.) and changing layout?

I have used these alternatives but sometimes when developing scripts(which are mostly network based (and work on command line only)), such as previously while developing a script for my work I had to open three windows(wireshark, my editor and a small terminal(which I was to use to manually craft packets via scapy)) now since the terminal didnot rrequire much space but still I needed its output via wire shark which requires a good amount of area to see live captures and then the editor by the side where I would edit my code based on the result I received.

This is at maximum what I can get from SpectrWM: screenshot_20210525_12490512:49:05

While this is what I needed: screenshot_20210525_12460712:46:07

Do you have some opinion on what should happen to the geometry of the resized tiles when one more window were mapped or one of the existing windows were closed?

For this I cannot say much but I think after a resized window is closed it could be possible that the windows around it could retain their original proportions with respect to each other(Now I am not a C programmer and not a graphical programmer on top of it so I don't know how hard this could be).

For example: Suppose I open 4 windows where one is master and the other three are stacked, Now to resize them horizontally I can simply grow or shrink the master window, for vertical resizing suppose I got them into a 3:1:2 ratio, now suppose I close the third window so the ratio between the first and second window would remain 3:1 and would cover the entire stack, OR, if I close the second window in the stack the new proportion of windows in the stack could become 1.5:1.

qsmodo commented 3 years ago

You may want to try FrankenWM, it is quite similar to Spectrwm and has that feature of resizing tiled windows.