<freemangordon>
parazyd: see documantation for g_app_info_get_id
kona_ has joined #maemo-leste
<freemangordon>
desktop file id from the xdg menu specification is defined as "The id to identify a desktop entry with. For example, if /usr/share/applications is specified as an <AppDir>, and /opt/ude as <LegacyDir prefix="foo-"> then /usr/share/applications/foo/bar.desktop, /usr/share/applications/foo-bar.desktop and /opt/ude/Settings/bar.desktop all have the same desktop-f
<freemangordon>
"Gets the ID of an application. An id is a string that identifies the application. The exact format of the id is platform dependent. For instance, on Unix this is the desktop file id from the xdg menu specification. "
<freemangordon>
gtg, ttyl
kona has quit [Ping timeout: 252 seconds]
Pali has joined #maemo-leste
<freemangordon>
parazyd: this has nothing to do with the .desktop file itsef
freemangordon has joined #maemo-leste
freemangordon has quit [Ping timeout: 252 seconds]
zhxt has joined #maemo-leste
Pali has quit [Ping timeout: 260 seconds]
tmlind has quit [Ping timeout: 250 seconds]
tmlind has joined #maemo-leste
joerg has quit [Excess Flood]
joerg has joined #maemo-leste
xmn has joined #maemo-leste
inky has joined #maemo-leste
_inky has quit [Ping timeout: 252 seconds]
inky_ has quit [Ping timeout: 252 seconds]
crab_ has joined #maemo-leste
crab has quit [Ping timeout: 252 seconds]
crab_ is now known as crab
_inky has joined #maemo-leste
<freemangordon>
parazyd: do we ship our own glib?
<parazyd>
Not since ascii
<parazyd>
err, since beowulf
<parazyd>
We had our own in ascii
<freemangordon>
is my patch there?
<parazyd>
Yes
<freemangordon>
ok
zhxt has quit [Ping timeout: 268 seconds]
peetah has quit [Ping timeout: 252 seconds]
Armen has quit [Ping timeout: 252 seconds]
peetah has joined #maemo-leste
pere has joined #maemo-leste
martijnb1 has joined #maemo-leste
<martijnb1>
o/
<Wizzup>
martijnb1: yo
<parazyd>
Hey
<martijnb1>
nice presentation :D
<Wizzup>
thanks, didn't really prepare it much, but it was within the time limit at least :D
<martijnb1>
hmm joining here with the libera matrix bridge seems bork
* martijnb1
is not nervous at all for the pmos presentation
<Wizzup>
hehe
<Wizzup>
I was quite nervous but then seeing the other ones made me less stressed
<Wizzup>
if you catch my drift
* Wizzup
is looking forward to it
MartijnBraam[m] has joined #maemo-leste
<martijnb1>
heh yes
<martijnb1>
so the matrix channel name on the wiki is wrong, it's #maemo-leste:libera.chat now
<freemangordon>
g_app_info_get_default_for_type shall return GAppInfo of the application for content_type, in this particular case this is "application/pdf"
<freemangordon>
as you can see from the backtrace, glibe correctly finds desktop file id to be "hildon-osso_pdfviewer.desktop", see frame 2 and above
<freemangordon>
however, at some point there is a call to g_desktop_app_info_new_from_filename(), which just takes basename to be desktop_id, so self->desktop_id becomes "osso_pdfviewer.desktop"
<freemangordon>
this clearly breaks the specs and what is worse, prevents libhildonmime from finding the application to handle mime type
<freemangordon>
parazyd: ^^^
<parazyd>
Right, I see
<parazyd>
But why does libhildonmime need the path?
<freemangordon>
because it wants to parse the .desktop file
<parazyd>
Isn't there some glib machinery that handles this?
<parazyd>
ah
<freemangordon>
for X-OSSO- stuff
<parazyd>
Right
<parazyd>
So maybe the right way to patch glib is to offer something that returns the full path?
<parazyd>
Thinking in terms so it's not specific to Hildon
<freemangordon>
no, we have a hash table that maps desktop ids to filenames
<freemangordon>
I can do a reverse search on that table
<freemangordon>
to map file name to desktop id
<freemangordon>
and if that fails, then use basename as a fallback
<Wizzup>
looks like glib has a big though
<Wizzup>
bug
<freemangordon>
mhm
<Wizzup>
so we have a way to fix it already
<freemangordon>
I have an idea how to fix it
<freemangordon>
it is not so simple, because the hastable in question is protected by mutexes, but I'll deal with it
<freemangordon>
*hashtable
<parazyd>
Surprising that glib does by have something that resolves the full path to a given desktop file
<freemangordon>
not, it is on the opposite, but I can hack around with g_hashtable_foreach
<freemangordon>
it maps desktop_id to filename
<freemangordon>
that's why you see the correct desktop_id in calls to desktop_file_dir_get_app etc
<parazyd>
Yeah
<freemangordon>
so, shall I fix that or you have a better idea
<freemangordon>
?
<parazyd>
Not rn, but I can think about it tomorrow
<freemangordon>
I'll make a patch in the meanwhile :)
<parazyd>
ok, cool
<parazyd>
Pick our version btw
<freemangordon>
hmm?
<freemangordon>
do we have one?
<parazyd>
Not master upstream, but the one in Devuan Beowulf
<freemangordon>
I did apt-get source
<parazyd>
Great
<parazyd>
That's it
<freemangordon>
ok
<uvos>
well check if its fixed upstream first
<uvos>
also gnome applications have thair own X- whatever special options in .desktop files
<freemangordon>
already did, it is not
<uvos>
so there must be some way to access them in glib
<uvos>
maybe not by opening the file and parsing it yourself
<freemangordon>
do you think gnome places stuff in applications/gnome?
<uvos>
no
<uvos>
but other apps do this
<uvos>
and gnome picks them up too
<uvos>
so something has to give here
<freemangordon>
I am not sure I want to waste time on trying to find how $UNKNOWN app works around glib bugs
<freemangordon>
I'd rather fix and send patch upstream
<freemangordon>
oh, because they fixed all the other issues it seems
<uvos__>
its not bad really
<freemangordon>
I see
<freemangordon>
and what is wrong with make? lemme guess, it is old, right?
<uvos__>
no make is way to basic
<uvos__>
who uses plain make?
<freemangordon>
me?
<uvos__>
plain make dosent really scale well...
<freemangordon>
ok
<uvos__>
so most use something on top of make
<uvos__>
like cmake or autotools
<uvos__>
meson is really the idea that if everyone uses something else to generate make files
<freemangordon>
so we have CMake, autofu, meson/ninja, qmake... what else?
<uvos__>
make dosent really need to exist since its just a midle man
<uvos__>
other than tose you named all other build systems are pretty niche
<freemangordon>
ah, and lets not forget M$ build system
<uvos__>
unless you include language specific build systems
<freemangordon>
but yeah, I guess sript kiddies need to feel useful
<freemangordon>
sorry, was dealing with angularjs lately :)
<uvos__>
i dont see why the existance of multiple buildsystems would cause ire
<uvos__>
i mean lots of languages also exist
<uvos__>
its kinda the same
<freemangordon>
sorry, as I said I am grumpy because of angularjs shit, kinda looks the same
<freemangordon>
reinventing the wheel over and over, but each time with less angles
<Wizzup>
try building tensorflow
<Wizzup>
you'll appreciate even meson
<uvos__>
why what build system dose that use?
<freemangordon>
uvos__: see, glib has 874 open issues and 58 merge requests pending, is it really the build system of such a high priority so they must change it before fixing all the bugs?
<Wizzup>
uvos__: bazel
<uvos__>
freemangordon: idk maybe the existing system showed some kind of defficancy
<freemangordon>
autotools? I doubt
<uvos__>
autotools certenly has its rough edges
<freemangordon>
anyway
<uvos__>
especcaly in multiplat
<freemangordon>
ok, could be, I don;t know meson so maybe it is better
<freemangordon>
still, 874 open issues
<Wizzup>
just more to learn and remember for our overloaded brains :)
<freemangordon>
yeah
<uvos__>
lets reimplment hildon in rust
<freemangordon>
:D
<freemangordon>
no, in angularjs/nodejs, that way we will be sure noone knows what happens
<freemangordon>
and we can bet before first time we start h-d on how long it will take for it to start - 2 or 3 days :)