]>
git.mdlowis.com Git - proto/labwc.git/log
Consolatis [Fri, 1 Jul 2022 00:07:40 +0000 (02:07 +0200)]
src/view.c: Convert SnapToEdge to use view_apply_xxx_geometry framework
Consolatis [Thu, 30 Jun 2022 22:55:15 +0000 (00:55 +0200)]
src/layers.c: Prevent re-arranging views if usable_area didn't change
Consolatis [Thu, 30 Jun 2022 18:02:24 +0000 (20:02 +0200)]
src/layers.c: Adjust views based on usable_area changes
Consolatis [Tue, 28 Jun 2022 17:42:40 +0000 (19:42 +0200)]
src/ssd/ssd.c: Keep view->margin in sync when toggling decorations
Fixes #409
Consus [Tue, 28 Jun 2022 19:47:48 +0000 (22:47 +0300)]
Fix usable area calculation
Currently if a surface with exclusive zone is created prior to regular
surfaces, the size of the exclusize zone does not affect the usable area
for regular surfaces. This for example results in notifications being
rendered over the statusbar.
This commit fixes the issue by handling the surfaces with exclusive
zones first.
Fixes #420.
Consolatis [Sat, 25 Jun 2022 13:57:04 +0000 (15:57 +0200)]
Chase wlroots: wlr_input_device refactor
To update the wlroots subproject use
meson subprojects update wlroots
Chases wlroots
91943a68a6976ef7c4cc70afc07954a00fae678b
wlr_input_device: remove anon union field
Fixes #415
Johan Malm [Wed, 22 Jun 2022 20:07:25 +0000 (21:07 +0100)]
menu: support <separator />
Add theme options:
- menu.separator.width
- menu.separator.padding.width
- menu.separator.padding.height
- menu.separator.color
Support separator lines defined by <separator />
Note that separator labels (with text) defined by <separator label="" />
are not supported.
Consolatis [Thu, 23 Jun 2022 20:37:20 +0000 (22:37 +0200)]
CI: add FreeBSD runner
Fixes #413
Johan Malm [Wed, 22 Jun 2022 20:19:50 +0000 (21:19 +0100)]
README: add link to website
Johan Malm [Wed, 22 Jun 2022 20:12:54 +0000 (21:12 +0100)]
README: update links to scope document
Consolatis [Tue, 21 Jun 2022 16:48:05 +0000 (18:48 +0200)]
src/action.c: Fix includes for kill() and getpid()
Fixes #410
Consolatis [Tue, 21 Jun 2022 18:46:58 +0000 (20:46 +0200)]
CI: add Void Linux in musl variant
Flrian [Sun, 19 Jun 2022 19:10:03 +0000 (21:10 +0200)]
src/osd.c: fix max text width
Making sure long window titles don't overflow the selection box
Closes issue #406
Written-by: @johanmalm
Consus [Sat, 18 Jun 2022 00:09:18 +0000 (03:09 +0300)]
workspaces: Allow switching/sending to the last used workspace
Actions GoToDesktop and SendToDesktop now support the new direction
called "last" that corresponds to the last used workspace (see Openbox
help[1] for reference).
[1]: http://openbox.org/wiki/Help:Actions#GoToDesktop
Consolatis [Fri, 17 Jun 2022 00:53:08 +0000 (02:53 +0200)]
src/debug.c: Sync with workspaces
Consolatis [Fri, 17 Jun 2022 00:41:34 +0000 (02:41 +0200)]
src/layers.c: Update output for popup after forced move
Fixes #369
Johan Malm [Thu, 16 Jun 2022 21:00:45 +0000 (22:00 +0100)]
action.c: add _POSIX_C_SOURCE
...to compile cleanly with musl on Void Linux and avoid:
```
[9/58] Compiling C object labwc.p/src_action.c.o
../src/action.c: In function 'actions_run':
../src/action.c:204:4: warning: implicit declaration of function 'kill' [-Wimplicit-function-declaration]
204 | kill(getpid(), SIGHUP);
| ^~~~
[58/58] Linking target labwc
```
Reported-by: @M4lin
Joshua Ashton [Thu, 16 Jun 2022 05:56:38 +0000 (05:56 +0000)]
Allow leasing desktop displays
Apps such as Gamescope eventually want to offer a DRM lease option to use planes and handle all of getting to the screen themselves.
This implements logic to allow leasing of desktop displays
Johan Malm [Wed, 15 Jun 2022 21:05:31 +0000 (22:05 +0100)]
Merge pull request #333 from Consolatis/wip/workspaces
Add workspaces
Consolatis [Wed, 15 Jun 2022 20:49:36 +0000 (22:49 +0200)]
workspaces: Switch workspace when activating via panel
Consolatis [Tue, 14 Jun 2022 23:49:55 +0000 (01:49 +0200)]
workspaces: Hide menu if there is only a single workspace
Consolatis [Wed, 15 Jun 2022 00:02:15 +0000 (02:02 +0200)]
workspaces: Add default workspace sub menu
Consolatis [Tue, 14 Jun 2022 23:38:22 +0000 (01:38 +0200)]
workspaces: Add workspace actions
Consolatis [Wed, 15 Jun 2022 00:02:50 +0000 (02:02 +0200)]
workspaces: Wire up workspaces
Consolatis [Wed, 15 Jun 2022 00:07:22 +0000 (02:07 +0200)]
workspaces: Implement config parsing
Consolatis [Tue, 14 Jun 2022 23:07:45 +0000 (01:07 +0200)]
workspaces: Add workspaces.{c,h}
Consolatis [Wed, 15 Jun 2022 01:28:08 +0000 (03:28 +0200)]
src/osd.c: Hide OSD when there are no views on osd_update
Consolatis [Tue, 14 Jun 2022 23:22:44 +0000 (01:22 +0200)]
include/labwc.h desktop_cycle_view: Clarify signature
Consolatis [Tue, 14 Jun 2022 23:19:31 +0000 (01:19 +0200)]
src/keyboard.c: Make any_modifier_pressed() global
Consolatis [Tue, 14 Jun 2022 23:16:32 +0000 (01:16 +0200)]
src/common/font.c: Add font_width()
Johan Malm [Tue, 14 Jun 2022 21:45:45 +0000 (22:45 +0100)]
action.c: use kill() instead of spawning killall
Also update documentation to say `killall -s SIGHUP labwc` to make
it work on Void Linux.
Fix #393
Consolatis [Sun, 12 Jun 2022 19:22:49 +0000 (21:22 +0200)]
Convert SSD title to scaled font buffer
Consolatis [Sun, 12 Jun 2022 19:22:01 +0000 (21:22 +0200)]
Convert menu entries to scaled font buffer
Consolatis [Mon, 13 Jun 2022 19:33:32 +0000 (21:33 +0200)]
Add scaled_font_buffer implementation
Consolatis [Mon, 13 Jun 2022 19:32:12 +0000 (21:32 +0200)]
Add abstract scaled_scene_buffer implementation
Consolatis [Sun, 12 Jun 2022 19:16:44 +0000 (21:16 +0200)]
common/font: Add scale argument
Consolatis [Sun, 12 Jun 2022 19:14:48 +0000 (21:14 +0200)]
src/menu: Handle menu item creation failure
Consolatis [Sun, 12 Jun 2022 19:11:25 +0000 (21:11 +0200)]
src/buffer: Automatically adapt to scale attribute
Based on discussion in PR #389
Johan Malm [Sat, 11 Jun 2022 21:37:30 +0000 (22:37 +0100)]
Merge pull request #389 from bi4k8/window-switcher-scale
correctly scale window switcher
bi4k8 [Sat, 11 Jun 2022 13:38:09 +0000 (13:38 +0000)]
correctly scale window switcher
Consolatis [Thu, 9 Jun 2022 15:10:36 +0000 (17:10 +0200)]
src/menu: Attach view to menu and use it when executing actions
This fixes #380
Consolatis [Wed, 8 Jun 2022 17:51:02 +0000 (19:51 +0200)]
src/ssd: Convert button node descriptors to struct ssd_button
This allows for way easier button hover detection and future
features like toggling rounded corner buttons on maximize.
Consolatis [Wed, 8 Jun 2022 12:37:30 +0000 (14:37 +0200)]
src/ssd: Use LAB_SSD_PART_CORNER_x for rounded corner backgrounds
This matches the behavior of the surrounding borders and will usually
cause resizing instead of triggering the button itself. This effect
is only really visible when using a border width settings of > 1.
Fixes #379
Consolatis [Thu, 9 Jun 2022 14:38:17 +0000 (16:38 +0200)]
src/view.c: Cache server pointer
Consolatis [Thu, 9 Jun 2022 00:15:15 +0000 (02:15 +0200)]
Chase wlroots: update wlroots.wrap to latest master
To update the wlroots subproject use
meson subprojects update wlroots
Fixes #382
Johan Malm [Tue, 7 Jun 2022 21:28:25 +0000 (22:28 +0100)]
view: if view->fullscreen on destroy, re-enable top-layer
The layer-shell top-layer is disabled when running an application in
fullscreen mode, so if this is the case on view_destroy() we have to
re-enabled the top-layer again.
Reported-by: @heroin-moose
Helped-by: @Consolatis
Fixes #377
Consolatis [Mon, 6 Jun 2022 17:39:48 +0000 (19:39 +0200)]
Chase wlroots: update wlroots.wrap to latest master
To update the wlroots subproject use
meson subprojects update wlroots
Consolatis [Sun, 5 Jun 2022 15:12:55 +0000 (17:12 +0200)]
Chase wlroots: children are now only availabe in tree nodes
Chases wlroots
71f8a48d380701de1e3331d53d470bd76f5f643b
wlr_scene: Move children list from wlr_scene_node to wlr_scene_tree
Consolatis [Sun, 5 Jun 2022 13:55:18 +0000 (15:55 +0200)]
Chase wlroots: scene_node.state is now inlined
Chases wlroots
cb2dbc327e4d695c2a60a386e116a7dc20b29107
wlr_scene: Inline wlr_scene_node_state
Consolatis [Sun, 5 Jun 2022 13:17:35 +0000 (15:17 +0200)]
Chase wlroots: every scene_node parent is now a tree
Chases wlroots
ccd0f85c2a36308e35b153c7f9653abac7659af3
wlr_scene: Only allow parenting on a wlr_scene_tree
Consolatis [Sun, 5 Jun 2022 13:17:15 +0000 (15:17 +0200)]
Chase wlroots: prep work: ssd to tree
Consolatis [Sun, 5 Jun 2022 12:42:06 +0000 (14:42 +0200)]
Chase wlroots: prep work: menu to tree
Consolatis [Sat, 4 Jun 2022 21:38:37 +0000 (23:38 +0200)]
Chase wlroots: wlr_scene is now a tree node
Chases wlroots
9eb71146ae56c509ee33c7e8a662549592aad870
wlr_scene: Refactor wlr_scene (the root element) to encase a wlr_scene_tree
Johan Malm [Mon, 6 Jun 2022 17:38:04 +0000 (18:38 +0100)]
view: when centering, top/left align if view is bigger than usable area
Johan Malm [Mon, 6 Jun 2022 17:33:40 +0000 (18:33 +0100)]
view: take into account top-margin for xwayland views
...in order to center accurately.
Johan Malm [Mon, 6 Jun 2022 17:31:18 +0000 (18:31 +0100)]
view: center correctly with scale != 1
Fixes issue #376
Johan Malm [Sun, 5 Jun 2022 21:10:15 +0000 (22:10 +0100)]
xwayland-unmanaged: wl_list_remove() missing listeners on destroy
Johan Malm [Sun, 5 Jun 2022 21:09:16 +0000 (22:09 +0100)]
xwayland-unmanaged: remove excessive logging
Joshua Ashton [Sun, 5 Jun 2022 20:42:02 +0000 (20:42 +0000)]
xwayland-unmanaged: Fix set_geometry using container_of of wrong member
Fixes a segfault with starting Steam.
Johan Malm [Sun, 5 Jun 2022 08:55:25 +0000 (09:55 +0100)]
xwayland-unmanaged: fix typo
Johan Malm [Sat, 4 Jun 2022 12:20:40 +0000 (13:20 +0100)]
xwayland-unmanaged: prepare for handling more events
Sway handles some xwayland events that labwc still does not. This commit
just starts to rig up some handlers for these with log messages if they
are caught.
- set_geometry: try to handle, but cannot find an application that uses
it, so is untested.
- request_activate - just log caught event
- override_redirect - just log caught event
Johan Malm [Sun, 5 Jun 2022 08:12:54 +0000 (09:12 +0100)]
docs/environment: add _JAVA_AWT_WM_NONREPARENTING=1
Johan Malm [Sat, 4 Jun 2022 13:08:46 +0000 (14:08 +0100)]
xwayland-unmanaged: put all surfaces under server->unmanaged_tree
...in order to render all unmanaged surfaces above views just like sway
does it:
https://github.com/swaywm/sway/blob/
e5728052b59fb5b476c78c9f18b812a85d7f4503 /sway/desktop/render.c#L1148
Fixes issue #367
Consolatis [Fri, 3 Jun 2022 20:40:26 +0000 (22:40 +0200)]
src/config/keybind.c: fix keybind insertion order
This restores the intended behavior of keybinds set by `<default />`
to be overwritten by manually configured keybinds which come later in
the config.
In `src/keyboard.c`, `handle_keybinding()` is going backwards through
the list of keybindings and breaks after the first match.
`wl_list_insert(&list_node, item)` will insert the new item *after* the
list_node so if its called multiple times with the same list_node as
fist argument the result will be a reversed list. Using `list_node.prev`
instead will result in a non-reversed list.
Consolatis [Fri, 3 Jun 2022 00:19:31 +0000 (02:19 +0200)]
Prevent missing direction arguments to segfault labwc
Reported-by: @Flrian
Johan Malm [Fri, 3 Jun 2022 17:52:35 +0000 (18:52 +0100)]
CONTRIBUTING.md: fix typo s/sanitzise/sanitize/
Consolatis [Thu, 2 Jun 2022 09:44:35 +0000 (11:44 +0200)]
IRC notifications: disable push notifications
They were also called for the 'master' and 'v0.5' branches of forks and are
not that helpful anyway because they just post the compare link and not the
title of the commits.
Additionally, they were also called whenever a PR was merged which already
has its own notification including a link to the PR.
Johan Malm [Wed, 1 Jun 2022 17:14:26 +0000 (18:14 +0100)]
docs/meson.build: remove environment following
5de92c8
Consolatis [Wed, 1 Jun 2022 17:03:42 +0000 (19:03 +0200)]
IRC notifications: use NOTICE to prevent join/part
Consolatis [Tue, 31 May 2022 17:14:58 +0000 (19:14 +0200)]
theme: implement osd.border.color and osd.border.width
http://openbox.org/wiki/Help:Themes#osd.border.color
http://openbox.org/wiki/Help:Themes#osd.border.width
Consolatis [Wed, 1 Jun 2022 01:27:24 +0000 (03:27 +0200)]
Experimentally add IRC notifications for new PRs and Issues
Johan Malm [Tue, 31 May 2022 21:37:26 +0000 (22:37 +0100)]
Move config related content from labwc(1) to labwc-config(5)
Remove labwc-environment(5) as its contents are covered in
labwc-config(5)
Johan Malm [Tue, 31 May 2022 21:01:26 +0000 (22:01 +0100)]
man pages: minor language and style changes
Johan Malm [Tue, 31 May 2022 20:57:00 +0000 (21:57 +0100)]
labwc-config(5): move <resistance> to before <focus>
...to make the config file flow better
Johan Malm [Tue, 31 May 2022 20:53:45 +0000 (21:53 +0100)]
man pages: unify titles for better "man -k labwc" experience
Johan Malm [Tue, 31 May 2022 20:44:31 +0000 (21:44 +0100)]
CONTRIBUTING.md: add note on libinput debug-events
Consolatis [Mon, 30 May 2022 19:05:32 +0000 (21:05 +0200)]
Revert "Fix dynamic output based scaling for menu and SSD"
As it turns out the reason for the workaround was a bug
in wlroots which got fixed in the meantime.
So to keep things simple just revert the workaround and
depend on the wlroots fix instead.
To update the wlroots subproject use
meson subprojects update wlroots
This reverts commit
e87aa19066e5dae6ddfe1f4c5d4537474083436a .
Johan Malm [Tue, 17 May 2022 17:10:29 +0000 (18:10 +0100)]
xwayland: call foreign-toplevel-destroy on unmap
Some xwayland clients leave unmapped child views around, typically when a
dialog window is closed. Although handle_destroy() is not called for
these, we have to call foreign-toplevel-destroy to avoid panels and the
like incorrecly showing them.
Consolatis [Mon, 30 May 2022 14:34:50 +0000 (16:34 +0200)]
Chase wlroots: xdg_popup.geometry
To update the wlroots subproject use
meson subprojects update wlroots
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3514
Jelle De Loecker [Mon, 30 May 2022 08:00:14 +0000 (10:00 +0200)]
xwayland-unmanaged: focus parent surface on unmap
Re-focus on parent surface if it is available
Fixes #352 relating to JetBrains and Intellij focus issues
Consolatis [Sun, 29 May 2022 16:34:25 +0000 (18:34 +0200)]
Fix dynamic output based scaling for menu and SSD
wlr_scene_buffers need an additional wlr_scene_buffer_set_source_box()
to be scaled correctly by wlroots based on the output scale.
With this commit the buffers are now scaled correctly but, especially
on higher scale factors, may be a bit blurry.
In the future we likely want a dynamic font label generator based
on the maximal scale of all the outputs the specific buffer is currently on.
Some inspiration for that could be
https://github.com/Nefsen402/sway/blob/scene-graph/sway/sway_text_buffer.c
Fixes #348
Consolatis [Thu, 26 May 2022 13:47:44 +0000 (15:47 +0200)]
src/theme.c: Clean up corner buffers on finish
Consolatis [Thu, 26 May 2022 13:39:51 +0000 (15:39 +0200)]
src/osd.c: Free buf.buf as its malloc'd in buf_init()
Consolatis [Thu, 26 May 2022 13:34:08 +0000 (15:34 +0200)]
Deal with font_buffer_create() failures
Johan Malm [Thu, 26 May 2022 21:05:21 +0000 (22:05 +0100)]
CONTRIBUTING.md: describe WLR_WL_OUTPUTS
Johan Malm [Thu, 26 May 2022 20:51:17 +0000 (21:51 +0100)]
CONTRIBUTING.md: add notes on debugging
Consolatis [Wed, 25 May 2022 22:39:04 +0000 (00:39 +0200)]
Chase wlroots: wlr_scene_surface
To update the wlroots subproject use
meson subprojects update wlroots
Consolatis [Tue, 24 May 2022 17:51:15 +0000 (19:51 +0200)]
desktop_node_and_view_at(): handle layer surfaces
+ Replace some tabs with spaces in include/node.h
Fixes: #278
Consolatis [Wed, 25 May 2022 19:46:47 +0000 (21:46 +0200)]
src/cursor.c: Ignore out-of-surface movement for surfaces without views
Consolatis [Wed, 25 May 2022 19:45:48 +0000 (21:45 +0200)]
src/cursor.c: Ensure we send a release event for out-of-surface scrolling
Johan Malm [Tue, 24 May 2022 16:49:21 +0000 (17:49 +0100)]
cursor: offset xdg invisible border when dragging outside view
Note: view->padding was deleted in commit
b279550 as the wlroots
scene-graph xdg-surface commit handler offsets the CSD invisible border.
If view->padding still existed, we could have used that, but considering
that this is probably the only place where this offset will now be
needed (because we're generating surface local coordinates), it's simpler
to just do it locally.
Related to issue #340
Written-by: @Consolatis
Consolatis [Tue, 24 May 2022 11:02:51 +0000 (13:02 +0200)]
src/cursor.c: Fix branch condition for out-of-view selecting/dragging
Instead of using the stored view for comparison use the actual surface.
Before this patch, there were situations where the branch intended for
out-of-window text selection / scrollbar dragging was used even though
the cursor never left the surface.
Partly fixes #340
Johan Malm [Fri, 20 May 2022 20:20:42 +0000 (21:20 +0100)]
Merge pull request #334 from Consolatis/fix/maintainers
Update list of package maintainers
Consolatis [Fri, 20 May 2022 20:15:38 +0000 (22:15 +0200)]
Update list of package maintainers
Johan Malm [Wed, 18 May 2022 19:53:46 +0000 (20:53 +0100)]
resistance.c: init flags in resistance_resize_apply() too
Johan Malm [Wed, 18 May 2022 15:52:49 +0000 (16:52 +0100)]
resistance.c: initialize 'flags' to zero
Failure to initialize this variable sometimes causes windows to stick to
edges during move/resize.
Issues #331 and #309 may be related to this
Johan Malm [Wed, 18 May 2022 15:46:33 +0000 (16:46 +0100)]
Merge pull request #330 from Consolatis/chase/wlroots_xdg_version
Chase wlroots xdg_shell version
Consolatis [Wed, 18 May 2022 11:55:33 +0000 (13:55 +0200)]
Chase wlroots xdg_shell version
To update the wlroots subproject use
meson subprojects update wlroots
Joshua Ashton [Wed, 18 May 2022 00:51:13 +0000 (00:51 +0000)]
README: Document what is needed to run on NVIDIA
Closes: #324
Johan Malm [Tue, 17 May 2022 19:39:49 +0000 (20:39 +0100)]
NEWS.md: add notes on 0.5.2