Niri/Hyprland 中从通知启动的 pamac-manager 窗口样式异常

桌面环境为 Niri + dms-shell,pamac 由pamac-daemon.service启动

咦 Alt+PrtSc 窗口截图不带Niri的边框的吗?我注销重新截一下


已更新

:thinking:这两张图片有区别吗?

左上角和右上角的按钮有点区别, 别的我也没看出来

放大看,Niri窗口边框里边又套了一层直角边框

Hyprland + swaync 环境下表现也相同

niri msg windows
#异常窗口
Window ID 4:
  Title: "更新"
  App ID: "pamac-manager"
  Is floating: no
  PID: 935
  Workspace ID: 1
  Layout:
    Tile size: 714 x 854
    Scrolling position: column 2, tile 1
    Window size: 710 x 850
    Window offset in tile: 2 x 2
#正常窗口
Window ID 5:
  Title: "更新"
  App ID: "org.manjaro.pamac.manager"
  Is floating: no
  PID: 2186
  Workspace ID: 1
  Layout:
    Tile size: 714 x 854
    Scrolling position: column 2, tile 1
    Window size: 710 x 850
    Window offset in tile: 2 x 2
❯ journalctl -b /usr/bin/pamac-manager
3月 01 16:54:27 archlinux pamac-manager[1786]: Using GtkSettings:gtk-application-prefer-dark-theme with libadwaita is unsupported. Please use AdwStyleManager:color-scheme instead.

Margin固定为12px, 不受Niri窗口圆角配置影响。



从异常的 pamac-manager 启动(应用详情)的 libadwaita 应用也有同样的问题

❯ niri msg windows
Window ID 21:
  Title: "Adwaita Demo"
  App ID: "adwaita-1-demo"
  Is floating: yes
  PID: 79899
  Workspace ID: 3
  Layout:
    Tile size: 714 x 431
    Workspace-view position: 261, 197
    Window size: 710 x 427
    Window offset in tile: 2 x 2

journalctl:

3月 03 23:31:02 archlinux adwaita-1-demo[2215]: Using GtkSettings:gtk-application-prefer-dark-theme with libadwaita is unsupported. Please use AdwStyleManager:color-scheme instead.
3月 03 23:31:09 archlinux adwaita-1-demo[2215]: Broken accounting of active state for widget 0x562273c40db0(AdwDemoWindow)

你的问题有点罕见,这个问题类似的我遇到过,但不是这种。我以前在折腾Debian主题的时候,尝试过直接使用环境变量来指定主题,因为这样可以让GTK4的应用不使用默认的LibAdwaita,而是使用我的Layan。于是GNOME的应用商店就变成了方角,比如:

GTK_THEME=<主题名称>

但是除了GNOME商店外的其它GTK4应用并没有遇到这种问题,不过Nautilus的文件图标倒是出现了问题,有错位,具体表现为一个小图标外面有很大一个正方形的框围着。

Linux的桌面生态一直不完美,我已经无感化了,加上GNOME的维护者大多数很懒散,没有KDE那边的热情积极。

喔喔 :open_mouth:这事我也干过。
之前我用 xfce4 的时候,那时GNOME刚开始推 libadwaita ,我看不习惯adwaita 的大额头,于是在网上找到了这个方法。不过那时候我还不太懂环境变量什么的,再加上没有找到随 xfce4 设置自动更新的方案,遂放弃。现在已经是GNOME(大圆角)的形状了(悲

你试一下可以复现吗?我感觉可能是 pamac 自己的问题。(也有可能因为 polkit?
包名是 pamac-aur,在cn仓库里。

分别从窗口正常和异常的 pamac 启动 kitty,并打印env

diff env.txt env_abnormal.txt
5c5
< DESKTOP_STARTUP_ID=qMGefeBfQYfOIuHzAmpGdyWwKH52iSB0
---
> DESKTOP_STARTUP_ID=gtk-launch-53792-archlinux-env-0_TIME0
8a9
> GDK_BACKEND=x11
10c11
< GIO_LAUNCHED_DESKTOP_FILE_PID=64719
---
> GIO_LAUNCHED_DESKTOP_FILE_PID=53798
16,17c17,18
< INVOCATION_ID=7bbebb8d656843518d908c79e94f1a8e
< JOURNAL_STREAM=9:185169
---
> INVOCATION_ID=81e4b03af00b469fa33c91554819eaf7
> JOURNAL_STREAM=9:12106
19,20c20,21
< KITTY_PID=64719
< KITTY_PUBLIC_KEY=1:4be3PnFKssNG~{49W{!j$;JQ=+s4wRW+L+Jv`H3b
---
> KITTY_PID=53798
> KITTY_PUBLIC_KEY=1:cu80sku)b5%nZNRw!Ta#T)g91EDX>Z(n5c%u&RGf
34c35
< MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/app.slice/app-dbus\x2d:1.2\x2dorg.manjaro.pamac.manager.slice/dbus-:1.2-org.manjaro.pamac.manager@0.service/memory.pressure
---
> MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/app.slice/app-pamac\x2dtray@autostart.service/memory.pressure
50c51
< SYSTEMD_EXEC_PID=64608
---
> SYSTEMD_EXEC_PID=882

于是运行 xeyes, 发现 xeyes 对异常 pamac 窗口有响应。

强制在 XWayland 中运行任意 GTK4/libadwaita 应用,成功复现该 bug。


转移至子帖: