swayfx/include/sway
Brian Ashworth 7d2076cbff criteria: fix __focused__ when no focus or unset
This fixes the behavior of `__focused__` when there is no focused view
to match i3's behavior of successfully matching no views instead of
returning an error of a missing value. It also applies the same logic
when a token is not applicable (or unset) for a view such as `app_id`
for a focused xwayland view or `class` for a focused xdg-shell view.

This adds an `autofail` boolean to `struct criteria`. If it is set to
`true`, then `criteria_matches_view` will immediately bail out as a
no match. If `autofail` is set, the criteria will also not be
considered empty by `criteria_is_empty`.

To set this new `autofail` property, `get_focused_prop` will now take
in a boolean pointer of the same name. If `__focused__` is supported
for the token and there is no focused view or the focused view does not
have a value for the token, then the boolean will be set to true. In
`parse_token`, the boolean value will be checked and if set to true,
then `criteria->autofail` will be set to true and `parse_token` will
bail successfully. Tokens will still be parsed to make sure the whole
criteria is syntactically valid, which is also why
`&criteria->autofail` is not passed to `get_focused_prop` and a local
boolean is declared in `parse_token`.
2019-03-23 09:53:23 +02:00
..
desktop Rebase the cursor after applying transactions 2018-10-25 23:37:40 +10:00
input Support WLR_INPUT_DEVICE_SWITCH in sway 2019-03-19 23:58:47 -04:00
tree Remove debug tree 2019-03-18 11:29:19 -04:00
commands.h Support WLR_INPUT_DEVICE_SWITCH in sway 2019-03-19 23:58:47 -04:00
config.h Support WLR_INPUT_DEVICE_SWITCH in sway 2019-03-19 23:58:47 -04:00
criteria.h criteria: fix __focused__ when no focus or unset 2019-03-23 09:53:23 +02:00
decoration.h Handle views created after decoration mode is sent for xdg-shell 2018-08-06 15:20:30 +01:00
desktop.h Store geometry in the view and handle any floating view resizing 2018-08-18 15:10:06 +10:00
ipc-json.h Make json-c include respect pkg-config --cflags 2019-01-23 21:50:06 -05:00
ipc-server.h swaybar: show hidden bar on key event 2018-10-14 13:33:12 +01:00
layers.h Update for swaywm/wlroots#1243 2018-09-14 19:21:44 +02:00
output.h Fix output config retrieval for new outputs 2019-03-16 10:40:46 -06:00
security.h Move get_feature_policy to sway/security.c 2017-04-16 17:09:53 +03:00
server.h Remove debug tree 2019-03-18 11:29:19 -04:00
swaynag.h Remove swaynag_clone and use memcpy 2018-08-03 10:40:09 -04:00
xdg_decoration.h Improve CSD logic 2018-09-27 22:51:37 +10:00
xwayland.h Parse missing i3 window types 2018-10-21 15:59:04 +02:00