]> git.mdlowis.com Git - proto/labwc.git/log
proto/labwc.git
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".

4 years agodebug.c: use node descriptors
Consolatis [Wed, 2 Mar 2022 20:26:33 +0000 (21:26 +0100)]
debug.c: use node descriptors

4 years agolayers: only define LAB_NR_LAYERS locally where needed
Johan Malm [Wed, 2 Mar 2022 20:39:46 +0000 (20:39 +0000)]
layers: only define LAB_NR_LAYERS locally where needed

4 years agolayers: s/arrange_layers/layers_arrange/
Johan Malm [Wed, 2 Mar 2022 20:29:29 +0000 (20:29 +0000)]
layers: s/arrange_layers/layers_arrange/

Because we like to start public function names with the name of the
file.

Move prototype from labwc.h to layers.h

4 years agolayers: arrange layers on output-layout change
Johan Malm [Wed, 2 Mar 2022 20:25:57 +0000 (20:25 +0000)]
layers: arrange layers on output-layout change

4 years agolayers.c: fix coding style
Johan Malm [Wed, 2 Mar 2022 20:23:20 +0000 (20:23 +0000)]
layers.c: fix coding style

4 years agolayers: position each layer_tree correctly relative to its output
Johan Malm [Wed, 2 Mar 2022 20:21:57 +0000 (20:21 +0000)]
layers: position each layer_tree correctly relative to its output

4 years agoRemove src/damage.c
Johan Malm [Tue, 1 Mar 2022 20:53:34 +0000 (20:53 +0000)]
Remove src/damage.c

4 years agoxwayland-unmanaged: fix dereference NULL pointer bug
Johan Malm [Tue, 1 Mar 2022 20:45:31 +0000 (20:45 +0000)]
xwayland-unmanaged: fix dereference NULL pointer bug

Discovered when right-clicking names in hexchat

4 years agoREADME.md: add sfwbar to suggested apps
Johan Malm [Tue, 1 Mar 2022 20:42:55 +0000 (20:42 +0000)]
README.md: add sfwbar to suggested apps

4 years agoNEWS.md: fix typo
Johan Malm [Tue, 1 Mar 2022 20:42:00 +0000 (20:42 +0000)]
NEWS.md: fix typo

4 years agoNEWS.md: align with https://keepachangelog.com/
Johan Malm [Mon, 28 Feb 2022 23:06:28 +0000 (23:06 +0000)]
NEWS.md: align with https://keepachangelog.com/

- Re-add details for 0.1.0 - 0.4.0
- Add 0.5.1-unreleased notes
- Split sections into change-types, for example "added" and "changed"
- Describe current branches
- Add lines-of-code to the summary table

4 years agoEnable presentation time
Johan Malm [Mon, 28 Feb 2022 22:30:36 +0000 (22:30 +0000)]
Enable presentation time

4 years agodesktop.c: set *view_area right for layer-popup
Johan Malm [Sat, 26 Feb 2022 23:30:02 +0000 (23:30 +0000)]
desktop.c: set *view_area right for layer-popup

4 years agolayer: support popups
Johan Malm [Sat, 26 Feb 2022 21:15:52 +0000 (21:15 +0000)]
layer: support popups

4 years agoAdd node-descriptor for wlr_scene_nodes
Johan Malm [Fri, 25 Feb 2022 22:31:24 +0000 (22:31 +0000)]
Add node-descriptor for wlr_scene_nodes

Support identification of wlr_scene_node role to enable simplification
of codebase including the avoidance of iterating over lists of
layer-surface, menuitems, and so on.

Use node-descriptors for xdg toplevels and popups

4 years agoinclude/ssd.h remove unnecessary struct definition
Consolatis [Fri, 25 Feb 2022 20:54:02 +0000 (21:54 +0100)]
include/ssd.h remove unnecessary struct definition

Instead, just tag the struct so we can reference it.

4 years agoxwayland.c: Fix positioning with multiple queued configure events
Consolatis [Fri, 25 Feb 2022 20:31:21 +0000 (21:31 +0100)]
xwayland.c: Fix positioning with multiple queued configure events

Prevents a single action like ToggleDecorations + ToggleMaximize to
position the view somewhere with negative coordinates when unmaximizing.

It may still position the view on negative coordinates but later commit
events will fix the position. This issue only exists on xwayland because
there are no configure serials which we could use to ignore all
repositioning until we are at the latest desired state.

4 years ago[style] use __func__ in log message
Consolatis [Thu, 24 Feb 2022 01:34:21 +0000 (02:34 +0100)]
[style] use __func__ in log message

4 years ago[style] fix open brace after function definition
Consolatis [Thu, 24 Feb 2022 01:33:17 +0000 (02:33 +0100)]
[style] fix open brace after function definition

4 years ago[style] rename action() to actions_run()
Consolatis [Thu, 24 Feb 2022 01:16:19 +0000 (02:16 +0100)]
[style] rename action() to actions_run()

4 years agossd/ssd_titlebar.c: Only store title state if title has been changed
Consolatis [Thu, 24 Feb 2022 00:37:19 +0000 (01:37 +0100)]
ssd/ssd_titlebar.c: Only store title state if title has been changed

4 years agosrc/ssd/: Don't access view->surface->current directly
Consolatis [Thu, 24 Feb 2022 00:27:29 +0000 (01:27 +0100)]
src/ssd/: Don't access view->surface->current directly

Instead use view->{w,h} which are set on client commit

4 years agoSet node position in xdg/xwayland commit handlers
Johan Malm [Wed, 23 Feb 2022 22:39:57 +0000 (22:39 +0000)]
Set node position in xdg/xwayland commit handlers

...in order to sync resize/move events to avoid left/bottom edge wobbling
when resizing with top/left resize edges

4 years agocursor+keyboard: chase wlroots master
Johan Malm [Wed, 23 Feb 2022 22:19:16 +0000 (22:19 +0000)]
cursor+keyboard: chase wlroots master

Use wlr_input_device from input device base.
Use wlr_keyboard where possible.

4 years agoxdg/xwayland: Do not destroy scene node on unmap
Consolatis [Wed, 23 Feb 2022 00:32:07 +0000 (01:32 +0100)]
xdg/xwayland: Do not destroy scene node on unmap

This prevents segfaulting when unminimizing

4 years agodebug.c: try to id important elements
Consolatis [Tue, 22 Feb 2022 18:29:14 +0000 (19:29 +0100)]
debug.c: try to id important elements

4 years agoxwayland.c: Fix xwayland views activating themself before mapping
Consolatis [Tue, 22 Feb 2022 09:01:49 +0000 (10:01 +0100)]
xwayland.c: Fix xwayland views activating themself before mapping

4 years agoHandle 'lost' unmanaged xsurfaces + improve cursor handling
Consolatis [Tue, 22 Feb 2022 06:57:17 +0000 (07:57 +0100)]
Handle 'lost' unmanaged xsurfaces + improve cursor handling

4 years agoConvert SSD to scene nodes
Consolatis [Mon, 21 Feb 2022 02:18:38 +0000 (03:18 +0100)]
Convert SSD to scene nodes

4 years agoScene Menu
Consolatis [Sat, 19 Feb 2022 01:05:38 +0000 (02:05 +0100)]
Scene Menu

4 years agolayers.h: define LAB_NR_LAYERS (4)
Johan Malm [Sun, 20 Feb 2022 15:00:20 +0000 (15:00 +0000)]
layers.h: define LAB_NR_LAYERS (4)

4 years agolayers.c: set output->usable_area
Johan Malm [Sun, 20 Feb 2022 14:53:21 +0000 (14:53 +0000)]
layers.c: set output->usable_area

4 years agoPrepare to move from wlr_texture to lab_data_buffer
Consolatis [Thu, 17 Feb 2022 00:46:32 +0000 (01:46 +0100)]
Prepare to move from wlr_texture to lab_data_buffer

4 years agoUse view->scene_tree as toplevel for view + some legwork:
Consolatis [Thu, 17 Feb 2022 23:07:37 +0000 (00:07 +0100)]
Use view->scene_tree as toplevel for view + some legwork:

desktop.c move_to_front() calls wlr_scene_node_raise_to_top
desktop.c, ssd/include.h add LAB_SSD_{OSD, MENU, LAYER_SURFACE} enums
desktop.c desktop_surface_and_view_at() -> desktop_node_and_view_at()
cursor.c reenable cursor_rebase()
cursor.c reenable button click on layer surface

4 years agoHandle layers under the scene-graph API
Johan Malm [Sun, 20 Feb 2022 13:15:58 +0000 (13:15 +0000)]
Handle layers under the scene-graph API

This excludes popups.

4 years agoHandle popups under xdg-toplevels in xdg-popup.c
Johan Malm [Sun, 20 Feb 2022 13:14:10 +0000 (13:14 +0000)]
Handle popups under xdg-toplevels in xdg-popup.c

...to make it easier to deal them separetely from layer-shell popups

4 years agobuild: set 'check: false' on run_command
Johan Malm [Mon, 14 Feb 2022 20:22:23 +0000 (20:22 +0000)]
build: set 'check: false' on run_command

Future meson releases will change the default, so we explicitly set
check: false to maintain behaviour

4 years agoChase wlroots master
Johan Malm [Mon, 14 Feb 2022 20:20:16 +0000 (20:20 +0000)]
Chase wlroots master

We need it for wlr_scene_layer_surface_v1_create()

4 years agobuffer: use cairo_surface_destroy()
Johan Malm [Sun, 13 Feb 2022 21:59:14 +0000 (21:59 +0000)]
buffer: use cairo_surface_destroy()

...rather than free(buffer->data)

4 years agobuffer: create cairo_t inside buffer_create()
Johan Malm [Sun, 13 Feb 2022 13:00:26 +0000 (13:00 +0000)]
buffer: create cairo_t inside buffer_create()

4 years agoRefactor buffer implementation to take a cairo_t
Johan Malm [Sun, 13 Feb 2022 11:47:03 +0000 (11:47 +0000)]
Refactor buffer implementation to take a cairo_t

Remove buffer_drop() and just destroy it.

4 years agoxwayland: in map() use wlr_scene_subsurface_tree_create()
Johan Malm [Sat, 12 Feb 2022 22:13:36 +0000 (22:13 +0000)]
xwayland: in map() use wlr_scene_subsurface_tree_create()

4 years agoosd: destroy old osd_tree children
Johan Malm [Sat, 12 Feb 2022 22:04:27 +0000 (22:04 +0000)]
osd: destroy old osd_tree children

4 years agoAdd debug_dump_scene()
Johan Malm [Sat, 12 Feb 2022 19:43:32 +0000 (19:43 +0000)]
Add debug_dump_scene()

Dump view_tree and osd_tree on calling debug-action. Example bind:

<keybind key="A-F12">
  <action name="Debug"></action>
</keybind>

4 years agoUse wlroots scene-graph API
Johan Malm [Fri, 11 Feb 2022 23:12:45 +0000 (23:12 +0000)]
Use wlroots scene-graph API

Move xdg-shell and xwayland-shell surfaces to new API

Also render alt-tab on-screen-display by converting cairo-surface to
wlr_buffer

4 years agoAdd buffer.c to cover cairo-surface to wlr_buffer
Johan Malm [Fri, 11 Feb 2022 22:19:05 +0000 (22:19 +0000)]
Add buffer.c to cover cairo-surface to wlr_buffer

4 years agoREADME.md: add link to IRC channel
Johan Malm [Sun, 20 Feb 2022 15:02:53 +0000 (15:02 +0000)]
README.md: add link to IRC channel

4 years agoREADME.md: fix typo (issue #248)
Johan Malm [Sun, 20 Feb 2022 15:02:08 +0000 (15:02 +0000)]
README.md: fix typo (issue #248)

4 years agoNEWS.md: add notes on 0.5.0
Johan Malm [Fri, 18 Feb 2022 21:54:07 +0000 (21:54 +0000)]
NEWS.md: add notes on 0.5.0

4 years agobuild: bump version to 0.5.0
Johan Malm [Fri, 18 Feb 2022 21:24:38 +0000 (21:24 +0000)]
build: bump version to 0.5.0

4 years agoUpdate README.md
hype3 [Thu, 17 Feb 2022 17:29:55 +0000 (19:29 +0200)]
Update README.md

4 years agoUpdate README.md
hype3 [Thu, 17 Feb 2022 16:35:28 +0000 (18:35 +0200)]
Update README.md

4 years agooutput: render overlay lay popups
Johan Malm [Sun, 13 Feb 2022 09:45:42 +0000 (09:45 +0000)]
output: render overlay lay popups

This enables sfwbar popups and fixes issue #239

https://github.com/LBCrion/sfwbar

4 years agoOSD: Use separate OSD texture for each output
ARDiDo [Wed, 9 Feb 2022 21:38:07 +0000 (16:38 -0500)]
OSD: Use separate OSD texture for each output

4 years agoOSD: Scale OSD to the largest output scale
ARDiDo [Sun, 6 Feb 2022 00:23:30 +0000 (19:23 -0500)]
OSD: Scale OSD to the largest output scale

4 years agoReload environment on SIGHUP. Partly fixes #227
Consolatis [Tue, 8 Feb 2022 00:19:24 +0000 (01:19 +0100)]
Reload environment on SIGHUP. Partly fixes #227

4 years agowlroots.wrap: use 0.15.1
Johan Malm [Mon, 7 Feb 2022 16:53:37 +0000 (16:53 +0000)]
wlroots.wrap: use 0.15.1

4 years agobuild: Relax the version constraint for wlroots to accept patch releases
Michael Weiss [Fri, 4 Feb 2022 20:17:05 +0000 (21:17 +0100)]
build: Relax the version constraint for wlroots to accept patch releases

Patch releases only contain backwards compatible changes (mainly bug
fixes) so we want to allow them. This fixes the build with the recently
released wlroots 0.15.1 and uses the same version constraints as other
projects that depend on wlroots (e.g., Sway).

4 years agoAdd missing docs for mouse window snapping
Consolatis [Sat, 29 Jan 2022 20:49:00 +0000 (21:49 +0100)]
Add missing docs for mouse window snapping

4 years agosrc/cursor.c: Reduce damage on button hover detection
Consolatis [Sat, 29 Jan 2022 17:36:56 +0000 (18:36 +0100)]
src/cursor.c: Reduce damage on button hover detection

4 years agoUse proper enum argument type for desktop_surface_and_view_at
Consolatis [Sat, 29 Jan 2022 16:52:16 +0000 (17:52 +0100)]
Use proper enum argument type for desktop_surface_and_view_at

4 years agoMove is_button() into src/ssd.c and make it public
Consolatis [Sat, 29 Jan 2022 16:46:17 +0000 (17:46 +0100)]
Move is_button() into src/ssd.c and make it public

4 years agoCSD: Fix no fullscreen at startup in some applications without ssd
ARDiDo [Sat, 29 Jan 2022 15:44:15 +0000 (10:44 -0500)]
CSD: Fix no fullscreen at startup in some applications without ssd

4 years agosrc/output.c: fix debug flag for full frame damage
Consolatis [Thu, 27 Jan 2022 18:35:17 +0000 (19:35 +0100)]
src/output.c: fix debug flag for full frame damage

4 years agoAdd WindowMenu button
Consolatis [Wed, 26 Jan 2022 01:54:03 +0000 (02:54 +0100)]
Add WindowMenu button

4 years agoAdd window menu
Consolatis [Tue, 25 Jan 2022 23:07:10 +0000 (00:07 +0100)]
Add window menu

4 years agosrc/ssd.c: Clarify button dimension calculations
Consolatis [Tue, 25 Jan 2022 09:17:43 +0000 (10:17 +0100)]
src/ssd.c: Clarify button dimension calculations

4 years agoxwayland: Allow xorg applications to start in fullscreen
ARDiDo [Mon, 24 Jan 2022 22:57:35 +0000 (17:57 -0500)]
xwayland: Allow xorg applications to start in fullscreen

4 years agocursor: cursor_rebase() on mouse scroll
Johan Malm [Mon, 24 Jan 2022 17:54:06 +0000 (17:54 +0000)]
cursor: cursor_rebase() on mouse scroll

...to ensure that the surface under the mouse gets the focus even
if the mouse pointer has not moved.

Issue #162

4 years agocursor: revert 6651d; remove cursor_update_focus()
Johan Malm [Mon, 24 Jan 2022 17:51:54 +0000 (17:51 +0000)]
cursor: revert 6651d; remove cursor_update_focus()

...to ensure new windows receive keyboard focus even if the cursor is
over an existing window.

Fix issue #210

4 years agooutput: Add option to preview the contents of the current cycle_view
Liam Middlebrook [Thu, 20 Jan 2022 19:38:23 +0000 (11:38 -0800)]
output: Add option to preview the contents of the current cycle_view

Add the 'cycleViewPreview.core' option to rc.xml to enable previews of
the selected view when cycling between windows. Default this option to
be disabled to match current behavior.

4 years agoconfig/rcxml: Prevent overwriting action argument
Consolatis [Sun, 23 Jan 2022 13:46:56 +0000 (14:46 +0100)]
config/rcxml: Prevent overwriting action argument

4 years agoCentralize freeing of action lists
Consolatis [Sun, 23 Jan 2022 12:46:46 +0000 (13:46 +0100)]
Centralize freeing of action lists

Reduces some code duplication and makes it easier to extend struct action

4 years agoxdg: Allow wayland applications to start in fullscreen
ARDiDo [Fri, 21 Jan 2022 01:56:47 +0000 (20:56 -0500)]
xdg: Allow wayland applications to start in fullscreen

4 years agoShort term solution to prevent segfaulting on TTY switch. See #206.
Consolatis [Mon, 17 Jan 2022 22:02:59 +0000 (23:02 +0100)]
Short term solution to prevent segfaulting on TTY switch. See #206.

This will still prevent touchscreens or other absolute pointers to
function correctly after switching the TTY when using a multi
screen setup. But that is still better than segfaulting.