ratpoison-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RP] ... --solved (with my workspace scripts) -Phuk!


From: Kipling Inscore
Subject: Re: [RP] ... --solved (with my workspace scripts) -Phuk!
Date: Sun, 23 Dec 2007 07:48:52 -0800

> And then firefox busts out of group ws2 and appears in group ws1 too!

Not sure I understand the details (same firefox window that was
already mapped or a new window? When you switch to ws1 or after you've
been using it a while?) but I think this may have something to do with
mapping firefox while ws1 is selected then moving it into ws2.
Selecting a ratpoison group doesn't immediately hide windows from
other groups and I recall rpws carries some odd side-effect of this
(though I can't recall the details).

Tangentally related: There's an issue with websites being able to
resize firefox (I think this is what's going on...and if it is, why
did the firefox devs think that was a good idea?). Ratpoison doesn't
actually let firefox resize (it shouldn't let firefox resize) but
firefox doesn't seem to realize this (in blatant disregard of ICCCM)
and renders pages completely wrong until the window actually gets
resized ('redisplay' doesn't work--I 'split' and then 'only'). I've
been meaning to fix this, preferably by filing a bug with firefox,
applying a patch or having the firefox devs fix it but alternately by
a firefox extension, ratpoison script or something.

> Gaim does that too. So I ditched it.

What are you using instead (or have you just ditched IM altogether)?
I've wanted to ditch Gaim (now called Pidgin). I hate Pidgin.
LibPurple (pidgin's multi-IM-protocol abstraction layer) is good but
Pidgin is horrible. And Finch (text-mode Pidgin) is just plain
braindead (keyboard-driven floating window manager in curses). I
mostly just use the AIM protocol so I might start using pork again but
I like being able to change the layout as Pidgin's two-window system
allows.
I've been thinking about creating a LibPurple client that will run in
multiple terminals (or in a single split terminal using screen) but
who knows if/when I'll get around to that.
An alternative in the meantime would be appreciated. Maybe post it in
the Apps section of the ratpoison wiki as well if it isn't already
listed.

> I'd be inclined to blame xorg/xfree86 for writing code that allows
> people to write apps that behave like spoiled children:
>
> "Look at me! Drop whatever you are doing, because it isn't important.
> Only ME is important. Look at me!"

ICCCM was supposed to prevent that sort of thing but unfortunately it
is and only can be an etiquette guide. The window manager doesn't get
enough special privilege under X11 to really enforce any particular
window behavior. Even if it did there would probably still be
control-fight loops where the program asks for something, the window
manager refuses, so the program asks again, possibly locking up its
interface. Really, I think the solution is responsible X11 client
programming, starting with following the ICCCM guidelines. Violations
tend not to show up in most window managers as they're essentially
useless at actually managing windows--they just let them do whatever
they want and intermittently let the user drag them around. Most
applications work in most window managers so most application
developers don't care if they don't work in obscure, especially
tiling, managers like ratpoison (if they're even aware of ratpoison).

Also, I think this is what 'rudeness' is supposed to deal with. But it
can't, as it is, actually put the window in its place--only keep it
hidden.
I wouldn't want to introduce unnecessary features into ratpoison but
perhaps it should allow some sort of delegation/scripting for windows
that have requested to be mapped but aren't yet mapped (ie a hook on
maprequest and commands that allow putting an arbitrary window into an
arbitrary group or frame) so that we don't have to script with
xtoolwait and saving/interrupting the user's current setup.

> Piss on that. This is my computer. It's like my home. When someone
> comes in my home they behave themselves or they leave. I set the
> standards for behavior, not some coder somewhere.

File bugs with programs that don't follow ICCCM. File bugs with
programs that have lame behavior, even if it is "technically correct".
Modify programs and send patches.
I modified pidgin to name its conversation window "conversation"
rather than the name of whoever's conversation is focused--this makes
using my framing script a little easier as I don't have to select a
particular person to converse with and it won't get messed up if
someone IMs me before the conversation window is properly framed. I
still have to open the conversation window, which I haven't yet dealt
with, and pidgin is still otherwise a hassle, so I think this one is a
lost cause but I think I've illustrated my point.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]