bakkeby / dwm-flexipatch

A dwm build with preprocessor directives to decide which patches to include during build time

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Systray icon not show. I have read the KNOWN_ISSUE part, but I think this is a bug in flexipatch. I can prove it

ysl2 opened this issue · comments

Problem introduce

I flip the alpha and systray's patch flag to 1 to enable them both in flexipatch. After that, I found the systray icon not show.

But this is weird. Beacuse I also have my self patched dwm, it can work correctly.

I have read the KNOWN_ISSUE, but I think this is not the application's problem.

Minimal test case

This is how I patched, from 0001 to 0003 in sequence, based on the newest dwm offical git repo commit. After the three patches, my systray icons show normally, and alpha patch also work.

0001-Add-alpha-patch.patch.txt
0002-Add-systray-patch.patch.txt
0003-Fix-two-patches-conflict.patch.txt

These two below is what I based. They are the newest patch come from dwm offical site, and my dwm is also based on the newest git commit.

dwm-alpha-20230401-348f655.diff.txt
dwm-systray-6.4.diff.txt

The explain of 0003 can be found here:

https://www.reddit.com/r/dwm/comments/aqlicx/question_does_anyone_here_have_a_working_combined/

image

Which systray icon are you talking about?

There is absolutely no information here about how to reproduce the issue you are experiencing.

clash for windows. (Never mind the name, it can be runned in linux)

You can download and extract this tarball and run cfw. In normal case, a cat icon will show in systray area.

This program is for network proxy and it is safe. But beacuse the original author deleted this a few days ago, I uploaded a backup for my self use.

https://github.com/ysl2/clash-glados/releases/download/v0.0.1/Clash.for.Windows-0.20.4-x64-linux.tar.gz

Oh by the way, I tested them in monospace 13 size. When in default 10 size, both of them show icon correctly. Sorry I forgot this and not mentioned.

image

For additional information, when I use monospace 13 size in flexipatch:

Optional 1: Open BAR_HEIGHT_PATCH and set the bar_height to 20, the icon will show.
Optional 2: Or I open BAR_STATUSPADDING_PATCH and set the vertpadbar to -2, the icon also will show.

That kind of sounds like #136 and this was reproducible using only a bare dwm + systray patch ref. this reddit post three years ago.

For some reason this only happens to the first systray window opened and opening up a second systray window tends to resolve the issue as well.

It is not straightforward to replicate the issue as the actual size of the font depends on the font used (and "monospace" here is just an alias for a group of fonts).

I was able to replicate the issue using a pixelsize of 21 and running cfw.

static const char *fonts[]               = { "monospace:pixelsize=21" };

The source code for the application was not available, but the binaries show that it has support for appindicator and it suggests that it is an electron app.

It is not clear to me why only specific systray sizes causes this issue.

Thanks for your kind explain!

For people who might see this issue in the future, my current monitor is DELL D2720DS, 27 inch. I don't know if this problem is related to monitor size.