The interactive file manager requires Javascript. Please enable it or use sftp or scp.
You may still browse the files here.
Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
0.8.3 source code.tar.gz | 2025-02-21 | 491.4 kB | |
0.8.3 source code.zip | 2025-02-21 | 626.9 kB | |
README.md | 2025-02-21 | 14.2 kB | |
Totals: 3 Items | 1.1 MB | 0 |
The eye-catching new features of this release are undoubtedly:
1. Support for the ext-workspace
protocol with big thanks to @Consolatis
2. Menu enhancements including icons and dynamic root-menus. Credits here go to
@Consolatis, @tokyo4j and @johanmalm for improvements to both backend buffer
managements and front end menu mechanics.
However - on the whole - the main effort of this release has gone into stability, usability and performance fixes, and it really feels like we have matured nicely against the wlroots 0.18 series.
Notes to package maintainers: - This version introduces the ext-workspace protocol which breaks xfce4-panel 4.20.0. There is a fix in subsequent releases so make sure xfce4-panel is shipped at >= 4.20.1.
Added
- Add config options
<resize><cornerRange>
and<resize><minimumArea>
[#2529] -
Menu icons support [#2509]
:::xml
<showIcons>yes</showIcons> -
Support toplevel pipemenus [#2238] [#2239]
:::xml <openbox_menu>
</openbox_menu> -
Add
<theme><fallbackAppIcon>
to specify the icon name to be used when lookups for an application icon have failed [#2518] - Use 'labwc' directory for themes as well as 'openbox-3' [#2488]
- Add default Alt-Shift-Tab keybind for
PreviousWindow
[#2477] - Add config option
<core><autoEnableOutputs>
to allow users to avoid automatically enabling outputs at startup and when new outputs are connected. With autoEnableOutputs disabled, tools such as kanshi can be used to give finer-grained control of which outputs are enabled, which may be useful to avoid re-enabling outputs that disconnect and reconnect during powersave [#2458] - Add WarpCursor action. Written-by: @orfeasxyz [#2118]
- Support ext-workspace protocol [#2365]
Fixed
- Prevent black flash (caused by unnecessary output commit without buffer) when
repeatedly calling
wlopm --on
[#2580] - Set custom output mode on
wlopm --on
to work around a wlroots issue: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3946 [#2578] - Handle layer-shell unmap without any outputs left [#2577]
- Fix some odd, inconsistent behaviour with resize edges [#2529]
- Cleanup overlay timer on exit [#2574]
- Fix unexpected behavior when a menu is opened from another menu [#2537]
- Taking into account SSD margin in
MoveTo
action [#2469] [#2563] - Fix UAF caused by trying to update xcursor in an output destroy-handler [#2539] [#2560]
- Send wlr-foreign-toplevel
output_enter
on initialization to fix a bug which causes missing taskbar items in Waybar when configured to show windows per output. [#2550] - Use subsurface as reference for out-of-surface cursor movement [#2542] [#2547]
- Dynamically look up window icons in server-side-deco titlebar for output scales [#2518]
- Do not leak bound scroll events from touchpad to clients in some conditions [#2516]
- Ignore duplicated buttons in
<titlebar><layout>
rather than ignoring all of it [#2524] - Set repeat information for virtual keyboards [#2513]
- Honour modifier state of virtual keyboards when processing mousebinds. Helps some use-cases under wayvnc [#2511]
- Accept uppercase icon endings
- IME: fix stuck Ctrl when pressed Ctrl+F in Firefox with Fcitx5 [#2498]
- Fix invisible cursor on application after reconfigure [#2499]
- Fix abort() on non-ARGB32 PNG file [#2495]
- Ignore
wlr_output_state.mode/custom_mode
except for client request [#2486] - Cancel keyboard keybind-repeat on reconfigure [#2473]
- Send initial wlr-foreign-toplevel pre-map state [#2460]
- Fix NULL
string_prop
crash whenapp_id
is NULL [#2453] - Fix scaling for rendering large image in non-square rectangle [#2451]
- Fix cursor focus when menu is closed by clicking its border [#2443]
- Update pointer focus on xdg-popup/layer popup destruction to fix bug where closing a popup did not move the pointer focus to the main toplevel until the cursor was moved. [#2443]
- Improve algorithm for menu placement with xdg-positioner [#2408]
- Do not forward IME key-release without correspinding key-press to avoid stuck keys [#2437]
Changed
- Make window switcher more Openbox-like in terms of key processing. The shift key no longer inverts the direction of window switching, so to keep the original behavior, alt-shift-tab has been added as a default keybind to cycle to the previous window [#2477]
- Do not set numlock by default, only set on|off if user specifically requests it in the config file [#2483]
- Demote libsfdo error-logging to
WLR_INFO
to avoid logging issues with .desktop files as errors [#2456] - Always send modifier release events. This means that when a keybind is triggered while focusing on an application, the key-release event of the modifier key is now sent to the application. This fixes the problem of stuck modifier keys in some applications including Blender and wlfreerdp. Note that this change makes existing keybinds with Alt key show Firefox's menu bar. For those who don't want to make those keybinds interfere with Firefox's menu bar, we recommend replacing Alt key (e.g. "A-s") with Win key (e.g. "W-s") in the keybinds. [#2455]
- Removed
wantAbsorbedModifierReleaseEvents
window rule as it's no longer needed [#2455] - Clear the keyboard/pointer focus while a window is dragged, the window switcher is activated or a menu is opened. As a result, with followMouse="yes" and followMouseRequiresMovement="no" in rc.xml, keyboard-focus semantics have subtly changed when using the window-switcher. [#2455]
Shortlog
01micko (2):
README.md: fix minor grammar error, add libsfdo as optional dependency
README.md#Integration: add xfce4-panel
Andrew J. Hesford (2):
ssd: make sizes of invisible SSD extents configurable
docs/rc.xml.all: correct description of resize.cornerRange
Consolatis (33):
CONTRIBUTING.md: update package maintainer list
cosmic-workspaces: abstract transaction-addon
cosmic-workspaces: add cosmic_ prefix
cosmic-workspaces: remove workspace_set_hidden() calls
ext-workspace protocol implementation
ext-workspace protocol integration
project wide: adapt to new non-NULL value of view_get_string_prop()
wlr-foreign-toplevel: send initial pre-map state
src/debug.c: fix inverted string_null_or_empty() check
keyboard: cancel keybind_repeat on reconfigure
CI: add non-feature (svg, libsfdo, xwayland) build for arch
img: rename lab_img_cache to lab_img_data
scaled_{img,scene}_buffer: add architecture graph
string-helpers: add str_endswith_ignore_case()
desktop-entry: accept uppercase icon endings
desktop-entry: separate icon and app_id icon lookup
scaled-scene-buffer: use outputs_update signal
keyboard: add keyboard_get_all_modifiers()
seat: set repeat information for virtual keyboards
cursor.c: use subsurface as reference for out-of-surface movement
surface-helpers: reduce log spam
docs/labwc-menu: we only support a single menu.xml file
src/config: let icon theme name default to theme
src/menu: add support for scalable menu icons
src/menu: add global config for menu.showIcons
server: on exit, destroy backends first
action.c: add SSD margin to MoveTo coordinates
CI: restrict build jobs to code changes
CI: fix Debian build, wlroots package got renamed
src/overlay.c: clean up timer on exit
src/layers: handle unmap without any outputs left
output: set custom output mode on wlopm --on
output: early return on wlopm if requested state is already set
Dima Krasner (1):
docs: fix incorrect default for window.label.text.justify
Johan Malm (22):
README.md: add gammastep
labwc-actions(5): add missing position option to ShowMenu
README.md: add "lightweight and box-inspired"
labwc-config(5): describe how keys are processed
s/xmlParseMemory/xmlReadMemory/
string-helpers.c: add str_starts_with()
menu: put menu_tree above overlay layer
theme: demote padding.height warning
view: fix NULL string_prop crash
keyboard: set numlock to off by default
desktop-entry: demote libsfdo error-logging
Make enum three_state public
keyboard: do not set numlock by default
menu: support pipemenu with the toplevel <menu> element
theme: use 'labwc' directory
Add scripts/rip.c
NEWS.md: start converting section 0.8.0 references
NEWS.md: interim update
NEWS.md convert refs to [#%d] format
NEWS.md: update notes for 0.8.3
NEWS.md: fix minor grammatical error
build: bump version to 0.8.3
John Lindgren (5):
output: auto-select mode when enabling output by client request
output: handle outputs that are enabled but not yet added
rcxml: add core.autoEnableOutputs option
output: add debugging output to output_test_mode()
output: ignore wlr_output_state.mode/custom_mode except for client request
Orfeas (3):
query: extend "monitor" query & add missing docs
action: add WarpCursor action
query: encapsulate parser state into a struct
Tomi Ollila (3):
theme: don't try to load "themerc"s if theme_name is NULL
docs: trailing space, 1 tab to spaces, labwc-theme.5.scd to fit 80 cols
docs: labwc-config.5.scd: dedent windowSwitcher content lists
Weblate (3):
Translation updates from weblate
Translation updates from weblate
Translation updates from weblate
tinyboxvk (1):
Fix typos
tokyo4j (58):
view: s/scene_node/content_node/
menu: some refactor
font: remove arrow character from font buffer
menu: improve algorithm for menu placement with xdg-positioner
IME: don't forward key-release without correspinding key-press
scaled-scene-buffer: reduce unnecessary renderings
menu: slightly slide menus opened with atCursor="no"
xdg-popup: update pointer focus on popup destruction
layer: update pointer focus on popup destruction
cursor: fix focus when menu is closed by clicking its border
node: add node_scaled_scene_buffer_from_node
ssd: rework titlebar button rendering
Add LAB_INPUT_STATE_WINDOW_SWITCHER
Check input_mode to see whether window switcher is active or not
Don't open menu or start window switching while other server interaction
src/output.c: remove output_usable_area_scaled()
img: fix scaling for rendering large image in non-square rectangle
Revert "keyboard: add window rule to send release-events (#2377)"
Revert "keyboard: include pressed modifiers in bound set"
Clear keyboard/pointer focus on Move/Resize, window switcher and menu
src/desktop.c: remove osd_review_restore() call in desktop_cycle_view()
src/osd.c: make osd_preview_restore() private in osd.c
src/seat.c: small refactor
osd: refactor to not write server->osd_state outside osd.c
osd: make desktop_cycle_view() private in osd.c
Remove cruft related to window switcher and keyboard focus
osd: make window switcher more Openbox-like in terms of key precessing
Add default Alt-Shift-Tab keybind for PreviousWindow
img: remove "theme" member from lab_img
img: fix UAF on Reconfigure by refcounting
img: apply padding around window icon only horizontally
src/server.c: delete a comment which was missed to erase
img: don't abort with non-ARGB32 PNG files
set: prevent possible segfault when keycode 0 is released
osd: prevent preview outlines to be above OSD
cursor: fix invisible cursor on application after reconfigure
IME: rename pressed_keys to forwarded_pressed_keys
IME: fix stuck Ctrl when pressed Ctrl+F in Firefox with Fcitx5
scaled-scene-buffer: store all the scaled_scene_buffers in a single list
scaled-scene-buffer: block sharing of buffers created before reconfigure
rcxml: ignore duplicated buttons in <titlebar><layout>
rcxml: replace 'icon' with 'menu' when libsfdo is not linked
cursor: don't leak bound scroll events from touchpad to clients
ssd: fix InactiveWindow font not working
view: replace content_node with content_tree
refactor: add LAB_BS_DEFAULT in lab_button_state
Move "#if HAVE_LIBSFDO" inside desktop-entry.h
img: remove padding_x from lab_img_render()
string-helpers: add str_equal()
ssd: dynamically look up window icons in titlebar for output scales
Add <theme><fallbackAppIcon>
wlr-foreign: send output_enter on initialization
ssd: fix resizing on border corners and add <resize><cornerRange>
menu: fix unexpected behavior when a menu is opened from another menu
menu: assert no menu is opened in menu_open_root()
menu: remove ShowMenu action from menu items
osd: prevent preview outlines from overlapping OSD in first output
cursor: don't un-minimize previewed window while window switching
yuiiio (2):
xdg: cleanup request_show_window_menu listener when destroy
ime: cleanup new_popup_surface listener when destroy