Johan Malm [Fri, 6 May 2022 20:55:46 +0000 (21:55 +0100)]
menu: support <action name="Execute"> option <execute>
<exectue> is a deprecated name for <command>.
See: http://openbox.org/wiki/Help:Actions#Action_syntax
But some openbox3 menu generators still use it, for example
https://wiki.archlinux.org/title/xdg-menu - so let's support it for
backward compatibility.
Johan Malm [Wed, 4 May 2022 20:52:20 +0000 (21:52 +0100)]
docs/autostart: use wlopm with *
With swayidle timeout/resume, use wlopm --off/--on with * instead of
specifying output names. When * is given as parameter to an operation
wlopm will do the operation for all discovered outputs.
01micko [Sun, 1 May 2022 04:38:45 +0000 (14:38 +1000)]
nls: add native language support
- 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
Johan Malm [Sun, 24 Apr 2022 21:24:47 +0000 (22:24 +0100)]
layer: handle output_destroy.notify without crash
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
Johan Malm [Fri, 22 Apr 2022 16:52:01 +0000 (17:52 +0100)]
config: support <mouse><default />
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.
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.
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.
Johan Malm [Fri, 8 Apr 2022 21:13:45 +0000 (22:13 +0100)]
wlroots.wrap: set revision to latest commit
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
John Lindgren [Sun, 3 Apr 2022 01:34:51 +0000 (21:34 -0400)]
cursor: Fix "jumping opposite edges" issue when resizing
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.
Johan Malm [Sat, 19 Mar 2022 11:34:11 +0000 (11:34 +0000)]
Chase wlroots wlr-device-input refactoring
Rename wlroots input device events, for example
's/wlr_event_pointer_motion/wlr_pointer_motion_event/'
seat.c:
- In configure_libinput() use wlr_input_device->type rather than width_mm
- In new_pointer() use wlr_input_device->type rather than output_name to
check that device is pointer.
01micko [Wed, 9 Mar 2022 09:08:59 +0000 (19:08 +1000)]
README.md: add `wlopm` to "6. Integrate" (recommended programs)
- made it first in the array of 'output managers' because since the
`scene_graph` merge it's the only way I have found to reliably
turn off/on outputs.
- it supports "wlr-output-power-management-unstable-v1"
- as does labwc since c23397f
- works with swayidle/swaylock
Johan Malm [Thu, 3 Mar 2022 17:56:38 +0000 (17:56 +0000)]
layers: put popups in separate node-tree
This allows popups to be rendered above views and other layers. Without
this, the popups of a layer-shell application in the bottom layer would
render below views, which does not seem right. For example, consider the
case of a panel with right-click popups.
Johan Malm [Wed, 2 Mar 2022 22:05:41 +0000 (22:05 +0000)]
node.c: add helpers for returning structs from node data
Support returning the following structs:
- view from LAB_NODE_DESC_VIEW or LAB_NODE_DESC_XDG_POPUP
- lab_layer_surface form LAB_NODE_DESC_LAYER_SURFACE
- lab_layer_popup from LAB_NODE_DESC_LAYER_POPUP
Johan Malm [Mon, 28 Feb 2022 23:06:28 +0000 (23:06 +0000)]
NEWS.md: align with https://keepachangelog.com/
- Re-add details for 0.1.0 - 0.4.0
- Add 0.5.1-unreleased notes
- Split sections into change-types, for example "added" and "changed"
- Describe current branches
- Add lines-of-code to the summary table
Johan Malm [Fri, 25 Feb 2022 22:31:24 +0000 (22:31 +0000)]
Add node-descriptor for wlr_scene_nodes
Support identification of wlr_scene_node role to enable simplification
of codebase including the avoidance of iterating over lists of
layer-surface, menuitems, and so on.
Consolatis [Fri, 25 Feb 2022 20:31:21 +0000 (21:31 +0100)]
xwayland.c: Fix positioning with multiple queued configure events
Prevents a single action like ToggleDecorations + ToggleMaximize to
position the view somewhere with negative coordinates when unmaximizing.
It may still position the view on negative coordinates but later commit
events will fix the position. This issue only exists on xwayland because
there are no configure serials which we could use to ignore all
repositioning until we are at the latest desired state.