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

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