]> git.mdlowis.com Git - proto/labwc.git/log
proto/labwc.git
3 years agodesktop_node_and_view_at(): handle layer surfaces
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
3 years agosrc/cursor.c: Ignore out-of-surface movement for surfaces without views
Consolatis [Wed, 25 May 2022 19:46:47 +0000 (21:46 +0200)]
src/cursor.c: Ignore out-of-surface movement for surfaces without views

3 years agosrc/cursor.c: Ensure we send a release event for out-of-surface scrolling
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

3 years agocursor: offset xdg invisible border when dragging outside view
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
3 years agosrc/cursor.c: Fix branch condition for out-of-view selecting/dragging
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

3 years agoMerge pull request #334 from Consolatis/fix/maintainers
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

3 years agoUpdate list of package maintainers
Consolatis [Fri, 20 May 2022 20:15:38 +0000 (22:15 +0200)]
Update list of package maintainers

3 years agoresistance.c: init flags in resistance_resize_apply() too
Johan Malm [Wed, 18 May 2022 19:53:46 +0000 (20:53 +0100)]
resistance.c: init flags in resistance_resize_apply() too

3 years agoresistance.c: initialize 'flags' to zero
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

3 years agoMerge pull request #330 from Consolatis/chase/wlroots_xdg_version
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

3 years agoChase 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

3 years agoREADME: Document what is needed to run on NVIDIA
Joshua Ashton [Wed, 18 May 2022 00:51:13 +0000 (00:51 +0000)]
README: Document what is needed to run on NVIDIA

Closes: #324
3 years agoNEWS.md: add notes on 0.5.2
Johan Malm [Tue, 17 May 2022 19:39:49 +0000 (20:39 +0100)]
NEWS.md: add notes on 0.5.2

3 years agosrc/xwayland.c: keep SSD state on unmap/map cycle
Consolatis [Tue, 17 May 2022 12:33:12 +0000 (14:33 +0200)]
src/xwayland.c: keep SSD state on unmap/map cycle

Move SSD related map() work into the !view->been_mapped branch,
similar to src/xdg.c.

Without this patch following series of events restores the initial
state of the SSD when activating the view:
- spawn xcalc
- observe it shows the SSD
- toggleDecorations to hide the SSD (via keybinding or window menu)
- minimize xcalc (via some panel or A-Space)
- activate xcalc (via some panel or A-Tab)
- observe the SSD is back visible

3 years agoMerge pull request #321 from eli-schwartz/meson-subproject-cleanup
Consolatis [Mon, 9 May 2022 23:32:32 +0000 (01:32 +0200)]
Merge pull request #321 from eli-schwartz/meson-subproject-cleanup

meson: use proper dependency fallback for wlroots

3 years agomeson: use proper dependency fallback for wlroots
Eli Schwartz [Mon, 9 May 2022 21:44:47 +0000 (17:44 -0400)]
meson: use proper dependency fallback for wlroots

Make the subproject wrap file declare the dependencies it provides.

Remove the manual subproject invocation and allow Meson to select
whichever wlroots it finds which satisfies the version requirement --
either a system one via pkg-config, or the subproject fallback.

Use a dependency-generic method of acquiring wlroots configuration info
-- enabled features are present in the pkg-config file and additionally
exported as declare_dependency() variables, so there is no need to do C
preprocessor checks for it.

This ensures that Meson best practices are followed, and also...

Fixes #318

3 years agolabwc-action(5): remove incorrect <command>
Johan Malm [Fri, 6 May 2022 20:57:13 +0000 (21:57 +0100)]
labwc-action(5): remove incorrect <command>

<action name="Close"> does not support a <command> option

3 years agomenu: support <action name="Execute"> option <execute>
Johan Malm [Fri, 6 May 2022 20:55:46 +0000 (21:55 +0100)]
menu: support <action name="Execute"> option <execute>

<exectue> is a deprecated name for <command>.
See: http://openbox.org/wiki/Help:Actions#Action_syntax

But some openbox3 menu generators still use it, for example
https://wiki.archlinux.org/title/xdg-menu - so let's support it for
backward compatibility.

3 years agomenu: avoid logging on <item label="" icon="">
Johan Malm [Fri, 6 May 2022 20:52:46 +0000 (21:52 +0100)]
menu: avoid logging on <item label="" icon="">

Labwc does not support menu icons, but we should not log errors if a
menu file contains icons as in the example below:

<item label="" icon="">
  <action name="Execute">
    <command></command>
  </action>
</item>

3 years agodocs/autostart: use wlopm with *
Johan Malm [Wed, 4 May 2022 20:52:20 +0000 (21:52 +0100)]
docs/autostart: use wlopm with *

With swayidle timeout/resume, use wlopm --off/--on with * instead of
specifying output names. When * is given as parameter to an operation
wlopm will do the operation for all discovered outputs.

https://git.sr.ht/~leon_plickat/wlopm/tree/master/item/wlopm.1#L68

3 years agoMove .gitignore to subprojects/
Johan Malm [Tue, 3 May 2022 19:55:24 +0000 (20:55 +0100)]
Move .gitignore to subprojects/

Because it keeps the toplevel directory cleaner

3 years agosubprojects/seatd.wrap: s/master/0.6.4/
Johan Malm [Tue, 3 May 2022 19:53:41 +0000 (20:53 +0100)]
subprojects/seatd.wrap: s/master/0.6.4/

3 years agoxwayland: handle set_override_redirect events
Johan Malm [Tue, 3 May 2022 18:44:31 +0000 (19:44 +0100)]
xwayland: handle set_override_redirect events

This is needed to allow X11 applications to create surfaces as
non-override_redirect and then change them to override_redirect later

Without this gitk-menus and rofi are treated as xwayland-views with
associated server-side-decoration and forced positioning.

3 years agonls: add native language support
01micko [Sun, 1 May 2022 04:38:45 +0000 (14:38 +1000)]
nls: add native language support

- adds labwc.pot and po files for de, es, it and sv
- added notes in NEWS.md and CONTRIBUTING.md
- addresses #269
- conditional upon `msgfmt` being installed
- can be disabled at build time

3 years agosrc/output.c: Make sure we are always using the correct scene_node
Consolatis [Sat, 30 Apr 2022 23:23:31 +0000 (01:23 +0200)]
src/output.c: Make sure we are always using the correct scene_node

Also make sure we are only applying layout specific changes
once the output specific ones were committed successfully.

Fixes #312
Reported-By: @fakeczg
3 years agosrc/ssd/ssd.c: remove superfluous WLR_ERROR log message
Johan Malm [Thu, 28 Apr 2022 21:33:56 +0000 (22:33 +0100)]
src/ssd/ssd.c: remove superfluous WLR_ERROR log message

3 years agoxdg-shell: set fallback geometry if width/height == 0 on unmaximize
Johan Malm [Thu, 28 Apr 2022 20:37:32 +0000 (21:37 +0100)]
xdg-shell: set fallback geometry if width/height == 0 on unmaximize

3 years agoxdg-shell: set view position before view_maximize()
Johan Malm [Tue, 26 Apr 2022 20:46:40 +0000 (21:46 +0100)]
xdg-shell: set view position before view_maximize()

...on first map so that view->unmaximized_geometry is known even if an
xdg-shell application started in maximized mode.

Fixes issue #305
Reported-by: @01micko
3 years agocursor.c:func is_double_click add check view
yizixiao [Thu, 28 Apr 2022 08:26:48 +0000 (16:26 +0800)]
cursor.c:func is_double_click add check view

3 years agoserver.c: remove redundant TODO comment
Johan Malm [Tue, 26 Apr 2022 20:58:23 +0000 (21:58 +0100)]
server.c: remove redundant TODO comment

3 years agoview: do not crash on missing output
Johan Malm [Tue, 26 Apr 2022 20:55:04 +0000 (21:55 +0100)]
view: do not crash on missing output

We should survive all outputs being disabled

3 years agosrc/common/dirs.c: add missing slash
Johan Malm [Tue, 26 Apr 2022 20:50:24 +0000 (21:50 +0100)]
src/common/dirs.c: add missing slash

Change "opt/share/themes" to "/opt/share/themes"

3 years agoRevert "config: support <mouse><default />"
Consolatis [Tue, 26 Apr 2022 17:38:14 +0000 (19:38 +0200)]
Revert "config: support <mouse><default />"

This reverts commit 3d337857b7b0edb76083b4e6a7e15abfb288182a.

Revert for now until we have some infrastructure in place to
selectively replace default {key,mouse}binds with custom ones.

Fixes #304
Reported-by: @01micko
3 years agolayer: handle output_destroy.notify without crash
Johan Malm [Sun, 24 Apr 2022 21:24:47 +0000 (22:24 +0100)]
layer: handle output_destroy.notify without crash

Steps to reproduce crash:
- run nested with two outputs (e.g. WLR_WL_OUTPUTS=2 ./build/labwc)
- start panel on one output (e.g. waybar)
- close that output

Backtrace pointed to output_destroy_notify() at ../src/layers.c:92

Reported-by: @Consolatis
3 years agoview: Refactor view destruction some more
Consolatis [Sat, 23 Apr 2022 01:44:41 +0000 (03:44 +0200)]
view: Refactor view destruction some more

3 years agodocs/environment: add WLR_NO_HARDWARE_CURSORS example
Johan Malm [Fri, 22 Apr 2022 16:55:31 +0000 (17:55 +0100)]
docs/environment: add WLR_NO_HARDWARE_CURSORS example

3 years agotheme: change window.label.text.justify default to center
Johan Malm [Fri, 22 Apr 2022 16:54:20 +0000 (17:54 +0100)]
theme: change window.label.text.justify default to center

It just looks better :)

3 years agoconfig: support <mouse><default />
Johan Malm [Fri, 22 Apr 2022 16:52:01 +0000 (17:52 +0100)]
config: support <mouse><default />

This loads default mousebinds and provides a way to keep config files
simpler whilst allowing user specific binds.

Note that if no rc.xml is found, or if no <mouse><mousebind> entries
exist, the same default mousebinds will be loaded even if the <default />
element is not provided.

Example usage:

  <mouse>
    <default />
    <context name="Root">
      <mousebind button="Right" action="Press">
        <action name="Execute" command="my-menu-application" />
      </mousebind>
    </context>
  </mouse>

3 years agoAdd command line option -C to specify config directory
Johan Malm [Fri, 22 Apr 2022 16:00:36 +0000 (17:00 +0100)]
Add command line option -C to specify config directory

Also expand usage message to explain what each option means

3 years agoview: Refactor view destruction
Joshua Ashton [Thu, 21 Apr 2022 23:33:44 +0000 (23:33 +0000)]
view: Refactor view destruction

Consolidates all of the view destruction code for xwl + xdg into one function.

Fixes several notable bugs along the way:
  - Fixes a crash when alt tabbing when a selected view gets destroyed.
  - Fixes the OSD not updating to reflect a view has been destroyed.

3 years agoREADME.md: move important links to top
Johan Malm [Thu, 21 Apr 2022 20:27:41 +0000 (21:27 +0100)]
README.md: move important links to top

3 years agolabwc-menu(1): fix s/openbox/labwc/ typo
Johan Malm [Thu, 21 Apr 2022 20:26:04 +0000 (21:26 +0100)]
labwc-menu(1): fix s/openbox/labwc/ typo

3 years agodocs/autostart: add swayidle with wlopm example
Johan Malm [Thu, 21 Apr 2022 20:22:10 +0000 (21:22 +0100)]
docs/autostart: add swayidle with wlopm example

...to turn outputs on/off following the addition of
wlr-output-power-management protocol support (commit c23397f3)

3 years agoxdg-shell: remove view->padding
Johan Malm [Wed, 20 Apr 2022 16:00:43 +0000 (17:00 +0100)]
xdg-shell: remove view->padding

With the wlroots scene-graph API, the padding variable is no longer
needed for windows with Client Side Decoration (CSD).

3 years agoChase wlroots X11 hints update
Johan Malm [Wed, 20 Apr 2022 17:48:49 +0000 (18:48 +0100)]
Chase wlroots X11 hints update

3 years agoPrint deprecation notice when running SUID
Johan Malm [Wed, 20 Apr 2022 17:17:39 +0000 (18:17 +0100)]
Print deprecation notice when running SUID

Tracking swaywm/sway@e1db1f8

Add soft deprecation warning to highlight future intent of removing the
code which drops SUID privileges. libseat now has a better alternative in
the form of seatd-launch which uses the normal seatd daemon & libseat
backend and takes care of SUID.

Fixes issue #212

3 years agoosd: fix compiler warning
Johan Malm [Wed, 20 Apr 2022 17:08:10 +0000 (18:08 +0100)]
osd: fix compiler warning

3 years agoosd: show alt-tab switcher center-aligned on all outputs
Johan Malm [Wed, 20 Apr 2022 16:45:10 +0000 (17:45 +0100)]
osd: show alt-tab switcher center-aligned on all outputs

Fixes issue #283

3 years agoview: increase accuracy of center-alignment
Johan Malm [Tue, 19 Apr 2022 22:01:23 +0000 (23:01 +0100)]
view: increase accuracy of center-alignment

When center-aligning, take into account usable area and server-side
decoration (if used).

3 years agoAdd ToggleAlwaysOnTop action
Consolatis [Fri, 8 Apr 2022 23:16:09 +0000 (01:16 +0200)]
Add ToggleAlwaysOnTop action

3 years agowlroots.wrap: set revision to latest commit
Johan Malm [Fri, 8 Apr 2022 21:13:45 +0000 (22:13 +0100)]
wlroots.wrap: set revision to latest commit

This is better than `revision = master` because:

  - It enables labwc commits to be checked out and build without manually
    having to find the right wlroots commit to build with
  - The labwc master is always buildable without user intervention even
    if there are breaking changes in the wlroots master branch

Suggested in issue #289

3 years agoNEWS.md: add notes on 0.5.1
Johan Malm [Fri, 8 Apr 2022 21:06:51 +0000 (22:06 +0100)]
NEWS.md: add notes on 0.5.1

3 years agoFix trivial coding style breaches
Johan Malm [Mon, 4 Apr 2022 19:53:36 +0000 (20:53 +0100)]
Fix trivial coding style breaches

3 years agocursor: Fix "jumping opposite edges" issue when resizing
John Lindgren [Sun, 3 Apr 2022 01:34:51 +0000 (21:34 -0400)]
cursor: Fix "jumping opposite edges" issue when resizing

Commit 08c537e ("xwayland: Honor size increments from
WM_SIZE_HINTS") adjusted only the window width/height according
to the size hints.  If resizing from the top or left edge of the
window, we also need to adjust the window position to keep the
bottom or right edge from jumping around.

3 years agocursor.c: Do not segfault on missing drag icon
Consolatis [Wed, 30 Mar 2022 12:59:24 +0000 (14:59 +0200)]
cursor.c: Do not segfault on missing drag icon

Observed by moving tabs in chromium wayland native
(started with --ozone-platform-hint=wayland).

3 years agoCONTRIBUTING.md: add notes on packaging
Johan Malm [Mon, 28 Mar 2022 20:39:15 +0000 (21:39 +0100)]
CONTRIBUTING.md: add notes on packaging

3 years agotouch.c: fix coding style (sx,sy) vs (nx,ny)
Johan Malm [Mon, 28 Mar 2022 20:35:59 +0000 (21:35 +0100)]
touch.c: fix coding style (sx,sy) vs (nx,ny)

Prefer surface to node naming convention for coordinates

3 years agooutput: Implement drm_lease_v1
Joshua Ashton [Sat, 26 Mar 2022 04:51:54 +0000 (04:51 +0000)]
output: Implement drm_lease_v1

Needed for VR to work properly.

3 years agoxwayland.c: fix coding style
Johan Malm [Mon, 28 Mar 2022 19:51:59 +0000 (20:51 +0100)]
xwayland.c: fix coding style

3 years agotouch.c: fix coding style
Johan Malm [Mon, 28 Mar 2022 19:50:18 +0000 (20:50 +0100)]
touch.c: fix coding style

Mostly "foo* bar"-should-be-"foo *bar" warnings and space before brackets

3 years agoChase wlroots wlr_seat_keyboard() refactoring
Johan Malm [Mon, 28 Mar 2022 19:41:53 +0000 (20:41 +0100)]
Chase wlroots wlr_seat_keyboard() refactoring

wlr_seat_keyboard() now takes wlr_keyboard

3 years agofix crash when changing TTY
bi4k8 [Sun, 20 Mar 2022 22:07:14 +0000 (22:07 +0000)]
fix crash when changing TTY

also add an assertion to clarify the contract of `output_by_name`

3 years agoimplement touch support
bi4k8 [Fri, 31 Dec 2021 23:50:31 +0000 (23:50 +0000)]
implement touch support

this is mostly plumbing; the most interesting logic is in touch_get_coords

3 years agocursor.c: fix bad cherry-pick in previous commit (64f7b9d)
Johan Malm [Mon, 21 Mar 2022 20:33:10 +0000 (20:33 +0000)]
cursor.c: fix bad cherry-pick in previous commit (64f7b9d)

3 years agoRestore Drag mouse bindings and proper double click
Consolatis [Sun, 27 Feb 2022 19:36:49 +0000 (20:36 +0100)]
Restore Drag mouse bindings and proper double click

Fixes #258 and #259

Reported-by: @ahmadraniri1994
Reported-by: @01micko
Suggested-by: bi4k8 <bi4k8@github>
3 years agocursor: add cursor_update_focus()
Johan Malm [Sun, 26 Dec 2021 22:09:41 +0000 (22:09 +0000)]
cursor: add cursor_update_focus()

...and call it from desktop_move_to_front() in order force an enter event
on the surface below the cursor when cycling views.

Fixes #162 and #225
Inspired by PR #164 - just restructured it a bit.

Suggested-by: @bi4k8
Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
3 years agocursor.c: Keep sending adjusted motion events while button is pressed
Consolatis [Sat, 26 Feb 2022 00:21:39 +0000 (01:21 +0100)]
cursor.c: Keep sending adjusted motion events while button is pressed

This allows to keep dragging a scrollbar or selecting text even when
moving outside of the window. Fixes #241

3 years agoxwayland.c: Do not raise window if deactivating
Consolatis [Sat, 12 Mar 2022 10:49:05 +0000 (11:49 +0100)]
xwayland.c: Do not raise window if deactivating

Fixes #270

3 years agoxwayland: Honor size increments from WM_SIZE_HINTS
John Lindgren [Sun, 20 Mar 2022 19:45:55 +0000 (15:45 -0400)]
xwayland: Honor size increments from WM_SIZE_HINTS

3 years agoMerge branch 'master' of https://github.com/labwc/labwc
Johan Malm [Sat, 19 Mar 2022 11:35:26 +0000 (11:35 +0000)]
Merge branch 'master' of https://github.com/labwc/labwc

3 years agoChase wlroots wlr-device-input refactoring
Johan Malm [Sat, 19 Mar 2022 11:34:11 +0000 (11:34 +0000)]
Chase wlroots wlr-device-input refactoring

Rename wlroots input device events, for example
's/wlr_event_pointer_motion/wlr_pointer_motion_event/'

seat.c:
- In configure_libinput() use wlr_input_device->type rather than width_mm
- In new_pointer() use wlr_input_device->type rather than output_name to
  check that device is pointer.

3 years agomenu.c: Handle keybinding based Reconfigure while menu is shown
Consolatis [Wed, 16 Mar 2022 05:08:08 +0000 (06:08 +0100)]
menu.c: Handle keybinding based Reconfigure while menu is shown

3 years agomenu.c: Handle out of screen submenus
Consolatis [Wed, 16 Mar 2022 04:51:36 +0000 (05:51 +0100)]
menu.c: Handle out of screen submenus

Fixes #276

3 years agooutput: fix incorrect call to private wlroots function
Johan Malm [Tue, 15 Mar 2022 21:30:25 +0000 (21:30 +0000)]
output: fix incorrect call to private wlroots function

Use wlr_output_test() instead of output_ensure_buffer() which is not a
public function and only compiled when linking statically to wlroots.

Also wlr_output_rollback() on failed test.

Fixes issue #273

3 years agossd_extents: force initial manual ssd_extents update for x11 clients
Consolatis [Fri, 11 Mar 2022 05:23:08 +0000 (06:23 +0100)]
ssd_extents: force initial manual ssd_extents update for x11 clients

3 years agossd: dynamically adjust resize extents based on usable_area
Consolatis [Thu, 10 Mar 2022 05:50:42 +0000 (06:50 +0100)]
ssd: dynamically adjust resize extents based on usable_area

Fixes #265

3 years agossd: move top border above titlebar
Consolatis [Wed, 9 Mar 2022 07:52:33 +0000 (08:52 +0100)]
ssd: move top border above titlebar

3 years agossd: use dynamic titlebar height based on font size and padding
Consolatis [Wed, 9 Mar 2022 04:40:54 +0000 (05:40 +0100)]
ssd: use dynamic titlebar height based on font size and padding

3 years agossd: increase resize corners
Consolatis [Wed, 9 Mar 2022 00:55:50 +0000 (01:55 +0100)]
ssd: increase resize corners

4 years agoREADME.md: add `wlopm` to "6. Integrate" (recommended programs)
01micko [Wed, 9 Mar 2022 09:08:59 +0000 (19:08 +1000)]
README.md: add `wlopm` to "6. Integrate" (recommended programs)

- made it first in the array of 'output managers' because since the
`scene_graph` merge it's the only way I have found to reliably
turn off/on outputs.
- it supports "wlr-output-power-management-unstable-v1"
- as does labwc since c23397f
- works with swayidle/swaylock

4 years agosupport wlr-output-power-management
bi4k8 [Sun, 6 Mar 2022 04:46:11 +0000 (04:46 +0000)]
support wlr-output-power-management

4 years agoadd wlr-output-power-management protocol
bi4k8 [Sun, 6 Mar 2022 04:45:39 +0000 (04:45 +0000)]
add wlr-output-power-management protocol

4 years agoUpdate NEWS.md
Johan Malm [Mon, 7 Mar 2022 21:24:33 +0000 (21:24 +0000)]
Update NEWS.md

4 years agoview: show fullscreen views above top-layer
Johan Malm [Mon, 7 Mar 2022 21:18:23 +0000 (21:18 +0000)]
view: show fullscreen views above top-layer

See https://github.com/LBCrion/sfwbar/issues/24

4 years agoview: remove warning in view_move_resize()
Johan Malm [Mon, 7 Mar 2022 20:59:54 +0000 (20:59 +0000)]
view: remove warning in view_move_resize()

4 years agolayers: always unmap on destroy
Johan Malm [Mon, 7 Mar 2022 20:54:22 +0000 (20:54 +0000)]
layers: always unmap on destroy

This sets seat->focused_layer to NULL if appropriate.

4 years agoMerge pull request #264 from labwc/scene-graph
Johan Malm [Sun, 6 Mar 2022 17:33:40 +0000 (17:33 +0000)]
Merge pull request #264 from labwc/scene-graph

Use wlroots scene-graph API

4 years agoxdg: set node position on commit and configure
Johan Malm [Sun, 6 Mar 2022 17:12:00 +0000 (17:12 +0000)]
xdg: set node position on commit and configure

To avoid incorrect view position, for example on initial placement.

4 years agossd: add top border
Johan Malm [Sun, 6 Mar 2022 17:06:14 +0000 (17:06 +0000)]
ssd: add top border

Raise border on top of (z-order) titlebar

4 years agolayers: fix layer_popup_tree implementation
Johan Malm [Sun, 6 Mar 2022 16:48:39 +0000 (16:48 +0000)]
layers: fix layer_popup_tree implementation

4 years agobuffer.c: chase wlroots master
Johan Malm [Fri, 4 Mar 2022 20:25:04 +0000 (20:25 +0000)]
buffer.c: chase wlroots master

Include <wlr/interfaces/wlr_buffer.h>

https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/39b68ea47a661b1f7562ce283652de08f222b2be

4 years agossd: Disable resize extents while in maximized or fullscreen state
Consolatis [Fri, 4 Mar 2022 03:38:06 +0000 (04:38 +0100)]
ssd: Disable resize extents while in maximized or fullscreen state

4 years agooutput: attach node-descriptors to node-trees
Johan Malm [Thu, 3 Mar 2022 18:20:16 +0000 (18:20 +0000)]
output: attach node-descriptors to node-trees

4 years agolayers: put popups in separate node-tree
Johan Malm [Thu, 3 Mar 2022 17:56:38 +0000 (17:56 +0000)]
layers: put popups in separate node-tree

This allows popups to be rendered above views and other layers. Without
this, the popups of a layer-shell application in the bottom layer would
render below views, which does not seem right. For example, consider the
case of a panel with right-click popups.

4 years agolayers: unconstrain popups correctly
Johan Malm [Thu, 3 Mar 2022 17:53:26 +0000 (17:53 +0000)]
layers: unconstrain popups correctly

...to show popups when using @Consolatis's example panel

https://github.com/Consolatis/wl_framework

4 years agoConvert menu to node_descriptors
Consolatis [Thu, 3 Mar 2022 03:33:33 +0000 (04:33 +0100)]
Convert menu to node_descriptors

4 years agonode.c: use wlr_scene_node instead of node_descriptor
Johan Malm [Wed, 2 Mar 2022 22:24:30 +0000 (22:24 +0000)]
node.c: use wlr_scene_node instead of node_descriptor

4 years agonode.c: add helpers for returning structs from node data
Johan Malm [Wed, 2 Mar 2022 22:05:41 +0000 (22:05 +0000)]
node.c: add helpers for returning structs from node data

Support returning the following structs:
  - view from LAB_NODE_DESC_VIEW or LAB_NODE_DESC_XDG_POPUP
  - lab_layer_surface form LAB_NODE_DESC_LAYER_SURFACE
  - lab_layer_popup from LAB_NODE_DESC_LAYER_POPUP

4 years agoRename node-descriptor.c to node.c
Johan Malm [Wed, 2 Mar 2022 21:07:04 +0000 (21:07 +0000)]
Rename node-descriptor.c to node.c

...in anticipation of adding helpers like node_view_from_node()

4 years agosrc/desktop.c: Fix label error
Consolatis [Wed, 2 Mar 2022 20:28:44 +0000 (21:28 +0100)]
src/desktop.c: Fix label error

Fixes "a label can only be part of a statement
and a declaration is not a statement".