swaylock icon indicating copy to clipboard operation
swaylock copied to clipboard

Fingerprint support

Open SL-RU opened this issue 2 years ago • 13 comments
trafficstars

I've added fingerprint support via fprintd daemon which has DBus communication and because of that build dependencies was added(dbus, gio, fprintd and etc), but they are not required for execution. To run swaylock with fprintd you need to start fprintd and then swaylock with argument -p or --fingerprint

Can you make a review and say is merge possible?

Package with fingerprint support on AUR: https://aur.archlinux.org/packages/swaylock-fprintd-git

This relates to #61

SL-RU avatar Jan 29 '23 18:01 SL-RU

CI (builds.sr.ht) compiles wrong version. It seems it compiles only master, not selected commit. Is it okay?

SL-RU avatar Jan 29 '23 22:01 SL-RU

Hm, do we really all of this complexity? I'd rather not do any of the D-Bus stuff. Can't users leverage a PAM module which integrates with the fingerprint reader instead?

emersion avatar Jan 29 '23 22:01 emersion

Hm, do we really all of this complexity? I'd rather not do any of the D-Bus stuff. Can't users leverage a PAM module which integrates with the fingerprint reader instead?

Yes, we want to check password and fingerprint in parallel. With Pam closest solution is check fingerprint after empty password was entered.

With this MR we can touch fingerprint scanner while PC is asleep, it will wake up over USB and immediately unlock without necessety to press any button.

SL-RU avatar Jan 30 '23 06:01 SL-RU

I am not sure I want to maintain this upstream.

emersion avatar Jan 30 '23 10:01 emersion

I am not sure I want to maintain this upstream.

Okay, I'll maintain it as a fork

SL-RU avatar Jan 30 '23 10:01 SL-RU

I was curious about the fork, @SL-RU : does it need to be tightly integrated with the code of swaylock? Or can it be a separate stand-alone program that interfaces just with the new wlroots lock protocol, and run in parallel with swaylock?

lack avatar Feb 21 '23 02:02 lack

I am not sure I want to maintain this upstream.

Really sad to hear that, the new implementation is really awesome for daily users. Would it be an option to make @SL-RU a maintainer so that it's included but mostly maintained by him if he is even ok with maintaining a fork?

Deleted my last comment after that as it was an system-issue not related to the code/fork.

SebTM avatar Apr 16 '23 12:04 SebTM

I was curious about the fork, @SL-RU : does it need to be tightly integrated with the code of swaylock? Or can it be a separate stand-alone program that interfaces just with the new wlroots lock protocol, and run in parallel with swaylock?

If this works like a plugin it would be great. I already use https://github.com/mortie/swaylock-effects. I would love to see these forks integrated into the main project without compromising its core features.

paulodiovani avatar Jun 15 '23 15:06 paulodiovani

@lack @paulodiovani currently code is tightly integrated with swaylock, but mainly just for indication. It can be separated into separate service. What is new wlroots lock protocol? How swaylock uses it and how fprintd service will interact with it?

SL-RU avatar Jun 15 '23 15:06 SL-RU

What is new wlroots lock protocol? How swaylock uses it and how fprintd service will interact with it?

ext-session-lock-v1, already implemented in swaylock and only affects how lock screens open a lock surface.

kennylevinsen avatar Jun 15 '23 22:06 kennylevinsen

I guess what I was thinking of may not even need any knowledge of the lock protocol; but instead of implementing the fingerprint integrated into swaylock it could be an external program that:

  • Takes swaylock (or any swaylock variant) plus arguments on its commandline
  • Starts listening for fingerprints
  • Spawns the swaylock command it was given as a child process

Then:

  • If the fingerprint unlock succeeds, it can simply send a SIGUSR1 to the swaylock it spawned which will cause it to unlock
  • If the child process exits, assume it was unlocked some other way and exit

The only thing lost in this approach is a way to have user feedback in swaylock itself if the fingerprint read was attempted and failed...

@SL-RU

lack avatar Jun 21 '23 18:06 lack

Can't users leverage a PAM module which integrates with the fingerprint reader instead?

The PAM fingerprint module (from libfprint) relies on libfprintd which depends on polkit which requires systemd. So it's not portable and won't work on many configurations.

That said, this implementation relies on fprintd, so it suffers from the same limitations.

I do think that the approach mentioned by @lack makes a lot of sense. I wonder if we could use SIGUSR2 to signal to the user "failed attempt" for out-of-band unlock attempts.

WhyNotHugo avatar Aug 15 '23 08:08 WhyNotHugo

I wonder if we could use SIGUSR2 to signal to the user "failed attempt" for out-of-band unlock attempts.

Hey, I tried to implement this - it generally works but I sometimes get random crashes (after more than one SIGUSR2 signals) and tried to debug it with the swaylock-logged script I found in another issue.

Current Status: https://github.com/SebTM/swaylock/tree/feature/sigusr2 PR: https://github.com/swaywm/swaylock/pull/311

#!/bin/sh
(echo -e "\n\nStarting swaylock:\n"; WAYLAND_DEBUG=1 ./build/swaylock -F 2>&1 | sed  's/\[.......\....\]/\[XXXXXXX.YYY\]/') | grep -v keyboard | grep -v pointer >> swaylock_logfile

Log from a crash:

Starting swaylock:

[XXXXXXX.YYY]  -> [email protected]_registry(new id wl_registry@2)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@3)
[XXXXXXX.YYY] [email protected]_id(3)
[XXXXXXX.YYY] [email protected](1, "wl_shm", 1)
[XXXXXXX.YYY]  -> [email protected](1, "wl_shm", 1, new id [unknown]@4)
[XXXXXXX.YYY] [email protected](2, "wl_drm", 2)
[XXXXXXX.YYY] [email protected](3, "zwp_linux_dmabuf_v1", 4)
[XXXXXXX.YYY] [email protected](4, "wl_compositor", 5)
[XXXXXXX.YYY]  -> [email protected](4, "wl_compositor", 4, new id [unknown]@5)
[XXXXXXX.YYY] [email protected](5, "wl_subcompositor", 1)
[XXXXXXX.YYY]  -> [email protected](5, "wl_subcompositor", 1, new id [unknown]@6)
[XXXXXXX.YYY] [email protected](6, "wl_data_device_manager", 3)
[XXXXXXX.YYY] [email protected](7, "zwlr_gamma_control_manager_v1", 1)
[XXXXXXX.YYY] [email protected](8, "zxdg_output_manager_v1", 3)
[XXXXXXX.YYY] [email protected](9, "org_kde_kwin_idle", 1)
[XXXXXXX.YYY] [email protected](10, "ext_idle_notifier_v1", 1)
[XXXXXXX.YYY] [email protected](11, "zwp_idle_inhibit_manager_v1", 1)
[XXXXXXX.YYY] [email protected](12, "zwlr_layer_shell_v1", 4)
[XXXXXXX.YYY] [email protected](13, "xdg_wm_base", 2)
[XXXXXXX.YYY] [email protected](14, "zwp_tablet_manager_v2", 1)
[XXXXXXX.YYY] [email protected](15, "org_kde_kwin_server_decoration_manager", 1)
[XXXXXXX.YYY] [email protected](16, "zxdg_decoration_manager_v1", 1)
[XXXXXXX.YYY] [email protected](19, "wp_presentation", 1)
[XXXXXXX.YYY] [email protected](20, "zwlr_output_manager_v1", 4)
[XXXXXXX.YYY] [email protected](21, "zwlr_output_power_manager_v1", 1)
[XXXXXXX.YYY] [email protected](22, "zwp_input_method_manager_v2", 1)
[XXXXXXX.YYY] [email protected](23, "zwp_text_input_manager_v3", 1)
[XXXXXXX.YYY] [email protected](24, "zwlr_foreign_toplevel_manager_v1", 3)
[XXXXXXX.YYY] [email protected](25, "ext_session_lock_manager_v1", 1)
[XXXXXXX.YYY]  -> [email protected](25, "ext_session_lock_manager_v1", 1, new id [unknown]@7)
[XXXXXXX.YYY] [email protected](26, "wp_drm_lease_device_v1", 1)
[XXXXXXX.YYY] [email protected](27, "zwlr_export_dmabuf_manager_v1", 1)
[XXXXXXX.YYY] [email protected](28, "zwlr_screencopy_manager_v1", 3)
[XXXXXXX.YYY] [email protected](29, "zwlr_data_control_manager_v1", 2)
[XXXXXXX.YYY] [email protected](30, "zwp_primary_selection_device_manager_v1", 1)
[XXXXXXX.YYY] [email protected](31, "wp_viewporter", 1)
[XXXXXXX.YYY] [email protected](32, "wp_single_pixel_buffer_manager_v1", 1)
[XXXXXXX.YYY] [email protected](33, "zxdg_exporter_v1", 1)
[XXXXXXX.YYY] [email protected](34, "zxdg_importer_v1", 1)
[XXXXXXX.YYY] [email protected](35, "zxdg_exporter_v2", 1)
[XXXXXXX.YYY] [email protected](36, "zxdg_importer_v2", 1)
[XXXXXXX.YYY] [email protected](37, "xdg_activation_v1", 1)
[XXXXXXX.YYY] [email protected](40, "zwlr_input_inhibit_manager_v1", 1)
[XXXXXXX.YYY] [email protected](42, "wl_seat", 8)
[XXXXXXX.YYY]  -> [email protected](42, "wl_seat", 4, new id [unknown]@8)
[XXXXXXX.YYY] [email protected](44, "wl_output", 4)
[XXXXXXX.YYY]  -> [email protected](44, "wl_output", 4, new id [unknown]@9)
[XXXXXXX.YYY] [email protected](621)
[XXXXXXX.YYY]  -> [email protected](new id ext_session_lock_v1@3)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@10)
[XXXXXXX.YYY] [email protected]_id(10)
[XXXXXXX.YYY] [email protected]("seat0")
[XXXXXXX.YYY] [email protected](3)
[XXXXXXX.YYY] [email protected](0, 0, 280, 190, 0, "BOE", "0x095F", 0)
[XXXXXXX.YYY] [email protected](1, 2256, 1504, 59999)
[XXXXXXX.YYY] [email protected](2)
[XXXXXXX.YYY] [email protected]("eDP-1")
[XXXXXXX.YYY] [email protected]("BOE 0x095F (eDP-1)")
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected](624)
[XXXXXXX.YYY]  -> [email protected]_surface(new id wl_surface@10)
[XXXXXXX.YYY]  -> [email protected]_surface(new id wl_surface@13)
[XXXXXXX.YYY]  -> [email protected]_subsurface(new id wl_subsurface@14, wl_surface@13, wl_surface@10)
[XXXXXXX.YYY]  -> [email protected]_sync()
[XXXXXXX.YYY]  -> [email protected]_lock_surface(new id ext_session_lock_surface_v1@15, wl_surface@10, wl_output@9)
[XXXXXXX.YYY]  -> [email protected]_region(new id wl_region@16)
[XXXXXXX.YYY]  -> [email protected](0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]_opaque_region(wl_region@16)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(16)
[XXXXXXX.YYY] [email protected](625, 1804, 1203)
[XXXXXXX.YYY]  -> [email protected]_configure(625)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected]_pool(new id wl_shm_pool@16, fd 10, 34723392)
[XXXXXXX.YYY]  -> [email protected]_buffer(new id wl_buffer@17, 0, 3608, 2406, 14432, 0)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected](wl_buffer@17, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]_pool(new id wl_shm_pool@18, fd 11, 234256)
[XXXXXXX.YYY]  -> [email protected]_buffer(new id wl_buffer@19, 0, 242, 242, 968, 0)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] discarded [unknown]@17.[event 0](0 fd, 8 byte)
[XXXXXXX.YYY] [email protected]_id(16)
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected]_id(18)
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@18)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(18)
[XXXXXXX.YYY] [email protected](2009114)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@18)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected]_id(18)
[XXXXXXX.YYY] [email protected](2009136)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@18)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(18)
[XXXXXXX.YYY] [email protected](2009161)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@18)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected]_id(18)
[XXXXXXX.YYY] [email protected](2009169)
[XXXXXXX.YYY] [email protected](2)
[XXXXXXX.YYY] [email protected](0)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(11)
[XXXXXXX.YYY] [email protected]_id(12)
[XXXXXXX.YYY] [email protected]_id(18)
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2010663)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected](2010664)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2019172)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected](2019181)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2020672)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected](2020673)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2021404)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected](2021407)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2)
[XXXXXXX.YYY] [email protected](3)
[XXXXXXX.YYY] [email protected](2024594)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] discarded [zombie]@18.[event 0](1 fd, 16 byte)
[XXXXXXX.YYY] discarded [zombie]@18.[event 5](0 fd, 16 byte)
[XXXXXXX.YYY] discarded [zombie]@18.[event 1](0 fd, 20 byte)
[XXXXXXX.YYY] discarded [zombie]@18.[event 4](0 fd, 28 byte)
[XXXXXXX.YYY] [email protected]_id(18)
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2024602)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2026289)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2026312)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2026331)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2026345)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2026931)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2026954)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2026971)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2026988)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2027012)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2027021)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2027052)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected](2027055)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2027092)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2027104)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2027132)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2027137)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2027172)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2027188)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2027212)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2)
[XXXXXXX.YYY] [email protected](0)
[XXXXXXX.YYY] [email protected](2027355)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(12)
[XXXXXXX.YYY] [email protected]_id(11)
[XXXXXXX.YYY] [email protected]_id(18)
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected](2027358)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected](2028833)
[XXXXXXX.YYY]  -> [email protected](new id wl_callback@17)
[XXXXXXX.YYY]  -> [email protected]_position(843, 541)
[XXXXXXX.YYY]  -> [email protected]_buffer_scale(2)
[XXXXXXX.YYY]  -> [email protected](wl_buffer@19, 0, 0)
[XXXXXXX.YYY]  -> [email protected]_buffer(0, 0, 2147483647, 2147483647)
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY]  -> [email protected]()
[XXXXXXX.YYY] [email protected]_id(17)
[XXXXXXX.YYY] [email protected]()
[XXXXXXX.YYY] [email protected](2028834)

Maybe someone can have a look as my C skills are very elementary... Edit: Also already have a working (but needs some cleanup) wrapper-app (starting/sending SIGUSR1 to swaylock) handling fingerprint auth in go via dbus.

SebTM avatar Sep 02 '23 12:09 SebTM