aboutsummaryrefslogtreecommitdiff
path: root/rootston
AgeCommit message (Collapse)Author
2019-08-02output: atomic mode, enabled, scale and transformSimon Ser
This commit makes more output properties (mode, enabled, scale and transform) atomic. This means that they are double-buffered and only applied on commit. Compositors now need to call wlr_output_commit after setting any of those properties. Internally, backends still apply properties sequentially. The behaviour should be exactly the same as before. Future commits will update some backends to take advantage of the atomic interface. Some backends are non-atomic by design, e.g. the X11 backend or the legacy DRM backend. Updates: https://github.com/swaywm/wlroots/issues/1640
2019-07-27Remove all wayland-server.h includesSimon Ser
The documentation for wayland-server.h says: > Use of this header file is discouraged. Prefer including > wayland-server-core.h instead, which does not include the server protocol > header and as such only defines the library PI, excluding the deprecated API > below. Replacing wayland-server.h with wayland-server-core.h allows us to drop the WL_HIDE_DEPRECATED declaration.
2019-07-17text_input: Don't forget to send enter eventsGuido Günther
When we move from one surface to another we ought to handle leave for the old one but also send enter for the new one.
2019-07-15xdg_shell(_v6): Take maximize/fullscreen state into account on view initSebastian Krzyszkowiak
set_maximized and set_fullscreen calls can come before the view is constructed and before its signal handlers are registered.
2019-07-11seat: Move focus back to first shell surface when unfocusing layer surfaceSebastian Krzyszkowiak
2019-06-07rootston: add support for direct scan-outSimon Ser
2019-06-02Remove orbital screenshooter and gamma-controlSimon Ser
These are undocumented, outdated protocols that have a better wlr-protocols equivalent.
2019-05-19rootston: remove duplicated includeSilvan Jegen
2019-04-29rootston: add support for foreign-toplevel fullscreeningIlia Bozhinov
2019-04-27rootston: fix damage tracking debug modeSimon Ser
We want to damage the whole output in this mode. However if we overwrite the damaged region after it's useless. Fixes: 57d32d03a87ab4a74230294cefc5fa8b1e28c96d
2019-04-26rootston: don't submit too much damageSimon Ser
We only need to damage the parts of the screen that changed since last frame, we don't need to accumulate damage from previous buffers. We still need to re-render the accumulated damage. Fixes https://github.com/swaywm/wlroots/issues/1665
2019-04-26Remove wlr_wl_shellDrew DeVault
2019-04-23output: rename needs_commit to needs_frameSimon Ser
This new name makes more sense, since it is a request from the backend to get a new frame. In the future a commit may not convey a new frame.
2019-04-23output-damage: refactor APISimon Ser
wlr_output_damage_make_current has been renamed to wlr_output_damage_attach_render, since it's just a wrapper for wlr_output_attach_render. wlr_output_damage_swap_buffers has been removed completely. Instead, wlr_output_damage now listens to successful wlr_output commits and updates its internal state accordingly.
2019-04-22rootston: use wlr_output_preferred_modeSimon Ser
Also fix rootston setting the preferred mode when another mode is specified in the config file.
2019-04-22Fix missing headers when building without X11Alyssa Ross
The deleted includes are redundant, because other headers will include the necessary files. Additionally, they cause build failures, because including EGL/egl.h or EGL/eglext.h directly, instead of through wlr/render/egl.h or wlr/render/interface.h, will mean that MESA_EGL_NO_X11_HEADERS will not have been defined, and so the EGL headers will attempt to pull in unnecessary X11 headers that may not exist on the system. For the headers produced by glgen.sh, the includes couldn't simply be deleted, because no other header would include the EGL headers. Neither wlr/render/egl.h or wlr/render/interface.h felt appropriate to include, so I opted instead to copy the MESA_EGL_NO_X11_HEADERS definition before the EGL includes.
2019-04-13rootston: remove disabled outputs from the output layoutIlia Bozhinov
We should also be careful when using wlr_output_layout_get_box(), since it may return null.
2019-04-13output: remove lx, lyemersion
Fixes https://github.com/swaywm/wlroots/issues/1610
2019-04-11rootston: disable then enable outputs when applying output-management stateemersion
2019-04-11output-management-v1: update protocol, add set_custom_modeemersion
2019-04-11output-management-v1: support applying configurationemersion
2019-04-11rootston: update output-management-v1 state when output is modesetemersion
2019-04-11rootston: add output-management-v1 supportemersion
2019-03-24rootston: Also iterate layer shell popupsGuido Günther
Broken by 62fd03a7beb18da6c4a5929e38739cf2199dfa79 Closes: #1631
2019-03-19s/lid_switch/switch_deviceRyan Walklin
Rename lid_switch to switch_device to disambiguate lid and tablet mode switches.
2019-03-04xwayland: don't set DISPLAYemersion
Let the compositor set it. This allows for multiple Xwayland instances to run at the same time. Fixes https://github.com/swaywm/wlroots/issues/1442
2019-03-02rootston: fix input events for rotated viewsemersion
2019-03-02rootston: split rendering code into render.cemersion
2019-03-02rootston: fix Xwayland children rendering when fullscreenemersion
2019-03-02rootston: fix rotated views renderingemersion
2019-03-02rootston: refactor renderingemersion
This implements rootston surface iterators to ease rendering, sending frame/presentation events and accumulating damage.
2019-02-26rootston: Make add_{switch,binding}_config staticGuido Günther
2019-02-23Merge pull request #1517 from emersion/refactor-dndDrew DeVault
Refactor drag-and-drop
2019-02-23rootston: make roots_view embedded and remove unionsemersion
2019-02-23rootston: add a view child interfaceemersion
2019-02-23rootston: move part of desktop.c to view.c, use an interface for viewsemersion
2019-02-22rootston: surface_at: check for fullscreen surfaces in between TOP and ↵Sebastian Krzyszkowiak
OVERLAY layers Input order didn't match rendering order, causing pointer events to go into surfaces that were completely obscured by others (like a LAYER_TOP panel behind a fullscreen window).
2019-02-22rootston: don't try to maximize fullscreen surfacesSebastian Krzyszkowiak
It doesn't make much sense and actually breaks stuff when using layer-shell (fullscreen window gets resized, but it's still fullscreen, leading to black bars where the shell layers are behind).
2019-02-20rootston: cancel drag on invalid serialemersion
2019-02-20data-device: refactor wlr_dragemersion
2019-02-19Merge pull request #1493 from emersion/primary-selection-v1Drew DeVault
primary-selection-v1: copy from gtk-primary-selection
2019-02-17subsurface: add map/unmap eventsemersion
Fixes https://github.com/swaywm/wlroots/issues/1414
2019-02-13primary-selection-v1: copy from gtk-primary-selectionemersion
2019-01-30rootston: only allow one drag icon per seatemersion
2019-01-30seat: don't send motion if pointer hasn't movedemersion
2019-01-29Fix two issues found with Clang's static analyzeremersion
2019-01-28Implement the pointer-gestures-unstable-v1 protocolGreg V
This protocol relays touchpad gesture events produced by libinput to supporting clients (e.g. Evince, Eye of GNOME).
2019-01-26pointer: add a frame eventemersion
Frame events group logically connected pointer events. It makes sense to make the backend responsible for sending frame events, since once the events are split (ie. once the frame events are stripped) it's not easy to figure out which events belongs to which frame again. This is also how Weston handles frame events. Fixes https://github.com/swaywm/wlroots/issues/1468
2019-01-24data-device, primary-selection: add request_set_selectionemersion
This makes compositors able to block and/or customize set_selection requests coming from clients. For instance, it's possible for a compositor to disable rich selection content (by removing all MIME types except text/plain). This commit implements the design proposed in [1]. Two new events are added to wlr_seat: request_set_selection and request_set_primary_selection. Compositors need to listen to these events and either destroy the source or effectively set the selection. Fixes https://github.com/swaywm/wlroots/issues/1138 [1]: https://github.com/swaywm/wlroots/issues/1367#issuecomment-442403454
2019-01-21Fix indentation in various filesemersion