Applications, ICCCM2 and EWMH
A conversation from May 2006 about the ICCCM and the EWMH and how some applications don’t play nicely. This conversation took place on IRC at the times stated in the log. Some of the conversation has been edited to remove surperfluous information.
IRC Conversation
Person | Conversation | Time |
---|---|---|
thomas_adam | Wsoprulz1299:Once upon a time, there lived a special document called the ICCCM. | 22:06 |
xevz | he wouldn’t have his desktop all styled up. :P | 22:06 |
xevz | Oh, this sounds good. :D | 22:06 |
thomas_adam | xevz: There could have been ~/.fvwm/config, which takes precedence (you’re making me digress.) | 22:06 |
Wsoprulz129 | there is no config file | 22:06 |
Wsoprulz129 | and when I do changes in .fvwm2rc, they happen when i restart fvwm | 22:07 |
xevz | thomas_adam: No such file exists, he untared my configuration into his ~ resulting in a .fvwm. :) | 22:07 |
thomas_adam | Wsoprulz1299: This document was well-written, and our special little program, FVWM loved it so much, it adopted it as its template model on which to base itself. | 22:07 |
Wsoprulz129 | anyways.. keep going w/ story | 22:07 |
* xteddy | hugs fvwm :) | 22:07 |
thomas_adam | Wsoprulz1299: It attempted to set out guidelines – codes of conduct that the window manager should do to handle windows, and conversely what windows (XClients) should do to behave nicely with other applications and the window manager. | 22:08 |
thomas_adam | Wsoprulz1299: The ICCCM and FVWM loved each other so much, they got married. | 22:09 |
thomas_adam | Wsoprulz1299: It worked for a time. Other applications started to realise just how nice the ICCCM was to everyone, and so everyone started to use it. It couldn’t have been a nicer match for all concerned… | 22:10 |
thomas_adam | Wsoprulz1299: But one day, things started to go Really Bad for our little guy…. | 22:10 |
thomas_adam | Wsoprulz1299: People grew weary of the ICCCM. It was growing older – and no longer retained that youthfulness it once had. Society doesn’t “respect their elders” and so applications started to deviate from the ICCCM, preferring to add extension of their own. | 22:11 |
thomas_adam | Wsoprulz1299: Poor FVWM. You have to feel sorry for it. | 22:12 |
thomas_adam | Wsoprulz1299: It grew up with ICCCM. It loved the ICCCM. | 22:12 |
thomas_adam | Wsoprulz1299: But, how was it supposed to fulfil its duty if applications weren’t respecting it properly? | 22:12 |
thomas_adam | Wsoprulz1299: Firefox and Mozilla, the beasties from Over Yonder were well-known rebels. | 22:13 |
thomas_adam | Wsoprulz1299: And one day they decided to do a number of things to try and upset the ICCCM. | 22:13 |
thomas_adam | Wsoprulz1299: Sure they stuck to some of it, after all, like most hatrid-centric things, they actually like the thing they project the hate for. But they were rebellious in nature. They didn’t do everything quite right. Naughty applications. Tut. | 22:14 |
Comete | sorry but could you explain me please what is MwmDecorMax MwmDecorMin for, i don’t understand the man page ? please | 22:15 |
marco13185 | thomas_adam, ready to suggest a good alternative to firefox? | 22:15 |
thomas_adam | Comete: Inherent properties that some motif apps have for providing XAtom hints. | 22:15 |
thomas_adam | marco13185: Sssh. (http://edulinux.homeunix.org/elinks) | 22:15 |
Wsoprulz129 | but thomas_adam: why does firefox work for others? | 22:15 |
Comete | thomas_adam lol | 22:15 |
thomas_adam | Wsoprulz1299: I’m getting to that. | 22:15 |
Wsoprulz129 | xevz didnt have a trouble w/ firefox | 22:15 |
marco13185 | Wsoprulz1299, your pretty much using xevz’s config too, lol | 2:16 |
Comete | thomas_adam the man page is clear near your explanation :) | 22:16 |
xevz | Wsoprulz1299: But I never tried to make Firefox use a new size on the other hand. | 22:16 |
xevz | Oops. :P | 22:16 |
marco13185 | I might have the same problem but I don’t care | 22:16 |
xevz | :P | 22:16 |
Wsoprulz129 | sorry, accidentally exited | 22:17 |
xevz | Wsoprulz1299: But I never tried to make Firefox use a new size on the other hand. | 22:17 |
thomas_adam | Wsoprulz1299: Firefox being rebellious decided to ignore placement issues. It wanted to do that for itself. Naughty. The ICCCM says that geometries as set by the user take precedent over anything else, and that a default is only logical when none is provided. FVWM needs to know this when deciding how to map the application. But FF knew better. A stubborn beast, it just didn’t want to let go of doing things its own way. What was FVWM to do? | 22:21 |
thomas_adam | Wsoprulz1299: So, two things happen. FVWM can be told to ignore two hints that XClients set: PPosition, and PSize. | 22:22 |
thomas_adam | Wsoprulz1299: PPosition is “Program Position” (i.e. where the hell on the screen I’m to be put, and that’s final!),. and PSize – the program size. | 22:22 |
* hank | .oO( someone should start collecting thomas_adam’s excursions in a short story book… ) | 22:23 |
thomas_adam | Wsoprulz1299: Guess what FF does with those two hints? | 22:23 |
thomas_adam | Wsoprulz1299: It sets them time and again, over and over for FVWM… how nice of it, right Hmm, not quite. | 22:23 |
thomas_adam | Wsoprulz1299: One day, FVWM was very sad. | 22:23 |
thomas_adam | Wsoprulz1299: It didn’t like the rebellious nature that FF was exerting. | 22:24 |
thomas_adam | Wsoprulz1299: So it stood up for itself. It decided to fight back, and look back to its old friend, the ICCCM. | 22:24 |
thomas_adam | Wsoprulz1299: It’s not brilliant, but it’s better than it was. You can tell various clients through the use of Style lines to (try and) ignore PPosition and PSize (see NoPPosition and VariablePSize). | 22:25 |
Wsoprulz129 | so why does it work for some and not others? | 22:25 |
thomas_adam | Wsoprulz1299: FVWM rejoyced, and had a nice party that evening, at its new found functionality. | 22:25 |
* xteddy | hugs fvwm :) | 22:25 |
Wsoprulz129 | heh | 22:26 |
thomas_adam | Wsoprulz1299: It mapped xteddy and him bounce all around the screen. | 22:26 |
thomas_adam | Wsoprulz1299: FF has no way of actively setting the geometry of its window – it breaks the holy document that is the ICCCM. Yes, it has these -width and -height options, but they’re just a piss in the wind. | 22:28 |
marco13185 | thomas_adam, we must destroy it, lol | 22:28 |
thomas_adam | Wsoprulz1299: The only way you can probably get around this is to actively resize the window once it’s mapoed, as per the example shown to you last night. | 22:28 |
thomas_adam | Wsoprulz1299: Since then, FVWM has lived (relatively) happy ever after. | 22:30 |
thomas_adam | Wsoprulz1299: ~ The End. ~ | 22:30 |