Mast Kalandar

bandar's colander of random jamun aur aam

Thu, 15 Jul 2004

Maximixed terminals and WM wars


lg, tips, ui [link] [comments ()] [raw]

Thomas Adam wrote:

There are a lot of things Fvwm does that IceWM does not, and while I am not going to outline the individual merits of each, you cannot, for instance, in IceWM do event actions. And while I have used IceWm, it just doesn't have..., well, it lacks something. :)

Since we're onto desktop/window manager wars ... :-)

My latest "standard" for how good such a thingy is:

  1. Can it emulate "ratpoison"?
  2. Can it improve on "ratpoison"?
  3. Can it do the above without bringing a low-end machine to a screeching, grinding, thrashing halt?

It turns out that (in combination with GNU "screen") FVWM, ICEWM and even (surprise) Gnome2+Metacity can do this. I haven't tried with KDE.

Some notes of explanation:

  1. in combination with "screen" what this really means is that you should be able to maximize a window without title bars, menubars, borders, handles and all that fluff. This is what you really need when you are doing a deep hack or writing a paper.

  2. means that you should be able to "switch" in and out of this ratpoison mode with some key combination (don't touch that mouse yet!). In the "real" GUI mode you should be able to use GIMP (which is ratpoison disabled or vice versa) and other such programs that require a mouse and/or graphical interface and non-mazimized windows.

  3. is reasonably clear---low on memory usage for (a) but could use more memory in (b).

I might be able to write a little piece on how this is done but I wouldn't be able to withstand that flamage that might result :-) Besides my ESP-enabled fortune signature generator has something to say about the time I've spent on doing all this configuration.1

Ben Okopnik wrote:

Hey, some guy on Freshmeat wrote a good article on ratpoison being the ultimate WM (that's what got me looking at it), and didn't get flamed. Lots of positive comments, actually, IIRC.

Ooops, I feel a 2-cent tip coming up. :)

You asked for it. Here it is.

Preamble

I got tired of spendHHHH^Hwasting my time configuring my window manager/desktop/themes/what have you and switched to "ratpoison". After a deep and productive hack I come up for relaxation and am faced with the pest-killer again. Can't do GIMP, screensavers, and the rest. How do I relax? Go and play football (soccer to some...)? No. Back to configuring my window manager so that it can at least be like ratpoison some of the time.

Defining the problem

How do I get my window manager to maximize a window without the handles, titlebars, buttons and all that fluff. In this window I might have a term with screen or emacs or mozilla (for those do-not-disturb browse-fests :-) why should the window manager care!

Answer

Golem:
(The first WM that I learnt to do this with) Alt-z
z is for zoom.

ICEWM:
Alt-F11 (Yes, that's all!) F11 for "Fill the screen"

FVWM:
For a window manager that can do it all this should
    be easy; but I haven't quite figured it out.
There *is* fvwm-shell and that has some settings that
are 90% of the solution. (Unsurprisingly this is my
current UI---I *need* to figure it out!).

Metacity+GNOME2:
You can define the relevant key using the
    window key bindings menu (there is no default binding).
The relevant function is Toggle Maximize Window. Imagine
the surprise on people's faces when they come and say
"What! Are you running that pest-killer again? Give me a
real desktop", you press a key and *wham* there is GNOME
in all its glory (once it gets out of swap space that
is...).

Caveats

Yes. I know that all this does not reduce memory usage! On the other hand if you work/hack for long enough all that unused stuff should go into swap/disk so it shouldn't bother you.

Alternate Answer

For those who really want to work 90% of the time the alternative is to run ratpoison with one of the frames containing an Xnest that runs the eye-candy window manager. There is one problem with this solution---no DRI for the eye-candy which means that GL screensavers and the like will not produce good results.

Making this work with FVWM

Thomas Adam wrote:

Lots of ways you can do this [in FVWM]. I would define a function for it:

``` DestroyFunc FvwmMaximiseWindow AddToFunc FvwmMaximiseWindow + I Maximize 100 100 '''

This actually toggles between maximise/unmaximise.

Ah! But it does not remove the fluff.

However, die-hard fvwm'ers need not fear, fvwm2.5+ does have exactly the right function---WindowStyle. So, here is my addition to .fvwm2rc to make this work:

# Bind it to an "easy" but unusual
# key combination Ctrl+Alt+Shift+z
Key z A SCM FullScreen

DestroyFunc FullScreen
AddToFunc FullScreen
+ I Current WindowStyle NoHandles, NoTitle, !Borders
+ I Current UpdateStyles
+ I Maximize True 100 100
+ I Key z A SCM NoFullScreen


DestroyFunc NoFullScreen
AddToFunc NoFullScreen
+ I Current WindowStyle Handles, Title, Borders
+ I Current UpdateStyles
+ I Maximize 100 100
+ I Key z A SCM FullScreen

There is an alternate mechanism which is to have a Decor/NoDecor function pair which is separate from the Maximize function. By the way I forgot to mention that this is exactly the pair of buttons that are found in openbox.

So this completes my contribution to the 2c-tip for fullscreen+eye-candy solution using some popular window managers---fvwm, icewm, metacity and some relatively unknown ones like golem and ratpoison.

If people know solutions in sawfish, scwm, or KDE's default window manager or any other window manager, please do contribute...


  1. If a 'train station' is where a train stops, what's a 'workstation'?


Archives

< July 2004 >
SuMoTuWeThFrSa
     1 2 3
4 5 6 7 8 910
11121314151617
18192021222324
25262728293031

2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, 1997, 1995,