[Debian-on-mobile-maintainers] [Git][DebianOnMobile-team/phoc][upstream/latest] 79 commits: Merge branch 'rel0.13.1' into 'master'

Guido Günther (@agx) gitlab at salsa.debian.org
Tue May 31 19:23:37 BST 2022



Guido Günther pushed to branch upstream/latest at Debian On Mobile / phoc


Commits:
8b17c27d by Sebastian Krzyszkowiak at 2022-03-30T18:18:39+00:00
Merge branch 'rel0.13.1' into 'master'

Document changes and release 0.13.1

See merge request World/Phosh/phoc!358
- - - - -
81d6bcc7 by Guido Günther at 2022-04-06T18:40:34+02:00
render: Simplify render_layer invocations

Dereference the layers in the function. This also makes the currently
rendered layer afailable to render_layer ().

- - - - -
88b5b84e by Guido Günther at 2022-04-06T18:40:34+02:00
render: Use output directly

Instead of using output->output->data just use output which
is the same.

- - - - -
c1e43ab2 by Guido Günther at 2022-04-06T18:40:34+02:00
render: Rename _box to box

It serves no purpose as far as there's no collision with a local
variable and it doesn't mark "unused in this function" either.

- - - - -
2f64ccf3 by Guido Günther at 2022-04-06T18:41:55+02:00
editorconfig: Bump line length to 100

We exceed 80 in many places and phosh aims for 100 too. We're not
super strict there atm so this looks like a good target.

- - - - -
cf212682 by Sebastian Krzyszkowiak at 2022-04-14T22:49:00+00:00
Merge branch 'cleanups' into 'master'

Minor render cleanups

See merge request World/Phosh/phoc!360
- - - - -
eefc29d7 by Pablo Barciela at 2022-04-14T22:49:45+00:00
server: Fix [-Wmissing-field-initializers] warning

Fixes the warning:
../src/server.c:58:1: warning: missing initializer for field 'closure_callback' of 'GSourceFuncs' {aka 'struct _GSourceFuncs'} [-Wmissing-field-initializers]

- - - - -
507454cc by Pablo Barciela at 2022-04-14T22:49:45+00:00
testlib: Fix [-Wmissing-field-initializers] warning

Fixes the warning:
../tests/testlib.c:258:1: warning: missing initializer for field 'parent' of 'const struct zwlr_foreign_toplevel_handle_v1_listener' [-Wmissing-field-initializers]

- - - - -
60a12f1f by Sebastian Krzyszkowiak at 2022-04-14T22:57:36+00:00
Merge branch 'Wmissing-field-initializers' into 'master'

Fix [-Wmissing-field-initializers] warnings

See merge request World/Phosh/phoc!336
- - - - -
af66bf5a by Guido Günther at 2022-04-26T06:30:39+00:00
testlib: Include header only once

- - - - -
6fbf03cf by Guido Günther at 2022-04-26T06:30:39+00:00
test-layer-shell: Fix indent

- - - - -
9e168fd0 by Guido Günther at 2022-04-26T06:30:39+00:00
tests: Add code that lets us create layer surfaces easily

- - - - -
5b6113cb by Guido Günther at 2022-04-26T06:30:39+00:00
output: Fix some indentation

Make sure we don't have the variable type on one line and the
varibale name on the other.

- - - - -
5f5badd4 by Guido Günther at 2022-04-26T06:30:39+00:00
config.h: Add some comments

- - - - -
15080d66 by Guido Günther at 2022-04-26T06:30:39+00:00
Add gesture support

This is heavily inspired by what GTK does and lots of the gesture-*
files were copied and modified to work with phoc. The copyright headers
were modified to mention the original LGPL-2.1 license and authors.

It allows us to track drag and swipe gestures with mouse and touch and
should be extensible to other gestures easily.

- - - - -
0820da00 by Guido Günther at 2022-04-26T06:30:39+00:00
Add layer-shell-effects protocol

This allows to give additional properties to layer surfaces to e.g. make
them dragable.

- - - - -
ee864e44 by Guido Günther at 2022-04-26T06:30:39+00:00
layer-shell-effects: Prevent drag in the wrong direction when unfolded

Reject the gesture early when the drag has the right orientation but
wrong direction (trying to fold out further) when unfoled.

- - - - -
a8992d31 by Guido Günther at 2022-04-26T06:30:39+00:00
Attach draggable surfaces to gestures

We do that via the cursor for simplicity at the moment.

- - - - -
32f206c4 by Guido Günther at 2022-04-26T06:30:39+00:00
Add layer-shell-effects example

Based on wlroots layer-shell example. egl-common.[ch]
are taken verbatim from wlroots as of
252b2348bd62170d97c4e81fb2050f757b56d67e

Drag from top:

    WLR_BACKENDS=wayland  _build/src/phoc -C ../phosh/data/phoc.ini  -E '_build/examples/layer-shell-effects -l overlay -h 350 -a left -a top -a right -w 0 -f -300 -t 0.5 -e 50'

Drag from left:

    WLR_BACKENDS=wayland  _build/src/phoc -C ../phosh/data/phoc.ini  -E '_build/examples/layer-shell-effects -l overlay -h 0 -a left -a top -a bottom -w332 -f -300 -t 0.5 -e 32'

Phosh's top bar is roughly:

    WLR_BACKENDS=wayland  _build/src/phoc -C ../phosh/data/phoc.ini  -E '_build/examples/layer-shell-effects -l overlay -h 720 -a left -a top -a right -w 0 -f -688 -t 0.5 -e 32 -H 608'

- - - - -
3f9b06e8 by Guido Günther at 2022-04-26T06:30:39+00:00
testlib: Fetch layer-shell-effects protocol

This makes it available in the tests

- - - - -
19fbe3a8 by Guido Günther at 2022-04-26T06:30:39+00:00
tests: Add initial layer-surface-effects test

- - - - -
8d3f7a0b by Sebastian Krzyszkowiak at 2022-04-26T06:42:35+00:00
Merge branch 'gestures' into 'master'

Gestures and dragable layer surfaces

Closes #82 and #27

See merge request World/Phosh/phoc!344
- - - - -
9db86680 by Arnaud Ferraris at 2022-05-06T20:06:03+00:00
utils: Add new function for calculating output scale

The ideal scale factor for any specific display can be automatically
calculated based on the output mode and physical size. With this new
`phoc_utils_calculate_scale` function we try to achieve a maximum
apparent resolution of 180 DPI, while making sure we retain usability by
respecting minimum apparent width and height values.

This commit also creates a new `test-utils` test file aimed at testing
utility functions and adds the corresponding tests based on known
devices properties.

- - - - -
1015d353 by Arnaud Ferraris at 2022-05-06T20:06:03+00:00
output: Automatically compute scaling factor

`phoc` currently defaults to unity scaling, unless the corresponding
output configuration contains a `scale` value. Whenever the physical
size of the output is available, we could actually calculate this value
in order to reach the best apparent DPI. This will allow distributors to
get rid of device-specific config files.

The scaling factor is automatically calculated as long as the `scale`
option is absent from the output configuration, defaulting to `1` if the
value can't be calculated (for example, a virtual output reporting a
physical size of 0 x 0 mm).

In addition, this commit allows setting `scale = auto` in order to let
users explicitly specify the scalei value should be automatically
calculated.

- - - - -
a362cd7f by Sebastian Krzyszkowiak at 2022-05-06T20:14:15+00:00
Merge branch 'auto-scaling' into 'master'

output: automatically compute scaling factor

See merge request World/Phosh/phoc!361
- - - - -
eb4c20b2 by Guido Günther at 2022-05-10T13:02:29+00:00
xdg-shell: Reformat xdg_popup_unconstrain()

Reformat and add type checks.

- - - - -
63cfa27f by Guido Günther at 2022-05-10T13:02:29+00:00
xdg-shell: Use toplevels output when unconstraining popups

This fixes popups being placed on the wrong output when close to
a screen edge when there's another outut nearby.

This can e.g. be seen when using gnome-calendar maximized with another
output to the right. In this case wlr_output_layout_closest_point()
would return the closer output to the right instead of the toplevel
ones.

- - - - -
6eec5334 by Sebastian Krzyszkowiak at 2022-05-10T13:11:58+00:00
Merge branch 'popup-unconstrain' into 'master'

xdg-shell: Use toplevels output when unconstraining popups

See merge request World/Phosh/phoc!362
- - - - -
6b934583 by Guido Günther at 2022-05-21T10:05:01+02:00
subproject: Update wlroots to 0.15.1 plus our fixes

- - - - -
281c8c1c by Guido Günther at 2022-05-21T10:05:02+02:00
d/control: Bump wlroots dependency to 0.15.1

- - - - -
ed70105f by Guido Günther at 2022-05-21T10:05:02+02:00
ci: Work around a crash in g-ir-compiler

Docs get generated so paper over the error and check for the
generated docs.`

- - - - -
7577adb5 by Guido Günther at 2022-05-21T10:05:02+02:00
ci: Switch docker container to sid

wlroots 0.15.1 is in there

- - - - -
a8cda743 by Guido Günther at 2022-05-21T10:05:02+02:00
ci: Use wlroots 0.15.1 based container image

- - - - -
5373dc3b by Guido Günther at 2022-05-21T10:05:02+02:00
ci: Mark PureOS byzantium job as manual

We can reenable it once either Byzantum is recent enough or
there's a newer PuerOS variant.

- - - - -
6a508d54 by Sebastian Krzyszkowiak at 2022-05-21T10:05:02+02:00
Adjust to wlroots 0.15

- - - - -
59ea355b by Guido Günther at 2022-05-21T10:05:02+02:00
Remove startup-id compilation

With 0.15.0 we have all the patches for startup-id / launch splash
merged so no need for conditional compilation.

- - - - -
ed750ef8 by Guido Günther at 2022-05-21T10:05:02+02:00
build: Drop output power management related checks

We dropped the conditional a while ago.

Fixes 9bff7222 ("Drop PHOC_HAS_WLR_OUTPUT_POWER_MANAGEMENT")

- - - - -
fe9c07aa by Guido Günther at 2022-05-21T10:05:02+02:00
Adjust to render changes

The output now needs wlr_output_init_render called and
wlr_backend_get_renderer is gone but since we can now get the renderer
from the output changes initially aren't that big.

Since most of the functions can fail we need to shuffle some things
around but that happens in the next commits.

- - - - -
3ca305b0 by Guido Günther at 2022-05-21T10:05:02+02:00
render: Allow to fail initialization

Return an error instead of just aborting.

- - - - -
e0140a01 by Guido Günther at 2022-05-21T10:05:02+02:00
desktop: Reindent handle_new_output

We're changing about half of the function

- - - - -
ef9c23ad by Guido Günther at 2022-05-21T10:05:03+02:00
output: Handle failure to create renderer

Don't just crash but return an error.

- - - - -
6be2dfed by Guido Günther at 2022-05-21T10:05:03+02:00
renderer: Make sure the modifier list isn't empty

We otherwise assert like

phoc: render/allocator/gbm.c:93: create_buffer: Assertion `format->len > 0' failed.

- - - - -
2f86b70d by Guido Günther at 2022-05-21T10:05:03+02:00
build: Require wlroots 0.15.1

- - - - -
fa106c39 by Guido Günther at 2022-05-21T10:05:03+02:00
output: Clear list of layers on finalize

A wl_list_remove () only removes that element from the list. Thus if we
end up iterating the list of an output's layer surfaces again until the
object is finalized we'd crash.

So reinit the list to empty instead (the layersurfaces clean up
themselfes anyway when destroyed).

Fixes this crash when closing a nested compositor window:

  $ WLR_BACKENDS=wayland GSETTINGS_BACKEND=memory _build-asan/src/phoc -C /usr/share/phosh/phoc.ini -E '/usr/libexec/phosh'
  …
  AddressSanitizer:DEADLYSIGNAL
  =================================================================
  ==127994==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x55ccf5e9c36b bp 0x7ffc5ec0c350 sp 0x7ffc5ec0c310 T0)
  ==127994==The signal is caused by a READ memory access.
  ==127994==Hint: this fault was caused by a dereference of a high value address (see register values below).  Dissassemble the provided pc to learn which register was used.
      #0 0x55ccf5e9c36b in layer_surface_at ../src/desktop.c:165
      #1 0x55ccf5e9d23f in phoc_desktop_surface_at ../src/desktop.c:230
      #2 0x55ccf5ed54f8 in roots_passthrough_cursor ../src/cursor.c:244
      #3 0x55ccf5ed77aa in phoc_cursor_update_position ../src/cursor.c:411
      #4 0x55ccf5ea1711 in phoc_input_update_cursor_focus ../src/input.c:206
      #5 0x7f43de4dcdb0 in wlr_signal_emit_safe ../subprojects/wlroots/util/signal.c:29
      #6 0x7f43de4aa8ec in layer_surface_unmap ../subprojects/wlroots/types/wlr_layer_shell_v1.c:264
      #7 0x7f43de4aabbf in layer_surface_destroy ../subprojects/wlroots/types/wlr_layer_shell_v1.c:281
      #8 0x7f43de4dcdb0 in wlr_signal_emit_safe ../subprojects/wlroots/util/signal.c:29
      #9 0x7f43de46bed4 in wlr_output_destroy ../subprojects/wlroots/types/output/output.c:429
      #10 0x7f43dd63f7e9  (/lib/x86_64-linux-gnu/libffi.so.8+0x77e9)
      #11 0x7f43dd63e922  (/lib/x86_64-linux-gnu/libffi.so.8+0x6922)
      #12 0x7f43dd774660 in wl_closure_invoke ../src/connection.c:1025
      #13 0x7f43dd770a09 in dispatch_event ../src/wayland-client.c:1583
      #14 0x7f43dd77232b in dispatch_queue ../src/wayland-client.c:1729
      #15 0x7f43dd77232b in wl_display_dispatch_queue_pending ../src/wayland-client.c:1971
      #16 0x7f43de44f007 in dispatch_events ../subprojects/wlroots/backend/wayland/backend.c:68
      #17 0x7f43de44f007 in dispatch_events ../subprojects/wlroots/backend/wayland/backend.c:55
      #18 0x7f43ddd67649 in wl_event_loop_dispatch ../src/event-loop.c:1027
      #19 0x55ccf5e9634a in wayland_event_source_dispatch ../src/server.c:52
      #20 0x7f43ddff6f8a in g_main_dispatch ../../../glib/gmain.c:3417
      #21 0x7f43ddff6f8a in g_main_context_dispatch ../../../glib/gmain.c:4135
      #22 0x7f43ddff7237 in g_main_context_iterate ../../../glib/gmain.c:4211
      #23 0x7f43ddff7522 in g_main_loop_run ../../../glib/gmain.c:4411
      #24 0x55ccf5e9524d in main ../src/main.c:150
      #25 0x7f43ddb327fc in __libc_start_main ../csu/libc-start.c:332
      #26 0x55ccf5e958a9 in _start (/var/scratch/librem5/phoc/_build-asan/src/phoc+0x2b8a9)

  AddressSanitizer can not provide additional info.
  SUMMARY: AddressSanitizer: SEGV ../src/desktop.c:165 in layer_surface_at

- - - - -
d59cbc96 by Guido Günther at 2022-05-21T10:05:03+02:00
cursor: Handle touch frame event

See https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3001
Closes: https://gitlab.gnome.org/World/Phosh/phoc/-/issues/261

- - - - -
df89a7fd by Guido Günther at 2022-05-21T10:05:03+02:00
layer-shell-effects: Adjust to wlroots 0.15.x

client_pending is now pending and it seem to pay off that we reworked
the code along these lines already.

- - - - -
4d9e3b0b by Sebastian Krzyszkowiak at 2022-05-21T08:09:02+00:00
Merge branch 'wlroots-0.15.x' into 'master'

Update to wlroots 0.15.x

Closes #269 and #261

See merge request World/Phosh/phoc!329
- - - - -
244eee24 by Guido Günther at 2022-05-24T15:51:15+02:00
gtk-shell: Namespace phoc_gtk_surface_from_resource

Be consistent with the rest of the code.

- - - - -
9796bbf2 by Guido Günther at 2022-05-24T15:51:15+02:00
gtk-shell: Add getter for app_id

- - - - -
ebe4f19e by Guido Günther at 2022-05-24T15:51:15+02:00
gtk-shell: Make PhocGtk{Shell,Surface} private

No need to expose all the struct members. We also polish around
the edges a bit.

- - - - -
17b80e40 by Guido Günther at 2022-05-24T13:55:47+00:00
Merge branch 'gtk-shell-priv' into 'master'

Make `PhocGtk*` private

See merge request World/Phosh/phoc!366
- - - - -
fa7a8c31 by Guido Günther at 2022-05-25T08:42:10+00:00
layer-shell-effects: Make drag-surface related structs private

There's no need to expose internal struct members to the rest of the
compositor.

Fixes 0820da00 ("Add layer-shell-effects protocol")

- - - - -
5c45c32c by Guido Günther at 2022-05-25T08:44:15+00:00
Merge branch 'drag-surface-priv' into 'master'

layer-shell-effects: Make drag-surface related structs private

See merge request World/Phosh/phoc!364
- - - - -
1accd0d4 by Pablo Barciela at 2022-05-25T13:12:25+02:00
tests: move 'struct _PhocTestXdgToplevelSurface' to 'testlib.h'

- - - - -
6f9bc118 by Guido Günther at 2022-05-25T13:44:19+02:00
tests: Move xdg-suface helpers to testlib

This makes it simple to get and use an xdg-toplevel in tests.

- - - - -
3422a5cb by Guido Günther at 2022-05-28T20:10:06+00:00
Merge branch 'PhocTestXdgToplevelSurface' into 'master'

tests: move 'struct _PhocTestXdgToplevelSurface' to 'testlib.h'

See merge request World/Phosh/phoc!359
- - - - -
27c15fd7 by Guido Günther at 2022-05-30T14:50:45+00:00
gtk-surface: Drop NULL check

g_new0() can't fail.

- - - - -
7e8da09f by Guido Günther at 2022-05-30T14:50:45+00:00
view: Make tiled state a bit mask

This makes sure we don't confuse none with tile left and can tile at
multiple axis later on.

- - - - -
e986ec27 by Guido Günther at 2022-05-30T14:50:45+00:00
view: Add getter for tile direction

- - - - -
820518ff by Guido Günther at 2022-05-30T14:50:45+00:00
gtk-shell: Send edge constraints

The edge constraints are used by GTK4 to figure out which sides should
be resizable. Without sending these but binding the gtk_shell1 protocol
GTK4 toplevels don't get drag handles for resize.

While at that we also set tiling information to be conistent - the one
from xdg-shell is preferred nowadays though.

- - - - -
3309082c by Sebastian Krzyszkowiak at 2022-05-30T14:53:19+00:00
Merge branch 'edge-constrain' into 'master'

gtk-shell: Handle edge constraints

Closes #270

See merge request World/Phosh/phoc!368
- - - - -
d1fbfd30 by anteater at 2022-05-30T14:56:19+00:00
desktop: Revert output enable when commit fails

Otherwise, we keep failing to commit on subsequent changes to the
output, such as rendering. This results in a black screen.

This fixes the downstream bug described at https://gitlab.com/postmarketOS/pmaports/-/issues/1476

- - - - -
aa93bc14 by Sebastian Krzyszkowiak at 2022-05-30T14:56:19+00:00
Merge branch 'fix-black-screen' into 'master'

Fix "only backlight comes on" issue

See merge request World/Phosh/phoc!363
- - - - -
e5d81a75 by Guido Günther at 2022-05-30T15:25:56+00:00
build: Sort gesture source files alphabetically

Fixes 15080d66 ("Add gesture support")

- - - - -
11a15b78 by Guido Günther at 2022-05-30T15:25:56+00:00
gesture: Use Phoc prefix consistently

Fixes 15080d66 ("Add gesture support")

- - - - -
9635d6af by Guido Günther at 2022-05-30T15:25:56+00:00
seat: Don't use assert and g_error for the same thing

- - - - -
7fd3eaf5 by Guido Günther at 2022-05-30T15:25:56+00:00
cursor: Track and use compositor side touch points

Let the cursor track all touch points including those that we'll signal as
"cancelled" to the client because the compostor wants to process them as
global gestures.

This is necessary as wlr_seat wants to track the client's view on touch
points and hence can't include cancelled touch points.

See https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3478#note_1286531

This also makes sure we use the touch pionts lx and ly rather than the latest
one as otherwise multiple touch points are broken.

- - - - -
f68cc2fc by Guido Günther at 2022-05-30T15:25:56+00:00
gesture: Add helpers needed for zoom and cancel

- - - - -
befb21fe by Guido Günther at 2022-05-30T15:25:56+00:00
Support zoom gestures

As 15080d66e9c8d1db41e7bcd8eeb140de0bd97d38 again based on what GTK does.

This makes it simpler to debug gestures with multiple touch points by
e.g. adding an additional gesture to PhocCursor and listening for
`scale-changed`.

Apart from testing they can be usefull for e.g. allowing to set
scale-to-fit via touch only.

- - - - -
b94a6739 by Guido Günther at 2022-05-30T15:25:56+00:00
build: Check for wlr_seat_touch_send_cancel at build time

It will be some time until it's in a released wlroots version so
only use it if present.

- - - - -
517abe96 by Guido Günther at 2022-05-30T15:25:56+00:00
cursor: Cancel touch gestures

If we accept the gesture to be used by the compositor, cancel
it to the client.

- - - - -
b697943a by Sebastian Krzyszkowiak at 2022-05-30T15:29:12+00:00
Merge branch 'gestures-cancel' into 'master'

gestures: Cancel touch gestures

See merge request World/Phosh/phoc!346
- - - - -
a5d1e555 by Sebastian Krzyszkowiak at 2022-05-30T20:00:59+02:00
layer-shell-effects: Add phoc_draggable_layer_surface_get_layer_surface

- - - - -
9631a6be by Sebastian Krzyszkowiak at 2022-05-30T20:00:59+02:00
cursor: Use phoc_draggable_layer_surface_get_layer_surface

Since fa7a8c31, PhocDraggableLayerSurface struct fields are
private and cannot be accessed this way anymore.

Fixes 517abe96 ("cursor: Cancel touch gestures")

- - - - -
11163925 by Sebastian Krzyszkowiak at 2022-05-30T20:00:59+02:00
subprojects: Switch wlroots repo to patch-queue/pureos/octarine branch

- - - - -
761c4c98 by Sebastian Krzyszkowiak at 2022-05-30T20:03:48+02:00
Document changes and release 0.20.0

- - - - -
b686cc50 by Guido Günther at 2022-05-31T07:39:00+00:00
Merge branch 'rel-0.20' into 'master'

Document changes and release 0.20.0

See merge request World/Phosh/phoc!371
- - - - -
8be1f097 by Guido Günther at 2022-05-31T18:39:35+02:00
New upstream version 0.20.0
- - - - -
c6942627 by Guido Günther at 2022-05-31T20:22:53+02:00
Merge remote-tracking branch 'salsa+rw/upstream/latest' into upstream/latest

- - - - -


29 changed files:

- .editorconfig
- .gitlab-ci.yml
- .gitlab-ci/debian.Dockerfile
- config.h.in
- debian/changelog
- debian/control
- + examples/egl-common.c
- + examples/egl-common.h
- + examples/layer-shell-effects.c
- + examples/meson.build
- meson.build
- protocols/meson.build
- + protocols/phoc-layer-shell-effects-unstable-v1.xml
- src/cursor.c
- src/cursor.h
- src/desktop.c
- src/desktop.h
- + src/event.c
- + src/event.h
- + src/gesture-drag.c
- + src/gesture-drag.h
- + src/gesture-single.c
- + src/gesture-single.h
- + src/gesture-swipe.c
- + src/gesture-swipe.h
- + src/gesture-zoom.c
- + src/gesture-zoom.h
- + src/gesture.c
- + src/gesture.h


The diff was not included because it is too large.


View it on GitLab: https://salsa.debian.org/DebianOnMobile-team/phoc/-/compare/b5cbc032fdd467bb53801112d3cc083780d93cde...c69426276983b57a2899b1c4a798aef7253ff473

-- 
View it on GitLab: https://salsa.debian.org/DebianOnMobile-team/phoc/-/compare/b5cbc032fdd467bb53801112d3cc083780d93cde...c69426276983b57a2899b1c4a798aef7253ff473
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-on-mobile-maintainers/attachments/20220531/359f2a44/attachment-0001.htm>


More information about the Debian-on-mobile-maintainers mailing list