Age | Commit message (Collapse) | Author |
|
The major device number does not indicate the device type on FreeBSD,
and AFAIK the only way to differentiate between DRM, input, and other
devices is checking the fd path. This commit implements that.
The drmDropmaster and drmSetmaster calls are necessary, because the
implicit drop (that should occur when the DRM fd is closed) seems not
to be working in some scenarios (e.g. if you have a tmux session
running - maybe the fd is retained somehow by tmux?). This is a
problem, because once you exit the compositor, you can't start it (or
any other program that wants to be DRM master) again until you close
all your tmux sessions.
|
|
It doesn't look like there's any motion on a fix from the AMDGPU side,
and using the legacy interface for this isn't so bad.
|
|
rootston/surface_layers: fix clicking after surface moved
|
|
Init the new destroy signals added by #1200
|
|
|
|
Add destroy signals to types that are destroyed by wl_display_destroy
|
|
|
|
introduce wlr_output_layout_farthest_output
|
|
Similar to wlr_output_layout_adjacent_output but will return the
one that is the farthest away from the reference in given direction.
|
|
|
|
Fix meson changes
|
|
This fixes building wlroots as a subproject.
|
|
This reverts commit 9c886f20b97b6ab1ac85b849f1fe7f16eb199ff0.
|
|
This breaks wlroots when used as a meson subproject.
This reverts commit dea311992eb4ff3e343c3cf5b0603034223d2a42, reversing
changes made to 6db9c4b74667c1d917d720f5e96985a2461569fb.
|
|
Build system changes
|
|
Layer surfaces are not notified of cursor position changes if the surface moves, only if the cursor moves. This workaround emits a cursor position event every time a cursor ends up over a newly resized layer surface to make sure the following clicks land in the right place.
This change doesn't address sending leave events when a cursor previously present over the surface becomes away.
There are 2 separate mechanisms in play, because a layer surface gets resized in 2 steps:
1. Layer surface resize & rearrange.
2. Underlying surface resize.
The first step may affect all layer surfaces. The cursor events are sent to cursors placed over all layer surfaces which have moved (not been resized). The second step affects any layer surface whose surface changed size. The cursor event is sent only to that surface.
Together, these events cover all surfaces: those which moves, and those which changed size, as long as each layer surface resize is accompanied by an immediate surface resize.
|
|
This stops the protocol header constantly being regenerated for every
target using them.
|
|
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.
|
|
This is so that log messages are printed properly when wlroots is build
as a subproject.
|
|
|
|
|
|
After destroying a keyboard input device, seat's listeners could still be pointing to destroyed wlr_input_device signals. This patch makes sure the references are removed while the input device is being destroyed.
|
|
|
|
|
|
Meson handles rpath properly, and we don't need to use -I ourselves by
using include_directories with '.'.
|
|
So the library is rebuilt properly when it's updated.
|
|
We use a dictionary to remove some code duplication.
|
|
|
|
|
|
We now use a combo choice between systemd/elogind as they are mutually
exclusive anyway.
|
|
Bump minimum meson version to 0.47 for the feature.
|
|
|
|
backend/drm: add support for DRM_MODE_CONNECTOR_DPI
|
|
|
|
Had an outdated copy of wlroots, so missed that one.
|
|
ctags: use -f instead of -o
|
|
Fix build on FreeBSD
|
|
The later does not exist on FreeBSD
See #725
|
|
|
|
move wlr_drm_connector_add_mode to wlr/backend/drm.h
|
|
|
|
Keep X11 backend windows from having an invalid size
|
|
Set the window width and height, not the location of the window.
|
|
This avoids leaving around zombies, without having to setup SIGCHLD
handler (which interferes with other fork/waitpid calls).
|
|
Events that set the window to either a width or height of zero are now
ignored and logged.
|
|
Fixes issue #1170
Also set the created window size to match the output size.
|
|
remove dangling declaration of wlr_xdg_surface_popup_get_position()
|
|
|
|
session: load GPU devices even if they have zero connectors
|
|
On some systems (most notably laptops with two GPUs) there are GPUs that
don't have attached outputs. However, we still want to load those GPUs
because they could still be used by the compositor for rendering.
|