Age | Commit message (Collapse) | Author |
|
When an xwayland view is mapped, the IPC urgent event was being sent on
every surface commit.
I had intentionally ommitted the check because I figured an urgent
surface could update its urgent timestamp by sending urgent a second
time. But that's not how it works in xwayland's case, and it makes for
more complicated code.
|
|
|
|
Implement urgency base functionality
|
|
|
|
|
|
|
|
|
|
Introduces a command to manually set urgency, as well as rendering of
urgent views, sending the IPC event, removing urgency after focused for
one second, and matching urgent views via criteria.
|
|
This PR changes the way we handle transactions to a more simple method.
The new method is to mark containers as dirty from low level code
(eg. arranging, or container_destroy, and eventually seat_set_focus),
then call transaction_commit_dirty which picks up those containers and
runs them through a transaction. The old methods of using transactions
(arrange_and_commit, or creating one manually) are now no longer
possible.
The highest-level code (execute_command and view implementation
handlers) will call transaction_commit_dirty, so most other code just
needs to set containers as dirty. This is done by arranging, but can
also be done by calling container_set_dirty.
|
|
|
|
|
|
|
|
|
|
The title and marks textures would have their height set from the
config's computed max font height, but the textures were not regenerated
when the config's max font height changed which made a gap appear.
Rather than making it regenerate the title textures every time the
config font height was changed, I've changed it to just make the
textures the height of the title itself and fill any gap when rendering.
Also, the title_width and marks_width variables have been renamed to
make it more obvious that they are in output-buffer-local coordinates.
Fixes #1936.
|
|
|
|
|
|
Fixes #2209.
|
|
Otherwise it repeatedly sets the view's border to the config's default.
|
|
When you spawn a process with the exec command, sway now notes the
workspace you had focused and the pid of the child process, then assigns
that workspace to the child when its window appears.
Some of this is carried over from sway 0.15, but with some major
refactoring and centralization of state.
|
|
|
|
|
|
This reverts commit 97672295ed50d1d6272876c4a3b6b5607cab05c6.
|
|
That happened when they were in tabbed or stacked containers.
Fixes #2161
|
|
|
|
Instead, damage each container when applying the transaction.
|
|
|
|
Also moved the arranging into view_unmap to avoid excessive code
duplication.
|
|
It happened when a view is a grandchild or deeper of the workspace, is
fullscreen, and unmaps. The workspace would not be included in the
transaction and its pointer to the fullscreen view was left dangling.
|
|
This implements atomic layout updates for when views map, reparent or
unmap.
|
|
* The arrange_foo functions are now replaced with arrange_and_commit, or
with manually created transactions and arrange_windows x2.
* The arrange functions are now only called from the highest level
functions rather than from both high level and low level functions.
* Due to the previous point, view_set_fullscreen_raw and
view_set_fullscreen are both merged into one function again.
* Floating and fullscreen are now working with transactions.
|
|
|
|
|
|
This commit fixes the function call order to make sure that the title
texture is updated using the relevant global font size.
|
|
Fixes #2085.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Don't read properties until needed, and do it with less lines of code.
|
|
|
|
|
|
Switch workspace if required when mapping a view
|
|
If a view is created on a workspace that wasn't visible, switch to it.
Fixes #1879.
|
|
* 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
|
|
|