Commit graph

1312 commits

Author SHA1 Message Date
John Lindgren
80792d446f (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.
2022-07-03 12:59:36 +01:00
Consolatis
3c345201cd Restore original geometry when moving a tiled window
Fixes #391
2022-07-02 16:21:32 +01:00
Consolatis
5585977f72 Rename unmaximized_geometry to natural_geometry 2022-07-02 16:21:32 +01:00
Consolatis
02595eefaa src/view.c: Unmaximize on SnapToEdge 2022-07-02 12:43:23 +01:00
Consolatis
7bdcef51b7 src/view.c: Prevent SnapToEdge while in fullscreen 2022-07-02 12:43:23 +01:00
Consolatis
2f7b1fd5fb src/view.c: Re-arrange tiled windows on un-fullscreen and un-maximize 2022-07-02 12:43:23 +01:00
Consolatis
2d02fec4b2 src/view.c: Re-arrange tiled windows on decoration change 2022-07-02 12:43:23 +01:00
Consolatis
8ed62b4860 src/view.c: Re-arrange tiled windows on layout change 2022-07-02 12:43:23 +01:00
Consolatis
3a4b55886d src/view.c: Convert SnapToEdge to use view_apply_xxx_geometry framework 2022-07-02 12:43:23 +01:00
Consolatis
992089e901 src/layers.c: Prevent re-arranging views if usable_area didn't change 2022-07-02 12:43:23 +01:00
Consolatis
f4aa6118e9 src/layers.c: Adjust views based on usable_area changes 2022-06-30 20:41:54 +01:00
Consolatis
09915b8f43 src/ssd/ssd.c: Keep view->margin in sync when toggling decorations
Fixes #409
2022-06-30 06:45:18 +01:00
Consus
ef3dbbf29a 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.
2022-06-28 21:38:42 +01:00
Consolatis
a3d3878d28 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
2022-06-25 17:13:55 +01:00
Johan Malm
437230b3a0 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.
2022-06-25 14:56:35 +02:00
Consolatis
f13fbd7aa6 CI: add FreeBSD runner
Fixes #413
2022-06-23 22:37:20 +02:00
Johan Malm
6f93c9981b README: add link to website 2022-06-22 21:19:50 +01:00
Johan Malm
3f10880545 README: update links to scope document 2022-06-22 21:12:54 +01:00
Consolatis
c49f4e735d src/action.c: Fix includes for kill() and getpid()
Fixes #410
2022-06-22 01:19:43 +02:00
Consolatis
69350b676b CI: add Void Linux in musl variant 2022-06-22 01:06:54 +02:00
Flrian
1eab4b5269 src/osd.c: fix max text width
Making sure long window titles don't overflow the selection box

Closes issue #406

Written-by: @johanmalm
2022-06-19 21:03:43 +01:00
Consus
ca56357b5f 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
2022-06-18 18:34:58 +02:00
Consolatis
56a6d08fc0 src/debug.c: Sync with workspaces 2022-06-17 06:08:06 +01:00
Consolatis
5f38d5ec55 src/layers.c: Update output for popup after forced move
Fixes #369
2022-06-17 06:08:06 +01:00
Johan Malm
46ee070790 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
2022-06-16 22:00:45 +01:00
Joshua Ashton
505b1edb98 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
2022-06-16 20:42:17 +01:00
Johan Malm
050af96d57
Merge pull request #333 from Consolatis/wip/workspaces
Add workspaces
2022-06-15 22:05:31 +01:00
Consolatis
c77ccb8903 workspaces: Switch workspace when activating via panel 2022-06-15 22:49:39 +02:00
Consolatis
282620589d workspaces: Hide menu if there is only a single workspace 2022-06-15 22:26:21 +02:00
Consolatis
ff69988347 workspaces: Add default workspace sub menu 2022-06-15 22:26:21 +02:00
Consolatis
c93d625938 workspaces: Add workspace actions 2022-06-15 22:26:21 +02:00
Consolatis
8c5157a098 workspaces: Wire up workspaces 2022-06-15 22:26:21 +02:00
Consolatis
ae2fa1571b workspaces: Implement config parsing 2022-06-15 22:26:21 +02:00
Consolatis
d557623c34 workspaces: Add workspaces.{c,h} 2022-06-15 22:26:21 +02:00
Consolatis
1afca2c2cd src/osd.c: Hide OSD when there are no views on osd_update 2022-06-15 16:14:02 +01:00
Consolatis
37ca5c28c1 include/labwc.h desktop_cycle_view: Clarify signature 2022-06-15 16:14:02 +01:00
Consolatis
a0d1003f28 src/keyboard.c: Make any_modifier_pressed() global 2022-06-15 16:14:02 +01:00
Consolatis
d309df6f87 src/common/font.c: Add font_width() 2022-06-15 16:14:02 +01:00
Johan Malm
5f30773a6e 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
2022-06-15 00:46:27 +02:00
Consolatis
05ae654547 Convert SSD title to scaled font buffer 2022-06-14 22:03:08 +01:00
Consolatis
b25965d03e Convert menu entries to scaled font buffer 2022-06-14 22:03:08 +01:00
Consolatis
5d79911244 Add scaled_font_buffer implementation 2022-06-14 22:03:08 +01:00
Consolatis
c3f07aacf0 Add abstract scaled_scene_buffer implementation 2022-06-14 22:03:08 +01:00
Consolatis
f3a685155d common/font: Add scale argument 2022-06-14 22:03:08 +01:00
Consolatis
2aaf26e87b src/menu: Handle menu item creation failure 2022-06-14 22:03:08 +01:00
Consolatis
505f92e733 src/buffer: Automatically adapt to scale attribute
Based on discussion in PR #389
2022-06-14 22:03:08 +01:00
Johan Malm
5626c20c44
Merge pull request #389 from bi4k8/window-switcher-scale
correctly scale window switcher
2022-06-11 22:37:30 +01:00
bi4k8
4221eb14e8 correctly scale window switcher 2022-06-11 13:44:58 +00:00
Consolatis
5a4c5de332 src/menu: Attach view to menu and use it when executing actions
This fixes #380
2022-06-09 22:09:40 +01:00
Consolatis
ca9226a7a6 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.
2022-06-09 22:04:35 +01:00