summaryrefslogtreecommitdiff
path: root/openbox/actions
AgeCommit message (Collapse)Author
2014-10-11Pass the GravityPoint as const* instead of by valueMikael Magnusson
2014-10-06Let the menu placement code know if the position was user specifiedMikael Magnusson
This way, it can avoid running the code that moves it to a good position relative to a mouse that isn't there
2014-10-06Resolve gravity coords in menuframe so it can use the widthsMikael Magnusson
2014-10-06Add <position> tag to ShowMenu actionMikael Magnusson
2014-04-25Fix thinko in if.c, *o in Stop can never be pointing at the right place.Mikael Magnusson
Use a file static boolean instead.
2014-04-10Fix typo in variable nameMikael Magnusson
2014-04-10Break loop if is_true was set to false in IfMikael Magnusson
2014-04-10Don't segfault when there's no target in IfMikael Magnusson
2013-09-09Add a strict option to the ToggleShowDesktop actionDana Jansens
When the strict option is used, normal windows are not able to show themselves while showing the desktop.
2013-09-02Allow FillToEdge to grow when all its edges are blocked.Dana Jansens
This change points out how useless the return value from client_find_resize_directional() was, so it also removes that. When all edges are blocked, the FillToEdge action will try to grow all four edges agin without blocking any of them on their current edge. This more closely matches the behaviour of the GrowToEdge action.
2013-09-02Clean up the FillToEdge action implementationDana Jansens
This extend the client_find_resize_directional() method to support two growing modes, and return a bool for whether it was able to grow/shrink. The client_find_resize_directional() method now takes an enum instead of a bool, with two growing modes. The old mode which always tries to grow, the a new mode that will only grow if the client's edge is not already at a grow stopping point (ie against the edge of another window).
2013-09-02Created a 'GrowToFill' action. (Bug 3356)Lucas Augusto Deters
2013-08-19Add window type to If as wellMikael Magnusson
This one required some extra helpers so is separate commit
2013-08-19Allow matching class, name and role in If actionMikael Magnusson
2013-08-19Add ForEach action which is like If but runs on all clientsMikael Magnusson
Also adds a Stop action that lets you stop running, in case you only want to run actions on the first match.
2013-08-18Add queries to If actionsDana Jansens
This allows the If action to run queries against a client other than the target of the actions being run, for example to check state on the focused window while performing actions on another window during focus cycling. The syntax looks like <action name="If"> <query target="default"> <title>FooBar</title> <maximized>yes</maximized> </query> <query target="focus"> <desktop>3</desktop> </query> <then> <action name="NextDesktop"/> </then> </action> The above checks the client window that the actions will run on to verify that its title is "FooBar" and that it is maximized. If that is true, it also checks that the currently focused client window is on desktop 3. If that is true also, then it runs the NextDesktop action. The target="" option can be set to "default" which uses the client window that the actions will run on, or it can be "focus" which uses the client window that is currently focused. The <query> tag is optional, and the conditions inside the query can be placed directly inside the If <action> tag, as they were before this change. In that case, a default <query> tag is assumed with target="default" which matches the previous behaviour. Multiple <query> tags can be present, and they must all be true in order to run the actions in <then>. If any one is false, the actions in <else> will be run instead.
2013-08-11Fix some compiler warningsDana Jansens
Void function should actually be declared void. Not-reached switch condition should still return something.
2013-08-11Change "plain" to "exact" for If's <title>Mikael Magnusson
2013-08-11Add matching which monitor the client is on in the If action (Bug 5426)Mikael Magnusson
2013-08-11Use enum value for monitor in MoveToCenterMikael Magnusson
2013-08-11Let the If action match window titles with GRegexMikael Magnusson
2013-08-11Use a helper function to make if.c a bit shorterMikael Magnusson
2013-08-11Add activedesktop to IfMikael Magnusson
2013-08-11Add some comments in MoveResizeTo codeMikael Magnusson
2013-08-11Fix a typo that prevented setting client size for the height only (???)Mikael Magnusson
2013-08-11Convert two // to /*Mikael Magnusson
2012-10-06Make MoveResizeTo work on the dimensions of the frame, not the clientDana Jansens
2012-10-06Allow non-interactive focus cycling.Dana Jansens
Adds an <interactive>bool</interactive> option to the NextWindow and PreviousWindow actions. When it is false, the action is not interactive and will immediately switch focus to whatever the next focus target is. Removing the "interactive" flag from the focus_cycle() method, as it was unused previously, and the new code does not make use of it either. In order to be non-interactive it simply starts a focus_cycle then immediately ends it when the action ends. The "interactive" flag in focus_cycle() forced a linear cycling order which may not be what you want, so the new method is preferrable anyhow.
2012-10-06Add a $pointer execute variable substitution and make $wip and $pid ↵Dana Jansens
consistent (Fix bug 5758) $wip and $pid would output values for the current target window if there was one, but output nothing at all if there wasn't making the output difficult to parse. Changed to make these always output a 0 if there is no target. Added a $pointer variable that is replaced with the x and y coordiates of the pointer, separated by a space. Inspired by the work of Denis Kaganovich <mahatma@eu.by>.
2012-10-06Fix negative ResizeRelative values with terminal windows (Fix bug 5228)Dana Jansens
Inspired by patches from Brian Mock <mock.brian@gmail.com>.
2012-10-06Allow windows created by execute actions to steal focus if the user isn't ↵Dana Jansens
interacting with another window (Fix bug 5419). When the execute action was run, we would say that the user had used the focused at that time. Then when a new window popped up, we'd think the user was busy in the current window and prevent the new one from steal focus. Now the execute action does not update the "user interacted with the focused window" timestamp anymore. So, if they aren't currently typing in some window when they trigger an execute action, and the window appears, it will steal focus.
2012-09-30Make ResizeRelative resize in terms of pixels for windows with resize ↵Dana Jansens
increments (Fix bug 5228) If the resize is less than the window's resize increment then we bump it up to ensure a resize does at least happen.
2012-09-30Use the KeyCode to directly find the modifier mask. (Fix bug 5173)Dana Jansens
We were finding the KeySym first, and then converting back to a modifier mask. But KeySym on a key's release can differ from on its press, and we don't need them to determine the modmask from the keycode. [setxkbmap -option "grp:shifts_toggle"] turns Shift_L into XK_ISO_Prev_Group on key release, and Shift_R into XK_ISO_Next_Group.
2012-09-30Don't make desktop switching interactive when no mods used. (Fix bug #5203)Dana Jansens
Make mod state passing more consistent, and always give actions the full state instead of stripping sometimes. (They ended up expecting it stripped always).
2011-10-05Make "no" a valid choice for the dialog option in cyclewindows.c.Dana Jansens
It is the same as "none" for backward compatibility (it used to be a boolean).
2011-01-24setenv and unsetenv dont exist in Solaris 9. (Fixes bug #4663)Philip Brown
Seeing as how you already use glib, I just substituted g_setenv and g_unsetenv as appropriate, and it now works for me.
2011-01-24Fix small leak in If action option parsingMikael Magnusson
2010-09-16Fix 3.4 compatibility for SendToDesktopMikael Magnusson
2010-09-16Make the dock a context and add actions LowerDock and RaiseDockMikael Magnusson
2010-05-20Allow sending windows on other desktops to the current desktop.Mikael Magnusson
2010-05-20Add some more conditions to the If actionMikael Magnusson
It can now match on window titles, virtual desktop (number, "current", "other"), demands_attention, and undecoratedness.
2010-05-17Remove some unneeded stdlib.h includesMikael Magnusson
2010-05-17Add support for using relative expressions in move and resize actionsMikael Magnusson
Have MoveResizeTo use config_parse_gravity_coord instead of duplicating it locally Allow MoveResizeTo positions and sizes and per app positions to be relative to screen size Rename to config_parse_relative_number so it can be used for sizes too Add relative numbers to width/height in MoveResizeTo Add relative numbers to MoveRelative Add relative numbers to ResizeRelative, these are for the client size, not screen size
2010-04-16add an option to next/previous window to only include ↵Dana Jansens
hilited/flashing/urgent windows (feature req/bug #4341)
2010-03-25make keypad enter do the same thing as returnDana Jansens
2010-02-19get the modifier mask for a modifier key that is pressed/released more ↵Dana Jansens
accurately, using the table we built already for other purposes
2010-02-17don't use a variable as a format stringDana Jansens
2010-02-16more using g_slice_new() instead of g_new()Dana Jansens
2010-02-12use g_slice_new() instead of g_new() part 4Dana Jansens
2010-02-12using g_slice_new() instead of g_new() part 1Dana Jansens