On Mon, 13 Jun 2022 08:10:03 +0200 Pierre Couderc via enlightenment-users
<enlightenment-users@lists.sourceforge.net> said:

well you can sere e thinks the app is chromium not brave:

__E_ATOM_DESKTOP_FILE(UTF8_STRING) = "/usr/share/applications/chromium.desktop"

brave is doing this:

WM_CLASS(STRING) = "chromium", "Chromium"

well well well.. it is literally saying "hey... i'm chromium!"

it's literally lying about it's name. the brave install i have does not do
that:

WM_CLASS(STRING) = "brave-browser", "Brave-browser"

something about your brave install is literally just broken. it's setting a wm
na,e/class that is still copy & pasted from the chromium codebase and
pretending to be chromium. e is now getting confused as matching that with the
chromium desktop file you have because it's using the wm class "chromium" as
the desktop file name to match as you don't have a StartupWMClass in your
desktop files. e.g. terminology has:

StartupWMClass=terminology

but even if you  had this there is no way for e to see the difference between a
brave window and a chromium one. look at the properties - they all pretend to
be chromium. there is a:

_NET_WM_PID(CARDINAL) = 2556

property. does that PID exist? is it the same as the execute command in the
desktop:

Exec=/usr/bin/brave-browser-stable %U

let me guess - this exec is a script and this script EXITS. that means the PID
that e knows as the thing it runs has exited. some other child process
"replaces" it. e.g. it doesn't use:


exec /path/to/brave

at the end of the script but it launches the browser maybe with a & to detache
the child process or mauybe without and thus brave pid is a child pid of the
script that is run. the brave launche script in arch ends with:

exec /usr/lib/brave-bin/brave "$@" $USER_FLAGS

which is the right way to do things. either way e tracks the child pid of what
it launches - it can use that to match the net wm pid property to track it
back to a desktop file. if the app messes around here and the pid of what e ran
is not the pid the app says it is... then it won't match and it cant use netwm
pid to figure out the desktop file. then the wm class is totally wrong- it says
it's chromium and e has matched that with the chromium desktop file. that's
probably why you don't see the brave icon... but probably should see the
chromium one, unless in ibar settings you have endabled "don't show active
windows" under "misc" at the bottom. then ibar won't add new icons for apps
not already in ibar...

but either way your brave install is broken. it's pretending to be chromium.
that's very lazy. that's poor quality. i wouldn't use a browser showing such
poor signs of quality control. upgrade to a newer brave that is better quality
checked or try something else, but it's obviously a poor quality app and the
whole desktop file issue is showing it is right now - at least the packaged
version you have there. the brave version i installed here (1.39.120) does not
have those issues. it installed the binary brave that the brave guys ship.

> On 6/11/22 09:18, Pierre Couderc via enlightenment-users wrote:
> >
> > And brave is not as critical for me as lxd. I shall find some solution 
> > without snap...
> >
> >
> It is not finished !
> 
> I have found a solution without snap, and ....
> 
> The same problem occurs : Brave browser instances are not displayed.
> 
> 
> Here is :  /usr/share/applications/brave-browser.desktop :
> 
> [Desktop Entry]
> Version=1.0
> Name=Brave Web Browser
> GenericName=Web Browser
> (...)
> Exec=/usr/bin/brave-browser-stable %U
> StartupNotify=true
> Terminal=false
> Icon=brave-browser
> Type=Application
> Categories=Network;WebBrowser;
> MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ipfs;x-scheme-handler/ipns;
> Actions=new-window;new-private-window;
> 
> [Desktop Action new-window]
> Name=New Window
> (...)
> Exec=/usr/bin/brave-browser-stable
> 
> [Desktop Action new-private-window]
> Name=New Incognito Window
> (...)
> Exec=/usr/bin/brave-browser-stable --incognito
> 
> 
> xprop :
> 
> _E_FRAME_SIZE(CARDINAL) = 0, 0, 27, 6
> _NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 27, 6
> __E_WINDOW_MAPPED(CARDINAL) = 1
> WM_STATE(WM_STATE):
>                  window state: Normal
>                  icon window: 0x0
> __E_ATOM_DESKTOP_FILE(UTF8_STRING) = 
> "/usr/share/applications/chromium.desktop"
> E_ZONE_GEOMETRY(CARDINAL) = 1920, 0, 1920, 1080
> __E_WINDOW_ZONE(CARDINAL) = 1
> __E_WINDOW_MANAGED(CARDINAL) = 1
> __E_WINDOW_DESK(CARDINAL) = 0, 0
> _NET_WM_USER_TIME(CARDINAL) = 2631636
> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>                  program specified location: 2327, 99
>                  program specified minimum size: 469 by 98
> _MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x0, 0x1, 0x0, 0x0
> WM_NAME(UTF8_STRING) = "e-62a1a5baaf52d7.99395434.png (2560×1440) - 
> Chromium"
> _NET_WM_NAME(UTF8_STRING) = "e-62a1a5baaf52d7.99395434.png (2560×1440) - 
> Chromium"
> XdndAware(ATOM) = BITMAP
> _NET_WM_ICON(CARDINAL) =        Icon (128 x 128):
> (...)
> _NET_WM_BYPASS_COMPOSITOR(CARDINAL) = 2
> WM_WINDOW_ROLE(STRING) = "browser"
> WM_CLASS(STRING) = "chromium", "Chromium"
> _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
> _NET_WM_PID(CARDINAL) = 2556
> WM_CLIENT_MACHINE(STRING) = "pcouderc"
> WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, _NET_WM_PING, 
> _NET_WM_SYNC_REQUEST
> ~
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> enlightenment-users mailing list
> enlightenment-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-users


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
Carsten Haitzler - ras...@rasterman.com



_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to