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
emersion
5cd9457247
Send enter event to layer shell surfaces
7 years ago
Drew DeVault
1a5785b0c3
Merge pull request #1712 from RedSoxFan/workspace-number-names
...
Fix name generation from workspace number commands
7 years ago
Brian Ashworth
1e549230db
Fix name generation for workspace number <name>
7 years ago
Tony Crisci
a514fee1b9
rename workspace_get_initial_output
7 years ago
Tony Crisci
9b567fc37e
clean up container_get_default_layout
7 years ago
Tony Crisci
065887bb7b
move container_set_layout to layout.h
7 years ago
Tony Crisci
fcbcbf34ad
make container_finish private
7 years ago
Tony Crisci
5f4761c4f4
unify workspace create functions
7 years ago
Tony Crisci
cba258e16a
move output code out of the tree
7 years ago
Tony Crisci
09d448ea2d
unify container destroy functions
7 years ago
Tony Crisci
b4c5f79725
move view and workspace destructors to container.c
7 years ago
Tony Crisci
7afbe9284f
rename _container_destroy to container_finish
7 years ago
Tony Crisci
33006c4e64
dont deallocate in container_close
7 years ago
Tony Crisci
20f9d49b82
cleanup
7 years ago
Tony Crisci
2992b72d61
change reap container approach
7 years ago
Drew DeVault
0bf3b88019
Give layer shells under the shell layer focus
7 years ago
Drew DeVault
56078edd65
Give exclusive focus to layers above shell layer
7 years ago
Tony Crisci
2c165e1288
fix more close segfaults
7 years ago
Drew DeVault
623a08e14f
Identify topmost interactive layer post-arrange
7 years ago
Tony Crisci
32ef182f47
cleanup split command handlers
7 years ago
Tony Crisci
a89096278b
Merge branch 'wlroots' into split-containers
7 years ago
Tony Crisci
d434da5632
Merge branch 'wlroots' into split-containers
7 years ago
Tony Crisci
d070244362
fix workspace splits
7 years ago
emersion
a4a241697a
Merge branch 'wlroots' into view-redesign
7 years ago
emersion
0c0cc79282
Merge pull request #1699 from acrisci/seat-fixes
...
Seat fixes and cleanup
7 years ago
emersion
2f64ce86c4
Xwayland unmanaged views aren't views anymore
7 years ago
Drew DeVault
4134407fa9
Merge pull request #1690 from swaywm/i3bar-json
...
I3bar json
7 years ago
Tony Crisci
357a4401fa
address feedback
7 years ago
Tony Crisci
2187684bd0
Merge branch 'wlroots' into split-containers
7 years ago
Tony Crisci
c7a6524954
fix segfault
7 years ago
Tony Crisci
5e024278a6
Merge branch 'wlroots' into seat-fixes
7 years ago
Tony Crisci
22287b42bf
dont copy input config
7 years ago
emersion
2a8985a345
Merge pull request #1697 from RedSoxFan/back-and-forth
...
Fix back-and-forth workspace name saving for non-empty workspaces
7 years ago
Tony Crisci
35445b40a2
remove unused attachment config
7 years ago
Drew DeVault
e3689dd5a9
Fixes regarding @emersion's feedback
7 years ago
Drew DeVault
c507727ad2
Fix use-after-free with block hotspots
7 years ago
Tony Crisci
a82c107c76
80col
7 years ago
Drew DeVault
b2d871cfe2
Partially implement move command
...
Works:
- move [container|window] to workspace <name>
- Note, this should be able to move C_CONTAINER but this is untested
- move [workspace] to output [left|right|up|down|<name>]
Not implemented yet:
- move [left|right|up|down]
- move scratchpad
- move position
7 years ago
emersion
61fabede14
Address review comments
7 years ago
Tony Crisci
53bb7ea996
dont copy seat config on the seat
7 years ago
Tony Crisci
0828c77251
rename input-manager functions
7 years ago
Tony Crisci
e677c5b204
rename seat functions
7 years ago
Tony Crisci
b5d49cc4e8
remove default from kill switch
7 years ago
Tony Crisci
27e394f8b0
fix children list segfault
7 years ago
Tony Crisci
eda425fdab
fix some segfaults
7 years ago
emersion
1d68f9ecca
Add sway_view_impl
7 years ago
emersion
b2c2ee693b
Introduce common functions to create, map, unmap, destroy views
7 years ago
Tony Crisci
2aec85bf24
clean up view destroy seat cleanup
7 years ago
Tony Crisci
6f7b33e691
handle container destroy in the seat
7 years ago
Tony Crisci
e7ecb001d7
reap container parent on destroy
7 years ago
Tony Crisci
f7a20726fc
temporarily add LD_LIBRARY_PATH stuff
7 years ago
Tony Crisci
7706d83160
basic split containers
7 years ago
Drew DeVault
122b96abed
Merge pull request #1684 from swaywm/follow-warp
...
Implement focus_follows_mouse, mouse_warping
7 years ago
Drew DeVault
f2332dc75c
Address review feedback
7 years ago
emersion
8aedc042ee
Fix two segfaults when destroying outputs
7 years ago
Drew DeVault
b9d2983324
Fix interaction between warping and following
7 years ago
Drew DeVault
9b38ef950f
Implement focus_follows_mouse
...
Also contains two other small changes:
- Clicking any button will focus the container clicked (not just left)
- Remove seamless_mouse (doesn't make sense on wlroots)
7 years ago
Drew DeVault
ae6d459000
Implement mouse warping
7 years ago
Drew DeVault
89ca6676be
Merge pull request #1681 from emersion/xwayland-configure-position
...
Fix various xwayland issues
7 years ago
emersion
98b67e2399
Fix xwayland configure in set_size
7 years ago
Drew DeVault
a1e7ffd857
Merge pull request #1677 from emersion/maximize-xwayland-views
...
Maximize xwayland views by default
7 years ago
Brian Ashworth
c901510e01
Fixes back-and-forth name saving for non-empty ws
7 years ago
emersion
0f7936735c
Fix unmanaged views rendering on all outputs
7 years ago
emersion
6579717994
Fix xwayland configure position
7 years ago
Drew DeVault
eb5a8e03ff
Check for null container
7 years ago
Drew DeVault
e4fd47d3a1
Merge pull request #1682 from emersion/unmanaged-no-container
...
Make it clear that unmanaged views don't have a container
7 years ago
Drew DeVault
ccdcaa478f
Fix bug with previous commit
7 years ago
emersion
a44a71c116
Make it clear that unmanaged views don't have a container
...
view->swayc is NULL anyway.
7 years ago
Drew DeVault
8aa195e311
Fix #1104
7 years ago
Drew DeVault
5c08e13e50
Set Xwayland seat on focus
...
Necessary to make primary selection syncronize
7 years ago
Drew DeVault
ae0552606b
Configure linux_dmabuf, primary_selection
7 years ago
Drew DeVault
6a1a94b87c
Merge pull request #1678 from emersion/xwayland-xcursor
...
Set xwayland cursor
7 years ago
Drew DeVault
18173fb5ad
Free bar configs on reload and exit
7 years ago
emersion
b237fa0b22
Set xwayland cursor
7 years ago
emersion
5f3fce7519
Maximize xwayland views by default
7 years ago
Drew DeVault
212b503992
Use wlr_surface_point_accepts_input
7 years ago
Drew DeVault
f5470f3338
Pass pointer events to surface layers
7 years ago
emersion
9665642765
Merge branch 'wlroots' into client-cursors
7 years ago
Drew DeVault
1b88eaee6b
Merge pull request #1665 from emersion/damage-tracking-lite
...
Add lite damage tracking
7 years ago
Drew DeVault
e6fa7a722e
Merge pull request #1669 from emersion/workspace-pointer-events
...
Fix pointer events for hidden workspaces
7 years ago
emersion
139f80b0f0
Handle map/unmap events in xdg-shell-v6
7 years ago
emersion
3a68c012a9
Remove debug, add explicit TODO
7 years ago
emersion
50219564c2
Fix white screen due to bad cast
7 years ago
emersion
a776ecbb86
Add lite damage tracking
...
This skips the renderer if nothing has changed, and renders
everything otherwise.
7 years ago
Tony Crisci
7e0d430a0c
Merge branch 'wlroots' into wlroots-xwayland-map
7 years ago
emersion
eb716c6c43
Fix segfaults when focusing a workspace
7 years ago
emersion
03255fd202
Fix pointer events for hidden workspaces
7 years ago
Drew DeVault
88f08a42f3
Fix segfault when reaping invisible workspaces
7 years ago
Drew DeVault
b28e6d2369
IPC fixes
7 years ago
Drew DeVault
49379dd0fc
Fix workspace deletion edge cases
7 years ago
emersion
cf09ea184b
Use the new map/unmap events for xwayland views
7 years ago
Drew DeVault
a5e457d59a
Add xwayland views to focused container
7 years ago
emersion
1592543fd6
Merge pull request #1659 from swaywm/default-orientation
...
Add default_orientation command
7 years ago
Drew DeVault
b6b674fd76
Merge pull request #1657 from emersion/render-fixes
...
Misc minor fixes
7 years ago
emersion
681f38c878
Fix segfault on xwayland unmanaged view unmap
7 years ago
emersion
6c9d67b105
Handle set_cursor requests from clients
...
Allow clients to set a custom cursor if they have the seat's
pointer focus.
7 years ago
Drew DeVault
01af343912
Destroy empty workspaces when moving away
7 years ago
Drew DeVault
69eb021767
Add default_orientation command
7 years ago
emersion
28cb412b0d
Unify initial xwayland view mapping with map handler
7 years ago
emersion
981827ca42
Cleanup and remove global renderer reference
7 years ago
Drew DeVault
2d46050281
Fix crash when override redirect views close
7 years ago
Drew DeVault
e62cc0ac26
Finish porting over workspace_next_name
7 years ago
Drew DeVault
00d450e554
Use output coords for layer surfaces
...
This will need to be more carefully thought out when we get the
output_layout working entirely.
7 years ago
Drew DeVault
d6acb3d86c
Set WAYLAND_DISPLAY earlier in startup
7 years ago
Drew DeVault
f26ecd9f58
Merge remote-tracking branch 'origin/wlroots' into swaybar-layers
7 years ago
Tony Crisci
8f490d7d2d
Fix oversights from previous pull request
7 years ago
Tony Crisci
dc8c9fbeb6
Revert "Merge pull request #1653 from swaywm/revert-1647-refactor-tree"
...
This reverts commit 472e81f35d
, reversing
changes made to 6b7841b11f
.
7 years ago
Drew DeVault
d0c7f66e95
Revert "Refactor tree"
7 years ago
Drew DeVault
6b7841b11f
Merge pull request #1647 from acrisci/refactor-tree
...
Refactor tree
7 years ago
Tony Crisci
2778edef97
arrange windows
7 years ago
Tony Crisci
92c58b1e63
rename container_for_each_descendent
7 years ago
Drew DeVault
dbda7bfbed
Move declaration into loop
7 years ago
Drew DeVault
ddc09940b1
Exit ipc_get_workspace_callback early
7 years ago
Drew DeVault
8efee109ad
Implement modes
7 years ago
Drew DeVault
741424c4e7
Clean up imported bar commands
7 years ago
Drew DeVault
849c3515ab
Use statically allocated text buffer
7 years ago
Drew DeVault
c91adbd188
Fix failure to rearrange output in some cases
7 years ago
Drew DeVault
f3fbf19312
Do some small cleanup
...
- Fix workspace events (security config isn't in use so it wasn't being
sent)
- Kill status bar process when swaybar exits
- Don't rearrange windows on every layer surface commit
7 years ago
Drew DeVault
5f5076baff
Call arrange_windows on layer destroy
7 years ago
Drew DeVault
8b5b72c576
Restart swaybar on config reload
7 years ago
Drew DeVault
2e84f21ab7
Terminate swaybar when freeing bar config
7 years ago
Drew DeVault
2719ddfe5e
Spawn swaybars when outputs are added
7 years ago
Drew DeVault
5c9cdbcdd2
Add swaybg_command
7 years ago
Drew DeVault
569b2bfd5d
Move bar config into its own file
7 years ago
Drew DeVault
bf7a4cd0eb
Add bar configuration commands
7 years ago
Drew DeVault
6836074fed
Implement enough IPC for swaybar to work
7 years ago
Drew DeVault
a76829f375
Some layer shell fixes
...
Based on the corresponding rootston changes
7 years ago
Scott Anderson
c8e7437b82
Clear buffer after beginning renderer
7 years ago
Tony Crisci
4c394a0e9e
address feedback
7 years ago
Tony Crisci
4ec8bf4cee
80col
7 years ago
Tony Crisci
62d1b4cb96
fix container_get_in_direction name
7 years ago
Tony Crisci
e5491bf498
rename container destroy func
7 years ago
Tony Crisci
ed2cedb544
rename layout init
7 years ago
Tony Crisci
eca029f218
more renaming things
7 years ago
Tony Crisci
b90099b4b7
rename container functions
7 years ago
Drew DeVault
941ca5c8fd
Maximize xdg shell surfaces on creation
...
Makes them look better yo
In the future we might want to only do this for tiled windows, and let
floating windows do their own thing.
7 years ago
Tony Crisci
83d09cf594
remove swayc_t typedef
7 years ago
Tony Crisci
874f009866
move tree includes to their own directory
7 years ago
Drew DeVault
8d6bce02af
Address review feedback
7 years ago
Drew DeVault
68cfa7ef67
Render layer surfaces and respect exclusive zone
7 years ago
Drew DeVault
0c8a64942e
Add initial layer shell skeleton
7 years ago
Drew DeVault
1e604f3e35
Update input events per swaywm/wlroots#765
7 years ago
Drew DeVault
53df5889d5
Fix lingering xdg shell issues
7 years ago
Drew DeVault
cbb2e3308e
Update API to match latest wlroots
7 years ago
emersion
01beee5826
Update wlroots API
...
Breaking changes in wlr_xdg_shell_v6 and wlr_renderer have been
made upstream.
7 years ago
emersion
1004915796
Update rendering code for wlroots matrix redesign
7 years ago
emersion
4ab5506064
ipc: add output modes
7 years ago
Dominique Martinet
95963e4a1f
xwayland: do not send surface configure when no width/height
...
The code in apply_horiz_layout systematically does `set_position`
then `set_size`, so for new windows there is an invalid call.
For old windows there are two calls when only one is needed,
with the current code set_position could not send any surface
configure without impact, but in the future it might be needed?
Native wayland surfaces do not need to know where they are (the
set_position handled only updates the sway internal view variable),
why does X11 window need that?
7 years ago
Tony Crisci
02804584e5
ipc new window event
7 years ago
Drew DeVault
3c80498891
Utilize wlr_xwayland_surface_is_unmanaged
7 years ago
Tony Crisci
ad879c99e0
ipc show focused container
7 years ago
Drew DeVault
4b781356a4
Fix wlr_render_with_matrix call
...
This takes an alpha parameter now.
7 years ago
Drew DeVault
265378270a
Revert "Multiple output coords by scale"
...
This reverts commit 94f8bdf081
.
7 years ago
Drew DeVault
94f8bdf081
Multiple output coords by scale
7 years ago
Drew DeVault
8ad26c8afd
Send surface enter/leave events
7 years ago
Drew DeVault
61c1c3e7af
Use focus for new windows xwayland/wl_shell
7 years ago
Drew DeVault
669f91b991
Document updates to the output command
7 years ago
Tony Crisci
1cca3965f3
static bfs queue
7 years ago
Tony Crisci
2154b7c7d6
add config handlers
7 years ago
Tony Crisci
7262bf655f
remove checks for command handlers
7 years ago
Tony Crisci
5b219a1598
separate config directives and commands
7 years ago
Tony Crisci
ac8269d536
take seat param for handle_command and rename
7 years ago
Tony Crisci
66d1e0b313
basic layout command
7 years ago
Tony Crisci
bcb870bcf2
bug: fix crash on focus up
7 years ago
Tony Crisci
23e9f5dc35
use wl_container_of() in output destroy callback
7 years ago
Tony Crisci
4b3aa59b8b
rename new_input listener on input-manager
7 years ago
Tony Crisci
316effd7b1
make handle_output_destroy() static
7 years ago
Tony Crisci
4c4cc9c999
remove old comments
7 years ago
Tony Crisci
b88f06e70a
bugfix: get right layout box for rendering views
7 years ago
Tony Crisci
176d24f02d
choose adjacent container between outputs
7 years ago
Tony Crisci
fb37e80225
basic move focus in direction across outputs
7 years ago
Tony Crisci
80927985fb
fix output rendering issue
7 years ago
Tony Crisci
7c089442c3
use box projection function
7 years ago
Tony Crisci
9510a20fcd
arrange windows after output add
7 years ago
Tony Crisci
a3ae67af4e
basic focus in direction
7 years ago
Tony Crisci
52670c636c
basic focus (without direction)
7 years ago
Tony Crisci
780d9fe1e3
cleanup layout.c
7 years ago
Tony Crisci
083e11ac7c
fix build for latest api
7 years ago
Tony Crisci
c6cb87be19
output damage fix
7 years ago
Tony Crisci
7dfbf06de9
output destroy
7 years ago
Tony Crisci
06c71f115b
input device destroy
7 years ago
Tony Crisci
946d9459c5
get swayc in direction
7 years ago
Tony Crisci
93084c9cf8
remove old focus member
7 years ago
Tony Crisci
ce3a1b3922
properly pick next focus
7 years ago
Tony Crisci
145b4fdf58
use bfs iterator to collect focus stack
7 years ago
Tony Crisci
095ddb1561
fix build for output damage
7 years ago
Tony Crisci
a7d49da239
separate seat get focus and seat get focus inactive
7 years ago
Tony Crisci
7d8f2c52aa
make index_child static
7 years ago
Tony Crisci
5151502298
basic focus overhaul
7 years ago
Drew DeVault
b28602aa74
Implement workspaces
7 years ago
Drew DeVault
a686fb07ae
Execute pending commands when Xwayland is ready
7 years ago
Dominique Martinet
6259831d31
commands/reload: remove unimplemented 'load_swaybars' call
7 years ago
Dominique Martinet
5766f426aa
config reload: destroy old seat when removed from config
...
This adds new sway_seat_destroy and sway_cursor_destroy helpers
and compare new and old config on free
7 years ago
Dominique Martinet
869be4378d
commands: add 'reload' command
7 years ago
emersion
0c58673c6a
Merge pull request #1574 from acrisci/config-refactor
...
Command criteria
7 years ago
Tony Crisci
beb3805cf0
dont allow kill command in config
7 years ago
Tony Crisci
38a1628a76
clear handler context before ipc command
7 years ago
Tony Crisci
c3fc0d446f
cmd-kill: use sway_assert when no container
7 years ago
Tony Crisci
5505d84ac2
criteria cleanup
7 years ago
Drew DeVault
a6bc46eea9
Remove sway/old/
7 years ago