
Is there a way of minimising windows in Xmonad? I've found several times that I really miss minimising of windows. Right now e.g. I have a screen with VirtualBox (its control window and a window for a single VM) and I want to stick a browser next to the VM to follow some instructions on a web page. What I've ended up doing so far is moving the control window to a "scratch screen" so that the screen is divided evenly between the VM and the browser. However, once I'm done I'll move the browser back to the "web screen" and I'll have to move the control window back again from the "scratch screen". Are others bumping into this use case? How are you dealing with it? /M

On Fri, 15 Aug 2008 09:57:30 +0100
"Magnus Therning"
Is there a way of minimising windows in Xmonad?
I've found several times that I really miss minimising of windows. Right now e.g. I have a screen with VirtualBox (its control window and a window for a single VM) and I want to stick a browser next to the VM to follow some instructions on a web page. What I've ended up doing so far is moving the control window to a "scratch screen" so that the screen is divided evenly between the VM and the browser. However, once I'm done I'll move the browser back to the "web screen" and I'll have to move the control window back again from the "scratch screen".
Are others bumping into this use case? How are you dealing with it?
By using layouts. You can have a different layout into each virtual desktop
(or whatever they are called on xmonad). You can as well change the current
layout (by default with modMask+spacer.
When I need to see two programs on a given virtual desktop I mostly use the
Tall layout or a similar one, when I need to expose one fullscreen and hide
the other window, I just change to Full layout, and use modMask+tab to
alternate from one window to another.
Minimisation is a concept that doesn't fit very well on the whole paradigm
of a tiling window manager, in my humble opinion. I suppose that it could
be achievable by using layouts however, but I don't see how that would be
any different from using the Full vs. Tall layouts that I explained.
Cheers :)
--
Jesús Guerrero

This must be a FAQ, but anyway ... As much as I like the tiling and mouseless behaviour of xmonad, the main obstacle in using it is that it does not seem to remember the layout of the applications when I log out (from KDE) and then log in again. There must be a way to achieve this? I know I can write preferred locations for apps in config files, but that's not what I want to do: it should remember exactly the previous layout. (Or at least which app was on which screen.) Best regards, J.W.

On Fri, 15 Aug 2008 14:11:32 +0200 johannes@albapasser.de wrote:
This must be a FAQ, but anyway ...
As much as I like the tiling and mouseless behaviour of xmonad, the main obstacle in using it is that it does not seem to remember the layout of the applications when I log out (from KDE) and then log in again. There must be a way to achieve this?
I know I can write preferred locations for apps in config files, but that's not what I want to do: it should remember exactly the previous layout. (Or at least which app was on which screen.)
You need a session manager for that. In kde there's an option in kcontrol
to enable ksmserver to do that, somewhere. In gnome, the session manager is
gnome-session I think, and both should be able to do that if you use
xmonad under any of those environments (gnome-session should work standalone
as well, ksmserver is too tied to dcop and other stuff and I never managed
to get it working standlone with fvwm, which is what I used before).
I never tried those in xmonad, but they *should* work.
On xmonad I always use the same thing under the same virtual desktop/screen.
So I have really no reason to have a session manager, I just launch the things
on my xinitrc and let xmonad distribute them amongst the virtual desktops.
--
Jesús Guerrero

Jesús Guerrero wrote:
On Fri, 15 Aug 2008 09:57:30 +0100 "Magnus Therning"
wrote: Is there a way of minimising windows in Xmonad?
I've found several times that I really miss minimising of windows. Right now e.g. I have a screen with VirtualBox (its control window and a window for a single VM) and I want to stick a browser next to the VM to follow some instructions on a web page. What I've ended up doing so far is moving the control window to a "scratch screen" so that the screen is divided evenly between the VM and the browser. However, once I'm done I'll move the browser back to the "web screen" and I'll have to move the control window back again from the "scratch screen".
Are others bumping into this use case? How are you dealing with it?
By using layouts. You can have a different layout into each virtual desktop (or whatever they are called on xmonad). You can as well change the current layout (by default with modMask+spacer.
When I need to see two programs on a given virtual desktop I mostly use the Tall layout or a similar one, when I need to expose one fullscreen and hide the other window, I just change to Full layout, and use modMask+tab to alternate from one window to another.
Minimisation is a concept that doesn't fit very well on the whole paradigm of a tiling window manager, in my humble opinion. I suppose that it could be achievable by using layouts however, but I don't see how that would be any different from using the Full vs. Tall layouts that I explained.
Cheers :)
I'm already using three layouts, three columns, tall (two columns) and tall rotated 90 degrees (two lines). Currently I switch to tall and then move in the third window (the browser) and move out the control window so that the workspace is split evenly between only two windows. Another response mentions the TwoPane layout which I will use for the time being, but I still think that minimising is a feature that does fit with a tiling window manager. I mean with this change I will end up with 4 layouts (all which I actually use fairly regularly) and I feel that's a bit too many. In my case adding minimising of windows would simplify my setup, both the config and my usage of xmonad. Another thought might be to add a flexible layout-chooser in addition to the ring-like one that xmonad has ATM. I personally would love to have only two layouts (the ones I use most often and frequently shift between) in the "ring" as long as I could choose others as I see fit. /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus Haskell is an even 'redder' pill than Lisp or Scheme. -- PaulPotts

On Fri, Aug 15, 2008 at 08:08:57PM +0100, Magnus Therning wrote:
Another response mentions the TwoPane layout which I will use for the time being, but I still think that minimising is a feature that does fit with a tiling window manager. What UI do you imagine for this? When windows get minimized, do they get visualized in some xmonad-drawn way? In the dzen? Can multiple windows be minimized, and if so, how does one select which to restore?
(To answer your question: no, I haven't run into that. I have run into the desire to "split" a window frame into multiple tabs.)
Another thought might be to add a flexible layout-chooser in addition to the ring-like one that xmonad has ATM. That would be a good idea, yes. Somewhat related are MultiToggle and ToggleLayouts.

On Sat, Aug 16, 2008 at 2:43 AM, Devin Mullins
On Fri, Aug 15, 2008 at 08:08:57PM +0100, Magnus Therning wrote:
Another thought might be to add a flexible layout-chooser in addition to the ring-like one that xmonad has ATM. That would be a good idea, yes. Somewhat related are MultiToggle and ToggleLayouts.
I use perWorkspace layouts to only have the layouts I want on certain workspaces. This way my terminal workspace has the three layouts I ever use, while browser can stick with Full and my vm and xnest workspaces also stick with full and no borders (even in a multi-screen setup where smart borders would add them). My layouts command looks like: myLayout = smartBorders $ onWorkspaces ["3-Web"] (Full ||| tiled) $ onWorkspaces ["9-Virt", "0-Nest"] (noBorders Full) $ tiled ||| magnifiercz 1.2 Grid ||| Circle where -- default tiling algorithm partitions the screen into two panes tiled = Tall 1 5/100 1/2 Chris G

Devin Mullins wrote:
On Fri, Aug 15, 2008 at 08:08:57PM +0100, Magnus Therning wrote:
Another response mentions the TwoPane layout which I will use for the time being, but I still think that minimising is a feature that does fit with a tiling window manager. What UI do you imagine for this? When windows get minimized, do they get visualized in some xmonad-drawn way? In the dzen? Can multiple windows be minimized, and if so, how does one select which to restore?
We could do this in the EWMH module fairly sanely --- set the proper hint and unmap the window. Similarly, it wouldn't be hard to output enough information for dzen, should we wish to show minimized windows there. The problem with minimization and not EWMH is, of course, how do you bring the window back? As I see it, support for minimization would make a lot of sense in EWMH, but not really anywhere else.
(To answer your question: no, I haven't run into that. I have run into the desire to "split" a window frame into multiple tabs.)
Another thought might be to add a flexible layout-chooser in addition to the ring-like one that xmonad has ATM. That would be a good idea, yes. Somewhat related are MultiToggle and ToggleLayouts.

On Fri, 2008/08/15 09:57:30 +0100, Magnus Therning wrote:
I've found several times that I really miss minimising of windows. Right now e.g. I have a screen with VirtualBox (its control window and a window for a single VM) and I want to stick a browser next to the VM to follow some instructions on a web page. What I've ended up doing so far is moving the control window to a "scratch screen" so that the screen is divided evenly between the VM and the browser. However, once I'm done I'll move the browser back to the "web screen" and I'll have to move the control window back again from the "scratch screen".
You achieve the effect with the TwoPane layout. With TwoPane, only two windows are visible regardless of how many windows are in the workspace.

magnus:
Is there a way of minimising windows in Xmonad?
I've found several times that I really miss minimising of windows. Right now e.g. I have a screen with VirtualBox (its control window and a window for a single VM) and I want to stick a browser next to the VM to follow some instructions on a web page. What I've ended up doing so far is moving the control window to a "scratch screen" so that the screen is divided evenly between the VM and the browser. However, once I'm done I'll move the browser back to the "web screen" and I'll have to move the control window back again from the "scratch screen".
I tend to move windows to a scratch workspace. I think encapsulating that model as a 'raise/minimise' key binding would make sense. -- Don

Don Stewart wrote:
magnus:
Is there a way of minimising windows in Xmonad?
I've found several times that I really miss minimising of windows. Right now e.g. I have a screen with VirtualBox (its control window and a window for a single VM) and I want to stick a browser next to the VM to follow some instructions on a web page. What I've ended up doing so far is moving the control window to a "scratch screen" so that the screen is divided evenly between the VM and the browser. However, once I'm done I'll move the browser back to the "web screen" and I'll have to move the control window back again from the "scratch screen".
I tend to move windows to a scratch workspace. I think encapsulating that model as a 'raise/minimise' key binding would make sense.
-- Don
See for example how XMonad.Util.Scratchpad handles banishing and summoning itself from a scratch workspace. An alternative to having to move it back, consider copying the windows to the other workspace. I have bindings for M-c N to copy the focused window to workspace N. Then you can use the alternative `kill1' function provided by the WindowCopy module to have mod+shift+c just delete the copy unless it's the last one. But that's easing the symptom rather than the problem, perhaps. Braden Shepherdson shepheb

Hello On Fri, Aug 15, 2008 at 09:57:30AM +0100, Magnus Therning wrote:
Is there a way of minimising windows in Xmonad?
If minimising means just "Isn't visible anywhere", then yes. I added another workspace (I call it "Minimise") and a binding to send window there. (and there is no binding to switch to that workspace) And you can bring it back with XMonad.Actions.WindowBringer - just select it in dmenu. But I use this rather rarely. Have a nice day -- If you are over 80 years old and accompanied by your parents, we will cash your check. Michal 'vorner' Vaner
participants (10)
-
Braden Shepherdson
-
Chris Giroir
-
Devin Mullins
-
Don Stewart
-
Jesús Guerrero
-
johannes@albapasser.de
-
Justin Bogner
-
lithis
-
Magnus Therning
-
Michal 'vorner' Vaner