Age | Commit message (Collapse) | Author |
|
|
|
|
|
* Add and use lenient_strcat and lenient_strncat functions
* Rename `concatenate_child_titles` function as that's no longer what it
does
* Rename `container_notify_child_title_changed` because we only need to
notify that the tree structure has changed, not titles
* Don't notify parents when a child changes its title
* Update ancestor titles when changing a container's layout
* Eg. create nested tabs and change the inner container to stacking
* No need to store tree presentation in both container->name and
formatted_title
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit 32a572cecfd0f6072a78ce0a381a2f8365f9010a.
This reimplements the criteria overhaul in preparation for fixing a
known bug.
|
|
DPMS and lock handling
|
|
Swayidle handles idle events and allows
for dpms and lockscreen handling. It also
handles systemd sleep events, and can
raise a lockscreen on sleep
Fixes #541
|
|
This reverts commit 3e1bf721c69cb6df70c3dc3d3d4933e987339676, reversing
changes made to 2217518bd554d0f11dafa7ec4e8f35f2e4762fbd.
|
|
Overhaul criteria implementation
|
|
|
|
cmd_move_container: Focus a window on the source workspace.
|
|
In Sway 0.15, moving a window to another workspace would cause a window on the source workspace to be focused. This restores that behavior, allowing you to quickly move a lot of windows to another workspace.
|
|
In Sway 0.15, `default_border normal 1` would set 1px wide borders. This recreates that behavior.
|
|
The criteria struct now uses properties for each token type rather than
the list_t list of tokens. The reason for this is that different token
types have different data types: pcre, string and number to name a few.
This solution should be more flexible moving forward. A bonus of this is
that criteria is now easier to understand when looking at the struct
definition.
The criteria parser has been rewritten because the previous one didn't
support valueless pairs (eg. [class="foo" floating]).
Criteria now has types. Types at the moment are CT_COMMAND,
CT_ASSIGN_WORKSPACE and CT_ASSIGN_OUTPUT. i3 uses types as well.
Previously the assign command was creating a criteria with 'move to
workspace <name>' as its command, but this caused the window to appear
briefly on the focused workspace before being moved to the assigned
workspace. It now creates the view directly in the assigned workspace.
Each view will only execute a given criteria once. This is achieved by
storing a list of executed criteria in the view. This is the same
strategy used by i3.
Escaping now works properly. Previously you could do things like
[class="Fire\"fox"] and the stored value would be 'Fire\"fox', but it
should be (and now is) 'Fire"fox'.
The public functions in criteria.c are now all prefixed with criteria_.
Xwayland views now listen to the set_title, set_class and
set_window_type events and criteria will be run when these happen. XDG
shell has none of these events so it continues to update the title in
handle_commit.
Each view type's get_prop function has been split into get_string_prop
and get_int_prop because some properties like the X11 window ID and
window type are numeric.
The following new criteria tokens are now supported:
* id (X11 window ID)
* instance
* tiling
* workspace
|
|
This reverts commit 7709340727fe2834f87b43aeeaef878694d5acd6.
|
|
This reverts commit 1670b46bf6e56d37e69ab0fa32c6799e83397020.
|
|
This reverts commit 830c4ef74c00dbe448da46cdbc576178abc5728e.
|
|
process"
This reverts commit 177c67e6b89404d9d477b82c00c1353cd4696096.
|
|
Implements support for the pango: prefix in the font command.
Closes #1903.
|
|
|
|
|
|
|
|
Derive a value from it, called `rundir` rather than writing join_paths(libexecdir,
'sway') all over the place.
|
|
|
|
|
|
|
|
|
|
This implements the title_format command, with a new placeholder %shell
which gets substituted with the view type (xwayland, xdg_shell_v6 or
wl_shell).
Example config:
for_window [title=".*"] title_format %title (class=%class instance=%instance shell=%shell)
|
|
|
|
|
|
|
|
|
|
The alpha component is merged with the container's opacity.
Completes #1882.
|
|
|
|
|
|
Implements rendering of borders. Title text is still to do.
Implements the following configuration directives:
* client.focused
* client.focused_inactive
* client.unfocused
* client.urgent
* border
* default_border
|
|
Replaces arrange_windows() with arrange_root(), arrange_output(),
arrange_workspace() and arrange_children_of().
Also makes fullscreen views save and restore their dimensions, which
allows it to preserve any custom resize and is also a requirement for
floating views once they are implemented.
|
|
|
|
Fixes #1716.
|
|
|
|
Implements the following commands:
* for_window [...] <cmdlist>
* assign [...] <workspace>
|
|
|
|
This implements the following commands:
* rename workspace to new_name
* rename workspace old_name to new_name
* rename workspace number n to new_name
|
|
|