aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2018-09-26pointer-constraints: make region not a pointer, add committed bitfieldemersion
2018-09-26pointer-constraints: rename wl_{global,resources}emersion
2018-09-18Implement pointer-constraints protocol in wlroots and rootstonLas
2018-09-18Add wlr_surface::input_region memberLas
This is analogous to the opaque_region member. In addition the code for setting the opaque region is cleaned up.
2018-09-18Remove extraneous indentation and conform to coding styleLas
2018-09-18Update pointer focus when cycling focusLas
2018-09-18Make (wlr_)seat_client_from_pointer_resource publicLas
2018-09-18Make roots_cursor::pointer_view available even if there is a surfaceLas
To find out whether there was a surface or not before a movement, the member roots_cursor::wlr_surface has been added.
2018-09-18Add focus change event for seatsLas
2018-09-15backend/drm: steal CRTCs from disabled outputsemersion
This commit allows outputs that need a CRTC to steal it from user-disabled outputs. Note that in the case there are enough CRTCs, disabled outputs don't loose it (so there's no modeset and plane initialization needed after DPMS). CRTC allocation still prefers to keep the old configuration, even if that means allocating an extra CRTC to a disabled output. CRTC reallocation now happen when enabling/disabling an output as well as when trying to modeset. When enabling an output without a CRTC, we realloc to try to steal a CRTC from a disabled output (that doesn't really need the CRTC). When disabling an output, we try to give our CRTC to an output that needs one. Modesetting is similar to enabling. A new DRM connector field has been added: `desired_enabled`. Outputs without CRTCs get automatically disabled. This field keeps track of the state desired by the user, allowing to automatically re-enable outputs when a CRTC becomes free. This required some changes to the allocation algorithm. Previously, the algorithm tried to keep the previous configuration even if a new configuration with a better score was possible (it only changed configuration when the old one didn't work anymore). This is now changed and the old configuration (still preferred) is only retained without considering new possibilities when it's perfect (all outputs have CRTCs). User-disabled outputs now have `possible_crtcs` set to 0, meaning they can only retain a previous CRTC (not acquire a new one). The allocation algorithm has been updated to do not bump the score when assigning a CRTC to a disabled output.
2018-09-14Merge pull request #1241 from emersion/output-enable-error-checkingDrew DeVault
output: make wlr_output_enable return a bool
2018-09-14Merge pull request #1243 from emersion/layer-shell-suffixDrew DeVault
layer-shell: add _v1 suffix
2018-09-14layer-shell: add _v1 suffixemersion
2018-09-14xdg-output: add _v1 suffixemersion
2018-09-14output: make wlr_output_enable return a boolemersion
2018-09-12Merge pull request #1160 from Ongy/tablet-grabsemersion
Tablet grabs
2018-09-07Fix #1129 and remove sx, sy from wlr_drag_iconnyorain
sx, sy used to store the buffer offset of the drag surface which was then be added (by rootston) to the drag icon position. Buffer offsets are handled already in surface_intersect_output (output.c) so they were added twice for dnd surfaces.
2018-09-04backend/drm: better hotplug handlingemersion
This commit handles better situations in which the number of connected outputs is greater than the number of available CRTCs. It'll enable as many outputs as possible, and transfer CRTCs to outputs that need one on unplug. This changes CRTC and plane reallocation to happen after scanning DRM connectors instead of on modeset. This cleanups CRTCs and planes on unplug to allow them to be re-used for other outputs. On modeset, if an output doesn't have a CRTC, the desired mode is saved and used later when the output gains a CRTC. Future work includes giving priority to enabled outputs over disabled ones for CRTC allocation. This requires the compositor to know about all outputs (even outputs without CRTCs) to properly modeset outputs enabled in the compositor config file and disable outputs disabled in the config file.
2018-09-03Merge pull request #1213 from arandomhuman/wlr_log_get_verbosityDrew DeVault
Add wlr_log_get_verbosity method
2018-09-03Update wlr_log_init docsrandom human
2018-09-03xwayland: Introduce set_role eventRyan Dwyer
2018-09-02Init dmabuf global in rendereremersion
2018-09-02xwayland: Introduce request_activate eventRyan Dwyer
2018-09-02xwayland: Add WM_STATE modal propertyRyan Dwyer
Adds a modal property to indicate whether the surface wants to be a modal.
2018-09-01Add function wlr_log_get_verbosity()random human
Returns the verbosity passed to wlr_log_init().
2018-08-31add missing wlr_box.h include in wlr_screencopy_v1.hIlia Bozhinov
2018-08-26Add destroy signals to types that are destroyed by wl_display_destroyAlexander Bakker
2018-08-25Merge pull request #1199 from apreiml/farthest_outputBrian Ashworth
introduce wlr_output_layout_farthest_output
2018-08-25introduce wlr_output_layout_farthest_outputArmin Preiml
Similar to wlr_output_layout_adjacent_output but will return the one that is the farthest away from the reference in given direction.
2018-08-24Revert "Revert "Merge pull request #1194 from ascent12/meson_feature""Scott Anderson
This reverts commit 9c886f20b97b6ab1ac85b849f1fe7f16eb199ff0.
2018-08-23Revert "Merge pull request #1194 from ascent12/meson_feature"Drew DeVault
This breaks wlroots when used as a meson subproject. This reverts commit dea311992eb4ff3e343c3cf5b0603034223d2a42, reversing changes made to 6db9c4b74667c1d917d720f5e96985a2461569fb.
2018-08-23Use input file for configure_fileScott Anderson
This is so we can potentially add comments to it, and so if a user looks at the installed header, they can see the /* #undef WLR_HAS_FEATURE */ line to see every option, even if not available.
2018-08-22Install headers explicitlyScott Anderson
2018-08-13move wlr_drm_connector_add_mode to wlr/backend/drm.hIlia Bozhinov
2018-08-09remove dangling declaration of wlr_xdg_surface_popup_get_position()Ilia Bozhinov
2018-08-06Merge pull request #1179 from emersion/rootston-toggle-decoration-modeDrew DeVault
rootston: add keybinding to toggle decoration mode
2018-08-06rootston: add keybinding to toggle decoration modeemersion
2018-08-06tablet-v2 tool: Implement implicit grabMarkus Ongyerth
Implement the tablet-v2 tablet tool's implicit grab semantics for buttons and tip. This avoids losing focus (to other [sub]surfaces) when a button is held, or the tip is down. This should help when the device is used close to a surface's border and would otherwise have to be very precise.
2018-08-03gles2: change context when it is not currentMariusz Bialonczyk
Texture functions, that create and manipulate textures should switch the current context if necessary. thanks to: @emersion Fixes #934
2018-08-02Merge pull request #1157 from emersion/wlr-gamma-controlDrew DeVault
Implement wlr-gamma-control-unstable-v1
2018-08-02backend/drm: allow to pass empty gamma ramp to reset itemersion
2018-08-02output: document gamma functionsemersion
2018-08-02rootston: fire up wlr-gamma-control-unstable-v1emersion
2018-08-02Implement wlr-gamma-control-unstable-v1emersion
2018-08-02xwayland: document SIGUSR1 handleremersion
2018-08-02Merge pull request #1053 from emersion/xdg-decorationDrew DeVault
Add xdg-decoration-unstable-v1 support
2018-07-29Merge pull request #1167 from ammen99/masterBrian Ashworth
rootston: focus newly-created surfaces
2018-07-29Initial pass on API stability guaranteesDrew DeVault
This introduces -DWLR_USE_UNSTABLE and adds information regarding the stability status to all headers. I started with a conservative set of headers to mark as stable: - types/wlr_matrix.h - util/edges.h - util/log.h - util/region.h - xcursor.h
2018-07-29rootston: focus newly-created surfacesIlia Bozhinov
Whenever a new surface is created, we have to update the cursor focus, even if there's no input event. So, we generate one motion event, and reuse the code to update the proper cursor focus. We need to do this for all surface roles - toplevels, popups, subsurfaces. Fixes #1162
2018-07-29reintroduce xwayland is_unmanagedMarkus Ongyerth
153f37bdf57c61e7fb09162a6791afe8b9b4d0ef (#1145) removed the wlr_xwayland_is_unamanged function while fixing OR, because it was belieived that it's supposed to work around the broken OR handling. This was a misunderstanding. is_unmanaged is (while sort of a hack) intended to work around inherent differences between "real" X sessions and our Xwayland/wayland situation. The main reason it exists is to support applications like rofi and dzen, while not handing focus to other OR windows (which should *not* be required). Traditionally, these applications just grabbed input from X and didn't need to be focused by any logic in the WM. Which of course doesn't work in wayland compositors. So we have to give them focus in some way. Giving *every* OR window focus, breaks other applications that don't expect focus to change. A testcase that was pointed out to me where wlr_xwayland_is_unamanged was breaking things is https://github.com/swaywm/sway/issues/2128 (syncplay, gitk, gitgui) Supposedly it broke using keyboard to navigate the menus. I can't reproduce this with this patch. The popups can be navigated as long as the parent has focus.