Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Add xdg-decoration-unstable-v1 support
|
|
rootston: focus newly-created surfaces
|
|
Initial pass on API stability guarantees
|
|
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
|
|
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
|
|
Revert "rootston: Reap child processes"
|
|
reintroduce xwayland is_unmanaged
|
|
examples: cleanup simple
|
|
- Move a log to where it should be
- Enforce code style
- Rename wlr to backend
|
|
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.
|
|
This reverts commit b6ed1f29a4dbba93eb53c32ec5492db8ee1d9343.
This commit breaks xwayland.
|
|
|
|
surface: add wlr_surface_role.precommit
|
|
Just install a SIG_IGN handler, which is defined by POSIX.1-2001 to
reap the child.
To test, spawn any process (e.g. GUI application) with a keybinding,
close that process, verify it doesn't show up as a <defunct> zombie in
ps(1) output.
|
|
xdg-shell(-v6): add set_title and set_app_id toplevel signals
|
|
This is useful for example when rendering decorations
|
|
Remove symbol versioning from DSO
|
|
util: include config in os-compatibility.c
|
|
|
|
This reverts commit ef0a6ea4d2934ec014d791150c42348061ec4f7f, reversing
changes made to 8d03bc9178d8544cbcd24293ece6ac9f1698e602.
|
|
Use posix_fallocate when available
|
|
|
|
Always include config.h
|
|
|
|
|
|
linux-dmabuf: add v1 suffix
|
|
This prevents some future conflicts with the stable version.
Fixes #1133
|
|
Introduce set_hints event for xwayland
|
|
|
|
xwayland: handle override_redirect flag changes
|
|
|
|
The override_redirect flag can change on configure notify and
on map notify. This adds an event to know when it changes.
This removes wlr_xwayland_surface_is_unmanaged which was wrongly
using the window type to decide whether the view should be
unmanaged.
A similar patch was proposed to Weston, but has never been
merged upstream [1].
[1]: https://patchwork.freedesktop.org/patch/211161/
|
|
Document WLR_HEADLESS_OUTPUTS
|
|
|
|
Remove unused types/wlr_tablet_v2.c
|
|
|
|
tablet-unstable-v2 support
|
|
This allows to emit the unmap event before the surface becomes
actually unmapped for most shells.
|
|
There were a few issues after rebase, that the merge algorithm didn't
throw at my face:
wlr_output did a check on the actual role, not a string anymore, so that
had to go to allow tablet-v2 to set cursor surfaces.
A few L_DEBUG/L_ERRORs were still around
There was a user-after-free in tablet-group free()ing, probably after
insufficient testing from a previous feedback pass
|
|
|
|
|
|
|
|
|
|
The previous naming was based on the input-device capability names from
libinput.
With code that uses the libinput_tablet_tool and mapping into tablet-v2,
this is confusing, so the name is changed to follow the names used in
the protocol.
|
|
|
|
|
|
|