]> git.mdlowis.com Git - proto/labwc.git/log
proto/labwc.git
3 years agoREADME.md: refresh and refactor
Johan Malm [Sun, 10 Jul 2022 15:43:05 +0000 (16:43 +0100)]
README.md: refresh and refactor

- Use &nsbp; in links with spaces
- Change headings from verbs to nouns
- Combine build and install headings
- In 'What is this', use the text on the labwc website
- Remove video links; one wasn't working and the other were very old
- Use more recent screenshot
- Simplify the 'labwc supports the following' bullet points
- Split dependencies into build and run-time
- Remove dependecy version numbers and let meson.build be the source of
  truth
- Simplify config file table by taking out middle column
- Split the configuration section into configuration and theming
- s/roadmap/scope
- Change man page links from docs/ to labwc.github.io/

3 years agosrc/output.c: Always react to new output configuration
Consolatis [Fri, 8 Jul 2022 22:42:04 +0000 (00:42 +0200)]
src/output.c: Always react to new output configuration

Without this fix we will never react to output configuration changes
via wlr-randr and friends.

If output_config_apply() commits the new config, handle_output_layout_change()
is called but doesn't do anything because the config is still pending.

This patch moves the code into its own function do_output_layout_change()
which additionally gets called after all output configs are committed.

The original handler is turned into a wrapper around do_output_layout_change().

Reported-by @heroin-moose

3 years agoxwayland.c: fix position bug
Johan Malm [Mon, 4 Jul 2022 17:25:52 +0000 (18:25 +0100)]
xwayland.c: fix position bug

Set node position in the configure/set_geometry handlers when moving a
window in response to a client request.

Steps to reproduce weird positioning fixed by this patch:

1. Start leafpad
2. Open Help->About
3. Move the dialog
4. Close the dialog
5. Open it again
6. Drag it and observe a jump in position

There is also an xwayland PyQt5 script in PR #428 which demonstrates
jumpy position.

3 years agosrc/action.c: Convert action->arg to a list of action_arg
Consolatis [Fri, 10 Jun 2022 17:42:34 +0000 (19:42 +0200)]
src/action.c: Convert action->arg to a list of action_arg

In preperation for Actions that require multiple arguments

3 years agosrc/view.c: Fall back to default geometry when changing state
Consolatis [Sat, 2 Jul 2022 18:23:14 +0000 (20:23 +0200)]
src/view.c: Fall back to default geometry when changing state

This makes sure that applications starting in maximized of fullscreen
mode always have their natural_geometry set to sensible values.

Partly fixes #403

3 years ago(Partly) fix handling of client-initiated configure requests
John Lindgren [Sat, 2 Jul 2022 17:18:31 +0000 (13:18 -0400)]
(Partly) fix handling of client-initiated configure requests

- Add missing call to wlr_scene_node_set_position() in
  unmanaged_handle_commit() -- this fixes moving unmanaged XWayland
  windows.

- Update view->pending_move_resize when we receive a configure request
  for a managed XWayland surface -- this fixes moving managed but
  undecorated XWayland windows.

- Also update view->pending_move_resize when we move a surface while a
  configure request is already pending -- this fixes a discrepancy
  between displayed and actual position for XWayland windows that try to
  set their own initial position, but then get overridden by labwc's
  positioning.

Moving undecorated XWayland windows is still really glitchy -- it appears
that an XWayland window gets sent incorrect mouse motion coordinates when
there is a pending configure request moving the window itself.

3 years agoRestore original geometry when moving a tiled window
Consolatis [Fri, 1 Jul 2022 18:42:41 +0000 (20:42 +0200)]
Restore original geometry when moving a tiled window

Fixes #391

3 years agoRename unmaximized_geometry to natural_geometry
Consolatis [Fri, 1 Jul 2022 17:34:56 +0000 (19:34 +0200)]
Rename unmaximized_geometry to natural_geometry

3 years agosrc/view.c: Unmaximize on SnapToEdge
Consolatis [Fri, 1 Jul 2022 18:44:40 +0000 (20:44 +0200)]
src/view.c: Unmaximize on SnapToEdge

3 years agosrc/view.c: Prevent SnapToEdge while in fullscreen
Consolatis [Fri, 1 Jul 2022 18:42:09 +0000 (20:42 +0200)]
src/view.c: Prevent SnapToEdge while in fullscreen

3 years agosrc/view.c: Re-arrange tiled windows on un-fullscreen and un-maximize
Consolatis [Fri, 1 Jul 2022 18:40:18 +0000 (20:40 +0200)]
src/view.c: Re-arrange tiled windows on un-fullscreen and un-maximize

3 years agosrc/view.c: Re-arrange tiled windows on decoration change
Consolatis [Fri, 1 Jul 2022 17:40:27 +0000 (19:40 +0200)]
src/view.c: Re-arrange tiled windows on decoration change

3 years agosrc/view.c: Re-arrange tiled windows on layout change
Consolatis [Fri, 1 Jul 2022 00:12:23 +0000 (02:12 +0200)]
src/view.c: Re-arrange tiled windows on layout change

3 years agosrc/view.c: Convert SnapToEdge to use view_apply_xxx_geometry framework
Consolatis [Fri, 1 Jul 2022 00:07:40 +0000 (02:07 +0200)]
src/view.c: Convert SnapToEdge to use view_apply_xxx_geometry framework

3 years agosrc/layers.c: Prevent re-arranging views if usable_area didn't change
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

3 years agosrc/layers.c: Adjust views based on usable_area changes
Consolatis [Thu, 30 Jun 2022 18:02:24 +0000 (20:02 +0200)]
src/layers.c: Adjust views based on usable_area changes

3 years agosrc/ssd/ssd.c: Keep view->margin in sync when toggling decorations
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

3 years agoFix usable area calculation
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.

3 years agoChase wlroots: wlr_input_device refactor
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

3 years agomenu: support <separator />
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.

3 years agoCI: add FreeBSD runner
Consolatis [Thu, 23 Jun 2022 20:37:20 +0000 (22:37 +0200)]
CI: add FreeBSD runner

Fixes #413

3 years agoREADME: add link to website
Johan Malm [Wed, 22 Jun 2022 20:19:50 +0000 (21:19 +0100)]
README: add link to website

3 years agoREADME: update links to scope document
Johan Malm [Wed, 22 Jun 2022 20:12:54 +0000 (21:12 +0100)]
README: update links to scope document

3 years agosrc/action.c: Fix includes for kill() and getpid()
Consolatis [Tue, 21 Jun 2022 16:48:05 +0000 (18:48 +0200)]
src/action.c: Fix includes for kill() and getpid()

Fixes #410

3 years agoCI: add Void Linux in musl variant
Consolatis [Tue, 21 Jun 2022 18:46:58 +0000 (20:46 +0200)]
CI: add Void Linux in musl variant

3 years agosrc/osd.c: fix max text width
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
3 years agoworkspaces: Allow switching/sending to the last used workspace
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

3 years agosrc/debug.c: Sync with workspaces
Consolatis [Fri, 17 Jun 2022 00:53:08 +0000 (02:53 +0200)]
src/debug.c: Sync with workspaces

3 years agosrc/layers.c: Update output for popup after forced move
Consolatis [Fri, 17 Jun 2022 00:41:34 +0000 (02:41 +0200)]
src/layers.c: Update output for popup after forced move

Fixes #369

3 years agoaction.c: add _POSIX_C_SOURCE
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
3 years agoAllow leasing desktop displays
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

3 years agoMerge pull request #333 from Consolatis/wip/workspaces
Johan Malm [Wed, 15 Jun 2022 21:05:31 +0000 (22:05 +0100)]
Merge pull request #333 from Consolatis/wip/workspaces

Add workspaces

3 years agoworkspaces: Switch workspace when activating via panel
Consolatis [Wed, 15 Jun 2022 20:49:36 +0000 (22:49 +0200)]
workspaces: Switch workspace when activating via panel

3 years agoworkspaces: Hide menu if there is only a single workspace
Consolatis [Tue, 14 Jun 2022 23:49:55 +0000 (01:49 +0200)]
workspaces: Hide menu if there is only a single workspace

3 years agoworkspaces: Add default workspace sub menu
Consolatis [Wed, 15 Jun 2022 00:02:15 +0000 (02:02 +0200)]
workspaces: Add default workspace sub menu

3 years agoworkspaces: Add workspace actions
Consolatis [Tue, 14 Jun 2022 23:38:22 +0000 (01:38 +0200)]
workspaces: Add workspace actions

3 years agoworkspaces: Wire up workspaces
Consolatis [Wed, 15 Jun 2022 00:02:50 +0000 (02:02 +0200)]
workspaces: Wire up workspaces

3 years agoworkspaces: Implement config parsing
Consolatis [Wed, 15 Jun 2022 00:07:22 +0000 (02:07 +0200)]
workspaces: Implement config parsing

3 years agoworkspaces: Add workspaces.{c,h}
Consolatis [Tue, 14 Jun 2022 23:07:45 +0000 (01:07 +0200)]
workspaces: Add workspaces.{c,h}

3 years agosrc/osd.c: Hide OSD when there are no views on osd_update
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

3 years agoinclude/labwc.h desktop_cycle_view: Clarify signature
Consolatis [Tue, 14 Jun 2022 23:22:44 +0000 (01:22 +0200)]
include/labwc.h desktop_cycle_view: Clarify signature

3 years agosrc/keyboard.c: Make any_modifier_pressed() global
Consolatis [Tue, 14 Jun 2022 23:19:31 +0000 (01:19 +0200)]
src/keyboard.c: Make any_modifier_pressed() global

3 years agosrc/common/font.c: Add font_width()
Consolatis [Tue, 14 Jun 2022 23:16:32 +0000 (01:16 +0200)]
src/common/font.c: Add font_width()

3 years agoaction.c: use kill() instead of spawning killall
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

3 years agoConvert SSD title to scaled font buffer
Consolatis [Sun, 12 Jun 2022 19:22:49 +0000 (21:22 +0200)]
Convert SSD title to scaled font buffer

3 years agoConvert menu entries to scaled font buffer
Consolatis [Sun, 12 Jun 2022 19:22:01 +0000 (21:22 +0200)]
Convert menu entries to scaled font buffer

3 years agoAdd scaled_font_buffer implementation
Consolatis [Mon, 13 Jun 2022 19:33:32 +0000 (21:33 +0200)]
Add scaled_font_buffer implementation

3 years agoAdd abstract scaled_scene_buffer implementation
Consolatis [Mon, 13 Jun 2022 19:32:12 +0000 (21:32 +0200)]
Add abstract scaled_scene_buffer implementation

3 years agocommon/font: Add scale argument
Consolatis [Sun, 12 Jun 2022 19:16:44 +0000 (21:16 +0200)]
common/font: Add scale argument

3 years agosrc/menu: Handle menu item creation failure
Consolatis [Sun, 12 Jun 2022 19:14:48 +0000 (21:14 +0200)]
src/menu: Handle menu item creation failure

3 years agosrc/buffer: Automatically adapt to scale attribute
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

3 years agoMerge pull request #389 from bi4k8/window-switcher-scale
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

3 years agocorrectly scale window switcher
bi4k8 [Sat, 11 Jun 2022 13:38:09 +0000 (13:38 +0000)]
correctly scale window switcher

3 years agosrc/menu: Attach view to menu and use it when executing actions
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

3 years agosrc/ssd: Convert button node descriptors to struct ssd_button
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.

3 years agosrc/ssd: Use LAB_SSD_PART_CORNER_x for rounded corner backgrounds
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

3 years agosrc/view.c: Cache server pointer
Consolatis [Thu, 9 Jun 2022 14:38:17 +0000 (16:38 +0200)]
src/view.c: Cache server pointer

3 years agoChase wlroots: update wlroots.wrap to latest master
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

3 years agoview: if view->fullscreen on destroy, re-enable top-layer
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

3 years agoChase wlroots: update wlroots.wrap to latest master
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

3 years agoChase wlroots: children are now only availabe in tree nodes
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

3 years agoChase wlroots: scene_node.state is now inlined
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

3 years agoChase wlroots: every scene_node parent is now a tree
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

3 years agoChase wlroots: prep work: ssd to tree
Consolatis [Sun, 5 Jun 2022 13:17:15 +0000 (15:17 +0200)]
Chase wlroots: prep work: ssd to tree

3 years agoChase wlroots: prep work: menu to tree
Consolatis [Sun, 5 Jun 2022 12:42:06 +0000 (14:42 +0200)]
Chase wlroots: prep work: menu to tree

3 years agoChase wlroots: wlr_scene is now a tree node
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

3 years agoview: when centering, top/left align if view is bigger than usable area
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

3 years agoview: take into account top-margin for xwayland views
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.

3 years agoview: center correctly with scale != 1
Johan Malm [Mon, 6 Jun 2022 17:31:18 +0000 (18:31 +0100)]
view: center correctly with scale != 1

Fixes issue #376

3 years agoxwayland-unmanaged: wl_list_remove() missing listeners on destroy
Johan Malm [Sun, 5 Jun 2022 21:10:15 +0000 (22:10 +0100)]
xwayland-unmanaged: wl_list_remove() missing listeners on destroy

3 years agoxwayland-unmanaged: remove excessive logging
Johan Malm [Sun, 5 Jun 2022 21:09:16 +0000 (22:09 +0100)]
xwayland-unmanaged: remove excessive logging

3 years agoxwayland-unmanaged: Fix set_geometry using container_of of wrong member
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.

3 years agoxwayland-unmanaged: fix typo
Johan Malm [Sun, 5 Jun 2022 08:55:25 +0000 (09:55 +0100)]
xwayland-unmanaged: fix typo

3 years agoxwayland-unmanaged: prepare for handling more events
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

3 years agodocs/environment: add _JAVA_AWT_WM_NONREPARENTING=1
Johan Malm [Sun, 5 Jun 2022 08:12:54 +0000 (09:12 +0100)]
docs/environment: add _JAVA_AWT_WM_NONREPARENTING=1

3 years agoxwayland-unmanaged: put all surfaces under server->unmanaged_tree
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

3 years agosrc/config/keybind.c: fix keybind insertion order
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.

3 years agoPrevent missing direction arguments to segfault labwc
Consolatis [Fri, 3 Jun 2022 00:19:31 +0000 (02:19 +0200)]
Prevent missing direction arguments to segfault labwc

Reported-by: @Flrian
3 years agoCONTRIBUTING.md: fix typo s/sanitzise/sanitize/
Johan Malm [Fri, 3 Jun 2022 17:52:35 +0000 (18:52 +0100)]
CONTRIBUTING.md: fix typo s/sanitzise/sanitize/

3 years agoIRC notifications: disable push notifications
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.

3 years agodocs/meson.build: remove environment following 5de92c8
Johan Malm [Wed, 1 Jun 2022 17:14:26 +0000 (18:14 +0100)]
docs/meson.build: remove environment following 5de92c8

3 years agoIRC notifications: use NOTICE to prevent join/part
Consolatis [Wed, 1 Jun 2022 17:03:42 +0000 (19:03 +0200)]
IRC notifications: use NOTICE to prevent join/part

3 years agotheme: implement osd.border.color and osd.border.width
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

3 years agoExperimentally add IRC notifications for new PRs and Issues
Consolatis [Wed, 1 Jun 2022 01:27:24 +0000 (03:27 +0200)]
Experimentally add IRC notifications for new PRs and Issues

3 years agoMove config related content from labwc(1) to labwc-config(5)
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)

3 years agoman pages: minor language and style changes
Johan Malm [Tue, 31 May 2022 21:01:26 +0000 (22:01 +0100)]
man pages: minor language and style changes

3 years agolabwc-config(5): move <resistance> to before <focus>
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

3 years agoman pages: unify titles for better "man -k labwc" experience
Johan Malm [Tue, 31 May 2022 20:53:45 +0000 (21:53 +0100)]
man pages: unify titles for better "man -k labwc" experience

3 years agoCONTRIBUTING.md: add note on libinput debug-events
Johan Malm [Tue, 31 May 2022 20:44:31 +0000 (21:44 +0100)]
CONTRIBUTING.md: add note on libinput debug-events

3 years agoRevert "Fix dynamic output based scaling for menu and SSD"
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.

3 years agoxwayland: call foreign-toplevel-destroy on unmap
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.

3 years agoChase wlroots: xdg_popup.geometry
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

3 years agoxwayland-unmanaged: focus parent surface on unmap
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

3 years agoFix dynamic output based scaling for menu and SSD
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

3 years agosrc/theme.c: Clean up corner buffers on finish
Consolatis [Thu, 26 May 2022 13:47:44 +0000 (15:47 +0200)]
src/theme.c: Clean up corner buffers on finish

3 years agosrc/osd.c: Free buf.buf as its malloc'd in buf_init()
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()

3 years agoDeal with font_buffer_create() failures
Consolatis [Thu, 26 May 2022 13:34:08 +0000 (15:34 +0200)]
Deal with font_buffer_create() failures

3 years agoCONTRIBUTING.md: describe WLR_WL_OUTPUTS
Johan Malm [Thu, 26 May 2022 21:05:21 +0000 (22:05 +0100)]
CONTRIBUTING.md: describe WLR_WL_OUTPUTS

3 years agoCONTRIBUTING.md: add notes on debugging
Johan Malm [Thu, 26 May 2022 20:51:17 +0000 (21:51 +0100)]
CONTRIBUTING.md: add notes on debugging

3 years agoChase wlroots: wlr_scene_surface
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