Ryan Dwyer
312fdf313f
Remove arrange_windows()
...
After the refactor, this function is no longer called.
2018-04-30 08:47:38 +10:00
emersion
976e6b99b6
Merge branch 'master' into refactor-arrange-windows
2018-04-29 13:10:59 +01:00
Drew DeVault
24ab66d123
Merge pull request #1867 from emersion/wlroots-923
...
Update for wlroots#923
2018-04-29 08:00:20 -04:00
emersion
3fd8897abe
Don't call view_set_fullscreen on unmapped xwayland views
2018-04-28 20:44:42 +01:00
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.
2018-04-28 11:26:14 +10:00
emersion
860d2384b4
Update for swaywm/wlroots#923
2018-04-27 17:30:45 +01:00
Geoff Greer
5587af1782
Rename len to msg_len. Avoids an aliased variable that was a little confusing to follow.
2018-04-26 18:16:29 -07:00
Geoff Greer
b9726afd48
invoke_swaybar(): Set process group. Kill process group.
...
Fixes a bug where terminate_swaybar() did not terminate swaybar.
2018-04-26 18:13:44 -07:00
emersion
ff61df17ff
Add map_from_region command
2018-04-26 10:53:47 +01:00
Ryan Dwyer
ae39d7b28c
Remove sway_container.workspace_layout
...
Fixes #1716 .
2018-04-26 10:14:18 +10:00
Drew DeVault
c54097428a
Merge branch 'master' into criteria-commands
2018-04-25 11:00:56 +02:00
emersion
df245780d2
Do not let tiled xwayland views do what they want
2018-04-24 18:19:26 +01:00
emersion
3ed3bdf03f
Fix segfault when switching back to workspace with osu!
2018-04-24 18:18:49 +01:00
Ryan Dwyer
dfc26c664f
Update wording about unmanaged/unmapped views
2018-04-24 20:14:22 +10:00
Ryan Dwyer
689a6a5605
Use size_t instead of int and calloc instead of malloc
2018-04-24 20:08:32 +10:00
Ryan Dwyer
30a7488936
Add assert to view_execute_criteria()
2018-04-24 20:08:32 +10:00
Ryan Dwyer
72767e1cc3
Implement criteria commands
...
Implements the following commands:
* for_window [...] <cmdlist>
* assign [...] <workspace>
2018-04-24 20:08:32 +10:00
Ryan Dwyer
22b9169631
Fix crash in container_descendants()
...
If root is a C_VIEW, the children property is a null pointer.
2018-04-24 12:27:04 +10:00
Drew DeVault
420a669f21
Updates per swaywm/wlroots#887
2018-04-23 11:15:07 +02:00
Ryan Dwyer
fbb5198e43
Sort workspaces after rename
2018-04-23 18:54:45 +10:00
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
2018-04-23 18:54:45 +10:00
Ryan Dwyer
4d2b3fc950
Render unmanaged xwayland views when an xwayland view is fullscreen
...
This makes Chromium and Firefox context menus appear when fullscreen.
2018-04-23 09:20:19 +10:00
emersion
a41057714f
Update for wlroots#885
2018-04-21 19:12:49 +01:00
Drew DeVault
72149111a5
Merge pull request #1838 from emersion/use-wlr-renderer-init-wl-shm
...
Use wlr_renderer_init_wl_shm
2018-04-21 15:22:08 +02:00
Drew DeVault
4386dcb624
Merge pull request #1837 from emersion/cursor-default-to-current-time
...
Default to current time when triggering cursor events
2018-04-21 15:21:52 +02:00
emersion
b96d774c70
Use wlr_renderer_init_wl_shm
2018-04-21 14:08:48 +01:00
emersion
4cf77e1de4
Default to current time when triggering cursor events
2018-04-21 14:07:22 +01:00
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
2018-04-21 14:47:44 +02:00
emersion
33ed279494
Update cursor when workspace focus changes
2018-04-21 12:46:48 +01:00
emersion
17bee33fc9
Don't unmap on destroy, this is already guaranteed by wlroots
2018-04-20 16:24:34 +01:00
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.
2018-04-20 21:26:14 +10:00
Ryan Dwyer
6afccd07d9
Add TODO about rendering fullscreen views smaller than the output
2018-04-20 08:12:03 +10:00
Ryan Dwyer
76837b9132
Ignore xdg_shell_v6 request_fullscreen if not mapped
2018-04-20 08:10:58 +10:00
Ryan Dwyer
bd67342bdc
Don't render top layer when fullscreen.
2018-04-20 08:08:34 +10:00
Drew DeVault
777800e37a
Fix qutebrowser crash on context menu dismissal
2018-04-19 09:15:21 -04:00
Drew DeVault
21eb63cc9e
Merge branch 'master' into fullscreen
2018-04-19 08:56:03 -04:00
Ryan Dwyer
9ab61716b5
Correct the repeat_rate documentation.
2018-04-19 13:48:20 +10:00
Ryan Dwyer
9d3739a6f7
Split repeat commands into separate files.
2018-04-19 13:47:29 +10:00
Ryan Dwyer
9715e38ca8
render_output(): When fullscreen, clear to black and don't render background
2018-04-19 13:01:43 +10:00
Ryan Dwyer
45a2fad0de
container_get_in_direction(): Don't split this function
2018-04-19 12:53:02 +10:00
Ryan Dwyer
7e38cc2e05
arrange_windows(): Calculate workspace properties when fullscreen
2018-04-19 12:50:53 +10:00
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.
2018-04-19 12:47:34 +10:00
Ryan Dwyer
1285f01b13
Merge branch 'master' into fullscreen
2018-04-19 12:44:13 +10:00
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
}
2018-04-18 23:19:23 +10:00
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.
2018-04-18 13:06:10 +10:00
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).
2018-04-18 08:35:28 +10:00
emersion
7114451607
Destroy display in server_fini
2018-04-17 23:15:11 +01:00
Ryan Dwyer
72beae209b
Fullscreen fixes.
2018-04-18 00:10:32 +10:00
Ryan Dwyer
cc4da245a8
Fix views unmapping their own fullscreen windows.
2018-04-17 11:06:03 +10:00
Ryan Dwyer
143b528f71
Handle fullscreen flag when mapping a surface.
2018-04-17 11:04:57 +10:00
Ryan Dwyer
a44d016e2b
Don't damage views if they're hidden by a fullscreen view.
2018-04-17 10:58:42 +10:00
Ryan Dwyer
c685ef081f
Create sway_workspace struct.
2018-04-17 09:31:34 +10:00
Ryan Dwyer
bfd5834f4c
Feedback for fullscreen.
2018-04-17 08:11:50 +10:00
Ryan Dwyer
52420cc24d
Implement fullscreen.
2018-04-16 20:36:40 +10:00
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
2018-04-15 08:30:30 +02:00
Dominique Martinet
8490d1662c
Fix gcc maybe-uninitialized warning
2018-04-13 22:47:27 +09:00
Dominique Martinet
25af959fe9
Fix gcc string truncation warnings
2018-04-13 22:47:27 +09:00
emersion
2b34bf1882
Merge branch 'master' into crashes
2018-04-13 09:14:37 -04:00
emersion
bdaf420ead
Do not call the map handler when an xwayland surface is created
2018-04-13 14:43:41 +02:00
Dominique Martinet
de65d05821
container_destroy: fix segfault
...
cont->children doesn't have to be NULL when there is no children
2018-04-13 14:58:23 +09:00
Dominique Martinet
1fd21650d7
seat_set_focus_wrap: fix use-after-free when destroying last focused container
2018-04-13 14:58:23 +09:00
Danny Bautista
c53b2edd41
Add documentation for seat cursor command.
2018-04-10 15:44:02 -04:00
Danny Bautista
c355d680e9
Clean up cursor simulation code.
2018-04-10 15:40:27 -04:00
Danny Bautista
1edb2bd892
Implement cursor event simulation with sway commands.
2018-04-10 12:40:50 -04:00
db
63b2543749
Add workspace_auto_back_and_forth for move cmd
2018-04-09 21:34:56 +02:00
Drew DeVault
07b6be6214
Merge pull request #1769 from acrisci/focus-inactive-fixes
...
Focus inactive fixes
2018-04-08 16:05:03 -04:00
Drew DeVault
0e3ddf255e
Add input "identifier" map_to_output "identifier"
2018-04-08 15:09:12 -04:00
Tony Crisci
8ecd89b7ef
address feedback
2018-04-08 14:22:20 -04:00
Tony Crisci
ae78f6fb93
Merge branch 'wlroots' into focus-inactive-fixes
2018-04-08 12:47:56 -04:00
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
2018-04-08 12:42:56 -04:00
Tony Crisci
70b33342fe
criteria match containers
2018-04-08 12:13:09 -04:00
emersion
5ebc99253a
Use wlr_surface_point_accepts_input for unmanaged surfaces
2018-04-08 11:43:18 -04:00
Tony Crisci
46280460a5
push all parents of focused container in focus stack
2018-04-08 11:34:38 -04:00
Drew DeVault
efff7c4225
Merge pull request #1776 from emersion/wlroots-remove-backend-egl
...
Update for wlroots#850
2018-04-08 11:34:02 -04:00
emersion
9570e37016
Update for wlroots#850
2018-04-08 11:19:14 -04:00
Drew DeVault
8763957344
Merge pull request #1774 from swaywm/tablet-tool
...
Implement tablet tool support
2018-04-08 11:16:56 -04:00
Drew DeVault
9114d3b84c
Implement tablet tool support
2018-04-08 10:48:13 -04:00
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.
2018-04-08 16:44:59 +02:00
Tony Crisci
9db859585e
container_create_notify on split
2018-04-07 18:01:18 -04:00
Tony Crisci
0ff22c1755
implement ipc focus stack
2018-04-07 16:23:53 -04:00
Tony Crisci
de811823b6
seat focus inactive children foreach
2018-04-07 16:14:12 -04:00
Tony Crisci
c0f9ee7bd1
seat get focus inactive view
2018-04-07 16:06:36 -04:00
emersion
2b357af7ee
Give keyboard focus to unmanaged xwayland surfaces
...
This fixes dmenu
2018-04-07 14:03:30 -04:00
emersion
a5d06b6e2b
Merge pull request #1766 from emersion/fix-output-container-position
...
Fix output containers position
2018-04-07 13:21:52 -04:00
Drew DeVault
5d34e4531f
Add basic server decorations support
2018-04-07 13:21:07 -04:00
emersion
61abd56ca4
Fix output containers position
2018-04-07 12:44:02 -04:00
Drew DeVault
b12b848bdc
Merge pull request #1759 from emersion/output-send-frame-done
...
Don't send frame done immediately when rendering
2018-04-07 12:23:26 -04:00
emersion
8af0c2b000
Don't send frame done immediately when rendering
2018-04-07 12:10:50 -04:00
emersion
33b4f945ab
Fix inverted assertion
...
Seems like it doesn't work this way
2018-04-07 12:03:13 -04:00
Drew DeVault
c47b4d4edb
Merge pull request #1756 from emersion/output-damage
...
Fine-grained damage tracking
2018-04-07 11:53:10 -04:00
Drew DeVault
f5a9bd5cb7
Merge pull request #1700 from swaywm/move-cmd-full
...
Implement move [left|right|up|down]
2018-04-07 11:19:25 -04:00
emersion
93ca8919f6
Don't rejigger if parent has two children
2018-04-06 18:10:02 -04:00
emersion
37b173f326
When moving between outputs, use output center as reference
2018-04-06 17:50:12 -04:00
Drew DeVault
606d322bc2
Container coordiantes/sizes are floating point
2018-04-06 16:19:06 -04:00
Drew DeVault
640232eb22
Revert "Break everything^W^WUse wlr_box for sway_container"
2018-04-06 16:13:26 -04:00
emersion
0c627918bb
Damage all surfaces when damaging whole container
2018-04-06 15:59:50 -04:00
Drew DeVault
df0d57b916
Fix issue with incorrectly rejiggered workspaces
2018-04-06 15:54:03 -04:00
Drew DeVault
764489e737
Break everything^W^WUse wlr_box for sway_container
2018-04-06 15:38:37 -04:00
Drew DeVault
9109b1fd11
Fix moving to parallel container on another output
2018-04-06 15:37:55 -04:00
Drew DeVault
5ff16994c5
Address @emersion feedback
2018-04-06 15:09:52 -04:00
emersion
58914822aa
Don't damage the whole output
2018-04-06 14:17:58 -04:00
Drew DeVault
c8be7bfc1e
Fix another of @orestisf1993's issues
2018-04-06 13:57:04 -04:00
emersion
e550e22c0b
Refactor rendering code
2018-04-06 13:27:01 -04:00
Drew DeVault
1f70b94f34
Fix moving into right end of container
2018-04-06 13:17:22 -04:00
Drew DeVault
cd6e3182fa
Fix issues @orestisf1993 raised
2018-04-06 12:46:33 -04:00
Drew DeVault
b5baa78dc3
Address @emersion's comments
2018-04-06 11:53:10 -04:00
Drew DeVault
603e0e42c5
Add debug tree view
2018-04-06 11:49:27 -04:00
emersion
516f5454ad
Simplify damage tracking functions, use them in layer shell
2018-04-06 11:45:40 -04:00
emersion
290c916290
Send surface enter/leave events to view children
2018-04-06 10:26:32 -04:00
Drew DeVault
a06052ad9d
Fix splitting workspaces
2018-04-06 09:43:52 -04:00
Drew DeVault
efac07db5f
Fix workspaces not updated on swaybar
2018-04-06 09:43:52 -04:00
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)))
```
2018-04-06 09:43:52 -04:00
Drew DeVault
d77a0119f4
Avoid arranging windows while reloading config
2018-04-06 09:43:44 -04:00
Drew DeVault
cca420b2f8
Fix focus_follows_mouse issues
2018-04-06 09:32:51 -04:00
Drew DeVault
b08f7e5183
Fix deletion of still-visible workspaces on unfocus
2018-04-06 09:26:49 -04:00
emersion
88e3e5ea5d
Fix wl_output enter/leave events
...
Fixes #1739
2018-04-06 00:10:17 -04:00
emersion
c2b1beef15
Remove L_TYPES
2018-04-05 23:22:08 -04:00
emersion
254ca8103c
Merge pull request #1747 from acrisci/ipc-layout
...
ipc layout
2018-04-05 22:54:26 -04:00
Drew DeVault
f63d9417cd
Merge pull request #1743 from emersion/subsurface-damage-tracking
...
Damage tracking for view children
2018-04-05 22:53:21 -04:00
Tony Crisci
6b308dbeb7
address feedback
2018-04-05 22:50:10 -04:00
Tony Crisci
235798ff8e
dont send ipc events when there are no listeners
2018-04-05 19:01:03 -04:00
emersion
641807d920
Handle unmanaged surfaces motion
2018-04-05 18:48:35 -04:00
emersion
d65d001aa5
Fix desktop_damage_whole_surface
2018-04-05 18:38:50 -04:00
emersion
6b9b03f09f
Remove outdated TODO
2018-04-05 18:33:18 -04:00
emersion
076bedb85e
Add container_damage_whole
2018-04-05 18:31:19 -04:00
emersion
1c91d0c10f
Add damage tracking for xwayland unmanaged surfaces
2018-04-05 17:39:17 -04:00
Tony Crisci
bbfc5487bc
add layout to ipc containers
2018-04-05 17:33:35 -04:00
emersion
07f3bb3ad1
Handle xwayland configure requests for unmanaged surfaces
2018-04-05 17:22:39 -04:00
emersion
a528aea2ee
Make xwayland surface destroy more foolproof
2018-04-05 17:11:46 -04:00
emersion
7ce1038478
Fix xwayland unmanaged surfaces
2018-04-05 17:08:30 -04:00
emersion
f5e5b1819b
Track damage of xdg-shell-v6 popups
2018-04-05 16:48:11 -04:00
Drew DeVault
f242362e7e
Handle output removal on swaybar
2018-04-05 16:04:30 -04:00
emersion
45f93e1650
Accumulate damage from subsurfaces
2018-04-05 15:20:45 -04:00
Drew DeVault
94ecd0f0aa
Configure wlr_xdg_output_manager during init
2018-04-05 14:01:14 -04:00
emersion
dcd15a2d3d
Implement shell views
2018-04-05 11:40:39 -04:00
Drew DeVault
9e89daf213
Merge pull request #1734 from swaywm/resize-cmd
...
Implement resize command
2018-04-05 00:17:47 -04:00
Drew DeVault
f77986338f
Implement resize command
2018-04-05 00:03:20 -04:00
Tony Crisci
aa35715f4b
Merge pull request #1736 from acrisci/ipc-container-type
...
Ipc container type
2018-04-04 23:06:53 -04:00
Tony Crisci
04ce09630c
add type to container json
2018-04-04 22:41:05 -04:00
Tony Crisci
65f254f3fb
Merge branch 'wlroots' into fix-focus-inactive
2018-04-04 22:36:09 -04:00
Tony Crisci
deda37469a
fix focus child
2018-04-04 22:31:10 -04:00
emersion
44b8d30f52
Use new wlr_*_surface_at functions
2018-04-04 22:03:14 -04:00
emersion
8eff00f723
Remove unused SWAY_VIEW_TYPES
2018-04-04 22:03:14 -04:00
Tony Crisci
fc9398a42e
Implement opacity command
2018-04-04 21:57:05 -04:00
Tony Crisci
cfd806577b
fix sending window new event
2018-04-04 19:37:01 -04:00
Tony Crisci
3e61718053
try to fix focus-inactive
2018-04-04 18:52:38 -04:00
Drew DeVault
d2d050d59c
Address review feedback
2018-04-04 18:47:48 -04:00
Drew DeVault
b7e7794912
Implement input-inhibit in sway, swaylock
2018-04-04 18:47:48 -04:00
Drew DeVault
06fbd51ff5
Add input inhibitor to input manager
2018-04-04 18:47:48 -04:00
Drew DeVault
3ede718c06
Refocus the last focused container on lock exit
2018-04-04 18:47:48 -04:00