On Sat, 25 Nov 2017 22:52:13 +0000 Peter Flynn <pe...@silmaril.ie> said:
> I have been using Hiri recently for my MS-Exchange email, a really nice > interface (https://www.hiri.com/) > > If I right-click on the executing application window title bar I can > pick hiri » Add to IBar » default (as with any app)...but it doesn't add you know you can also DND it into ibar to place it exactly where you like? that's what i do... :) > it, I assume because I installed the application direct from their > .tar.gz file, so the system doesn't know I have it. this should work if a .desktop file was installed for the app AND enlightenment matches up the window to the app desktop file instance. this tends to work correctly for pretty much everything... except for me for steam apps/games. i'm going to go into steam a bit as this is something i have ready access to, and i don't know what hiri sets/does or puts in its desktop file, but i do know that "cross platform apps" often do things poorly on linux (x11) and it leads to little nasties like "can't find desktop file" or "find wrong one" or something and that may lead to not being able to add to ibar directly via menu or dnd. this seems to be hit and miss. apps tend to be bad about setting properties on their windows sometimes. like: WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW WM_NAME(STRING) = "game [release][opengl][32bit]" WM_NORMAL_HINTS(WM_SIZE_HINTS): program specified minimum size: 1024 by 720 STEAM_GAME(CARDINAL) = 245620 those are the only properties set by the app... WM_TIME is actually the window titlebar stuff in x11. as you can see that's a pretty poor title for the "Topico 5" game... but there is nothing there to tie the window to a PID or even to guess a desktop name... the only thing is the custom STEAM_GAME property which we don't look at since it's custom to steam. Perhaps we should write specific steam support just to map this back. we could map it back to the desktop file as 2 fields we can dig through to match up: Exec=steam steam://rungameid/245620 Icon=steam_icon_245620 But keep in mind every steam game is slightly different, Some (Like Cities: Skylines) is pretty good about it's properties and E nicely figures it out. Borderlands 2 at least does nice things like: WM_CLASS(STRING) = "Borderlands2", "Borderlands2" _NET_WM_PID(CARDINAL) = 21729 WM_NAME(STRING) = "Borderlands 2" _NET_WM_NAME(UTF8_STRING) = "Borderlands 2" that lets us match it back to: /home/raster/.local/share/applications/Borderlands_2.desktop Because we can maybe trace a PID back to something E launched (It knows the PID's of everything it started, gets their SIGCHLDs to know they exited and tracks them etc.). We have fallbacks to check WM_CLASS and match that etc. ... it's kind of a complex nightmare of guess-o-rama to find the desktop file that belongs to the window. Steam itself is bad because: WM_NAME(UTF8_STRING) = "Steam" WM_CLASS(STRING) = "Steam", "Steam" but this leads e to think it belongs to Cities: Skylines because its executable is: Exec=steam steam://rungameid/255710 but the 2 steam .desktop files have: Exec=/usr/bin/steam-native %U Exec=/usr/bin/steam-runtime %U (it installs a steam-native and steam-runtime desktop file ... but no steam one). it doesn't give a WMClass entry to match it... and no PID property. ... you get the idea. > I'm now running Bodhi instead of Xubuntu, and snap appears to be so you're not running enlightenment then? running moshka - bodhi's fork of our release from 2012 (5 years old)? so 5 years worth of bug fixes, improvements etc. wouldn't count? in which case... I'm not sure we'll be on the same page. or did you nuke moshka and install E 0.22 etc.? > available: should I use that instead (Hiri provide a snap) or is there a > better way to inform the system of Hiri's presence? .desktop files is how it works. their content can make it easy to match up to a window, or hard, depending on the properties. you can find out the properties of a window with the xprop command. just run it then click on the window you want properties from. you cant change the properties. some are set by the app, some by the wm. app set ones are up to the app to set and maintain. based on those it can be possible to ensure the desktop file contains the right fields that can uniquely match it up to a window... as long as the app provides enough information correctly. > ///Peter > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > 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 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ enlightenment-users mailing list enlightenment-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-users