From hpdeifel at gmx.de Sat Jan 3 12:04:44 2015 From: hpdeifel at gmx.de (Hans-Peter Deifel) Date: Sat, 03 Jan 2015 12:04:44 +0100 Subject: Hidden tags Message-ID: <54A7CCCC.6070100@gmx.de> Hi everyone, I started to implement a "hidden tag" feature that allows to set an attribute on tags to hide it from pagers and ignore it when cycling. This could be useful to hide tags for q3terminal, floatmon, etc from the panel, but it could also be used to implement workspace sets (? la KDEs activities). While I'm interested in the latter, the former requires hidden tags to be shown once in a while or even focused (for example if the q3terminal is active). Now, showing a tag that doesn't appear in EWMH or tag_status and doesn't have an index, would probably confuse panels, pagers and people a lot. So I only see two options: - Prevent a hidden tag from being shown or focused. This would solve the problem, but render hidden tags useless for q3terminal and floatmon. - Temporarily make a hidden tag visible in EWMH, etc if it is being shown. Workaround and probably ugly to implement. Does anyone have an idea how to do this correctly? If not, which option do you prefer? Cheers, HP From maxfragg at gmail.com Sat Jan 3 12:10:03 2015 From: maxfragg at gmail.com (=?UTF-8?Q?Max_Kr=C3=BCger?=) Date: Sat, 3 Jan 2015 12:10:03 +0100 Subject: Hidden tags In-Reply-To: <54A7CCCC.6070100@gmx.de> References: <54A7CCCC.6070100@gmx.de> Message-ID: IMHO for floatmon and q3terminal hlwm should just lie in the ewmh and still tell the panel, the previous tag would be focused. Revealing the tag temporarily will cause panels to jump in an ugly way. Max Am 03.01.2015 12:04 schrieb "Hans-Peter Deifel" : > Hi everyone, > > I started to implement a "hidden tag" feature that allows to set an > attribute on tags to hide it from pagers and ignore it when cycling. > > This could be useful to hide tags for q3terminal, floatmon, etc from the > panel, but it could also be used to implement workspace sets (? la KDEs > activities). > > While I'm interested in the latter, the former requires hidden tags to > be shown once in a while or even focused (for example if the q3terminal > is active). Now, showing a tag that doesn't appear in EWMH or tag_status > and doesn't have an index, would probably confuse panels, pagers and > people a lot. So I only see two options: > > - Prevent a hidden tag from being shown or focused. > > This would solve the problem, but render hidden tags useless for > q3terminal and floatmon. > > - Temporarily make a hidden tag visible in EWMH, etc if it is being > shown. > > Workaround and probably ugly to implement. > > Does anyone have an idea how to do this correctly? If not, which > option do you prefer? > > Cheers, > HP > -------------- next part -------------- An HTML attachment was scrubbed... URL: From edu at thorsten-wissmann.de Sat Jan 3 12:22:56 2015 From: edu at thorsten-wissmann.de (Thorsten =?iso-8859-1?Q?Wi=DFmann?=) Date: Sat, 3 Jan 2015 22:22:56 +1100 Subject: Hidden tags In-Reply-To: References: <54A7CCCC.6070100@gmx.de> Message-ID: <20150103112256.GB11270@ghul.anu.edu.au> Hi, > Am 03.01.2015 12:04 schrieb "Hans-Peter Deifel" : > > I started to implement a "hidden tag" feature that allows to set an > > attribute on tags to hide it from pagers and ignore it when cycling. A minor problem with that aproach: then I am not able to move a window to the q3terminal-tag using a panel without showing the q3terminal. On Sat, Jan 03, 2015 at 12:10:03PM +0100, Max Kr?ger wrote: > IMHO for floatmon and q3terminal hlwm should just lie in the ewmh and still > tell the panel, the previous tag would be focused. For floatmon and q3terminal, that really sounds like a good way. Another possibility is to unset the EWMH property, I'm not sure how much pagers are confused by this. > Revealing the tag temporarily will cause panels to jump in an ugly way. I don't think that panels will jump ugly, because they should be aware of new workspaces appearing. Maybe I just don't get what you mean. Cheers, Thorsten -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 213 bytes Desc: not available URL: From hpdeifel at gmx.de Sat Jan 3 14:20:55 2015 From: hpdeifel at gmx.de (Hans-Peter Deifel) Date: Sat, 03 Jan 2015 14:20:55 +0100 Subject: Hidden tags In-Reply-To: <20150103112256.GB11270@ghul.anu.edu.au> References: <54A7CCCC.6070100@gmx.de> <20150103112256.GB11270@ghul.anu.edu.au> Message-ID: <54A7ECB7.7020407@gmx.de> Am 03.01.2015 um 12:22 schrieb Thorsten Wi?mann: >> Am 03.01.2015 12:04 schrieb "Hans-Peter Deifel" : >>> I started to implement a "hidden tag" feature that allows to set an >>> attribute on tags to hide it from pagers and ignore it when cycling. > > A minor problem with that aproach: then I am not able to move a window > to the q3terminal-tag using a panel without showing the q3terminal. Well, if you actually want your q3terminal-tag shown in the pager, then just don't set the tag as hidden. I thinks that's fair :) > On Sat, Jan 03, 2015 at 12:10:03PM +0100, Max Kr?ger wrote: >> IMHO for floatmon and q3terminal hlwm should just lie in the ewmh and still >> tell the panel, the previous tag would be focused. > > For floatmon and q3terminal, that really sounds like a good way. > > Another possibility is to unset the EWMH property, I'm not sure how much > pagers are confused by this. Btw, we'd also have to account for windows: A window on a hidden tag either shouldn't be listed in _NET_CLIENT_LIST or shouldn't have a _NET_WM_DESKTOP property. Possibly both. HP From martincigorraga at gmail.com Tue Jan 13 14:13:18 2015 From: martincigorraga at gmail.com (Martin Cigorraga) Date: Tue, 13 Jan 2015 10:13:18 -0300 Subject: Fwd: Tags not responding to mouse clicks In-Reply-To: References: <20140911164726.GE18374@lupin> Message-ID: Hello list, Kinley, I'm forwarding your message, Kinley, as I see now we got out of track when I first answered only to you instead 'Reply all' - my bad! Said that... Well done! It's always refreshing to squash a special obscure 'bug', isn't it!? Last but no least, have you all a great 2015! -Mart?n ---------- Forwarded message ---------- From: Kinley Dorji Date: Tue, Jan 13, 2015 at 9:59 AM Subject: Re: Tags not responding to mouse clicks To: Mart?n Cigorraga Solved! The keyboard was fine. The superkeys weren't responding because someone (probably my younger daughter) had pulled the game lock key. Switching backk solved that problem. But the dzen2 bar continued to be unresponsive to clicks. So after living with using the superkey + tag index to switch between tags till now, I decided to relook at the problem. I took a closer look at hlwm's autostart and panel.sh scripts. I came across this snippet in panel.sh which looked like something to hack: if [ ! -z "$dzen2_svn" ] ; then echo -n "^ca(1,herbstclient focus_monitor $monitor && "'herbstclient use "'${i:1}'") '"${i:1} ^ca()" else echo -n " ${i:1} " fi Since I'm using dzen2-git, I thought I'd try changing the else section from: echo -n " ${i:1} " to: echo -n "^ca(1,herbstclient focus_monitor $monitor && "'herbstclient use "'${i:1}'") '"${i:1} ^ca()" And it worked. I have no idea why the original panel.sh version worked before my Logitech keyboard hacks and why it didn't work later as I didn't touch panel.sh nor do I think the keyboard hacks would have. Still, happy to be back to status quo. :)? On Mon, Sep 22, 2014 at 6:12 PM, Kinley Dorji wrote: > I plugged the keyboard into another computer system, with the same result: > no response on the superkeys. So it does appear to be quite an issue. :( > > I'm suspecting the drivers I played with when trying out the lg4l-gnome15 > might have cause some circuit burn. I have the impression that the Logitech > keyboards are pretty durable otherwise. > > Thanks for asking, though. > > On Mon, Sep 22, 2014 at 5:44 PM, Mart?n Cigorraga < > martincigorraga at gmail.com> wrote: > >> On Mon, Sep 22, 2014 at 7:26 AM, Kinley Dorji wrote: >> >>> Thanks Martin. I'm trying everything I can so far, >>> >> >> Lol, who wasn't there? (and surely will be again in the future!?) >> >> >>> but things have gotten a little complicated with my keyboard. For >>> reasons beyond my comprehension, the two superkeys have stopped working out >>> of the blue. All other keys still work, but the combination of the dzen2 >>> panel not responding, and both superkeys not working has made the problem >>> quite a show stopper. I'm chugging along just now on an older keyboard, but >>> I'm mourning the early demise of my quite new (6 mo) Logitech 510s gaming >>> keyboard, which is quite a beauty really. I am considering remapping some >>> other key as superkey and continuing to use the 510s, but haven't quite got >>> down to it. Quite a bummer! >>> >>> >> Hmm, sorry if this sounds stupid but did you check that your kbd is >> effectively misbehaving using any Live distro? >> Bearing in mind your earlier issue with the mouse and now the kbd there >> *might* be a little chance both problems could be connected... >> >> Hope it isn't nothing serious! >> -Martin >> > > -- -Martin -------------- next part -------------- An HTML attachment was scrubbed... URL: From kinleyd at gmail.com Wed Jan 14 07:10:51 2015 From: kinleyd at gmail.com (Kinley Dorji) Date: Wed, 14 Jan 2015 12:10:51 +0600 Subject: Tags not responding to mouse clicks In-Reply-To: References: Message-ID: Resending to make sure original thread is linked to this update: Solved! The keyboard was fine. The superkeys weren't responding because someone (probably my younger daughter) had pulled the game lock key. Switching backk solved that problem. But the dzen2 bar continued to be unresponsive to clicks. So after living with using the superkey + tag index to switch between tags till now, I decided to relook at the problem. I took a closer look at hlwm's autostart and panel.sh scripts. I came across this snippet in panel.sh which looked like something to hack: if [ ! -z "$dzen2_svn" ] ; then echo -n "^ca(1,herbstclient focus_monitor $monitor && "'herbstclient use "'${i:1}'") '"${i:1} ^ca()" else echo -n " ${i:1} " fi Since I'm using dzen2-git, I thought I'd try changing the else section from: echo -n " ${i:1} " to: echo -n "^ca(1,herbstclient focus_monitor $monitor && "'herbstclient use "'${i:1}'") '"${i:1} ^ca()" And it worked. I have no idea why the original panel.sh version worked before my Logitech keyboard hacks and why it didn't work later as I didn't touch panel.sh nor do I think the keyboard hacks would have. Still, happy to be back to status quo. :)? On Thu, Sep 11, 2014 at 10:13 PM, Kinley Dorji wrote: > Hi all, > > Not sure what the problem is, but it started after I upgraded my system to > the kernel v. 3.16.2.1 a couple of days ago. Everything else works except > my system doesn't respond to clicks on the tag names when I try to switch > tags via the mouse. Win+[Tag Number] still works though, so it's not a > complete show stopper. > > I'm on hlwm 0.6.2-2. > > Suggestions/help/fixes are in welcome! > > Thanks, > > Kinley > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kinleyd at gmail.com Wed Jan 14 16:12:41 2015 From: kinleyd at gmail.com (Kinley Dorji) Date: Wed, 14 Jan 2015 21:12:41 +0600 Subject: Tags not responding to mouse clicks In-Reply-To: <20150114142633.GB15775@ghul.anu.edu.au> References: <20150114142633.GB15775@ghul.anu.edu.au> Message-ID: No, no, thank *you* Thorsten for your super work! Best regards, Kinley On Wed, Jan 14, 2015 at 8:26 PM, Thorsten Wi?mann wrote: > Hey, > > Thanks for the update! :-) > > Cheers, > Thorsten > > On Wed, Jan 14, 2015 at 12:10:51PM +0600, Kinley Dorji wrote: > > Resending to make sure original thread is linked to this update: > > > > Solved! The keyboard was fine. The superkeys weren't responding because > > someone (probably my younger daughter) had pulled the game lock key. > > Switching backk solved that problem. But the dzen2 bar continued to be > > unresponsive to clicks. So after living with using the superkey + tag > index > > to switch between tags till now, I decided to relook at the problem. > > > > I took a closer look at hlwm's autostart and panel.sh scripts. I came > > across this snippet in panel.sh which looked like something to hack: > > > > if [ ! -z "$dzen2_svn" ] ; then > > echo -n "^ca(1,herbstclient focus_monitor $monitor && "'herbstclient > > use "'${i:1}'") '"${i:1} ^ca()" > > else > > echo -n " ${i:1} " > > fi > > > > Since I'm using dzen2-git, I thought I'd try changing the else section > from: > > echo -n " ${i:1} " > > to: > > echo -n "^ca(1,herbstclient focus_monitor $monitor && "'herbstclient > use > > "'${i:1}'") '"${i:1} ^ca()" > > > > And it worked. > > > > I have no idea why the original panel.sh version worked before my > Logitech > > keyboard hacks and why it didn't work later as I didn't touch panel.sh > nor > > do I think the keyboard hacks would have. Still, happy to be back to > status > > quo. :)? > > > > On Thu, Sep 11, 2014 at 10:13 PM, Kinley Dorji > wrote: > > > > > Hi all, > > > > > > Not sure what the problem is, but it started after I upgraded my > system to > > > the kernel v. 3.16.2.1 a couple of days ago. Everything else works > except > > > my system doesn't respond to clicks on the tag names when I try to > switch > > > tags via the mouse. Win+[Tag Number] still works though, so it's not a > > > complete show stopper. > > > > > > I'm on hlwm 0.6.2-2. > > > > > > Suggestions/help/fixes are in welcome! > > > > > > Thanks, > > > > > > Kinley > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sdothum at gmail.com Mon Jan 19 16:28:51 2015 From: sdothum at gmail.com (Steven Hum) Date: Mon, 19 Jan 2015 10:28:51 -0500 Subject: Feature request - rotate grid Message-ID: <20150119152851.6807.74279@luna> Hello, I have just started using herbstluftwm, coming from ion3/notion -> xmonad -> bspwm, and I must say, I am quite liking the degree of control over the workspace with monitors and frames. One feature I find convenient (coming from bspwm) is the ability to rotate a grid (with value +/- 1 for bi-directional control, of course!) much like the rotate (frame) action. I haven't worked with your object tree enough to know whether this would be simple enough to script -- but I am hoping your rotate frame facility might make this easy enough to implement! Lastly, one lazy feature would be the ability to "toggle" max for a layout (in a frame), returning to the pre-max layout on the next toggle. I know one can simply set the layout to max but then one needs to cycle back to the original layout. I haven't scripted this because there does not appear to be a way to query the current layout in focus. Perhaps you could add a "frame" object to your object tree. All in all, appreciate the work you have done on this wm. There are many commands that I have not begun to explore the utility of. But I love the facility you have provided to control herbstluftwm via scripting (much like bspwm)! Keep up the good work! Regards, Steven From me at the-compiler.org Mon Jan 19 16:39:50 2015 From: me at the-compiler.org (Florian Bruhin) Date: Mon, 19 Jan 2015 16:39:50 +0100 Subject: Feature request - rotate grid In-Reply-To: <20150119152851.6807.74279@luna> References: <20150119152851.6807.74279@luna> Message-ID: <20150119153950.GL30488@tonks> * Steven Hum [2015-01-19 10:28:51 -0500]: > One feature I find convenient (coming from bspwm) is the ability to > rotate a grid (with value +/- 1 for bi-directional control, of course!) > much like the rotate (frame) action. I haven't worked with your object > tree enough to know whether this would be simple enough to script -- but > I am hoping your rotate frame facility might make this easy enough to > implement! I'm not sure how easy this will be to implement, but I'm sure Thorsten will comment :) If you have a github account, I suggest opening an issue at https://github.com/herbstluftwm/herbstluftwm/issues so it won't get lost :) > Lastly, one lazy feature would be the ability to "toggle" max for > a layout (in a frame), returning to the pre-max layout on the next > toggle. I know one can simply set the layout to max but then one needs > to cycle back to the original layout. I haven't scripted this because > there does not appear to be a way to query the current layout in focus. You can use hc dump '' '@' to dump the state of the focused frame, and e.g. sed to get the layout from that: $ hc dump '' '@' | sed 's/[^ ]* \([^:]*\).*/\1/' grid > Perhaps you could add a "frame" object to your object tree. I started contributing code for that[1] more than a year ago - but it was removed some hours later because there were segfaults. I recently talked to another developer (ypnos) about this, and we decided to implement it again when the C++ rewrite[2] is merged. [1] http://git.the-compiler.org/herbstluftwm/log/?h=frame_objects [2] https://github.com/herbstluftwm/herbstluftwm/tree/winterbreeze > All in all, appreciate the work you have done on this wm. There are many > commands that I have not begun to explore the utility of. But I love the > facility you have provided to control herbstluftwm via scripting (much > like bspwm)! Note bspwm was inspired by hlwm ;) http://herbstluftwm.org/archive/msg00054.html Florian -- http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 819 bytes Desc: not available URL: From sdothum at gmail.com Tue Jan 20 20:35:13 2015 From: sdothum at gmail.com (Steven Hum) Date: Tue, 20 Jan 2015 14:35:13 -0500 Subject: Rules with monitor Message-ID: <20150120193513.11159.80835@luna> I'm doing something wrong here.. I have a simple rule defined as hc rule class=Vlc tag=6 monitor=0 focus=on switchtag=on Invoking vlc opens it the designated tag but not on the desired monitor -- tag 6 appears on whichever monitor is in focus. "swap_monitors_to_get_tag" is 0 (if value is 1, the tag is not raised). "list_monitors" yields 0: ... with tag ... 1: ... with tag ... Am I missing something? Regards, Steven From edu at thorsten-wissmann.de Thu Jan 22 12:46:13 2015 From: edu at thorsten-wissmann.de (Thorsten =?iso-8859-1?Q?Wi=DFmann?=) Date: Thu, 22 Jan 2015 22:46:13 +1100 Subject: Rules with monitor In-Reply-To: <20150120193513.11159.80835@luna> References: <20150120193513.11159.80835@luna> Message-ID: <20150122114613.GA24586@ghul.anu.edu.au> Hi, On Tue, Jan 20, 2015 at 02:35:13PM -0500, Steven Hum wrote: > I'm doing something wrong here.. I have a simple rule defined as > > hc rule class=Vlc tag=6 monitor=0 focus=on switchtag=on > > Invoking vlc opens it the designated tag but not on the desired monitor > -- tag 6 appears on whichever monitor is in focus. > "swap_monitors_to_get_tag" is 0 (if value is 1, the tag is not raised). That is strange, because it seem to work here for: herbstclient set swap_monitors_to_get_tag 0 herbstclient rule class=ASDF tag=6 monitor=0 focus=on switchtag=on once xterm -class ASDF (And it does not work for swap_monitors_to_get_tag = 1). And I even got it working for VLC. Can you tell me whether the code above? (Note that the once is just to avoid the rules from being polluted.) Cheers, Thorsten -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 213 bytes Desc: not available URL: From edu at thorsten-wissmann.de Thu Jan 22 12:49:59 2015 From: edu at thorsten-wissmann.de (Thorsten =?iso-8859-1?Q?Wi=DFmann?=) Date: Thu, 22 Jan 2015 22:49:59 +1100 Subject: Rules with monitor In-Reply-To: <20150122114613.GA24586@ghul.anu.edu.au> References: <20150120193513.11159.80835@luna> <20150122114613.GA24586@ghul.anu.edu.au> Message-ID: <20150122114959.GB24586@ghul.anu.edu.au> On Thu, Jan 22, 2015 at 10:46:13PM +1100, Thorsten Wi?mann wrote: > On Tue, Jan 20, 2015 at 02:35:13PM -0500, Steven Hum wrote: > > I'm doing something wrong here.. I have a simple rule defined as > > > > hc rule class=Vlc tag=6 monitor=0 focus=on switchtag=on > > > > Invoking vlc opens it the designated tag but not on the desired monitor > > -- tag 6 appears on whichever monitor is in focus. > > "swap_monitors_to_get_tag" is 0 (if value is 1, the tag is not raised). > > That is strange, because it seem to work here for: > > herbstclient set swap_monitors_to_get_tag 0 > herbstclient rule class=ASDF tag=6 monitor=0 focus=on switchtag=on once > xterm -class ASDF > > (And it does not work for swap_monitors_to_get_tag = 1). > > And I even got it working for VLC. Can you tell me whether the code > above? (Note that the once is just to avoid the rules from being > polluted.) And by the way: Which version of herbstluftwm are you using? You should have at least herbstluftwm 0.6.0. Cheers, Thorsten -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 213 bytes Desc: not available URL: From sdothum at gmail.com Fri Jan 23 00:39:23 2015 From: sdothum at gmail.com (Steven Hum) Date: Thu, 22 Jan 2015 18:39:23 -0500 Subject: Rules with monitor In-Reply-To: <20150122114613.GA24586@ghul.anu.edu.au> References: <20150120193513.11159.80835@luna> <20150122114613.GA24586@ghul.anu.edu.au> Message-ID: <20150122233923.16247.1793@luna> Hello Thorsten, Thanks for your prompt reply.. I'm embarrassed to say that my autostart incorrectly had "hc swap_monitors_to_get_tag 0" instead of "hc *set* swap_monitors_to_get_tag 0". Caught that the moment I saw your example in your reply. Thanks again. And thank you for herbstluftwm. I am really lovin' it, coming from bspwm! Regards, Steven Quoting Thorsten Wi?mann (2015-01-22 06:46:13) > Hi, > > On Tue, Jan 20, 2015 at 02:35:13PM -0500, Steven Hum wrote: > > I'm doing something wrong here.. I have a simple rule defined as > > > > hc rule class=Vlc tag=6 monitor=0 focus=on switchtag=on > > > > Invoking vlc opens it the designated tag but not on the desired monitor > > -- tag 6 appears on whichever monitor is in focus. > > "swap_monitors_to_get_tag" is 0 (if value is 1, the tag is not raised). > > That is strange, because it seem to work here for: > > herbstclient set swap_monitors_to_get_tag 0 > herbstclient rule class=ASDF tag=6 monitor=0 focus=on switchtag=on once > xterm -class ASDF > > (And it does not work for swap_monitors_to_get_tag = 1). > > And I even got it working for VLC. Can you tell me whether the code > above? (Note that the once is just to avoid the rules from being > polluted.) > > Cheers, > Thorsten