Re: [dev] wmii and floating controls

From: Nick Guenther <kousue_AT_gmail.com>
Date: Fri, 20 Nov 2009 01:08:13 -0500

Thanks for the quick response! Inline...

On 11/19/09, Kris Maglione <maglione.k_AT_gmail.com> wrote:
> On Thu, Nov 19, 2009 at 10:25:40PM -0500, Nick Guenther wrote:
>
> > I'm using wmii3.5 on OpenBSD and no matter how hard I look I can't
> > find a way to control if a window is floating or not.
> >
>
> Please, for the love of god (ken), don't use wmii 3.5. It's 4 years old
> already and probably shouldn't have even been released. Isn't 3.6 available
> for OpenBSD?
>

Actually
$ wmii -v
wmii-3.6, ��2007 Kris Maglione

I thought I was on 3.5 because it installs the files
/usr/local/share/examples/wmii-3.5/rc.wmii
/usr/local/share/examples/wmii-3.5/welcome
/usr/local/share/examples/wmii-3.5/wmiirc

I'll bug.. somebody about that.

>
> Whether a client is floating varies from view to view, it's not a property
> of the client itself. The only reason that Fullscreen doesn't work the same
> way is that EWMH requires otherwise.

Oh yes I see how this can be useful now.

>
> > I did discover the tagrules trick (which I feel lame for 'discovering'
> > since it is right under my nose in the default wmiirc) of putting a
> > line in /tagrules that reads '/<regex matching client type>.*/ -> ~'
> >
>
> It's also documented in the man page...

Which I clearly didn't read thorougly :P

>
> > $ wmiir xwrite /tag/sel/ctl send sel '~'
> > wmiir: fatal: cannot write file '/tag/sel/ctl': bad value
> >
>
> This works in newer versions, but as mentioned above, 3.5 is ancient. If
> you want to find out whether a client is floating, read /tag/sel/index and
> see if it's in the '~' area.

Ooh, thanks for that tip. And if sending to the floating layer does
work in newer versions I'm satisfied. However if I'm actually on 3.6
should that line work like I think? What's going on?

>
> > If you're curious my use case is this: I've implemented
> > http://hashapass.com as a keyboard shortcut, and use GNOME's zenity to
> > get the param/pass combo from the user (dmenu would be slicker but it
> > doesn't supporting hiding the password);
> >
>
> I'd use ssh-askpass or pinentry. It's interesting that you use dmenu, since
> wmii 3.5 didn't (and 3.9 doesn't).

Ah! ssh-askpass is exactly what I was looking for since it comes with
my base system. Oh well, with zenity both prompts look the same which
is nice (I like OpenBSD (and suckless.org) for the elegant
functionality, but I've been playing with design lately).

As for dmenu, here's a clip from /etc/wmii-3.5/wmiirc (which I copied
to my userdir before doing anything):
<<CLIP
WMII_BACKGROUND='#333333'
WMII_FONT='-*-fixed-medium-r-*-*-13-*-*-*-*-*-*-*'

set -- $(echo $WMII_NORMCOLORS $WMII_FOCUSCOLORS)
WMII_MENU="dmenu -b -fn '$WMII_FONT' -nf '$1' -nb '$2' -sf '$4' -sb '$5'"
WMII_9MENU="wmii9menu -font '$WMII_FONT' -nf '$1' -nb '$2' -sf '$4'
-sb '$5' -br '$6'"
WMII_TERM="xterm"

# Column Rules
wmiir write /colrules <<!
/.*/ -> 58+42
!
CLIP

You guys didn't put that in there?

> > for some reason all zenity windows launched by my keyboard shortcut end up
> tiled, though all ones launched by dmenu or from a terminal don't. What I'd
> like to do is pick up the CreateClient event and float it only if the
> created client is the one I just started from my script.
> >
>
> This is indeed strange, but I'd expect tagrules to do exactly what you
> want. In newer versions, I'd suggest wihack, although I'm reminded it lacks
> a man page...

No, tagrules works exactly how I want. And for zenity (which is /all/
modal dialogs) it's fine. But I can imagine running into a case where
I want to float THIS instance and no other. More generally, wmii seems
to just be incomplete without a knob for this.

So do I need 3.9 to be able to do this?

-Nick
Received on Fri Nov 20 2009 - 06:08:13 UTC

This archive was generated by hypermail 2.2.0 : Fri Nov 20 2009 - 06:12:01 UTC