[openbox] Quake-like-console configuration: problem with ForEach action
Dana Jansens
danakj at orodu.net
Fri Jan 2 15:28:20 EST 2015
On Fri, Jan 2, 2015 at 9:41 AM, Martin Jiřička <mjiricka at gmail.com> wrote:
> Hello!
>
> I installed Openbox for the first time a few days ago. I was really
> impressed how well a configuration process went. But in the end I had
> a following problem.
>
> I tried to configure a terminal window to act as something that was
> somewhere called quake-like-console (i.e. an "adhoc" terminal that
> appears after hitting some key above all windows and is available on
> all desktops). I have already found some solution using external bash
> script, but I think that following implementation would be more
> elegant and maybe even more practical.
>
> My idea is to start a terminal (urxvt in my case) with some special
> title (like "quake_console"). Then create some rules for it:
>
> <application name="urxvt" class="URxvt" title="quake_console">
> <decor>no</decor>
> <position force="yes">
> <x>right</x>
> <y>0</y>
> </position>
>
> <size>
> <width>100%</width>
> <height>40%</height>
> </size>
>
> <focus>yes</focus>
> <desktop>all</desktop>
> <layer>above</layer>
> <iconic>no</iconic>
> <skip_pager>yes</skip_pager>
> <skip_taskbar>yes</skip_taskbar>
> <fullscreen>no</fullscreen>
> <maximized>no</maximized>
> </application>
>
> This works.
>
> Now I need a key binding that would handle hiding and displaying of
> the terminal. But the following snippet does not work:
>
> <keybind key="W-w">
> <!-- Find the terminal. -->
> <action name="ForEach">
> <title>quake_console</title>
> <then>
> <!-- Is it displayed? -->
> <action name="If">
> <desktop>current</desktop>
> <then>
> <!-- Hide it. -->
> <action name="SendToDesktop">
> <to>10</to>
> <wrap>no</wrap>
> <follow>no</follow>
> </action>
> </then>
> <else>
> <!-- Show it. -->
> <action name="SendToDesktop">
> <to>current</to>
> <wrap>no</wrap>
> <follow>no</follow>
> </action>
> </else>
> </action>
> </then>
> </action>
> </keybind>
>
> And I do not understand where is a problem. I did not find any way how
> to debug these rules. Documentation is not very helpful
> (http://openbox.org/wiki/Help:Actions#If). In the doc is introduces a
> "basic structure" of the If action, where is "query" element, but in
> the examples below is no such element used, which puzzles me even
> more.
>
Here's the code that does the parsing. It looks for a <query> and uses the
current target window if no <query> exists.
https://github.com/danakj/openbox/blob/master/openbox/actions/if.c#L256
Sounds like the examples are wrong.
>
> I made some simpler tests and it looks like that "title" condition is
> not working.
>
> Can somebody give me a hint why the second snippet does not work please?
>
>
> Best regards
> Martin Jiřička
> _______________________________________________
> openbox mailing list
> openbox at icculus.org
> http://icculus.org/mailman/listinfo/openbox
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://icculus.org/pipermail/openbox/attachments/20150102/275188dc/attachment.html>
More information about the openbox
mailing list