]> git.mdlowis.com Git - proto/labwc.git/log
proto/labwc.git
3 years agoCI: Update FreeBSD runner
Consolatis [Thu, 21 Jul 2022 01:42:38 +0000 (03:42 +0200)]
CI: Update FreeBSD runner

3 years agoxwayland: Process move-only client configure requests more quickly
John Lindgren [Mon, 18 Jul 2022 03:42:04 +0000 (23:42 -0400)]
xwayland: Process move-only client configure requests more quickly

For a move-only client configure request, treat it similarly to
view_move() by updating the scene-graph immediately, rather than waiting
for handle_commit().  Move-and-resize requests are handled the same as
before.

This (mostly?) fixes the glitchiness that was noticeable when dragging
an undecorated XWayland window (e.g. Audacious in Winamp mode).

Also:

- Reduce some code duplication in handle_request_configure() by
  simply calling configure(), as suggested by @johanmalm in #428.
- Factor out common logic after a move and/or resize into view_moved().

3 years agoresistance: Do not consider edges of disabled outputs
John Lindgren [Mon, 18 Jul 2022 03:39:36 +0000 (23:39 -0400)]
resistance: Do not consider edges of disabled outputs

3 years agocursor: Move resistance_resize_apply() before view_adjust_size()
John Lindgren [Mon, 18 Jul 2022 03:38:11 +0000 (23:38 -0400)]
cursor: Move resistance_resize_apply() before view_adjust_size()

This ensures that screen edge resistance does not result in sizes
that violate WM_SIZE_HINTS constraints.

Also correct a coding style issue nearby.

3 years agoMerge pull request #454 from Joshua-Ashton/bump-fd-limit
Johan Malm [Sun, 17 Jul 2022 13:24:05 +0000 (14:24 +0100)]
Merge pull request #454 from Joshua-Ashton/bump-fd-limit

main: Increase FD limit

3 years agomain: Increase FD limit
Joshua Ashton [Sun, 17 Jul 2022 00:49:26 +0000 (00:49 +0000)]
main: Increase FD limit

This defaults to 1024, which is tiny, but is a requirement
for processes using the deprecated `select` function.

We must reset this back whenever we fork to start a new process,
as this is inherited, and breaks applications using `select` otherwise.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
3 years agocommon: Add helpers for raising/lowering FD limit
Joshua Ashton [Sun, 17 Jul 2022 00:47:20 +0000 (00:47 +0000)]
common: Add helpers for raising/lowering FD limit

Signed-off-by: Joshua Ashton <joshua@froggi.es>
3 years agobuf.c: fix bug in environment variable expansion
Johan Malm [Fri, 15 Jul 2022 19:29:49 +0000 (20:29 +0100)]
buf.c: fix bug in environment variable expansion

Allow underscore in environment variable names.

Closes issue #439

Helped-by: @Consolatis
...who both found the bug and told us how to fix it :)

3 years agoNEWS.md: add notes on 0.5.3
Johan Malm [Fri, 15 Jul 2022 19:05:43 +0000 (20:05 +0100)]
NEWS.md: add notes on 0.5.3

3 years agoNEWS.md: add notes on 0.6.0
Johan Malm [Wed, 13 Jul 2022 23:24:25 +0000 (00:24 +0100)]
NEWS.md: add notes on 0.6.0

3 years agocursor: Fix crash when creating a cursor constraint
Joshua Ashton [Thu, 14 Jul 2022 02:19:36 +0000 (02:19 +0000)]
cursor: Fix crash when creating a cursor constraint

Fix crash when creating a cursor constraint and there is no currently
focused view.

Fixes a crash starting Warhammer 40,000: Dawn of War II (15620)

3 years agoconfig/rcxml.c: Fix parsing of adaptiveSync setting
Consolatis [Wed, 13 Jul 2022 23:01:10 +0000 (01:01 +0200)]
config/rcxml.c: Fix parsing of adaptiveSync setting

3 years agoCI: upgrade FreeBSD to 13.1
Jan Beich [Wed, 13 Jul 2022 21:30:36 +0000 (21:30 +0000)]
CI: upgrade FreeBSD to 13.1

FreeBSD doesn't support /latest and /quarterly package repos on EOL
versions. 13.0 reaches EOL on 2022-08-31, so avoid CI breakage.

3 years agoCI: Add missing deps for Void Linux runner
Krsna Mahapatra [Mon, 11 Jul 2022 20:49:25 +0000 (16:49 -0400)]
CI: Add missing deps for Void Linux runner

3 years agosrc/view.c: Prevent crash by killing a moving application
Consolatis [Sun, 10 Jul 2022 21:24:32 +0000 (23:24 +0200)]
src/view.c: Prevent crash by killing a moving application

When a view is destroyed labwc calls interactive_end(view) which
may reposition the view which is partly destroyed and doesn't own
any surface anymore. To prevent this scenario from happening don't
call interactive_end() at all and just reset server->grabbed_view
and server->input_mode directly.

Before this patch, the bug could be reproduced by:
- xcalc &
- sleep 5; killall xcalc
- move the xcalc window completely to one of the edges

The change in src/xwayland.c is not required for this bug
to be fixed but may prevent something similar in the future.

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)