Drew DeVault
f29d8b55ae
Initial scaffolding of layer shell
2018-03-27 18:50:09 -04:00
Tony Crisci
575bc81d54
Merge pull request #754 from emersion/popup-map-unmap-damage
...
[WIP] xdg-shell: damage view when popup is mapped/unmapped
2018-03-27 17:37:03 -04:00
emersion
4abca435cc
rootston: damage view when xdg-popup is mapped/unmapped
2018-03-27 17:27:58 -04:00
emersion
19a525f3b5
rootston: damage view when zxdg-popup-v6 is mapped/unmapped
2018-03-27 17:24:25 -04:00
Tony Crisci
edb643fc6c
basic xdg-positioner
2018-03-27 17:16:08 -04:00
Tony Crisci
9ff84db06d
unconstrain stubs
2018-03-27 15:13:35 -04:00
Tony Crisci
8371e2f41d
implement flip_x
2018-03-27 14:49:31 -04:00
Drew DeVault
1ed90541f9
Merge pull request #753 from emersion/xdg-shell-unmap-destroy
...
xdg-shell-v6: don't destroy role resources on unmap
2018-03-27 13:15:32 -04:00
emersion
171e28eaff
xdg-shell: don't destroy role resources on unmap, move toplevel fields
...
Ports 5233801530
and
334bab543d
to xdg-shell stable.
2018-03-27 10:25:02 -04:00
Drew DeVault
e9ccb705fb
Merge pull request #758 from martinetd/unfullscreen
...
rootston: Fix segfault in seat unfullscreening
2018-03-27 08:35:49 -04:00
Dominique Martinet
a0b52a0dff
Fix x11 backend
...
Need to include wlr/config.h before using the various WLR_HAS_xxx defines
2018-03-27 09:20:21 +02:00
Dominique Martinet
0c4d347d1e
rootston: Fix segfault in seat unfullscreening
...
==32557==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x000000425f96 bp 0x7fff8ac19de0 sp 0x7fff8ac19d20 T0)
==32557==The signal is caused by a READ memory access.
==32557==Hint: address points to the zero page.
#0 0x425f95 in roots_seat_set_focus ../rootston/seat.c:737
#1 0x40bcd6 in roots_cursor_press_button ../rootston/cursor.c:272
#2 0x40c1f7 in roots_cursor_handle_button ../rootston/cursor.c:298
#3 0x42179b in handle_cursor_button ../rootston/seat.c:58
#4 0x7f1651062367 in wlr_signal_emit_safe ../util/signal.c:29
#5 0x7f165101b532 in handle_pointer_button ../types/wlr_cursor.c:344
#6 0x7f1651062367 in wlr_signal_emit_safe ../util/signal.c:29
#7 0x7f1650ff633b in handle_pointer_button ../backend/libinput/pointer.c:85
#8 0x7f1650ff5291 in wlr_libinput_event ../backend/libinput/events.c:215
#9 0x7f1650ff3990 in wlr_libinput_readable ../backend/libinput/backend.c:35
#10 0x7f1650d88c11 in wl_event_loop_dispatch (/lib64/libwayland-server.so.0+0x9c11)
#11 0x7f1650d87449 in wl_display_run (/lib64/libwayland-server.so.0+0x8449)
#12 0x418e90 in main ../rootston/main.c:81
#13 0x7f164ff7ef29 in __libc_start_main (/lib64/libc.so.6+0x20f29)
#14 0x405829 in _start (/home/shared/wayland/wlroots/build/rootston/rootston+0x405829)
introduced by #680
2018-03-27 09:17:47 +02:00
Tony Crisci
bbd0e23fa7
xdg-positioner constraint detection
2018-03-26 23:48:32 -04:00
Drew DeVault
d1d983a303
Merge pull request #680 from Ongy/roots_unfullscreen
...
unset fullscreen when surface is brought to front
2018-03-26 23:39:29 -04:00
Drew DeVault
b1c4f01bad
Merge pull request #713 from ManDay/master
...
Make X11 fully optional
2018-03-26 23:20:46 -04:00
Markus Ongyerth
07ca976489
only unfullscreen when necessary
...
Check whether the newly focused view is the same as the one currently
fullscreen on that output, or override redirect and don't unfullscreen
in these cases.
2018-03-26 23:18:50 -04:00
Markus Ongyerth
43d7459734
unset fullscreen when surface is brought to front
...
The output fullscreen surfaces are drawn in front of everything, without
consideration for view z-order.
If a view is brought to front, unset any fullscreen view that would
cover this view to make sure the view is visible.
2018-03-26 23:18:50 -04:00
Drew DeVault
706f77e3c7
Address review feedback
2018-03-26 23:15:21 -04:00
emersion
334bab543d
xdg-shell-v6: move toplevel specific fields in wlr_xdg_toplevel_v6
2018-03-26 19:32:21 -04:00
Drew DeVault
891610081f
Merge pull request #751 from emersion/rotated-surface-damage
...
Fix damage tracking for rotated surfaces
2018-03-26 18:05:35 -04:00
emersion
140bc19476
rootston: add -D flag to enable damage tracking debugging
2018-03-26 17:34:46 -04:00
emersion
4555fc8a54
Fix damage tracking for rotated surfaces
...
It was broken because the damage extents were rotated about its
own center, not about the center of the surface.
This adds a new wlr_region_rotated_bounds that rotates regions.
This allows us to have only one code path (for both non-rotated
views and rotated views) and optimizes rendering for rotated
views.
2018-03-26 15:31:08 -04:00
emersion
793c3b3047
render: add simple functions to render rectangles and ellipses
2018-03-26 12:41:51 -04:00
Tony Crisci
f53575e3a3
unified xdg-surface close
2018-03-24 15:11:26 -04:00
emersion
a854c2f246
Merge branch 'master' into gles2-renderer-redesign
2018-03-23 00:55:55 +01:00
Dominique Martinet
d9a3c66942
rootston/output: fix leak in damage_from_surface
2018-03-22 21:25:41 +01:00
emersion
3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
...
This allows raw GL calls outside wlr_renderer to be removed.
2018-03-21 07:37:09 +01:00
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
2018-03-19 23:16:29 +01:00
Dominique Martinet
a491f780b8
rootston rotation: change view->rotation sign
...
The convetion with wlr_matrix changed and it's a good time to remove
all these pesky minus signs
2018-03-18 09:19:09 +01:00
Drew DeVault
1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
...
Matrix redesign
2018-03-17 15:22:00 -04:00
Tony Crisci
09413aa7f1
Merge pull request #711 from emersion/map-unmap
...
Add map/unmap to xdg-shell
2018-03-17 10:00:54 -04:00
emersion
303883ce49
rootston: properly emit view unmap event
2018-03-15 21:47:20 +01:00
emersion
e607d0f7ee
xdg-shell: add map/unmap support
2018-03-15 20:15:09 +01:00
emersion
8b58e1a3ad
Merge branch 'master' into matrix-redesign
2018-03-15 15:48:09 +01:00
emersion
824a95ad19
matrix: use 2D matrices
2018-03-15 15:33:58 +01:00
emersion
de0e40d621
Merge pull request #698 from agx/linux-dmabuf
...
Add initial linux_dmabuf protocol support
2018-03-15 12:45:07 +01:00
Guido Günther
eb4337b5ee
Wire up linux_dmabuf in rootston
2018-03-15 12:40:18 +01:00
emersion
d26b67cb06
matrix: unify API, don't use array pointers
2018-03-15 11:10:56 +01:00
emersion
b6a3f240c7
matrix: move to types/
2018-03-15 09:11:27 +01:00
emersion
dd8a7a29e1
rootston: don't center view if maximized
2018-03-14 00:01:28 +01:00
emersion
ace738dbca
xdg-shell-v6: next_geometry and geometry fields are not longer pointers in wlr_xdg_surface_v6
2018-03-13 22:17:25 +01:00
emersion
149209b72e
xdg-shell-v6: rename toplevel and popup fields in wlr_xdg_surface_v6 for consistency
2018-03-13 22:09:44 +01:00
emersion
e74ddaaf10
xdg-shell-v6: redesign the configure/ack_configure workflow
2018-03-13 19:57:21 +01:00
emersion
125138f1a0
rootston: unmap view after emitting destroy signal in view_destroy
2018-03-13 12:34:29 +01:00
emersion
c1c88bfe5d
rootston: destroy seat view on unmap
2018-03-13 12:31:45 +01:00
emersion
42637a52cf
rootston: don't segfault when getting size of an unmapped xdg-shell view
2018-03-12 10:42:41 +01:00
emersion
6ac3534df6
rootston: add destroy to view interface
2018-03-12 09:17:06 +01:00
emersion
1f8854f217
rootston: remove xdg-shell-v6 map/unmap listeners on destroy
2018-03-12 09:00:59 +01:00
emersion
9d6e17fb11
rootston: fix segfault in handle_tablet_tool_destroy
2018-03-11 11:58:59 +01:00
emersion
3f072bedd9
xdg-shell-v6: add map signal
2018-03-10 11:18:50 +01:00
Cedric Sodhi
ebdabc2030
Make X11 fully optional
...
Make X11 Backend (in addition to XWayland) optional and small bug fix on XWayland includes.
2018-03-09 15:17:15 +01:00
emersion
c27fd1e1ee
rootston: add view_map and view_unmap
2018-03-09 10:29:22 +01:00
Markus Ongyerth
14bb550bff
set alpha to 1.0 for drag icons
2018-02-27 18:18:39 +01:00
Markus Ongyerth
333110515e
set fullscreen alpha to 1
2018-02-27 10:55:05 +01:00
emersion
c2ba1869ce
Merge pull request #670 from Ongy/xwayland_unmanaged
...
add xwayland unmanaged tests to support dmenu
2018-02-27 09:47:23 +01:00
Markus Ongyerth
bb676013ed
add xwayland unmanaged tests to support dmenu
...
This adds `wlr_xwayland_surface_is_unamanged`, to allow compositors more
fine grained control over XWayland focus.
A surface that is unmanaged should not receive focus, while other
windows that are just override redirect may want it (dmenu).
The way unamanged is determined is taken from wlc.
2018-02-26 12:02:49 +01:00
Drew DeVault
3296365ce5
Merge pull request #659 from agx/alpha
...
Make wlr_render_with_matrix use alpha
2018-02-25 13:16:35 -05:00
Guido Günther
202a728ee9
rootstion: handle alpha in server side decorations
2018-02-25 16:53:36 +01:00
Guido Günther
9864f1c136
rootston: wire up window alpha keybinding
2018-02-25 16:53:36 +01:00
Guido Günther
e2ea1ebe48
rootston: Add alpha channel to views
2018-02-25 16:53:36 +01:00
Guido Günther
d08792bfff
Add alpha to wlr_render_with_matrix
...
so we can use the alpha channel to e.g. blend in textures
2018-02-25 13:47:48 +01:00
Guido Günther
e6ca78b0e4
rootston: add view_create
...
so we can do basic view setup. Will be used to initialize alpha.
2018-02-25 13:47:43 +01:00
Tony Crisci
b7b86a9591
Merge pull request #641 from Ongy/idle-inhibit
...
Add idle-inhibit implementation
2018-02-24 10:15:18 -05:00
emersion
69409ea3cb
Merge pull request #654 from emersion/send-frame-done
...
rootston: send frame done events unconditionally
2018-02-23 18:55:18 +01:00
emersion
ca3a947864
rootston: fix user-after-free in output_handle_destroy
2018-02-23 10:29:18 +01:00
emersion
5dba27216c
rootston: fix use-after-free in handle_keyboard_destroy
2018-02-23 10:24:28 +01:00
emersion
00e647e161
rootston: fix sending frame done to undefined view
2018-02-20 16:32:29 +01:00
emersion
dc77b4c8c6
rootston: don't send frame done if wlr_output manages the surface
2018-02-20 16:17:23 +01:00
emersion
6f8eca2b3a
rootston: send frame done events unconditionally
2018-02-20 15:33:48 +01:00
Markus Ongyerth
50d573b2ca
implements the idle_inhibit protocol type
...
This adds the types/wlr_idle_inhibit_v1 implementation.
2018-02-17 12:37:12 +01:00
Dominique Martinet
7d26a6debd
xdg-shell stable: copy-pasta implementation
2018-02-14 12:52:30 +01:00
emersion
c2e1474010
Reformat all #include directives
2018-02-12 21:29:23 +01:00
emersion
36ead80cd1
Make wlr_signal_emit_safe private
2018-02-12 19:52:47 +01:00
emersion
10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
2018-02-12 10:36:43 +01:00
emersion
5e58d46cc1
Add wlr_signal_emit_safe
2018-02-12 09:12:31 +01:00
emersion
ec837e3c9e
Introduce wlr_output_damage
2018-02-11 12:49:30 +01:00
Dominique Martinet
5aee2afc7b
rootston: allow scale < 1 as well
...
Since we support fractional scale, having scale=0.5 can make sense
(and, as far as I can tell, works fine)
2018-02-10 09:28:54 +01:00
emersion
cdd55b5d19
Merge remote-tracking branch 'upstream/master' into output-damage
2018-02-09 14:50:26 +01:00
Vincent Vanlaer
74264d4f62
Rename roots_seat_cancel_transform
2018-02-08 13:13:33 +01:00
Vincent Vanlaer
84234b4311
Merge branch 'master' into cancel-grab
2018-02-08 13:07:39 +01:00
Drew DeVault
78dc0c7de1
Merge pull request #611 from DonOregano/fix-resize-freeze
...
Make pointer button release outside window still count down the button_count
2018-02-07 21:00:09 -05:00
Vincent Vanlaer
712665b83b
Fix style error
2018-02-07 20:26:30 +01:00
Vincent Vanlaer
099c80e7d6
Fix jitter when quickly resizing windows
...
Surfaces and views get resized only on commit, therefore we may only
change the position of a window if there are no pending commits.
2018-02-07 18:36:08 +01:00
Lars Hagström
b181f793c3
Make pointer button release outside window still count down the button_count.
...
When double-clicking a maximized window title, so that the windows size is restored and the mouse pointer ends up _outside_ the window it becomes impossible to move windows.
The reason is that the button_count variable is not counted down if the mouse button is released outside the window, so the button_count remains incremented even after the button is released.
This patch adds a call to wlr_seat_pointer_notify_button if the mouse button is released outside the window.
(I am a complete noob to wlroots, so be kind...)
2018-02-07 17:42:31 +01:00
Vincent Vanlaer
90eb50d9aa
Merge roots_seat_cancel_* into one function
2018-02-06 22:55:56 +01:00
Vincent Vanlaer
147e5c0f8f
Refactor roots_cursor_press_button
...
Removed the button_count check when resizing/moving/rotating ends,
since all buttons presses are now properly tracked.
2018-02-06 13:57:03 +01:00
Vincent Vanlaer
6567a35903
Update seat pointer on meta move/resize/rotate
...
This will send the button pressed event to the client. This shouldn't
be a problem since sebsequent pointer movements are not sent to the
client. Thus the client will not for example start selecting text when
it is being resized using the compositor keybindigns.
2018-02-06 12:53:51 +01:00
Vincent Vanlaer
7ae8800a63
Cancel rootston move/resize/rotate on escape press
2018-02-06 12:36:38 +01:00
Vincent Vanlaer
7e3bb39d49
Always notify seat on button press
...
When the cursor is not over a view, wlr_seat_pointer_notify_button is
not called. However, this function does the bookkeeping of the pointer
state with regards to the number of pressed buttons. Because this
function also sends updates to the focused view, it has been moved
down, after the focus has been updated.
2018-02-06 12:36:04 +01:00
Fabian Geiselhart
ee6cbe2efd
Comments should talk about colons not semicolons
2018-02-04 15:26:12 +01:00
emersion
1cea73d2d8
rootston: fix rotated views damage tracking
2018-02-04 11:59:04 +01:00
emersion
1842487d61
rootston: fix crash when closing a fullscreened xwayland view
2018-02-03 16:43:31 +01:00
emersion
6ba36cc52f
rootston: do not rely on current view size when accumulating damage
2018-02-03 16:33:58 +01:00
emersion
ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color
2018-02-03 09:32:02 +01:00
emersion
402587ed65
rootston: use output renderer
2018-02-03 09:25:35 +01:00
emersion
5aa642485d
rootston: do not render views fullscreened on other outputs
2018-02-02 20:39:15 +01:00
emersion
4d6e7f510e
rootston: fix artifacts when leaving fullscreen in a rotated view
2018-02-02 20:34:46 +01:00
emersion
a7cba7d83f
rootston: damage whole output when entering/leaving fullscreen
2018-01-30 14:40:22 +01:00
emersion
2a855e6282
rootston: fix urxvt damage on HiDPI outputs
...
util/region: add wlr_region_expand
2018-01-30 12:01:10 +01:00
emersion
d498855b9d
backend/drm: fix hw cursor position on rotated and scaled outputs
...
output: add wlr_output_transformed_resolution
2018-01-30 10:23:35 +01:00
emersion
51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-29 23:24:09 +01:00
Tony Crisci
ed5b1fdedd
Merge pull request #580 from emersion/screenshooter-renderer-backport
...
Backport screenshooter fixes from the renderer redesign v1
2018-01-29 17:13:23 -05:00
emersion
4cc58288cb
rootston: fix damage when changing views z-index
2018-01-29 09:07:29 +01:00
emersion
20e6861021
Do not flush damage if swapping buffers failed
...
This should solve issues with multiple outputs on DRM backend.
2018-01-28 22:39:24 +01:00
emersion
be888df4c3
rootston: fix build without xwayland
2018-01-28 21:38:29 +01:00
emersion
1ee61dbd0f
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-28 21:22:50 +01:00
Patrick Steinhardt
d05143950b
rootston: move together XWayland setup code
...
The XWayland code for creating the cursor as well as creating the
surface itself are currently split up into two ifdef'ed sections in
`desktop_create()`. Move together these two sections in order to avoid
having multiple ifdefs as well as making it clearer that they do in fact
serve the same purpose of setting up the XWayland environment.
2018-01-28 12:12:33 +00:00
Patrick Steinhardt
52cb19d99d
rootston: fix compilation without XWayland support
...
In case wlroots is not being compiled with XWayland support, we will not
have an xwayland surface in our roots view. While we make sure to pay
attention to that in some places, we are not being consistent and try to
access the xwayland surface in other places. Obviously, this leads to a
compiler error due to the field not being present.
Fix the issue by sprinkling in a few additional ifdefs where required.
2018-01-28 12:07:15 +00:00
emersion
692d33bf8b
rootston: fix clipped SSD for rotated views
2018-01-28 12:14:23 +01:00
emersion
63736be214
rootston: fix damage tracking for SSD
2018-01-28 10:11:31 +01:00
emersion
7adf13e284
Fix flickering when switching VT
2018-01-27 11:16:42 +01:00
emersion
7111dd79ef
rootston: damage tracking for rotated views
2018-01-27 10:43:17 +01:00
emersion
8d58ed502b
output: add wlr_output_schedule_frame
2018-01-26 22:39:23 +01:00
emersion
ece2c1e4e2
Damage tracking for transformed outputs
2018-01-26 22:11:09 +01:00
emersion
4223fbc763
rootston: damage tracking scale support
2018-01-25 19:15:20 +01:00
emersion
3f96427d08
Merge branch 'output-damage' of github.com:emersion/wlroots into output-damage
2018-01-24 18:49:47 +01:00
emersion
6281deb90f
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-24 14:48:01 +01:00
emersion
4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
...
This backports some changes to #319 to fix the screenshooter data
format. This also adds wlr_backend_get_renderer which will be
useful to support multiple renderers.
2018-01-23 22:06:54 +01:00
emersion
2ad7df8680
rootston: damage tracking for drag icons
2018-01-23 20:01:40 +01:00
Tony Crisci
a4d601e3d6
decorations: respect motif hints
2018-01-23 08:19:00 -05:00
Tony Crisci
fc627afd18
fix decorations on wayland backend
2018-01-23 08:07:03 -05:00
emersion
4d282c8590
rootston: damage tracking for drag icons
2018-01-23 13:37:58 +01:00
emersion
415a2b7c56
render: add wlr_renderer_clear and wlr_renderer_scissor
2018-01-22 16:42:22 +01:00
emersion
3f1c4f5be7
rootston: damage tracking for wl_shell
2018-01-22 16:01:32 +01:00
Tony Crisci
85a6939cf2
rename matrix model box to project box
2018-01-21 19:03:10 -05:00
Tony Crisci
e8c407d00e
rename wlr_deco_part to roots_deco_part
2018-01-21 18:46:19 -05:00
Tony Crisci
54776dd19c
fix cursor issue
2018-01-21 18:37:36 -05:00
Tony Crisci
4183271475
make it work with rotation
2018-01-21 18:24:53 -05:00
emersion
59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-21 22:18:06 +01:00
emersion
f704c3d42b
rootston: fix damage tracking for fullscreen xwayland views
2018-01-21 22:08:38 +01:00
Tony Crisci
d13114520a
move matrix model code to matrix.h
2018-01-21 15:53:42 -05:00
Tony Crisci
7474f00591
Merge branch 'master' into decorations
2018-01-21 15:09:33 -05:00
emersion
66ae4071a7
rootston: damage tracking for xdg popups
2018-01-21 21:06:37 +01:00
emersion
d8b36357e4
rootston: add roots_view_child::destroy
2018-01-21 15:13:10 +01:00
emersion
a636d72fc7
rootston: track subsurface damage
2018-01-21 14:50:37 +01:00
emersion
c6aab6f56c
Add docs and comments
2018-01-21 11:11:25 +01:00
emersion
0365b587f0
output: add damage tracking via buffer age
2018-01-21 00:06:35 +01:00
emersion
4ca38b84ed
backend/drm: fix hardware cursors not moving
...
This adds back `wlr_output::needs_swap`. This allows a backend to
request buffer swaps even if the output isn't damaged. This is
needed by the DRM backend to trigger pageflips when the cursor
moves.
2018-01-20 16:43:14 +01:00
emersion
bc001e90e9
rootston: fix artifacts when un-maximizing a view
2018-01-20 01:04:35 +01:00
emersion
d6c74d8a16
rooston: restrict damage to output extents
2018-01-19 14:32:42 +01:00
emersion
e29a0df8c1
output: fix software cursors damage tracking
2018-01-19 14:08:47 +01:00
emersion
b296481007
rootston: remove repaint timer, listen for damage instead
2018-01-19 13:14:16 +01:00
emersion
7f9f918b78
rootston: damage output on mode change
2018-01-19 11:31:04 +01:00
emersion
977a401fa1
rootston: damage tracking for fullscreen views
2018-01-19 11:04:12 +01:00
emersion
59ba8f35ed
rootston: use surface damage
2018-01-18 21:34:10 +01:00
emersion
3ba447a8f9
rootston: fix damage test
2018-01-18 20:08:26 +01:00
emersion
bed7522108
rootston: fix segfault when destroying unmapped xwayland view
...
This happens when closing chromium for instance.
2018-01-18 19:50:34 +01:00
emersion
bde255933e
output: add wlr_output::damage, fixes #572
2018-01-18 19:47:21 +01:00
emersion
baa17ec755
rootston: damage whole output when created
2018-01-18 18:57:11 +01:00
emersion
8b3f3ddb7f
rootston: fix double-buffering artifacts
2018-01-18 17:18:21 +01:00
emersion
7c11d3e372
rootston: fix repaint timer for outputs with refresh rate
2018-01-18 16:36:49 +01:00
emersion
96d6f34edd
rootston: replace view_damage with view_apply_damage and view_damage_whole
2018-01-18 16:30:56 +01:00
emersion
7f5a538cb7
rootston: fix segfault when rendering surface outside output
2018-01-18 14:50:30 +01:00
emersion
5017d7f762
rootston: only draw damaged regions
2018-01-18 14:36:42 +01:00
emersion
01bcc2ab01
rootston: damage views when moved
2018-01-18 12:25:39 +01:00
emersion
5089f2d9fb
rootston: do not swap buffers when output isn't damaged
2018-01-18 11:42:54 +01:00
emersion
1a084807ce
rootston: do not redraw if output has no damage
2018-01-18 03:31:46 +01:00
Tony Crisci
b6f29e87e8
dont use pointer for modifiers
2018-01-17 08:31:15 -05:00
Tony Crisci
43896af90f
Merge branch 'master' into modifier-fixes
2018-01-17 08:27:47 -05:00
emersion
6e9c652fc4
rootston: hide cursor if seat has no pointer
2018-01-17 14:01:13 +01:00
Tony Crisci
61bd79200c
basic decorations
2018-01-16 19:04:26 -05:00
emersion
7f56ccd713
rootston: set real seat capabilities
2018-01-16 20:33:55 +01:00
Tony Crisci
3751a17321
decorate xwayland views
2018-01-16 07:51:10 -05:00
Tony Crisci
dc701b72fc
abstract box matrix
2018-01-16 07:14:47 -05:00
Drew DeVault
b331c5c2c5
Merge pull request #549 from emersion/output-enabled
...
Add wlr_output::enabled
2018-01-15 20:53:13 -05:00
Tony Crisci
c690420501
Merge pull request #562 from emersion/xwayland-fullscreen-render-children
...
xwayland: render children window in fullscreen
2018-01-15 07:53:32 -05:00
Tony Crisci
e46d2dd0f8
Merge pull request #556 from raazvvann/heghe/idle-protocol
...
Idle protocol
2018-01-14 15:55:04 -05:00
emersion
65b28b3823
xwayland: render children window in fullscreen
2018-01-14 18:19:37 +01:00
Drew DeVault
66d4d2928f
Remove unnecessary wlr_backend_destroy
2018-01-13 20:29:54 -05:00
Heghedus Razvan
440cf7112d
Include idle protocol in rootston
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2018-01-10 14:33:00 +02:00
emersion
e56b82e896
rootston: add toggle_outputs command
2018-01-07 00:37:36 +01:00
emersion
77fc0505e6
rootston: do not attempt to render disabled outputs
2018-01-07 00:30:55 +01:00
Tony Crisci
b40a5f084a
keyboard grab enter with modifiers
2018-01-06 11:06:09 -05:00
Tony Crisci
0ef2df21f2
compositor modifier hook
2018-01-05 07:00:50 -05:00
emersion
be3a7b0017
Disable outputs in rootston config
2018-01-04 15:48:28 +01:00
Drew DeVault
b23bd8ea28
Merge pull request #544 from emersion/fix-views-outside-output-layout
...
Fix views outside output layout
2018-01-01 11:45:08 -05:00
Calvin Lee
5a26ed645a
Allow configurable verbosity
2017-12-31 14:50:19 -07:00
emersion
1fe1d64042
Fix views outside output layout
2017-12-31 12:49:06 +01:00
Dominique Martinet
a477e5d302
roots_seat_destroy: also destroy seat in public function
...
Rework the functions a bit so that the handler does the bulk of the work
except for destroying the seat itself, and the main public function
just explicitely calls the handler and destroys the seat
2017-12-29 20:32:01 +01:00
Dominique Martinet
689004ff21
rootston seat: implement part of roots_seat_destroy
...
... and have it listen to seat destroy notifier
2017-12-29 19:00:51 +01:00
Björn Esser
ff13849624
config: Avoid clash with other config-headers
2017-12-27 17:13:58 +01:00
Tony Crisci
815d71a3aa
validate grab serial for shell events
2017-12-27 08:04:01 -05:00
Tony Crisci
069f120b70
rootston: remove input event ring buffer
2017-12-27 07:31:53 -05:00
emersion
a79dc7df51
Merge pull request #524 from acrisci/role-committed
...
[wip] Role committed
2017-12-27 13:02:49 +01:00
Tony Crisci
68328700c7
wl-shell: role committed
2017-12-27 06:32:54 -05:00
Tony Crisci
d5ffa26564
xdg-shell: role-committed func
2017-12-27 06:15:25 -05:00
Tony Crisci
cbd76cb46f
Merge pull request #521 from acrisci/nop-command
...
add nop command
2017-12-27 05:49:34 -05:00
Björn Esser
57a09c8ca4
config: Put all defines into config.h
2017-12-26 18:51:27 +01:00
Tony Crisci
ebf27f2027
add nop command
2017-12-26 08:41:58 -05:00
Dominique Martinet
e85c2827c8
rootston: add arbitrary libinput config 'tap_enabled'
...
This ought to be enough to serve as an example for other compositors to
use.
2017-12-24 14:55:38 +01:00
Drew DeVault
eb410e0b6e
Merge pull request #508 from emersion/fix-rootston-seat-button-count
...
Fix rootston seat button count
2017-12-23 11:30:30 -08:00
emersion
a95d09d561
Add missing gtk-primary-selection interfaces
2017-12-22 22:22:29 +01:00
emersion
9e2d936b4a
Fix rootston seat button count
2017-12-22 15:06:12 +01:00
Tony Crisci
9871cde604
rootston: server backend check
2017-12-21 18:27:38 -05:00
Tony Crisci
ee39dff1e7
rootston: handle backend creation failed
2017-12-20 05:51:23 -05:00
emersion
4a36ba4bdd
Destroy multi backend on display destroy
2017-12-19 18:28:47 +01:00
Tony Crisci
c838679393
fix memory leaks
2017-12-18 14:53:24 -05:00
Drew DeVault
c91523c578
Merge pull request #499 from emersion/unknown-keymap
...
Do not segfault when loading an unknown keymap
2017-12-18 09:17:39 -05:00
emersion
2c31cac116
Do not segfault when loading an unknown keymap
2017-12-18 15:11:05 +01:00
emersion
db73c54f11
rootston: revert to auto backend
2017-12-18 10:10:23 +01:00
Drew DeVault
f3769a4b1f
Merge pull request #496 from emersion/headless-backend
...
Headless backend
2017-12-17 20:48:01 -05:00
Drew DeVault
10c72f4bf6
Merge pull request #487 from emersion/xwm-selection
...
xwm clipboard sync, 2nd edition
2017-12-17 20:03:26 -05:00
emersion
bc5bdb7793
Add headless input devices
2017-12-17 18:49:20 +01:00
emersion
0256de0002
Add full refresh rate support to custom modes
2017-12-17 18:02:55 +01:00
emersion
3970264ccf
Initialize headless backend
2017-12-17 12:56:42 +01:00
emersion
51db087210
Introduce fractional scaling
2017-12-15 01:00:03 +01:00
emersion
6b42bfad18
Merge branch 'master' into xwm-selection
2017-12-14 23:59:04 +01:00
Drew DeVault
23fb663ea4
Merge pull request #453 from emersion/surface-transform
...
Add surface transforms support
2017-12-14 14:43:04 -05:00
emersion
466e86b7b2
Merge branch 'master' into surface-transform
2017-12-14 20:31:18 +01:00
emersion
75ef7860bb
Merge branch 'master' into display-destroy
2017-12-14 20:29:30 +01:00
emersion
6ef0219763
Merge branch 'master' into xwm-selection
2017-12-14 11:20:38 +01:00
emersion
3b4b8953d9
Update output layout when scale or transform changes
2017-12-12 21:58:00 +01:00
emersion
c67a5824b8
Merge branch 'master' into display-destroy
2017-12-11 16:14:03 +01:00
emersion
529675b7b0
Add wlr_output_set_custom_mode
2017-12-11 12:14:23 +01:00
emersion
925497fbea
Set default cursor image in rootston
2017-12-11 10:36:22 +01:00
Tony Crisci
b275d44bc3
rootston xcursor fixes
2017-12-09 12:10:09 -05:00
emersion
a3c0f97810
Make keyboard repeat info configurable
2017-12-08 17:03:05 +01:00
Tony Crisci
35188834db
Merge branch 'master' into feature/xwm-selection
2017-12-08 09:22:44 -05:00
Tony Crisci
4c60072be5
move get_resize_name to xcursor
2017-12-08 06:08:06 -05:00
Tony Crisci
d74ac69f7b
bring edges into wlr
2017-12-08 06:03:57 -05:00
emersion
91d72040e5
Configure outputs with make, model, serial in rootston
...
Added fallbacks in DRM backend in case EDID extension data for model and serial is missing.
Updates #403
2017-12-07 13:59:19 +01:00
emersion
dfe11a2b0e
Add display destroy listener in screenshooter, destroy display in rootston
2017-12-07 00:13:06 +01:00
emersion
bf2b58eb6d
Add wlr_output_set_scale
...
Fixes #465
2017-12-06 16:36:46 +01:00
Tony Crisci
86df909256
xwayland: remove xwayland param from xsurface methods
2017-12-03 17:30:57 -05:00
Drew DeVault
3f70043d00
Merge pull request #458 from acrisci/refactor/wlr-decoration-modes
...
wrap server decoration modes
2017-12-03 14:13:27 -05:00
Tony Crisci
344ca222db
wrap server decoration modes
2017-12-03 13:39:29 -05:00
Tony Crisci
20545b09fa
rootston: use wl-shell surface commit
2017-12-03 13:02:02 -05:00
emersion
eb763439f7
optimize a bit rootston renderer if there's no surface transform
2017-12-01 16:20:09 +01:00
emersion
d1b29a54b9
Refactor: rename matrices in rootston
2017-12-01 16:13:24 +01:00
emersion
acc8f36894
Fix pointer input for transformed surfaces
2017-12-01 16:08:01 +01:00
emersion
f4754ad1a2
Fix surface transforms
2017-11-30 23:58:12 +01:00
Tony Crisci
5d7eb438d9
Merge pull request #437 from emersion/fullscreen
...
Fullscreen support
2017-11-30 03:25:05 -05:00
Tony Crisci
903ba1c9b3
rootston: maximize command
2017-11-22 15:33:17 -05:00
Tony Crisci
fc17c74516
xwayland: clean up seat setting
2017-11-22 08:23:23 -05:00
Tony Crisci
b0683874e9
xwm: send selection data
2017-11-22 08:10:06 -05:00
Tony Crisci
39e2ea8420
xwm: get selection targets
2017-11-21 18:09:25 -05:00
emersion
3262661e1e
Fix HiDPI support
2017-11-21 20:58:15 +01:00
emersion
dcb168914e
Merge branch 'master' into fullscreen
2017-11-21 18:34:12 +01:00
Drew DeVault
1228d0da19
Merge pull request #387 from emersion/laggy-move-resize
...
Fix laggy move-resize
2017-11-21 11:13:18 -05:00
emersion
9a6f799d8f
Add fullscreen command, fix view_at with fullscreen views
2017-11-21 10:37:53 +01:00
emersion
9e29621ec3
Always center fullscreen view on screen
2017-11-21 10:14:50 +01:00
emersion
17d9e2ce35
Unify view events naming, remove client from event structs
2017-11-21 09:50:00 +01:00
emersion
5a8bbc6203
Fix GCC build
2017-11-20 20:54:54 +01:00
emersion
54f1135c05
Fix fullscreen in xdg-shell
2017-11-20 20:53:13 +01:00
emersion
a7a221698e
Merge branch 'master' into fullscreen
2017-11-20 19:47:27 +01:00
emersion
abab2902f5
Check for subsurfaces and popups before using wlr_output_set_fullscreen_surface
2017-11-20 19:45:10 +01:00
emersion
6a06c3d907
Fix segfault when closing xwayland views
2017-11-20 18:05:24 +01:00
emersion
80998cdf57
Add support for fullscreen xwayland views
2017-11-20 17:58:26 +01:00
emersion
b04a9a248d
Initial fullscreen support
2017-11-20 17:27:36 +01:00
emersion
1d08d31709
Merge branch 'master' into laggy-move-resize
2017-11-20 14:35:31 +01:00
Tony Crisci
4d6b3618b8
rootston: remove unmapped surface from desktop
2017-11-20 07:40:22 -05:00
emersion
272e0858e4
Fix laggy move-resize for wl-shell views
2017-11-20 12:16:10 +01:00
emersion
0153a0ed8f
Fix laggy move-resize for xwayland views
2017-11-20 12:05:21 +01:00
emersion
ac6385689f
Set min view size to 1x1
2017-11-20 11:10:43 +01:00
emersion
c0e2dc6f78
Update view position for previous configure_ack too
2017-11-19 22:55:44 +01:00
emersion
7904b625f0
Merge branch 'master' into laggy-move-resize
2017-11-19 22:28:51 +01:00
emersion
0191f3f711
Improve roots_seat_cycle_focus
2017-11-19 21:54:11 +01:00
emersion
9687950de1
Raise the view on the desktop even if already focused in the seat
2017-11-19 19:30:48 +01:00
emersion
97ddd2d1df
Add roots_seat_cycle_focus
2017-11-19 19:21:18 +01:00
emersion
bf41e7a794
Make the close command use roots_seat_get_focus, rename a few symbols
2017-11-19 19:14:31 +01:00
emersion
a8b31da52c
Remove roots_seat_{add,remove}_view
2017-11-19 18:15:11 +01:00
emersion
76e8e1a6ad
Merge branch 'master' into seat-views
2017-11-19 17:56:26 +01:00
Tony Crisci
bd8cdf1e9f
rootston: remove grab listeners
2017-11-19 10:20:32 -05:00
Tony Crisci
390b526450
Merge branch 'bug/xwayland-ready-listener' into refactor/wlr-drag-icon
2017-11-19 10:11:39 -05:00
Tony Crisci
90d2eca218
rootston: xwayland ready listener
2017-11-19 10:07:30 -05:00
Tony Crisci
3b74db467b
data-device: wlr-drag-icon
2017-11-19 09:33:55 -05:00
emersion
72d877658a
Merge branch 'master' into seat-views
2017-11-18 22:18:25 +01:00
Tony Crisci
f17c3947ea
rootston: seat/cursor 80col cleanup
2017-11-18 14:03:31 -05:00
Tony Crisci
f277f28eef
Merge branch 'master' into feature/wlr-seat-touch
2017-11-18 13:43:25 -05:00
emersion
5b13f51dfc
Add per-seat cursor configuration
2017-11-18 17:34:24 +01:00
emersion
cd566ccd8e
Add cursor theme to rootston config
2017-11-18 09:47:53 +01:00
emersion
7375931686
Fix typo making GCC build fail
2017-11-18 09:15:48 +01:00
emersion
8693bbd6b1
Update view coords when no configure is required
2017-11-18 09:13:31 +01:00
emersion
a3a8b7bfd8
Fixed a bug with move-resize, removed xdg-shell ack_configure event
...
Fixed move-resizing a view when only one coordinate changes.
2017-11-18 09:09:23 +01:00
emersion
e2843d87c8
Ensure to move the view when configured
2017-11-17 23:52:42 +01:00
emersion
27937add76
Merge branch 'master' into laggy-move-resize
2017-11-17 23:29:47 +01:00
emersion
632759a499
Fix segfault when xwayland is disabled
2017-11-17 15:28:22 +01:00
emersion
1523082d5d
Remove outdated comment
2017-11-17 12:47:30 +01:00
emersion
bb6d34e7a5
rootston: add per-seat views
2017-11-17 12:45:07 +01:00
Tony Crisci
f61986e8db
rename touch slot to touch id
2017-11-16 17:53:52 -05:00
Tony Crisci
fb18e345a6
wlr-seat: return serial from touch down interface
2017-11-16 17:44:10 -05:00
Tony Crisci
584ff1df4c
Merge branch 'master' into feature/wlr-seat-touch
2017-11-16 16:19:17 -05:00
emersion
a52ca9482a
Various keyboard fixes
...
* Ensure keysyms state is always updated
* Check if pressed keysyms are exactly the binding keysyms
* Do not include modifiers in list of keysyms, these are special cases
2017-11-16 18:58:33 +01:00
emersion
e674266b44
Fix example config file
2017-11-16 16:34:39 +01:00
emersion
53d4cb47ff
Refactor rootston keyboard
2017-11-16 16:13:23 +01:00
emersion
bb79ada49f
Fix a bunch of mistakes detected with scan-build
2017-11-16 10:30:54 +01:00
Tony Crisci
12758a00a2
rootston: touch to focus
2017-11-15 08:34:48 -05:00
Tony Crisci
ac4841ba37
put dnd icon in the right place
2017-11-15 08:34:48 -05:00
Tony Crisci
a337e95505
wlr-touch: make dnd work
2017-11-15 08:34:48 -05:00
Tony Crisci
4eab61f86f
wlr-seat: refactor touch grab interface
2017-11-15 08:34:48 -05:00
Tony Crisci
6a516f7c41
basic touch dnd
2017-11-15 08:34:48 -05:00
Tony Crisci
4240096b83
wlr-seat: default touch grab
2017-11-15 08:34:48 -05:00
Tony Crisci
e5a31ae870
wlr-seat: basic touch
2017-11-15 08:34:48 -05:00
emersion
3f6cf517b9
Add wlr_xdg_surface_v6_popup_get_position
2017-11-15 14:03:13 +01:00
emersion
bb973ff27d
Remove remaining buffer_{width,height} usage
2017-11-14 21:18:34 +01:00
emersion
2f44140f4a
Don't use buffer size
2017-11-14 15:33:29 +01:00
emersion
94b20da3ce
Fix popups position for rotated views
2017-11-14 10:20:20 +01:00
emersion
f8b43940b1
Merge branch 'master' into cursor-scale
2017-11-12 22:12:50 +01:00
emersion
2e312a7e27
Fix hidden cursor when output is added before cursor
2017-11-12 22:11:17 +01:00
Drew DeVault
a317ecdab8
Run startup command after xwayland is ready
2017-11-12 16:01:48 -05:00
emersion
28fc813ca9
Merge branch 'master' into cursor-scale
2017-11-12 21:16:45 +01:00
Drew DeVault
51ef12f128
Merge pull request #416 from acrisci/bug/set-keyboard-on-add
...
rootston: set keyboard for seat on keyboard add
2017-11-12 13:47:55 -05:00
Tony Crisci
a69381ef0c
rootston: set keyboard on keyboard add
2017-11-12 12:15:39 -05:00
Drew DeVault
38e14de240
Merge pull request #414 from emersion/fix-hidpi-rotated-input
...
Fix rotated views on HiDPI outputs
2017-11-12 09:56:13 -05:00
Drew DeVault
1e0e73efaa
Spawn views on last active output
2017-11-12 09:55:28 -05:00
emersion
5d986f1e87
Remove unnecessary include
2017-11-12 15:49:27 +01:00
emersion
454bea678b
Fix rendering of rotated views on HiDPI outputs
2017-11-12 12:54:45 +01:00
emersion
0b3f83d93a
Fix pointer input for rotated views on HiDPI outputs
2017-11-12 12:38:08 +01:00
emersion
8605243459
Introduce wlr_xcursor_manager
2017-11-12 11:10:56 +01:00
emersion
2dccb11741
rootston: keep one xcursor_theme per seat
2017-11-11 23:53:45 +01:00
emersion
09279b90a6
Add wlr_output.serial
2017-11-11 19:09:34 +01:00
emersion
aaf0691883
rootston: add roots_xcursor_theme
...
roots_xcursor_theme loads multiple wlr_xcursor_theme at different scales.
2017-11-11 18:42:14 +01:00
emersion
ac1573b0e7
Add scale parameter to wlr_cursor_set_image
2017-11-11 17:27:44 +01:00
Tony Crisci
7072ac87fd
rootston: config.c 80 col
2017-11-11 10:59:50 -05:00
Tony Crisci
1db3b55128
rootston: prefix config structs and functions
2017-11-11 10:59:04 -05:00
Tony Crisci
4ccadf713b
rootston: fix formatting for xwayland config
2017-11-11 10:40:56 -05:00
Tony Crisci
2a9dc60f28
Merge branch 'master' into feature/multiseat
2017-11-11 09:59:39 -05:00
emersion
eb89f1dcd2
Fix resize issues with some xdg-shell apps.
...
Also renames view_get_size to view_get_box to be more consistent with wlroots API and make it more obvious that x,y are set (while in roots_view.get_size this isn't the case).
Fixes #407
2017-11-11 15:39:15 +01:00
Tony Crisci
27a3a810ab
rootston: fix multiseat focus
2017-11-10 08:27:45 -05:00
Drew DeVault
e6babc07a0
Merge pull request #390 from emersion/rootston-maximize
...
Maximize views in rootston
2017-11-10 08:26:20 -05:00
Drew DeVault
aafb00a15f
Fix centering views on scaled outputs
2017-11-10 08:21:23 -05:00
Tony Crisci
1472dbda74
rootston: roots_keyboard null check
2017-11-09 18:32:54 -05:00
Tony Crisci
d6513cef5d
rootston: add missing properties to kb config merge
2017-11-09 17:47:59 -05:00
Tony Crisci
739361aa70
wlr-keyboard: take out modifiers event struct (for now)
2017-11-09 17:29:28 -05:00
emersion
bf1b12a725
Fix maximize delay in xdg-shell
2017-11-09 21:41:11 +01:00
emersion
0204f811b4
Remove xwayland view listeners on destroy
2017-11-09 20:08:43 +01:00
emersion
26dadacb71
Add wl_shell support for maximized views
2017-11-09 20:06:05 +01:00
Drew DeVault
75fd9b8426
Remove extraneous keyboard send_enter
2017-11-09 08:40:15 -05:00
Drew DeVault
66587eb430
Merge remote-tracking branch 'origin/master' into hidpi
2017-11-09 08:36:27 -05:00
emersion
758514fe5d
Fix xwayland _NET_WM_STATE handling
2017-11-09 11:21:55 +01:00
Tony Crisci
c680ace5e8
rootston: remove old cursor implementation
2017-11-08 20:25:02 -05:00
Tony Crisci
79f5bd6ef8
Merge branch 'master' into feature/multiseat
2017-11-08 20:21:59 -05:00
emersion
2118c691b1
Add maximize support for xwayland in rootston
2017-11-08 23:03:07 +01:00
emersion
4df8be1a8f
Better UX when moving/resizing/rotating maximized views
2017-11-08 22:25:06 +01:00
Tony Crisci
06642859f1
rootston: drag icons
2017-11-08 15:35:47 -05:00
Tony Crisci
428bf18ec7
rootston: request set cursor
2017-11-08 15:23:56 -05:00
Tony Crisci
992f931ae9
rootston: cleanup for multiseat
2017-11-08 14:53:08 -05:00
emersion
882e620639
Always read state from wlr_keyboard in the seat
2017-11-08 19:02:56 +01:00
Tony Crisci
a00b7f1e9b
rootston: remove devices from seat
2017-11-08 09:04:33 -05:00
Tony Crisci
eb3c367c63
rootston: seat resize and rotate
2017-11-08 08:35:27 -05:00
Tony Crisci
fc09f90462
rootston: guess seat for xwayland moveresize
2017-11-08 08:19:23 -05:00
Tony Crisci
86b86f0714
rootston: multiple activated views
2017-11-07 16:42:04 -05:00
Tony Crisci
fc6c3310e8
rootston: log seat name
2017-11-07 16:32:14 -05:00
Tony Crisci
5ac05b0c47
rootston: input remove stubs
2017-11-07 16:24:21 -05:00
Tony Crisci
09c6092423
multiseat: somewhat working
2017-11-07 15:56:11 -05:00
Drew DeVault
f678775953
Merge pull request #394 from Ongy/xkb_fix
...
Fix #393
2017-11-07 11:34:28 -05:00
Markus Ongyerth
23991861a4
works in review comments
2017-11-07 16:50:34 +01:00
Markus Ongyerth
8ca76ff7f2
explains 2 way keybind trying.
2017-11-07 12:55:19 +01:00
Markus Ongyerth
c88990d2c2
fix the keybind handling in rootston.
...
As mentioned in https://github.com/swaywm/wlroots/issues/393 keybinds
did't trigger / were checked with "odd" keys and modifiers.
This commit sends the keycode through two paths, one to get the keycode
and modifiers *after* xkb handles them, a secondary path to get a "raw"
keysym without modifiers and then add the modifiers rootston knows
about.
This will result in the `[Alt]+[Shift]+2` combination I mention earlier
going through the keybind detection twice.
1) `[Alt]+[at]`
2) `[Alt]+[Shift]+2`
When either combination is found, the appropriate keybind is executed.
The xkb handled version will be prefered over the "raw" version.
2017-11-07 12:48:44 +01:00
emersion
03d3fdc158
Basic maximization implementation for xdg-shell
2017-11-05 16:29:43 +01:00