Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 8041

Troubleshooting • Re: Onscreen Keyboard don't work with chromium in kiosk or fullscreen(F11)-mode

$
0
0
I have gathered a few insights and am sharing them with you here.

labwc supports the following layer order:
background
bottom
regular application windows
always-on-top windows
top
fullscreen windows
overlay
lockscreen

By default, Squeekboard is hardcoded to appear on the top layer.
However, if you want the keyboard to appear above fullscreen apps or Chromium in kiosk mode, it really should be placed on the overlay layer instead.

You can find the source code here:
🔗 https://gitlab.gnome.org/World/Phosh/squeekboard

Feel free to download it, apply the fix locally, compile it, and enjoy controlling fullscreen or kiosk-mode Chromium with the squeekboard.

There is likely a good reason why Squeekboard was designed to render on top by default and not always use overlay.
I've opened an issue on the Squeekboard project asking whether this behavior could be made configurable or improved.
I'm trying to find where the layering is done in squeekboard, could you point me out in the right direction ?
My solution:

The file to edit: eek/layersurface.c

Looking for function: void phosh_layer_surface_set_layer (PhoshLayerSurface *self, guint32 layer)

Add directly after the" priv = ... Block" following code:
/* Check env var override */
const char *env = g_getenv("SQUEEKBOARD_LAYER");
if (env && g_strcmp0(env, "overlay") == 0) {
layer = 3; // ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY
}

After compiling start with parameter SQUEEKBOARD_LAYER=overlay squeekboard
I wish I could try this, unfortunately for some reason when launching squeekboard after building it it crashes:

Code:

thread '<unnamed>' panicked at /home/azsde/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.17.0/src/sys/socket/mod.rs:1205:33:null pointer dereference occurredstack backtrace:** (squeekboard:10973): WARNING **: 18:16:57.785: Could not register to session manager: Cannot invoke method; proxy is for the well-known name “org.gnome.SessionManager” without an owner, and proxy was constructed with the G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag   0:       0x5590db8c08 - std::backtrace_rs::backtrace::libunwind::trace::h80a834740e37061b                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9   1:       0x5590db8c08 - std::backtrace_rs::backtrace::trace_unsynchronized::h8db4c318f99c6571                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14   2:       0x5590db8c08 - std::sys::backtrace::_print_fmt::h7f7b542ba53a5bc6                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/sys/backtrace.rs:66:9   3:       0x5590db8c08 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h2747bfd80d11ff7b                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/sys/backtrace.rs:39:26   4:       0x5590dfff3c - core::fmt::rt::Argument::fmt::he9ff5cb74d153e09                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/fmt/rt.rs:173:76   5:       0x5590dfff3c - core::fmt::write::haee122d9e6b18100                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/fmt/mod.rs:1465:25   6:       0x5590dad2c8 - std::io::default_write_fmt::h1ba8124286647cf9                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/io/mod.rs:639:11   7:       0x5590dad2c8 - std::io::Write::write_fmt::he0158f6169f4cd69                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/io/mod.rs:1954:13   8:       0x5590db8abc - std::sys::backtrace::BacktraceLock::print::ha08130ed18fd0194                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/sys/backtrace.rs:42:9   9:       0x5590dbc4ec - std::panicking::default_hook::{{closure}}::hba6d19cf2c555d9c                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panicking.rs:300:27  10:       0x5590dbc348 - std::panicking::default_hook::hbff32ff95437400d                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panicking.rs:327:9  11:       0x5590dbcec8 - std::panicking::rust_panic_with_hook::h28899ec3e5e03105                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panicking.rs:833:13  12:       0x5590dbcc38 - std::panicking::begin_panic_handler::{{closure}}::h60f6be6227bda39d                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panicking.rs:699:13  13:       0x5590db90f8 - std::sys::backtrace::__rust_end_short_backtrace::hcc8118117670542a                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/sys/backtrace.rs:168:18  14:       0x5590dbc944 - __rustc[5224e6b81cd82a8f]::rust_begin_unwind                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panicking.rs:697:5  15:       0x559057bd6c - core::panicking::panic_nounwind_fmt::runtime::hf32fba20408fc31f                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/panicking.rs:117:22  16:       0x559057bd6c - core::panicking::panic_nounwind_fmt::he3c0f99f63f23666                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/intrinsics/mod.rs:2340:9  17:       0x559057bf48 - core::panicking::panic_null_pointer_dereference::h62085dea607a534d                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/panicking.rs:311:5  18:       0x55906bde90 - nix::sys::socket::sockaddr_storage_to_addr::hf7be2e4b962eaf7a                               at /home/azsde/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.17.0/src/macros.rs:211:9  19:       0x55906bd1c0 - nix::sys::socket::recvmsg::{{closure}}::hf20286f31d91f872                               at /home/azsde/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.17.0/src/sys/socket/mod.rs:881:13  20:       0x55906c91b0 - core::result::Result<T,E>::map::h99b039d9bb5ff78e                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/result.rs:801:25  21:       0x55906bd040 - nix::sys::socket::recvmsg::h5112d626a0e33d9c                               at /home/azsde/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.17.0/src/sys/socket/mod.rs:864:24  22:       0x5590684134 - zbus::utils::read_exact::hd4a49bbbe6a673e8                               at /home/azsde/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zbus-1.0.0/src/utils.rs:59:15  23:       0x55906741d8 - zbus::connection::Connection::receive_message::h0d687b171af0cb3c                               at /home/azsde/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zbus-1.0.0/src/connection.rs:244:27  24:       0x5590675400 - zbus::connection::Connection::call_method::h438bf3fc74ee515f                               at /home/azsde/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zbus-1.0.0/src/connection.rs:324:26  25:       0x5590681900 - zbus::proxy::Proxy::call_method::hf3071b2c059b936d                               at /home/azsde/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zbus-1.0.0/src/proxy.rs:117:31  26:       0x5590683054 - zbus::proxy::Proxy::call::ha4e8853a2de7b7a4                               at /home/azsde/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zbus-1.0.0/src/proxy.rs:144:17  27:       0x5590690e2c - zbus::fdo::DBusProxy::hello::h86d3c99a7b9233ad                               at /home/azsde/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zbus-1.0.0/src/fdo.rs:156:1  28:       0x5590672c78 - zbus::connection::Connection::new_unix_client::hda30af48f83b9b51                               at /home/azsde/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zbus-1.0.0/src/connection.rs:109:22  29:       0x5590673030 - zbus::connection::Connection::new_session::h90ddb0543f72a72e                               at /home/azsde/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zbus-1.0.0/src/connection.rs:119:9  30:       0x55905a8c7c - rs::actors::external::debug::start::he2296f5f9fc6d3cc                               at /home/azsde/squeekboard/src/actors/external/debug.rs:42:22  31:       0x5590e4f4e0 - rs::actors::external::debug::init::{{closure}}::hf062fe88aefd2276                               at /home/azsde/squeekboard/src/actors/external/debug.rs:64:9  32:       0x5590e39228 - std::sys::backtrace::__rust_begin_short_backtrace::h569b5aff6417d2b6                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/sys/backtrace.rs:152:18  33:       0x5590e188dc - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h8cc042f8b8c6f5b6                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/thread/mod.rs:559:17  34:       0x5590e3de64 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hbccc7994f468d8f4                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/panic/unwind_safe.rs:272:9  35:       0x5590e12420 - std::panicking::catch_unwind::do_call::h4a0a271b06f9f078                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panicking.rs:589:40  36:       0x5590e18d84 - __rust_try  37:       0x5590e182ec - std::panicking::catch_unwind::h302ca98391df87f6                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panicking.rs:552:19  38:       0x5590e182ec - std::panic::catch_unwind::h62347fa176221fd4                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panic.rs:359:14  39:       0x5590e182ec - std::thread::Builder::spawn_unchecked_::{{closure}}::hc0968cea35ad25fc                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/thread/mod.rs:557:30  40:       0x559058ee84 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h18b4fd5ab643a02f                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/ops/function.rs:250:5  41:       0x5590dc0edc - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha6950db5b1adcc96                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/alloc/src/boxed.rs:1966:9  42:       0x5590dc0edc - std::sys::pal::unix::thread::Thread::new::thread_start::he65f0ae0958ca168                               at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/sys/pal/unix/thread.rs:107:17  43:       0x7fa5572030 - start_thread                               at ./nptl/pthread_create.c:442:8  44:       0x7fa55dbf5c - thread_start                               at ./misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79:0  45:                0x0 - <unknown>thread caused non-unwinding panic. aborting.

Statistics: Posted by azsde — Thu Aug 21, 2025 4:24 pm



Viewing all articles
Browse latest Browse all 8041

Trending Articles