Brian Ashworth
46da1dc32b
Implement focus_wrapping
7 years ago
Ryan Dwyer
7c7d24600b
Fix ancestor typos
7 years ago
Ryan Dwyer
9df1432f56
Refactor parse_title_format
...
Don't read properties until needed, and do it with less lines of code.
7 years ago
Drew DeVault
b2c0ba5b18
Merge pull request #2050 from smlx/focus-fix
...
Focus containers only on entry.
7 years ago
Drew DeVault
53a3fc63c5
Merge pull request #2055 from RedSoxFan/output-destroy-workspace-ipc
...
Send workspace::move in container_output_destroy
7 years ago
frsfnrrg
a78a5684ea
Implement bindsym/bindcode --locked
...
Adds the --locked flag to bindsym and bindcode commands.
When a keyboard's associated seat has an exclusive client
(i.e, a screenlocker), then bindings are only executed if
they have the locked flag. When there is no such client,
this restriction is lifted.
7 years ago
Scott Leggett
4d8120ccf3
Improve comment.
7 years ago
Brian Ashworth
fd137c4f05
Send workspace::move in container_output_destroy
7 years ago
Scott Leggett
b57f88e7db
Avoid assert on container type.
7 years ago
Scott Leggett
1b8de39287
Move previous cursor_position inline.
7 years ago
emersion
9c0cc98d07
Don't move empty workspaces when output is destroyed
7 years ago
Scott Leggett
d1ebbebea0
Remove unused function.
7 years ago
Scott Leggett
0039f7a4fd
Simplify logic, remove redundant variables.
7 years ago
Scott Leggett
dd86444e59
Rely on view_is_visible rather thank walking the tree ourselves.
7 years ago
Scott Leggett
4cd304e4ba
Store previous position in sway_cursor.
7 years ago
Ryan Dwyer
8fda41dab5
Merge branch 'master' into cmd-swap
7 years ago
Drew DeVault
a372852c44
Merge branch 'master' into xdg-shell-tiled
7 years ago
emersion
b350e8ec82
xdg-shell: make all toplevels tiled
7 years ago
Ryan Dwyer
d3dd7e5bae
Rename view_get_type to view_get_shell
7 years ago
Ryan Dwyer
484cc189e9
Add shell criteria token
...
Closes #2044 .
7 years ago
Scott Leggett
06098bef98
Focus containers only on entry.
7 years ago
Ryan Dwyer
51865c00c8
Add %app_id to title_format
7 years ago
Brian Ashworth
569f4e0e4c
Implement swap command
7 years ago
Drew DeVault
fea654a6ce
Replace oft-failing abort with if statement
...
Fixes #2045
7 years ago
Ivan Chebykin
464ec44b00
Check for next_focus before assert
7 years ago
Ivan Chebykin
6e6b0decd9
Fix usage of sway_assert
7 years ago
Ivan Chebykin
820a8c9c2d
Moved visibility check of of loop, added asserts
7 years ago
Ivan Chebykin
740234a4bc
Break after first tabbed/stacked layout
7 years ago
Ivan Chebykin
53516fa03f
Fix mouse focusing for horizontal/vertical views in tabbed containers
7 years ago
Ivan Chebykin
f85d3e15ba
Fixed styling issues
7 years ago
Ivan Chebykin
e19fe56e2f
Focus inactive container instead of checking cursor position
7 years ago
Ivan Chebykin
3b67253312
Skip all nested containers
7 years ago
Ivan Chebykin
c62efbb5ce
Implement correct focusing for tabbed containers
7 years ago
Ivan Chebykin
c1be4b0153
Fix focusing from other containers
7 years ago
Ivan Chebykin
87af08966a
Don't focus tabbed and stacked containers on mouseover
7 years ago
emersion
24832d8574
Update for swaywm/wlroots#1000
7 years ago
emersion
01abab8838
Merge pull request #2017 from emersion/wlroots-993
...
Update for swaywm/wlroots#993
7 years ago
Drew DeVault
ab74c95d56
Merge pull request #2036 from RyanDwyer/workspace-switch-on-map
...
Switch workspace if required when mapping a view
7 years ago
Drew DeVault
daf328d054
Merge pull request #2033 from RyanDwyer/arrange-after-flatten
...
Arrange views after flattening the parent
7 years ago
Drew DeVault
a268a0c2ae
Merge pull request #2034 from RyanDwyer/cleanup-container-titles
...
Clean up container title functions
7 years ago
Ryan Dwyer
f32a002401
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 .
7 years ago
Ryan Dwyer
e496cc99f8
Fix focus bug when moving between outputs
...
When moving focus left or right to an adjacent output, only select the
first or last child in the new workspace if the workspace's layout is
horizontalish. If it's a verticalish layout, use the last focused
container.
7 years ago
Ryan Dwyer
db38b9bbf3
Clean up container title functions
...
* 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
7 years ago
Ryan Dwyer
320703fdca
Arrange views after flattening the parent
...
Fixes #2029 .
7 years ago
Ryan Dwyer
c9630975da
Fix crash in move workspace to output command
...
Fixes #2026 .
7 years ago
Ryan Dwyer
cdbae9a5e9
Fix nested tabs
...
Fixes #2023 .
7 years ago
Brian Ashworth
a6d43ff746
Implement IPC_GET_MARKS
7 years ago
Ryan Dwyer
5354988317
Implement clicking stacked title bars
7 years ago
Ryan Dwyer
f6c3682c05
Use constants for titlebar dimensions
7 years ago
Ryan Dwyer
664169fbf1
Implement stacked layout
7 years ago
Drew DeVault
8bbf78fdd4
Fix focus follows mouse with no focus
7 years ago
emersion
708ff238f3
Update for swaywm/wlroots#993
7 years ago
Brian Ashworth
0273c6438c
Fix hide_edge_borders smart for tabs and stacks
7 years ago
Ryan Dwyer
048b29527b
Pre-multiply alpha for tab decorations
7 years ago
Ryan Dwyer
90607dc329
Add left/right borders to tabs
7 years ago
Ryan Dwyer
5ab4930185
Fix tab border issues
7 years ago
Ryan Dwyer
4672cb7ccf
Use class or app_id in tree representation
7 years ago
Ryan Dwyer
efc07fb3d4
Don't track damage for views on inactive tabs
7 years ago
Ryan Dwyer
bd79584f65
Add assertion in container_at_view
7 years ago
Ryan Dwyer
c08f9bf257
Implement tabbed layout
7 years ago
Ryan Dwyer
c4ea2b51f6
Fix hide_edge_borders constraints
...
When checking if a border is on the edge, the check should be done
against the workspace rather than the output.
7 years ago
Brian Ashworth
82cd55a670
Fix border commands from changing focus
7 years ago
Drew DeVault
cf3ab1f45f
Merge pull request #2007 from swaywm/fix-focus-follows-mouse
...
Fix focus_follows_mouse over swaybar
7 years ago
Drew DeVault
a3d3c819cf
Fix focus_follows_mouse over swaybar
...
If you moved your mouse over swaybar (e.g. to scroll between
workspaces), focus would move to the workspace. This is not the right
thing to do. The solution is complicated by the fact that if you move
your mouse into a new output with an empty workspace, that workspace
_should_ receive focus.
7 years ago
Brian Ashworth
750a497a8b
Pre-multiply alpha for non-textures
7 years ago
Konstantin Pospelov
fcc11f9771
Fix pixel bar below title
...
This commit changes how the left and right indents are calculated for the
title bottom pixel bar, so that it is displayed properly in case the left or
right border is hidden.
7 years ago
Ryan Dwyer
9fd28aea8c
Rebuild textures if needed when moving a container
...
When moving a container to an output which has a different scale than
the previous, rebuild the title and marks textures at the new scale.
Fixes #1999 .
7 years ago
Ryan Dwyer
f0212d66ee
Update marks textures on output scale event
7 years ago
Ryan Dwyer
ebb0d051db
Fix many border opacity issues
7 years ago
Ryan Dwyer
b1645fb352
Update show_marks documentation
7 years ago
Ryan Dwyer
69ac7f73e7
Destroy marks textures when view destroyed
7 years ago
Ryan Dwyer
b351d0a64a
Set textures to null when destroying
7 years ago
Ryan Dwyer
5384fdcbc6
Don't show marks which start with an underscore
7 years ago
Ryan Dwyer
0e2cc0af30
Implement show_marks
7 years ago
Ryan Dwyer
fc96f004d2
Don't steal focus when a view changes its title
...
Fixes #1989
7 years ago
Dominique Martinet
89ae1792b5
sway: run commands without waiting for Xwayland
...
Xwayland is lazy now, there is no need to wait at all
7 years ago
emersion
79e970d86e
Correctly clip title texture if necessary
7 years ago
Ryan Dwyer
4d1edfcba9
Change unmark implemention to match i3's
7 years ago
Ryan Dwyer
22d38600d0
Implement marks
7 years ago
Brian Ashworth
9ba0dca7ba
Merge branch 'master' into fix-1975
7 years ago
Brian Ashworth
77b42ec821
Always render top border for border normal
7 years ago
emersion
95a10dd4f3
Kill wl_shell
7 years ago
Brian Ashworth
3488fbc859
Fix y and height for a hidden top normal border
7 years ago
Brian Ashworth
34b864fb17
Merge branch 'master' into fix-1975
7 years ago
Brian Ashworth
6ff7c52736
Fix titles and detect edges for hide_edge_borders
7 years ago
Ryan Dwyer
92b8497a0b
Fix crash when launching programs from dmenu
7 years ago
Ryan Dwyer
8432d8a15e
xdg_shell: Replace get_prop with get_string_prop
7 years ago
Ryan Dwyer
490f92255c
Initialise error_arg to NULL in criteria_parse
7 years ago
Ryan Dwyer
39007fc30f
Fix double free in criteria
7 years ago
Ryan Dwyer
bffcb496cc
Revert "Revert "Merge pull request #1953 from RyanDwyer/criteria-focused""
...
This reverts commit ac0e62584f
.
This reimplements the criteria __focused__ commit in preparation for
fixing a known bug.
7 years ago
Ryan Dwyer
1e9aaa54a8
Revert "Revert "Merge pull request #1943 from RyanDwyer/criteria-improvements""
...
This reverts commit 32a572cecf
.
This reimplements the criteria overhaul in preparation for fixing a
known bug.
7 years ago
Drew DeVault
404d006a1c
Enable lazy xwayland
7 years ago
Drew DeVault
b2dec12368
Merge pull request #1970 from emersion/xdg-shell-stable
...
Add xdg-shell stable support
7 years ago
emersion
88d9d43b36
Add xdg-shell stable support
7 years ago
Heghedus Razvan
789a877b37
Fix crash when using pango markup font
...
The characters & < > ' " needs to be escaped when using pango markup
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
Drew DeVault
61aa0937a7
Merge pull request #1824 from snaggen/idle
...
DPMS and lock handling
7 years ago
Ryan Dwyer
90e6dfa268
Merge branch 'master' into edge-borders
7 years ago
Brian Ashworth
0f43eac5dc
Fix recursion when counting descendants of a type
7 years ago
Mattias Eriksson
8fbafbfab5
Idle handling for dpms/lockscreen et al
...
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
7 years ago
emersion
360e63b8a7
Don't destroy view child on xdg-popup unmap
7 years ago
Brian Ashworth
2adf23c2a3
Only count views for hide_edge_borders smart
7 years ago
Brian Ashworth
ec60e24f75
Merge branch 'master' into edge-borders
7 years ago
Brian Ashworth
e3625d8f33
Count descendant views for hide_edge_borders smart
7 years ago
Drew DeVault
e2b8eac4bf
Merge branch 'master' into wlroots-970
7 years ago
Drew DeVault
2da685e913
Merge remote-tracking branch 'origin/master' into scdoc
7 years ago
Drew DeVault
51b0b25587
Merge pull request #1959 from RyanDwyer/ipc-get-seats
...
Implement IPC get_seats command
7 years ago
Drew DeVault
a2d7079b26
Merge branch 'master' into scdoc
7 years ago
Drew DeVault
da679a8051
Fix typos
7 years ago
emersion
50298dc901
Send pointer discrete axis values and source
...
Update for swaywm/wlroots#970
7 years ago
Drew DeVault
32a572cecf
Revert "Merge pull request #1943 from RyanDwyer/criteria-improvements"
...
This reverts commit 3e1bf721c6
, reversing
changes made to 2217518bd5
.
7 years ago
Drew DeVault
ac0e62584f
Revert "Merge pull request #1953 from RyanDwyer/criteria-focused"
...
This reverts commit 2511adffc2
, reversing
changes made to 3e1bf721c6
.
7 years ago
Ryan Dwyer
c72940837c
Implement IPC get_seats command
7 years ago
Ryan Dwyer
4717c71da5
Merge branch 'master' into fix-crash-on-fullscreen
7 years ago
Ryan Dwyer
94e42f9857
Implement __focused__ criteria
7 years ago
Drew DeVault
7a964651fb
Remove sway-security(7)
...
We will need to overhaul this for 1.0
7 years ago
Drew DeVault
d9a08b7a9d
Add sway-input(5)
7 years ago
Drew DeVault
1813482266
Add sway-bar(5)
7 years ago
Drew DeVault
432256ad84
Add sway(5)
7 years ago
Drew DeVault
c2a7d367af
Wire up scdoc and rewrite sway(1)
7 years ago
Drew DeVault
3e1bf721c6
Merge pull request #1943 from RyanDwyer/criteria-improvements
...
Overhaul criteria implementation
7 years ago
Brian Ashworth
3db7fc2bb2
Implement hide_edge_borders
7 years ago
Dudemanguy911
935bda0f33
fix crash on fullscreen toggle
7 years ago
Drew DeVault
2217518bd5
Merge pull request #1956 from ggreer/move-focus
...
cmd_move_container: Focus a window on the source workspace.
7 years ago
Geoff Greer
87fa84df13
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.
7 years ago
Geoff Greer
0a79983f94
Allow setting border widths for normal borders using default_border.
...
In Sway 0.15, `default_border normal 1` would set 1px wide borders. This recreates that behavior.
7 years ago
Ryan Dwyer
8595fc5a6f
Update criteria documentation
7 years ago
Ryan Dwyer
0bf0a4fa40
Don't unescape \\ in criteria
7 years ago
Ryan Dwyer
3b0c26d149
Overhaul criteria implementation
...
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
7 years ago
Ryan Dwyer
83e314bf51
Highlight all child borders when using focus parent
7 years ago
emersion
44fcc06efd
Fix damage tracking on HiDPI
7 years ago
emersion
90614f3a63
Accumulate surface damage even if whole=true
7 years ago
emersion
c0f5d740a5
Damage container when updating title
7 years ago
emersion
70b80b4698
Damage container on focus
7 years ago
emersion
bec80f1551
Damage borders when damaging view
7 years ago
emersion
98f7ee8f59
Render borders with damage
7 years ago
emersion
c8a9ea3903
Implement full damage tracking
7 years ago
Drew DeVault
3bab37858a
Merge pull request #1932 from emersion/fix-layer-shell-exclusive
...
layer-shell: use usable_area when arranging non-exclusive layer surfaces
7 years ago
Ryan Dwyer
497793b5b7
Use reasonable default for font height
...
Fixes #1949
7 years ago
emersion
3d29e73e72
layer-shell: use usable_area when arranging non-exclusive layer surfaces
7 years ago
Dan Robertson
4ebd6f3507
Fix null deref in server_init
...
If the backend fails to be created, log an error and immidiately return
from server_init.
7 years ago
Ryan Dwyer
4922d269b8
Fix titles on rotated outputs
...
If the output is rotated, the scissor box needs to be transformed in the
opposite rotation.
7 years ago
Vincent Vanlaer
95dac2a069
Update xwayland start for new API
...
https://github.com/swaywm/wlroots/pull/959
7 years ago
Rostislav Pehlivanov
b592351eef
Revert "exec_always: Search for executables in /usr/lib/sway"
...
This reverts commit 7709340727
.
7 years ago
Rostislav Pehlivanov
2c0c3dc7cc
Revert "Make the LIBDIR path configurable"
...
This reverts commit 1670b46bf6
.
7 years ago
Rostislav Pehlivanov
0cdc47ab1e
Revert "Meson: Replace option `instlibdir` with `libexecdir`"
...
This reverts commit 830c4ef74c
.
7 years ago
Rostislav Pehlivanov
cf602687c6
Revert "command/exec_always: Use wlr_log for logging errors in the child process"
...
This reverts commit 177c67e6b8
.
7 years ago
Ryan Dwyer
556ff5f50e
Implement pango support
...
Implements support for the pango: prefix in the font command.
Closes #1903 .
7 years ago
Ryan Dwyer
1daf69477e
Fix PATH setenv() in exec_always
7 years ago
emersion
786727d8bb
Merge branch 'master' into usr-lib
7 years ago
Nicolas Braud-Santoni
177c67e6b8
command/exec_always: Use wlr_log for logging errors in the child process
7 years ago
Nicolas Braud-Santoni
830c4ef74c
Meson: Replace option `instlibdir` with `libexecdir`
...
Derive a value from it, called `rundir` rather than writing join_paths(libexecdir,
'sway') all over the place.
7 years ago
Nicolas Braud-Santoni
1670b46bf6
Make the LIBDIR path configurable
7 years ago
Nicolas Braud-Santoni
7709340727
exec_always: Search for executables in /usr/lib/sway
7 years ago
Ryan Dwyer
936226845f
Add extra check for view title being NULL
7 years ago
Ryan Dwyer
5d6d24e71a
Move code for re-arranging after font height change into a common place
7 years ago
Ryan Dwyer
da7d6642d3
Refactor parse_title_format()
7 years ago
Ryan Dwyer
d10a0a8c41
Fix memory leak in title_format command
7 years ago
Ryan Dwyer
228c478e8d
Implement title_format
...
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)
7 years ago
Ryan Dwyer
e83e5487be
Use scissor to render title texture
...
This allows the title's texture to always be the full width of the text,
and clipped at render time according to the desired width (eg. tabs...).
As an added bonus, the texture no longer needs to be updated when
containers are arranged.
7 years ago
Alex Xu (Hello71)
3202c45054
Check for NULL in container_update_title
...
Fixes crash when opening Firefox developer tools.
7 years ago
Drew DeVault
029c9b1796
Merge pull request #1907 from emersion/backend-input-mapping
...
Default to backend-wise input device mapping, if any
7 years ago
Drew DeVault
d233e75eec
Hide cursor on touch down
7 years ago
Drew DeVault
00e62c214d
Fix alphabetization of command list
7 years ago
emersion
424006089e
Default to backend-wise input device mapping, if any
7 years ago
emersion
29224e7aec
Fix segfault when running the resize command without arguments
7 years ago
Ryan Dwyer
ed0d606c2a
Fix title texture width
...
Use max of the container width or text width.
7 years ago
Drew DeVault
85396b90fb
Fix unfocused.text default
7 years ago
Drew DeVault
58a033d816
Convert border_colors.text to float[4]
7 years ago
Drew DeVault
8f06aa7598
Fix anti-aliasing
7 years ago
Ryan Dwyer
74d1367fac
Update titles when surfaces are committed
7 years ago
Ryan Dwyer
89d1571041
Fix potential segfault when setting container title
7 years ago
Ryan Dwyer
55b307cddf
Calculate config->font_height based on existing container titles
7 years ago
Ryan Dwyer
b667298a0a
Render titles
7 years ago
Drew DeVault
52aa245b24
Implement basic touch support
...
This required changing container_at_cursor to container_at_coords so
that we could get the appropriate surface (and sx/xy) without moving the
cursor.
Future work:
- Simulate a cursor for clients which have not bound to wl_touch
- Keep sending motion events when moving outside the surface (#1892 )
- Bind gestures to sway commands
7 years ago
Dillen Meijboom
b45e2bd95e
Fixed #1888 GCC cannot compile due to uninitialized variables ( #1889 )
7 years ago
Ryan Dwyer
daab8e3503
Support alpha in border colours
...
The alpha component is merged with the container's opacity.
Completes #1882 .
7 years ago
db
22170bde77
Fix layer surface crash on output destroy
...
Before freeing sway_output, NULL the wlr_output reference to it. Check for that
NULL in layer_shell handle_destroy. Don't damage null container in unmap.
Additionaly, terminate swaybg if its output is being disabled.
7 years ago
Ryan Dwyer
cb07434913
Remove unnecessary pointers
7 years ago
Ryan Dwyer
51df1d4ff8
Update cursor when border is changed
7 years ago
Drew DeVault
7f574c538d
Fix alphabetization of commands array
7 years ago
Ryan Dwyer
83952c5201
Restore view_update_position()
7 years ago
Ryan Dwyer
55577498c0
Allow clicking view decorations to focus view
7 years ago
Ryan Dwyer
700510b45e
Implement indicator border
7 years ago
Ryan Dwyer
ed9e2015b2
Scale borders according to output scale
7 years ago
Ryan Dwyer
0375f966f1
Fix surface offset when using borders
7 years ago
Ryan Dwyer
fa5de2876e
Move docblock and fix indenting of switch/case.
7 years ago
Ryan Dwyer
630ba30e3c
Implement borders
...
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
7 years ago
Ryan Dwyer
91f97fc21a
Fix segfault in view_unmap()
...
If the last remaining view on a workspace is unmapped and the workspace
is not visible, parent will be a C_OUTPUT. Call the arrange_output()
function in this case.
7 years ago
Ryan Dwyer
312fdf313f
Remove arrange_windows()
...
After the refactor, this function is no longer called.
7 years ago
emersion
976e6b99b6
Merge branch 'master' into refactor-arrange-windows
7 years ago
Drew DeVault
24ab66d123
Merge pull request #1867 from emersion/wlroots-923
...
Update for wlroots#923
7 years ago
emersion
3fd8897abe
Don't call view_set_fullscreen on unmapped xwayland views
7 years ago
Ryan Dwyer
167c2e1aa9
Refactor arrange_windows()
...
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.
7 years ago
emersion
860d2384b4
Update for swaywm/wlroots#923
7 years ago
Geoff Greer
5587af1782
Rename len to msg_len. Avoids an aliased variable that was a little confusing to follow.
7 years ago
Geoff Greer
b9726afd48
invoke_swaybar(): Set process group. Kill process group.
...
Fixes a bug where terminate_swaybar() did not terminate swaybar.
7 years ago
emersion
ff61df17ff
Add map_from_region command
7 years ago
Ryan Dwyer
ae39d7b28c
Remove sway_container.workspace_layout
...
Fixes #1716 .
7 years ago
Drew DeVault
c54097428a
Merge branch 'master' into criteria-commands
7 years ago
emersion
df245780d2
Do not let tiled xwayland views do what they want
7 years ago
emersion
3ed3bdf03f
Fix segfault when switching back to workspace with osu!
7 years ago
Ryan Dwyer
dfc26c664f
Update wording about unmanaged/unmapped views
7 years ago
Ryan Dwyer
689a6a5605
Use size_t instead of int and calloc instead of malloc
7 years ago
Ryan Dwyer
30a7488936
Add assert to view_execute_criteria()
7 years ago
Ryan Dwyer
72767e1cc3
Implement criteria commands
...
Implements the following commands:
* for_window [...] <cmdlist>
* assign [...] <workspace>
7 years ago
Ryan Dwyer
22b9169631
Fix crash in container_descendants()
...
If root is a C_VIEW, the children property is a null pointer.
7 years ago
Drew DeVault
420a669f21
Updates per swaywm/wlroots#887
7 years ago
Ryan Dwyer
fbb5198e43
Sort workspaces after rename
7 years ago
Ryan Dwyer
d956286b92
Implement rename workspace command
...
This implements the following commands:
* rename workspace to new_name
* rename workspace old_name to new_name
* rename workspace number n to new_name
7 years ago
Ryan Dwyer
4d2b3fc950
Render unmanaged xwayland views when an xwayland view is fullscreen
...
This makes Chromium and Firefox context menus appear when fullscreen.
7 years ago
emersion
a41057714f
Update for wlroots#885
7 years ago
Drew DeVault
72149111a5
Merge pull request #1838 from emersion/use-wlr-renderer-init-wl-shm
...
Use wlr_renderer_init_wl_shm
7 years ago
Drew DeVault
4386dcb624
Merge pull request #1837 from emersion/cursor-default-to-current-time
...
Default to current time when triggering cursor events
7 years ago
emersion
b96d774c70
Use wlr_renderer_init_wl_shm
7 years ago
emersion
4cf77e1de4
Default to current time when triggering cursor events
7 years ago
Drew DeVault
6e6decf385
Merge pull request #1834 from emersion/xwayland-no-unmap-on-destroy
...
Don't unmap on destroy, this is already guaranteed by wlroots
7 years ago
emersion
33ed279494
Update cursor when workspace focus changes
7 years ago
emersion
17bee33fc9
Don't unmap on destroy, this is already guaranteed by wlroots
7 years ago
Ryan Dwyer
34429a3605
Keep view fullscreened when moving to another workspace.
...
container_handle_fullscreen_reparent() must be called *after* setting
the container's new parent.
7 years ago
Ryan Dwyer
6afccd07d9
Add TODO about rendering fullscreen views smaller than the output
7 years ago
Ryan Dwyer
76837b9132
Ignore xdg_shell_v6 request_fullscreen if not mapped
7 years ago
Ryan Dwyer
bd67342bdc
Don't render top layer when fullscreen.
7 years ago
Drew DeVault
777800e37a
Fix qutebrowser crash on context menu dismissal
7 years ago
Drew DeVault
21eb63cc9e
Merge branch 'master' into fullscreen
7 years ago
Ryan Dwyer
9ab61716b5
Correct the repeat_rate documentation.
7 years ago
Ryan Dwyer
9d3739a6f7
Split repeat commands into separate files.
7 years ago
Ryan Dwyer
9715e38ca8
render_output(): When fullscreen, clear to black and don't render background
7 years ago
Ryan Dwyer
45a2fad0de
container_get_in_direction(): Don't split this function
7 years ago
Ryan Dwyer
7e38cc2e05
arrange_windows(): Calculate workspace properties when fullscreen
7 years ago
Ryan Dwyer
2acfbc519e
xdg_shell_v6: Use client_pending state instead of current
...
It appears client_pending is the state that should be used here.
7 years ago
Ryan Dwyer
1285f01b13
Merge branch 'master' into fullscreen
7 years ago
Ryan Dwyer
5b30391383
Make key repeat configurable
...
This creates two input commands for configuring the repeat delay and rate.
Example config:
input "myidentifier" {
repeat_delay 250
repeat_rate 25
}
7 years ago
Ryan Dwyer
8d06b222f0
Fullscreen rendering and input fixes.
...
* Render background when using fullscreen, because transparency.
* Check that fullscreen surface allows input.
* Don't look for surfaces in top layer if there's a fullscreen view.
7 years ago
Ryan Dwyer
35ccdd67a8
More fullscreen fixes.
...
* Render fullscreen views without wlr function, which makes popups and
lockscreen work.
* Don't allow input events to surfaces behind fullscreen views.
* Use correct output dimensions (for rotated outputs).
7 years ago
emersion
7114451607
Destroy display in server_fini
7 years ago
Ryan Dwyer
72beae209b
Fullscreen fixes.
7 years ago
Ryan Dwyer
cc4da245a8
Fix views unmapping their own fullscreen windows.
7 years ago
Ryan Dwyer
143b528f71
Handle fullscreen flag when mapping a surface.
7 years ago
Ryan Dwyer
a44d016e2b
Don't damage views if they're hidden by a fullscreen view.
7 years ago
Ryan Dwyer
c685ef081f
Create sway_workspace struct.
7 years ago
Ryan Dwyer
bfd5834f4c
Feedback for fullscreen.
7 years ago
Ryan Dwyer
52420cc24d
Implement fullscreen.
7 years ago
db
f555edf353
remove empty workspace when focusing its output
...
Until now, focus changing code only considered cleaning up the last focused
workspace. This commit adds removal of empty workspace from output that just
received focus on a different workspace.
Fixes : #1797
7 years ago
Dominique Martinet
8490d1662c
Fix gcc maybe-uninitialized warning
7 years ago
Dominique Martinet
25af959fe9
Fix gcc string truncation warnings
7 years ago
emersion
2b34bf1882
Merge branch 'master' into crashes
7 years ago
emersion
bdaf420ead
Do not call the map handler when an xwayland surface is created
7 years ago
Dominique Martinet
de65d05821
container_destroy: fix segfault
...
cont->children doesn't have to be NULL when there is no children
7 years ago
Dominique Martinet
1fd21650d7
seat_set_focus_wrap: fix use-after-free when destroying last focused container
7 years ago
Danny Bautista
c53b2edd41
Add documentation for seat cursor command.
7 years ago
Danny Bautista
c355d680e9
Clean up cursor simulation code.
7 years ago
Danny Bautista
1edb2bd892
Implement cursor event simulation with sway commands.
7 years ago
db
63b2543749
Add workspace_auto_back_and_forth for move cmd
7 years ago
Drew DeVault
07b6be6214
Merge pull request #1769 from acrisci/focus-inactive-fixes
...
Focus inactive fixes
7 years ago
Drew DeVault
0e3ddf255e
Add input "identifier" map_to_output "identifier"
7 years ago
Tony Crisci
8ecd89b7ef
address feedback
7 years ago
Tony Crisci
ae78f6fb93
Merge branch 'wlroots' into focus-inactive-fixes
7 years ago
Drew DeVault
9c5a88a7bd
Fix cursor motion issues
...
Use only one canonical cursor x/y position and send cursor enter when
mouse is warped.
Tangentally related to #1714
7 years ago
Tony Crisci
70b33342fe
criteria match containers
7 years ago
emersion
5ebc99253a
Use wlr_surface_point_accepts_input for unmanaged surfaces
7 years ago
Tony Crisci
46280460a5
push all parents of focused container in focus stack
7 years ago
Drew DeVault
efff7c4225
Merge pull request #1776 from emersion/wlroots-remove-backend-egl
...
Update for wlroots#850
7 years ago
emersion
9570e37016
Update for wlroots#850
7 years ago
Drew DeVault
8763957344
Merge pull request #1774 from swaywm/tablet-tool
...
Implement tablet tool support
7 years ago
Drew DeVault
9114d3b84c
Implement tablet tool support
7 years ago
db
042b80b9fa
Add workspace_auto_back_and_forth command
...
This is the only missing piece - other code regarding this functionality has
already been ported from pre-wlroots source.
7 years ago
Tony Crisci
9db859585e
container_create_notify on split
7 years ago
Tony Crisci
0ff22c1755
implement ipc focus stack
7 years ago
Tony Crisci
de811823b6
seat focus inactive children foreach
7 years ago
Tony Crisci
c0f9ee7bd1
seat get focus inactive view
7 years ago
emersion
2b357af7ee
Give keyboard focus to unmanaged xwayland surfaces
...
This fixes dmenu
7 years ago
emersion
a5d06b6e2b
Merge pull request #1766 from emersion/fix-output-container-position
...
Fix output containers position
7 years ago
Drew DeVault
5d34e4531f
Add basic server decorations support
7 years ago
emersion
61abd56ca4
Fix output containers position
7 years ago
Drew DeVault
b12b848bdc
Merge pull request #1759 from emersion/output-send-frame-done
...
Don't send frame done immediately when rendering
7 years ago
emersion
8af0c2b000
Don't send frame done immediately when rendering
7 years ago
emersion
33b4f945ab
Fix inverted assertion
...
Seems like it doesn't work this way
7 years ago
Drew DeVault
c47b4d4edb
Merge pull request #1756 from emersion/output-damage
...
Fine-grained damage tracking
7 years ago
Drew DeVault
f5a9bd5cb7
Merge pull request #1700 from swaywm/move-cmd-full
...
Implement move [left|right|up|down]
7 years ago
emersion
93ca8919f6
Don't rejigger if parent has two children
7 years ago
emersion
37b173f326
When moving between outputs, use output center as reference
7 years ago
Drew DeVault
606d322bc2
Container coordiantes/sizes are floating point
7 years ago
Drew DeVault
640232eb22
Revert "Break everything^W^WUse wlr_box for sway_container"
7 years ago
emersion
0c627918bb
Damage all surfaces when damaging whole container
7 years ago
Drew DeVault
df0d57b916
Fix issue with incorrectly rejiggered workspaces
7 years ago
Drew DeVault
764489e737
Break everything^W^WUse wlr_box for sway_container
7 years ago
Drew DeVault
9109b1fd11
Fix moving to parallel container on another output
7 years ago
Drew DeVault
5ff16994c5
Address @emersion feedback
7 years ago
emersion
58914822aa
Don't damage the whole output
7 years ago
Drew DeVault
c8be7bfc1e
Fix another of @orestisf1993's issues
7 years ago
emersion
e550e22c0b
Refactor rendering code
7 years ago
Drew DeVault
1f70b94f34
Fix moving into right end of container
7 years ago
Drew DeVault
cd6e3182fa
Fix issues @orestisf1993 raised
7 years ago
Drew DeVault
b5baa78dc3
Address @emersion's comments
7 years ago
Drew DeVault
603e0e42c5
Add debug tree view
7 years ago
emersion
516f5454ad
Simplify damage tracking functions, use them in layer shell
7 years ago
emersion
290c916290
Send surface enter/leave events to view children
7 years ago
Drew DeVault
a06052ad9d
Fix splitting workspaces
7 years ago
Drew DeVault
efac07db5f
Fix workspaces not updated on swaybar
7 years ago
Drew DeVault
57954a2b24
Implement move [left|right|up|down]
...
The exact semantics of this command are complicated. I'll describe each
test scenario as s-expressions. Everything assumes L_HORIZ if not
specified, but if you rotate everything 90 degrees the same test cases
hold.
```
(container (view a) (view b focus) (view c))
-> move left
(container (view b focus) (view a) (view c))
(container (view a) (view b focus) (view c))
-> move right
(container (view a) (view c) (view b focus))
(container L_VERT (view a))
(container L_HORIZ
(view b) (view c focus))
-> move up
(container L_VERT
(view a) (view c focus))
(container L_HORIZ (view b))
(workspace
(view a) (view b focus) (view c))
-> move up
(workspace [split direction flipped]
(view b focus)
(container (view a) (view c)))
(workspace
(view a) (view b focus) (view c))
-> move down
(workspace [split direction flipped]
(container (view a) (view c))
(view b focus)))
Note: outputs use wlr_output_layout instead of assuming that i+/-1 is
the next output in the move direction.
(root
(output X11-1
(workspace 1))
(output X11-2
(workspace 1 (view a focus) (view b)))))
-> move left
(root
(output X11-1
(workspace 1 (view a focus)))
(output X11-2
(workspace 1 (view b)))))
(root
(output X11-1
(workspace 1
(container (view a) (view b)))
(output X11-2
(workspace 1 (view c focus)))))
-> move left
(root
(output X11-1
(workspace 1
(container (view a) (view b))
(view c focus)))
(output X11-2
(workspace 1)))
```
7 years ago
Drew DeVault
d77a0119f4
Avoid arranging windows while reloading config
7 years ago
Drew DeVault
cca420b2f8
Fix focus_follows_mouse issues
7 years ago
Drew DeVault
b08f7e5183
Fix deletion of still-visible workspaces on unfocus
7 years ago
emersion
88e3e5ea5d
Fix wl_output enter/leave events
...
Fixes #1739
7 years ago
emersion
c2b1beef15
Remove L_TYPES
7 years ago
emersion
254ca8103c
Merge pull request #1747 from acrisci/ipc-layout
...
ipc layout
7 years ago
Drew DeVault
f63d9417cd
Merge pull request #1743 from emersion/subsurface-damage-tracking
...
Damage tracking for view children
7 years ago
Tony Crisci
6b308dbeb7
address feedback
7 years ago
Tony Crisci
235798ff8e
dont send ipc events when there are no listeners
7 years ago
emersion
641807d920
Handle unmanaged surfaces motion
7 years ago
emersion
d65d001aa5
Fix desktop_damage_whole_surface
7 years ago
emersion
6b9b03f09f
Remove outdated TODO
7 years ago
emersion
076bedb85e
Add container_damage_whole
7 years ago
emersion
1c91d0c10f
Add damage tracking for xwayland unmanaged surfaces
7 years ago
Tony Crisci
bbfc5487bc
add layout to ipc containers
7 years ago
emersion
07f3bb3ad1
Handle xwayland configure requests for unmanaged surfaces
7 years ago
emersion
a528aea2ee
Make xwayland surface destroy more foolproof
7 years ago
emersion
7ce1038478
Fix xwayland unmanaged surfaces
7 years ago
emersion
f5e5b1819b
Track damage of xdg-shell-v6 popups
7 years ago
Drew DeVault
f242362e7e
Handle output removal on swaybar
7 years ago
emersion
45f93e1650
Accumulate damage from subsurfaces
7 years ago
Drew DeVault
94ecd0f0aa
Configure wlr_xdg_output_manager during init
7 years ago
emersion
dcd15a2d3d
Implement shell views
7 years ago
Drew DeVault
9e89daf213
Merge pull request #1734 from swaywm/resize-cmd
...
Implement resize command
7 years ago
Drew DeVault
f77986338f
Implement resize command
7 years ago
Tony Crisci
aa35715f4b
Merge pull request #1736 from acrisci/ipc-container-type
...
Ipc container type
7 years ago
Tony Crisci
04ce09630c
add type to container json
7 years ago
Tony Crisci
65f254f3fb
Merge branch 'wlroots' into fix-focus-inactive
7 years ago
Tony Crisci
deda37469a
fix focus child
7 years ago
emersion
44b8d30f52
Use new wlr_*_surface_at functions
7 years ago
emersion
8eff00f723
Remove unused SWAY_VIEW_TYPES
7 years ago
Tony Crisci
fc9398a42e
Implement opacity command
7 years ago
Tony Crisci
cfd806577b
fix sending window new event
7 years ago
Tony Crisci
3e61718053
try to fix focus-inactive
7 years ago
Drew DeVault
d2d050d59c
Address review feedback
7 years ago
Drew DeVault
b7e7794912
Implement input-inhibit in sway, swaylock
7 years ago
Drew DeVault
06fbd51ff5
Add input inhibitor to input manager
7 years ago
Drew DeVault
3ede718c06
Refocus the last focused container on lock exit
7 years ago
Tony Crisci
76b0f3531f
send window close event
7 years ago
Tony Crisci
62c79ef451
fix double free
7 years ago
Tony Crisci
741e3959e3
Merge branch 'wlroots' into split-containers2
7 years ago
Tony Crisci
9d1cbd77ac
simplify container close
7 years ago
emersion
f3ef1da750
Fix wrong output container coordinates
7 years ago
Tony Crisci
fa004dd0d7
move output create to its own file
7 years ago
Drew DeVault
deb63eda88
Merge pull request #1717 from emersion/fix-multiple-outputs
...
Fix rendering with multiple outputs
7 years ago
Tony Crisci
a001890fb8
move workspace create to workspace.c
7 years ago
Tony Crisci
97b171649d
move output damage to workspace destructor
7 years ago
emersion
c0554d23d3
Fix rendering with multiple outputs
7 years ago
Tony Crisci
035a88e0dc
rename container_finish to _container_destroy
7 years ago
Tony Crisci
481a8275c1
address feedback
7 years ago