Commit graph

852 commits

Author SHA1 Message Date
emersion
bdaf420ead
Do not call the map handler when an xwayland surface is created 2018-04-13 14:43:41 +02:00
emersion
2b357af7ee
Give keyboard focus to unmanaged xwayland surfaces
This fixes dmenu
2018-04-07 14:03:30 -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
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
764489e737 Break everything^W^WUse wlr_box for sway_container 2018-04-06 15:38:37 -04:00
emersion
58914822aa
Don't damage the whole output 2018-04-06 14:17:58 -04:00
emersion
e550e22c0b
Refactor rendering code 2018-04-06 13:27:01 -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
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
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
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
emersion
dcd15a2d3d
Implement shell views 2018-04-05 11:40:39 -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
741e3959e3 Merge branch 'wlroots' into split-containers2 2018-04-04 00:20:44 -04:00
Drew DeVault
deb63eda88
Merge pull request #1717 from emersion/fix-multiple-outputs
Fix rendering with multiple outputs
2018-04-03 19:57:36 -04:00
Tony Crisci
a001890fb8 move workspace create to workspace.c 2018-04-03 19:52:17 -04:00
emersion
c0554d23d3
Fix rendering with multiple outputs 2018-04-03 19:34:56 -04:00
Tony Crisci
481a8275c1 address feedback 2018-04-03 19:23:59 -04:00
emersion
5cd9457247
Send enter event to layer shell surfaces 2018-04-03 18:47:04 -04:00
Tony Crisci
cba258e16a move output code out of the tree 2018-04-03 12:40:11 -04:00
Tony Crisci
09d448ea2d unify container destroy functions 2018-04-03 12:34:01 -04:00
Drew DeVault
56078edd65 Give exclusive focus to layers above shell layer 2018-04-02 21:09:09 -04:00
Drew DeVault
623a08e14f Identify topmost interactive layer post-arrange 2018-04-02 20:46:07 -04:00
emersion
a4a241697a
Merge branch 'wlroots' into view-redesign 2018-04-02 15:30:58 -04:00
emersion
2f64ce86c4
Xwayland unmanaged views aren't views anymore 2018-04-02 14:35:43 -04:00
Tony Crisci
5e024278a6 Merge branch 'wlroots' into seat-fixes 2018-04-02 13:23:43 -04:00
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
2018-04-02 11:12:18 -04:00
emersion
61fabede14
Address review comments 2018-04-02 10:57:45 -04:00
Tony Crisci
0828c77251 rename input-manager functions 2018-04-02 08:49:38 -04:00
Tony Crisci
e677c5b204 rename seat functions 2018-04-02 08:45:37 -04:00
emersion
1d68f9ecca
Add sway_view_impl 2018-03-31 18:07:44 -04:00
emersion
b2c2ee693b
Introduce common functions to create, map, unmap, destroy views 2018-03-31 17:49:40 -04:00
emersion
8aedc042ee
Fix two segfaults when destroying outputs 2018-03-31 13:47:22 -04:00
Drew DeVault
89ca6676be
Merge pull request #1681 from emersion/xwayland-configure-position
Fix various xwayland issues
2018-03-31 11:40:34 -04:00
emersion
98b67e2399
Fix xwayland configure in set_size 2018-03-31 11:30:15 -04:00
emersion
0f7936735c
Fix unmanaged views rendering on all outputs 2018-03-31 10:56:49 -04:00
emersion
6579717994
Fix xwayland configure position 2018-03-31 10:53:53 -04:00
emersion
5f3fce7519
Maximize xwayland views by default 2018-03-30 23:58:40 -04:00
emersion
139f80b0f0
Handle map/unmap events in xdg-shell-v6 2018-03-30 17:43:43 -04:00
emersion
3a68c012a9
Remove debug, add explicit TODO 2018-03-30 17:24:29 -04:00
emersion
50219564c2
Fix white screen due to bad cast 2018-03-30 17:16:35 -04:00
emersion
a776ecbb86
Add lite damage tracking
This skips the renderer if nothing has changed, and renders
everything otherwise.
2018-03-30 17:16:35 -04:00
Tony Crisci
7e0d430a0c
Merge branch 'wlroots' into wlroots-xwayland-map 2018-03-30 16:16:12 -04:00
Drew DeVault
49379dd0fc Fix workspace deletion edge cases 2018-03-30 13:49:34 -04:00
emersion
cf09ea184b
Use the new map/unmap events for xwayland views 2018-03-30 13:34:25 -04:00
Drew DeVault
a5e457d59a Add xwayland views to focused container 2018-03-30 12:06:45 -04:00
emersion
681f38c878
Fix segfault on xwayland unmanaged view unmap 2018-03-30 11:22:12 -04:00
emersion
28cb412b0d
Unify initial xwayland view mapping with map handler 2018-03-30 10:09:56 -04:00
emersion
981827ca42
Cleanup and remove global renderer reference 2018-03-30 00:49:27 -04:00
Drew DeVault
2d46050281 Fix crash when override redirect views close 2018-03-30 00:46:40 -04:00
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.
2018-03-30 00:16:18 -04:00
Drew DeVault
f26ecd9f58 Merge remote-tracking branch 'origin/wlroots' into swaybar-layers 2018-03-30 00:04:04 -04:00
Tony Crisci
8f490d7d2d Fix oversights from previous pull request 2018-03-29 23:53:38 -04:00
Tony Crisci
dc8c9fbeb6 Revert "Merge pull request #1653 from swaywm/revert-1647-refactor-tree"
This reverts commit 472e81f35d, reversing
changes made to 6b7841b11f.
2018-03-29 23:41:33 -04:00
Drew DeVault
d0c7f66e95
Revert "Refactor tree" 2018-03-29 23:29:29 -04:00
Drew DeVault
6b7841b11f
Merge pull request #1647 from acrisci/refactor-tree
Refactor tree
2018-03-29 23:19:14 -04:00
Tony Crisci
2778edef97 arrange windows 2018-03-29 23:15:39 -04:00
Drew DeVault
c91adbd188 Fix failure to rearrange output in some cases 2018-03-29 22:11:08 -04:00
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
2018-03-29 22:11:08 -04:00
Drew DeVault
5f5076baff Call arrange_windows on layer destroy 2018-03-29 22:11:08 -04:00
Drew DeVault
6836074fed Implement enough IPC for swaybar to work 2018-03-29 22:11:08 -04:00
Drew DeVault
a76829f375 Some layer shell fixes
Based on the corresponding rootston changes
2018-03-29 22:11:08 -04:00
Scott Anderson
c8e7437b82 Clear buffer after beginning renderer 2018-03-30 14:38:14 +13:00
Tony Crisci
eca029f218 more renaming things 2018-03-29 17:06:29 -04:00
Tony Crisci
b90099b4b7 rename container functions 2018-03-29 16:40:40 -04:00
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.
2018-03-29 15:40:15 -04:00
Tony Crisci
874f009866 move tree includes to their own directory 2018-03-29 14:21:42 -04:00
Drew DeVault
8d6bce02af Address review feedback 2018-03-28 18:11:03 -04:00
Drew DeVault
68cfa7ef67 Render layer surfaces and respect exclusive zone 2018-03-28 16:42:13 -04:00
Drew DeVault
0c8a64942e Add initial layer shell skeleton 2018-03-28 15:47:22 -04:00
Drew DeVault
53df5889d5 Fix lingering xdg shell issues 2018-03-27 15:54:34 -04:00
Drew DeVault
cbb2e3308e Update API to match latest wlroots 2018-03-27 13:28:43 -04:00
emersion
01beee5826
Update wlroots API
Breaking changes in wlr_xdg_shell_v6 and wlr_renderer have been
made upstream.
2018-03-19 23:31:18 +01:00
emersion
1004915796
Update rendering code for wlroots matrix redesign 2018-03-15 21:22:34 +01:00
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?
2018-03-03 16:37:14 +01:00
Drew DeVault
3c80498891 Utilize wlr_xwayland_surface_is_unmanaged 2018-02-27 08:26:18 -05:00
Drew DeVault
4b781356a4 Fix wlr_render_with_matrix call
This takes an alpha parameter now.
2018-02-26 19:04:57 -05:00
Drew DeVault
265378270a Revert "Multiple output coords by scale"
This reverts commit 94f8bdf081.
2018-02-25 17:55:49 -05:00
Drew DeVault
94f8bdf081 Multiple output coords by scale 2018-02-25 17:54:28 -05:00
Drew DeVault
8ad26c8afd Send surface enter/leave events 2018-02-25 17:23:36 -05:00
Drew DeVault
61c1c3e7af Use focus for new windows xwayland/wl_shell 2018-02-25 12:55:19 -05:00
Tony Crisci
23e9f5dc35 use wl_container_of() in output destroy callback 2018-02-20 19:21:32 -05:00
Tony Crisci
316effd7b1 make handle_output_destroy() static 2018-02-20 19:06:56 -05:00
Tony Crisci
b88f06e70a bugfix: get right layout box for rendering views 2018-02-19 17:55:16 -05:00
Tony Crisci
80927985fb fix output rendering issue 2018-02-17 16:30:32 -05:00
Tony Crisci
7c089442c3 use box projection function 2018-02-17 15:18:21 -05:00
Tony Crisci
9510a20fcd arrange windows after output add 2018-02-17 13:32:04 -05:00
Tony Crisci
083e11ac7c fix build for latest api 2018-02-14 15:08:10 -05:00
Tony Crisci
c6cb87be19 output damage fix 2018-02-14 14:55:38 -05:00
Tony Crisci
7dfbf06de9 output destroy 2018-02-14 14:51:51 -05:00
Tony Crisci
93084c9cf8 remove old focus member 2018-02-10 19:53:50 -05:00
Tony Crisci
095ddb1561 fix build for output damage 2018-02-10 16:13:08 -05:00
Tony Crisci
a7d49da239 separate seat get focus and seat get focus inactive 2018-02-07 18:17:57 -05:00
Tony Crisci
5151502298 basic focus overhaul 2018-02-04 14:08:54 -05:00
Drew DeVault
b28602aa74 Implement workspaces 2018-01-30 23:09:21 -05:00
Tony Crisci
c353e01c85 add kill command 2018-01-20 14:10:11 -05:00
Tony Crisci
ddc49ede46 xwm handle map and unmap 2018-01-15 09:38:05 -05:00
Tony Crisci
83ddd2d9db render override redirect 2018-01-14 13:19:21 -05:00
Tony Crisci
2ce1d8d6cd render wl-shell and xwayland views 2018-01-14 11:47:48 -05:00
Tony Crisci
76ce629198 xdg-popups 2018-01-14 10:47:19 -05:00
Tony Crisci
4c8c9b29e4 render xdg surface 2018-01-14 10:35:56 -05:00
Dominique Martinet
67985e9031 sway: change all sway_log to wlr_log 2018-01-05 23:39:46 +01:00
Tony Crisci
2f7e435c6f desktop: use wlr-surface commit 2017-12-27 10:10:13 -05:00
Tony Crisci
41e71d950a remove verbose commit logging 2017-12-18 07:13:02 -05:00
Tony Crisci
9fa70ce426 Merge branch 'wlroots' into feature/input 2017-12-16 07:33:23 -05:00
emersion
ec2fd6e5c0
Handle output remove 2017-12-13 21:47:37 +01:00
emersion
a4619e98c4
Update output containers on output layout change 2017-12-13 15:52:18 +01:00
emersion
d293c42942
Update output container box in event handler 2017-12-12 21:09:51 +01:00
emersion
c7abb77f22
Listen to output layout change 2017-12-12 20:02:01 +01:00
emersion
f3d880b0ec
Add scale and transform events to sway_output 2017-12-12 19:40:17 +01:00
Tony Crisci
163edc5a90 sway input device 2017-12-12 08:29:37 -05:00
Tony Crisci
5e9ee32d63 set focus on new window 2017-12-10 15:13:27 -05:00
Tony Crisci
0fdecb4d3a Merge branch 'wlroots' into feature/input 2017-12-10 10:25:56 -05:00
Tony Crisci
e69b052a6d working pointer motion 2017-12-10 08:48:44 -05:00
Tony Crisci
9333a7eb53 working xcursor 2017-12-09 14:06:00 -05:00
Tony Crisci
47f268d8fa view activate 2017-12-06 07:34:33 -05:00
Tony Crisci
8bdf3b1b02 view set position 2017-12-05 11:02:31 -05:00
Tony Crisci
0896b68675 Merge branch 'wlroots' into feature/xwayland 2017-12-04 07:32:25 -05:00
Tony Crisci
1870f116ba xwayland shell 2017-12-04 07:28:47 -05:00
Tony Crisci
9afcfd44c4 wl-shell: class instead of app_id 2017-12-03 17:00:17 -05:00
Tony Crisci
6a694853e5 wl-shell: dimensions to size 2017-12-03 14:23:23 -05:00
Tony Crisci
823f6ee122 Merge branch 'wlroots' into feature/wl-shell 2017-12-03 14:22:06 -05:00
Tony Crisci
8239067da4 basic wl-shell 2017-12-03 14:21:26 -05:00
Tony Crisci
802e7392f8 use "size" instead of "dimensions" 2017-12-03 11:01:44 -05:00
Tony Crisci
59db38ce17 sway wl_shell 2017-12-03 10:49:13 -05:00
Tony Crisci
9220225f1d remove unused timespec_to_msec 2017-12-03 08:42:47 -05:00
Tony Crisci
31e44c01b4 send callbacks with send_frame_done 2017-12-01 07:15:34 -05:00
Tony Crisci
6993a76232 set mode on output 2017-11-28 04:46:22 -05:00
Drew DeVault
8caabe59c2 Handle view destruction properly 2017-11-25 16:30:15 -05:00
Drew DeVault
a57d462926 Fix rendering issues, wire up some xdg listeners 2017-11-25 15:49:10 -05:00
Drew DeVault
ce1936bc65 Arrange windows on desktop 2017-11-25 11:19:25 -05:00
Drew DeVault
4ca1e77fdb Add views to tree and render them 2017-11-22 21:06:08 -05:00
Dominique Martinet
6c1cd82e32 xdg_shell_v6: add _POSIX_C_SOURCE define for struct timespec
wlroots 1e0e73 added struct timespec to wlr_seat.h, so we need to
define a _POSIX_C_SOURCE large enough whenever we include wlr_seat.h
2017-11-23 00:19:11 +01:00
Drew DeVault
db4fb1c85c Add outputs to the tree 2017-11-19 17:04:28 -05:00
Drew DeVault
733993a651 Move everything to sway/old/ 2017-11-18 11:22:02 -05:00
Drew DeVault
0c8491f7d0 Initial (awful) pass on xdg shell support 2017-11-11 18:06:50 -05:00
Drew DeVault
1efd5f819f Wire up output frame loop 2017-11-11 14:41:18 -05:00
Drew DeVault
7eafcc75f6 Initialize outputs from backend and add to tree 2017-11-11 11:58:43 -05:00