Make the subproject wrap file declare the dependencies it provides.
Remove the manual subproject invocation and allow Meson to select
whichever wlroots it finds which satisfies the version requirement --
either a system one via pkg-config, or the subproject fallback.
Use a dependency-generic method of acquiring wlroots configuration info
-- enabled features are present in the pkg-config file and additionally
exported as declare_dependency() variables, so there is no need to do C
preprocessor checks for it.
This ensures that Meson best practices are followed, and also...
Fixes#318
Labwc does not support menu icons, but we should not log errors if a
menu file contains icons as in the example below:
<item label="" icon="">
<action name="Execute">
<command></command>
</action>
</item>
This is needed to allow X11 applications to create surfaces as
non-override_redirect and then change them to override_redirect later
Without this gitk-menus and rofi are treated as xwayland-views with
associated server-side-decoration and forced positioning.
- adds labwc.pot and po files for de, es, it and sv
- added notes in NEWS.md and CONTRIBUTING.md
- addresses #269
- conditional upon `msgfmt` being installed
- can be disabled at build time
...on first map so that view->unmaximized_geometry is known even if an
xdg-shell application started in maximized mode.
Fixes issue #305
Reported-by: @01micko
This reverts commit 3d337857b7.
Revert for now until we have some infrastructure in place to
selectively replace default {key,mouse}binds with custom ones.
Fixes#304
Reported-by: @01micko
Steps to reproduce crash:
- run nested with two outputs (e.g. WLR_WL_OUTPUTS=2 ./build/labwc)
- start panel on one output (e.g. waybar)
- close that output
Backtrace pointed to output_destroy_notify() at ../src/layers.c:92
Reported-by: @Consolatis
This loads default mousebinds and provides a way to keep config files
simpler whilst allowing user specific binds.
Note that if no rc.xml is found, or if no <mouse><mousebind> entries
exist, the same default mousebinds will be loaded even if the <default />
element is not provided.
Example usage:
<mouse>
<default />
<context name="Root">
<mousebind button="Right" action="Press">
<action name="Execute" command="my-menu-application" />
</mousebind>
</context>
</mouse>
Consolidates all of the view destruction code for xwl + xdg into one function.
Fixes several notable bugs along the way:
- Fixes a crash when alt tabbing when a selected view gets destroyed.
- Fixes the OSD not updating to reflect a view has been destroyed.
Tracking swaywm/sway@e1db1f8
Add soft deprecation warning to highlight future intent of removing the
code which drops SUID privileges. libseat now has a better alternative in
the form of seatd-launch which uses the normal seatd daemon & libseat
backend and takes care of SUID.
Fixes issue #212
This is better than `revision = master` because:
- It enables labwc commits to be checked out and build without manually
having to find the right wlroots commit to build with
- The labwc master is always buildable without user intervention even
if there are breaking changes in the wlroots master branch
Suggested in issue #289
Commit 08c537e ("xwayland: Honor size increments from
WM_SIZE_HINTS") adjusted only the window width/height according
to the size hints. If resizing from the top or left edge of the
window, we also need to adjust the window position to keep the
bottom or right edge from jumping around.