Electron 38 has built-in Wayland auto-detection. Even without ELECTRON_OZONE_PLATFORM_HINT, it detects WAYLAND_DISPLAY and tries to use Wayland, triggering the empty window bug in Signal Desktop. Explicitly force X11/XWayland mode with --ozone-platform=x11 flag to prevent auto-detection and fix the empty window issue. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
35 lines
1013 B
Nix
35 lines
1013 B
Nix
|
|
{ pkgs, ... }:
|
|
|
|
let
|
|
signalDesktopItem = pkgs.makeDesktopItem {
|
|
name = "signal-desktop";
|
|
desktopName = "Signal";
|
|
icon = "signal-desktop";
|
|
exec = "signal-desktop --ozone-platform=x11 --enable-features=VaapiVideoDecoder -- %u";
|
|
};
|
|
|
|
signalWorkDesktopItem = pkgs.makeDesktopItem {
|
|
name = "signal-work";
|
|
desktopName = "Signal with work profile";
|
|
icon = "signal-desktop";
|
|
exec = "signal-desktop --ozone-platform=x11 --enable-features=VaapiVideoDecoder --enable-dev-tools --user-data-dir=/home/dominik/.config/Signal-work -- %u";
|
|
};
|
|
in {
|
|
environment.systemPackages = [
|
|
pkgs.signal-cli
|
|
pkgs.signal-desktop
|
|
signalDesktopItem
|
|
pkgs.zbar
|
|
signalWorkDesktopItem
|
|
];
|
|
}
|
|
# signal-cli is a command line interface for Signal
|
|
# use it like follows:
|
|
# signal-cli -u +4300000000 register
|
|
# signal-cli -u +4300000000 verify 123-456
|
|
# zbarimg /tmp/qr.png
|
|
# QR-Code:tsdevice:/?uuid...
|
|
# convert svg to png
|
|
# signal-cli -u +4300000000 addDevice --uri "tsdevice:/?uuid=xxx"
|