Re: [dev] wmii noob key binding help

2011-02-25 Thread Thomas Dahms

Traditionally, this was solved by making wmiirc (1) emit Start
wmiirc to /event at startup and later (2) exit if they see Start
wmiirc inside their /event processing loop.  In this manner, new
instances of wmiirc terminate previously existing ones.

I don't know why that mechanism was removed from the default SH
wmiirc.  It did exist in the past, however.


It still exists. See ll. 2-4 and 211-212 in cmd/wmii.sh.sh in the source  
tree.
However, spawning wmiirc from the Action menu does not work for me as  
well, although with different symptoms: No keybindings work thereafter.


--
Thomas Dahms



Re: [dev] wmii noob key binding help

2011-02-25 Thread Eitan Goldshtrom
I've put the following directly into the events() function of my wmiirc 
script in the KeyGroup Other section


Key $MODKEY-z
amixer sset PCM 4+ 
Key $MODKEY-v
eval wmiir setsid amixer sset PCM 4+ 

I've since quit wmii, logged out, logged back in, and started X and wmii 
again. Still the key bindings don't work. When I test each of those 
commands in a terminal it has the desired effect. I'm at a loss at this 
point as to why it doesn't work. Is there a way for me to check and see 
if anything is happening at all, even though my volume isn't actually 
changing?

-Eitan



Re: [dev] wmii noob key binding help

2011-02-25 Thread Benjamin R. Haskell

On Fri, 25 Feb 2011, Eitan Goldshtrom wrote:

I've put the following directly into the events() function of my 
wmiirc script in the KeyGroup Other section


Key $MODKEY-z
   amixer sset PCM 4+ 
Key $MODKEY-v
   eval wmiir setsid amixer sset PCM 4+ 

I've since quit wmii, logged out, logged back in, and started X and 
wmii again. Still the key bindings don't work. When I test each of 
those commands in a terminal it has the desired effect. I'm at a loss 
at this point as to why it doesn't work. Is there a way for me to 
check and see if anything is happening at all, even though my volume 
isn't actually changing?


Try something interactive to see that keys are being reloaded (maybe 
you're editing the wrong wmiirc?):


Key $MODKEY-z
xmessage blahblah 

or something that creates an obvious change:

Key $MODKEY-z
wmiir xwrite /ctl view CHANGED

Maybe amixer isn't in your $PATH by the time wmii starts:

Key $MODKEY-z
$HOME/local-stuff/amixer sset PCM 4+ 

Or just log the errors, and go from there:

Key $MODKEY-z
amixer sset PCM 4+ $HOME/amixer.stdout 2$HOME/amixer.stderr 

--
Best,
Ben



Re: [dev] wmii noob key binding help

2011-02-25 Thread Eitan Goldshtrom
It was the wrong wmiirc turns out. I was editing /etc/wmii-hg/wmiirc and 
I was thinking about how the keybindings aren't the only thing that 
wasn't working, so I ran a locate on wmiirc and found out I have a 
/usr/local/etc/wmii-hg/wmiirc. Putting the key bindings in there made 
them work. But I'm still confused about why they don't work when I put 
them in wmiirc_local in the local_events() function.

-Eitan

On 02/25/2011 12:50 PM, Benjamin R. Haskell wrote:

On Fri, 25 Feb 2011, Eitan Goldshtrom wrote:

I've put the following directly into the events() function of my 
wmiirc script in the KeyGroup Other section


Key $MODKEY-z
   amixer sset PCM 4+ 
Key $MODKEY-v
   eval wmiir setsid amixer sset PCM 4+ 

I've since quit wmii, logged out, logged back in, and started X and 
wmii again. Still the key bindings don't work. When I test each of 
those commands in a terminal it has the desired effect. I'm at a loss 
at this point as to why it doesn't work. Is there a way for me to 
check and see if anything is happening at all, even though my volume 
isn't actually changing?


Try something interactive to see that keys are being reloaded (maybe 
you're editing the wrong wmiirc?):


Key $MODKEY-z
xmessage blahblah 

or something that creates an obvious change:

Key $MODKEY-z
wmiir xwrite /ctl view CHANGED

Maybe amixer isn't in your $PATH by the time wmii starts:

Key $MODKEY-z
$HOME/local-stuff/amixer sset PCM 4+ 

Or just log the errors, and go from there:

Key $MODKEY-z
amixer sset PCM 4+ $HOME/amixer.stdout 2$HOME/amixer.stderr 






Re: [dev] wmii noob key binding help

2011-02-25 Thread Thomas Dahms


It was the wrong wmiirc turns out. I was editing /etc/wmii-hg/wmiirc and  
I was thinking about how the keybindings aren't the only thing that  
wasn't working, so I ran a locate on wmiirc and found out I have a  
/usr/local/etc/wmii-hg/wmiirc. Putting the key bindings in there made  
them work. But I'm still confused about why they don't work when I put  
them in wmiirc_local in the local_events() function.


I have a similar problem [1], but only when using dash as the shell. Try  
another shell if you are using dash. Or use the workaround described in  
[1].


[1] http://code.google.com/p/wmii/issues/detail?id=229


--
Thomas Dahms



Re: [dev] wmii noob key binding help

2011-02-24 Thread Suraj Kurapati
On Thu, Feb 24, 2011 at 12:14 PM, Benjamin R. Haskell
suckl...@benizi.com wrote:
 running the 'wmiirc' action just
 spawned a second instance of wmiirc (resulting in event doubling, e.g.
 keystroke that spawns a new terminal spawned two new terminals).

Traditionally, this was solved by making wmiirc (1) emit Start
wmiirc to /event at startup and later (2) exit if they see Start
wmiirc inside their /event processing loop.  In this manner, new
instances of wmiirc terminate previously existing ones.

I don't know why that mechanism was removed from the default SH
wmiirc.  It did exist in the past, however.



Re: [dev] wmii noob key binding help

2011-02-23 Thread Eitan Goldshtrom
I tried that just now and it didn't work. I also tried a few variations 
that each didn't work. I checked the keys file and it looks like the 2 
key combinations aren't in the file. I thought they would be added 
because of the event declarations, but am I supposed to add them 
manually or something? If so, how do I do that? When I try to wmiir 
write or xwrite to any of those 9P files it overwrites the whole thing; 
I just want to append them.

-Eitan

On 02/23/2011 12:15 AM, Benjamin R. Haskell wrote:

On Tue, 22 Feb 2011, Eitan Goldshtrom wrote:

Hi. So I read through as much as I could find on the subject of 
defining my own keybindings. I can see how to do it from the 9P 
virtual filesystem that wmii has setup, but I am under the impression 
that it can be done moreproperly?...via wmiirc_local and the 
local_events() function.  Unfortunately, whatever I try to put in 
there causes wmii to not watch for any input whatsoever, and I get 
locked out from doing anything. Could someone show me an example of 
how to, say, change volume with amixer? I have the cli commands:


amixer sset PCM 4+
amixer sset PCM 4-

and I would like to bind those commands to Mod-Control-bracketright 
and Mod-Control-bracketleft respectively, or at this point any key 
combination really. Could someone show me how to bind those, for 
example?


E.g.:

Before:

local_events() { true;}

After:

local_events() {
cat '!'
Key XF86AudioRaiseVolume# raise the volume
amixer sset PCM 4+ 
Key XF86AudioLowerVolume# lower the volume
amixer sset PCM 4- 
!
}

Since volume control programs should be of the 
return-almost-immediately variety, I didn't bother with the `eval 
wmiir setsid [cmd] ` that most of the default commands seem to use. 
(What's the point of the `eval` there?).  Makes sense to use the 
setsid portion in this example:


local_events() {
cat '!'
Key $ALTKEY-slash# open SSH on a host I frequently use
eval wmiir setsid $WMII_TERM -e ssh remote.example.com 
!
}






[dev] wmii noob key binding help

2011-02-22 Thread Eitan Goldshtrom
Hi. So I read through as much as I could find on the subject of defining 
my own keybindings. I can see how to do it from the 9P virtual 
filesystem that wmii has setup, but I am under the impression that it 
can be done moreproperly?...via wmiirc_local and the local_events() 
function. Unfortunately, whatever I try to put in there causes wmii to 
not watch for any input whatsoever, and I get locked out from doing 
anything. Could someone show me an example of how to, say, change volume 
with amixer? I have the cli commands:


amixer sset PCM 4+
amixer sset PCM 4-

and I would like to bind those commands to Mod-Control-bracketright and 
Mod-Control-bracketleft respectively, or at this point any key 
combination really. Could someone show me how to bind those, for example?

-Eitan



Re: [dev] wmii noob key binding help

2011-02-22 Thread Benjamin R. Haskell

On Tue, 22 Feb 2011, Eitan Goldshtrom wrote:

Hi. So I read through as much as I could find on the subject of 
defining my own keybindings. I can see how to do it from the 9P 
virtual filesystem that wmii has setup, but I am under the impression 
that it can be done moreproperly?...via wmiirc_local and the 
local_events() function.  Unfortunately, whatever I try to put in 
there causes wmii to not watch for any input whatsoever, and I get 
locked out from doing anything. Could someone show me an example of 
how to, say, change volume with amixer? I have the cli commands:


amixer sset PCM 4+
amixer sset PCM 4-

and I would like to bind those commands to Mod-Control-bracketright 
and Mod-Control-bracketleft respectively, or at this point any key 
combination really. Could someone show me how to bind those, for 
example?


E.g.:

Before:

local_events() { true;}

After:

local_events() {
cat '!'
Key XF86AudioRaiseVolume# raise the volume
amixer sset PCM 4+ 
Key XF86AudioLowerVolume# lower the volume
amixer sset PCM 4- 
!
}

Since volume control programs should be of the 
return-almost-immediately variety, I didn't bother with the `eval 
wmiir setsid [cmd] ` that most of the default commands seem to use. 
(What's the point of the `eval` there?).  Makes sense to use the setsid 
portion in this example:


local_events() {
cat '!'
Key $ALTKEY-slash# open SSH on a host I frequently use
eval wmiir setsid $WMII_TERM -e ssh remote.example.com 
!
}

--
Best,
Ben