You are not logged in.

#1 2021-02-09 21:25:48

Pomegranate
Member
Registered: 2020-10-01
Posts: 11

Popups are invisible systemwide

I was using kde plasma previously, but I recently switched to bare dwm. When I received popup windows in dwm, it would use the kde theme it found.
However, when I removed some folders relevant to kde (since I wasn't going to use it anymore), suddenly those popups went invisible. I could focus them by hovering over where they were supposed to be, and I could issue keyboard shortcuts like enter and it would work. The only issue is that they're invisible. I tried to uninstall plasma and install gtk-4 in the hopes it would display that theme, but that didn't work either. I'm not really sure what I should install to let arch know how to display those windows. I've googled a lot, but couldn't find anyone having the same problem or how to fix it. What can I do?

(If you need any more info, let me know. I wasn't quite sure what info would be relevant to this issue)

Offline

#2 2021-02-09 22:36:23

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,076

Re: Popups are invisible systemwide

You want to set up a standalone notification daemon that doesn't rely on plasma.

Offline

#3 2021-02-10 12:18:02

Pomegranate
Member
Registered: 2020-10-01
Posts: 11

Re: Popups are invisible systemwide

I don't think that's the issue, I have dunst installed and notifications work fine. It's the popups like when I want to select a file in my browser or when trying to save or discard a document in libreoffice. That's not included with a notification daemon, right?

Offline

#4 2021-02-10 13:55:52

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,783

Re: Popups are invisible systemwide

"Dialogs", not popups.
Do yo run a compositor?
What if you don't?
What's "invisible"? Black or not visible at all?
Also the output of "printenv", please.

Offline

#5 2021-02-10 14:15:55

Pomegranate
Member
Registered: 2020-10-01
Posts: 11

Re: Popups are invisible systemwide

seth wrote:

"Dialogs", not popups.

Right, I didn't know what they were called...

Do you run a compositor?
What if you don't?

I am running picom, and if I turn it off the dialogs indeed become visible again. I couldn't find anything in my picom.conf file that would make dialogs transparent.

What's "invisible"? Black or not visible at all?

Completely transparent, it just renders whatever is behind it.

Also the output of "printenv", please.

SHELL=/bin/bash
WINDOWID=8388610
COLORTERM=truecolor
CSF_MDTVTexturesDirectory=/usr/share/opencascade/resources/Textures
CSF_DrawPluginDefaults=/usr/share/opencascade/resources/DrawResources
OPENER=rifle
CSF_LANGUAGE=us
CSF_MIGRATION_TYPES=/usr/share/opencascade/resources/StdResource/MigrationSheet.txt
CSF_OCCTResourcePath=/usr/share/opencascade/resources
CSF_STEPDefaults=/usr/share/opencascade/resources/XSTEPResource
EDITOR=nvim
GTK_MODULES=canberra-gtk-module
XDG_SEAT=seat0
PWD=/home/pomegranate
LOGNAME=pomegranate
XDG_SESSION_TYPE=tty
DRAWHOME=/usr/share/opencascade/resources/DrawResources
XAUTHORITY=/home/pomegranate/.Xauthority
CSF_StandardLiteDefaults=/usr/share/opencascade/resources/StdResource
WINDOWPATH=1
MOTD_SHOWN=pam
HOME=/home/pomegranate
AUTOJUMP_ERROR_PATH=/home/pomegranate/.local/share/autojump/errors.log
LANG=en_US.UTF-8
LS_COLORS=rs=0:di=00;33:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=0036:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36;:
INVOCATION_ID=460dc73bd9c8464494e09e382598bf61
CSF_ShadersDirectory=/usr/share/opencascade/resources/Shaders
CSF_EXCEPTION_PROMPT=1
CSF_XmlOcafResource=/usr/share/opencascade/resources/XmlOcafResource
CSF_SHMessage=/usr/share/opencascade/resources/SHMessage
XDG_SESSION_CLASS=user
TERM=alacritty
USER=pomegranate
CSF_StandardDefaults=/usr/share/opencascade/resources/StdResource
CSF_IGESDefaults=/usr/share/opencascade/resources/XSTEPResource
AUTOJUMP_SOURCED=1
DISPLAY=:0
CSF_XCAFDefaults=/usr/share/opencascade/resources/StdResource
SHLVL=2
XDG_VTNR=1
CSF_PluginDefaults=/usr/share/opencascade/resources/StdResource
CSF_TObjMessage=/usr/share/opencascade/resources/TObj
XDG_SESSION_ID=4
CASROOT=/usr
XDG_RUNTIME_DIR=/run/user/1000
JOURNAL_STREAM=8:294363
CSF_XSMessage=/usr/share/opencascade/resources/XSMessage
MMGT_CLEAR=1
XDG_DATA_DIRS=/home/pomegranate/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/pomegranate/.local/bin/:/home/pomegranate/.local/bin/
CSF_TObjDefaults=/usr/share/opencascade/resources/StdResource
ALACRITTY_LOG=/tmp/Alacritty-9158.log
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
MAIL=/var/spool/mail/pomegranate
DRAWDEFAULT=/usr/share/opencascade/resources/DrawResources/DrawDefault
_=/usr/bin/printenv

Offline

#6 2021-02-10 14:20:37

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,783

Re: Popups are invisible systemwide

I am running picom, and if I turn it off the dialogs indeed become visible again. I couldn't find anything in my picom.conf file

Please post it, the other stuff is irrelevant for the moment.

Also run

xprop

click the invisible dialog and post the output.

Offline

#7 2021-02-10 14:33:26

Pomegranate
Member
Registered: 2020-10-01
Posts: 11

Re: Popups are invisible systemwide

It's just the default picom.conf with only shadows turned off, blur set to kawase and the backend to glx:

shadow = false;
shadow-radius = 7;
shadow-offset-x = -7;
shadow-offset-y = -7;
shadow-exclude = [
  "name = 'Notification'",
  "class_g = 'Conky'",
  "class_g ?= 'Notify-osd'",
  "class_g = 'Cairo-clock'",
  "_GTK_FRAME_EXTENTS@:c"
];

fading = true;
fade-in-step = 0.03;
fade-out-step = 0.03;

inactive-opacity = 0.8;
frame-opacity = 0.7;
inactive-opacity-override = false;
focus-exclude = [ "class_g = 'Cairo-clock'" ];

corner-radius = 0
rounded-corners-exclude = [
  "window_type = 'dock'",
  "window_type = 'desktop'"
];

blur-method = "dual_kawase";
blur-size = 12;
blur-kern = "3x3box";
blur-background-exclude = [
  "window_type = 'dock'",
  "window_type = 'desktop'",
  "_GTK_FRAME_EXTENTS@:c"
];

backend = "glx";
vsync = true;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
detect-transient = true;
detect-client-leader = true;
use-damage = true;
log-level = "warn";
wintypes:
{
  tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
  dock = { shadow = false; }
  dnd = { shadow = false; }
  popup_menu = { opacity = 0.8; }
  dropdown_menu = { opacity = 0.8; }
};

Output of xprop:

WM_STATE(WM_STATE):
		window state: Normal
		icon window: 0x0
_NET_WM_WINDOW_OPACITY(CARDINAL) = 0
_NET_WM_STATE(ATOM) = _NET_WM_STATE_MODAL, _NET_WM_STATE_SKIP_TASKBAR
WM_HINTS(WM_HINTS):
		Client accepts input or input focus: True
		Initial state is Normal State.
		window id # of group leader: 0x2000001
_GTK_THEME_VARIANT(UTF8_STRING) = "dark"
XdndAware(ATOM) = BITMAP
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 506, 110
WM_TRANSIENT_FOR(WINDOW): window id # 0x2000024
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DIALOG
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 33556958, 33556959
_NET_WM_USER_TIME(CARDINAL) = 14447363
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x20009dd
WM_CLIENT_LEADER(WINDOW): window id # 0x2000001
_NET_WM_PID(CARDINAL) = 10779
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLIENT_MACHINE(STRING) = "branch"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
		program specified location: 0, 0
		program specified minimum size: 506 by 110
		program specified maximum size: 506 by 110
		program specified base size: 0 by 0
		window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "soffice", "Soffice"
WM_ICON_NAME(STRING) = "Save Document?"
_NET_WM_ICON_NAME(UTF8_STRING) = "Save Document?"
WM_NAME(STRING) = "Save Document?"
_NET_WM_NAME(UTF8_STRING) = "Save Document?"

Offline

#8 2021-02-10 14:37:57

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,783

Re: Popups are invisible systemwide

This is the cause:

_NET_WM_WINDOW_OPACITY(CARDINAL) = 0

Something™ sets that and it's (likely) either the client or the WM (I suspect the latter, but there's no way to tell for sure)

Offline

#9 2022-06-02 11:13:10

nightfox
Member
Registered: 2022-06-02
Posts: 5

Re: Popups are invisible systemwide

Hi,
I recently had this same issue and posted a fix to this thread:
https://bbs.archlinux.org/viewtopic.php … 6#p2039036

The problem is a combination of dwm's base code and the clientopacity patch
It has nothing to do with the compositor other than the fact that the compositor makes transparency possible in the first place.

If you don't wish to read my explanation, here is my fix for the problem

--- dwm.c	2022-06-02 19:43:10.354993046 +0900
+++ dwm.c	2022-06-02 20:11:21.154857533 +0900
@@ -1058,6 +1058,9 @@
 	c->h = c->oldh = wa->height;
 	c->oldbw = wa->border_width;
 
+ 	/* initialize opacity */
+ 	c->opacity = defaultopacity;
+
 	updatetitle(c);
 	if (XGetTransientForHint(dpy, w, &trans) && (t = wintoclient(trans))) {
 		c->mon = t->mon;

Offline

Board footer

Powered by FluxBB