2018-07-02 GnuCash IRC logs

00:11:09 *** fell has quit IRC
00:17:42 *** fell has joined #gnucash
00:42:06 *** gour has joined #gnucash
00:43:08 *** Mechtilde has joined #gnucash
01:17:11 *** windboy has joined #gnucash
02:00:37 *** Mechtilde has quit IRC
02:40:06 *** fabior has joined #gnucash
02:58:14 *** fabior has quit IRC
03:14:24 *** fabior has joined #gnucash
03:23:31 <finster> jralls: on the brigth side, the compose key does work again in gnucash 3.2, so i can enter umlauts again :)
03:32:26 *** fabior has quit IRC
03:38:17 *** Cuare has quit IRC
03:51:17 *** fell has quit IRC
04:02:45 *** jotrago has quit IRC
04:17:24 *** fekepp has joined #gnucash
04:28:10 *** jotrago has joined #gnucash
04:29:39 *** ncv has joined #gnucash
04:43:34 *** fekepp has quit IRC
04:50:03 *** gjanssens has joined #gnucash
04:50:03 *** ChanServ sets mode: +o gjanssens
04:50:07 <gjanssens> .
04:50:07 <gncbot> gjanssens: Sent 1 day, 14 hours, and 41 minutes ago: <warlord> I don't quite understand the status issue with bugzilla you were talking about (with fell) earlier today. Could you explain more what the issue is?
04:53:10 *** fabior has joined #gnucash
04:57:21 *** sbluhm has joined #gnucash
05:07:04 *** fabior has quit IRC
05:50:59 *** fabior has joined #gnucash
05:53:04 *** fabior has quit IRC
05:53:48 *** User has joined #gnucash
06:05:52 *** pilotauto has quit IRC
07:01:04 *** boldstripe has joined #gnucash
07:24:51 *** harshitaneja has joined #gnucash
07:29:44 *** boldstripe_ has joined #gnucash
07:30:09 *** boldstripe has quit IRC
07:30:10 *** boldstripe_ is now known as boldstripe
07:42:58 *** oozer has joined #gnucash
07:57:44 *** Aussie_matt has joined #gnucash
08:16:56 *** windboy has quit IRC
08:20:29 *** harshitaneja has quit IRC
08:27:05 *** oozer has quit IRC
08:29:31 *** harshitaneja has joined #gnucash
08:34:04 *** harshitaneja has quit IRC
08:57:20 *** fabior has joined #gnucash
09:00:16 *** storyjesse has joined #gnucash
09:02:03 *** Aussie_matt has quit IRC
09:02:10 *** boldstripe has quit IRC
09:06:41 *** fabior has quit IRC
09:37:15 <warlord> .
09:57:04 *** Mechtilde has joined #gnucash
10:00:06 *** harshitaneja has joined #gnucash
10:01:50 *** kael has joined #gnucash
10:04:33 *** d-rock has quit IRC
10:26:16 *** harshitaneja has quit IRC
10:39:38 *** Mechtilde has quit IRC
10:46:06 *** harshitaneja has joined #gnucash
10:49:13 *** oozer has joined #gnucash
10:57:56 *** fell has joined #gnucash
11:06:04 *** omnireq has joined #gnucash
11:13:12 *** harshitaneja_ has joined #gnucash
11:14:36 *** harshitaneja has quit IRC
11:15:34 *** harshitaneja_ is now known as harshitaneja
11:20:55 *** storyjesse has quit IRC
11:32:50 *** RASSRQ has joined #gnucash
11:36:34 *** harshitaneja has quit IRC
11:37:29 *** harshitaneja has joined #gnucash
11:38:04 *** fabior has joined #gnucash
11:43:22 *** Mechtilde has joined #gnucash
11:43:54 *** fabior has quit IRC
12:03:02 <fell> I just see, we made it on the startpage of https://bugzilla.gnome.org/ ;-)
12:04:33 *** gncbot sets mode: +o fell
12:05:47 <warlord> fell: so we did!
12:09:35 <gjanssens> Interesting. I have just experienced what fell was talking about yesterday
12:09:55 <gjanssens> jralls: closed https://bugs.gnucash.org/show_bug.cgi?id=550232 as WONTFIX
12:10:11 <gjanssens> But I still had this bug open in a tab on my webbrowser
12:10:34 <gjanssens> And my webbrowser loaded it from cache when starting this morning
12:10:47 <gjanssens> (So it still was marked as NEW)
12:11:33 <gjanssens> After a page reload the status on top marks RESOLVED WONTFIX, but the dropdowns at the bottom of the bug suggest RESOLVED FIXED
12:12:01 <gjanssens> So if I were to add a comment and did not pay attention, I would inadvertently change the status of the bug.
12:12:41 <warlord> HUH. That's very odd.
12:13:08 <gjanssens> A force-reload of the page on the other hand does correct the situation. I now see RESOLVED WONTFIX in as suggested new state as well.
12:13:30 <gjanssens> Don't know how this happened but it looks like local cache is involved in the weird behaviour.
12:13:38 <gjanssens> Never seen this on gnome's BZ
12:24:01 <warlord> I wonder if it's an Apache caching mis-configuration?
12:56:05 *** User has quit IRC
13:06:50 *** bertbob has quit IRC
13:11:59 *** bertbob has joined #gnucash
13:15:10 *** bertbob has quit IRC
13:35:14 *** bertbob has joined #gnucash
13:40:19 *** bertbob has quit IRC
13:44:15 *** bertbob has joined #gnucash
13:47:35 *** fabior has joined #gnucash
13:52:07 *** fabior has quit IRC
14:11:06 *** bastianilso has joined #gnucash
14:22:02 *** Mechtilde has quit IRC
14:24:07 *** fabior has joined #gnucash
14:39:53 *** omnireq has quit IRC
14:40:00 *** frakturfreak has joined #gnucash
14:42:39 *** boldstripe has joined #gnucash
14:48:55 <gjanssens> jralls: looking around for the settings.ini issues on MacOS I found these paths where gtksettings is looking for that file:
14:48:59 <gjanssens> _gtk_get_data_prefix (), "share", "gtk-3.0", "settings.ini"
14:49:12 <gjanssens> _gtk_get_sysconfdir (), "gtk-3.0", "settings.ini"
14:49:24 <gjanssens> And a few others
14:49:56 <gjanssens> _gtk_get_data_prefix() returns the value of get_bundle_path
14:50:10 *** RASSRQ has quit IRC
14:50:24 <gjanssens> and _gtk_get_sysconfdir returns get_bundle_path/etc
14:51:45 <gjanssens> get_bundle_path seems to return the path to the bundle's resource directory.
14:51:59 <gjanssens> So it's odd settings.ini isn't found in there, right ?
14:52:56 <gjanssens> Oh, you had put it in <bundlepath>/etc/gtk-3.0, but it appears gtk looks for it in <bundlepath>/etc
14:54:53 <gjanssens> A few links:
14:55:05 <gjanssens> Code for get_bundle_path: https://gitlab.gnome.org/GNOME/gtk/blob/master/gtk/gtkquartz.c#L340
14:55:37 <gjanssens> the _gtk_get_data_prefix and _gtk_get_sysconfdir functions are defined a bit further down that file
14:55:42 <jralls> gjanssens: Right: get_bundle_path/etc/gtk-3.0/settings.ini.
14:57:14 <jralls> gjanssens: Are you running on a Mac and watching it in the debugger or are you inferring that from studying the code?
14:57:16 <gjanssens> yes, that's what I meant
14:57:31 <gjanssens> I'm just studying code. I don't have a mac available for testing :(
14:57:53 * jralls looks back at yesterday's debug session...
14:58:10 <gjanssens> I got curious when you said gtksettings is not picking up settings.ini in the bundle
14:58:45 <gjanssens> Unless gtkquarz.c is ignored for some reason
15:00:15 <jralls> Depends on if the functions in gtkquartz are called... BTW, it's better to look at the gtk-3-22 branch. gtk master is gtk-4 and works only on Linux atm.
15:01:11 <gjanssens> Yeah, I as looking at gtk-3.22 on my local system, but forgot to switch branches when digging up the links on gitlab
15:01:26 <gjanssens> On the other hand as I can't really help debug this, perhaps I should just shut up :x
15:02:32 <jralls> I thought that you don't have a Mac...
15:03:13 <gjanssens> I still have an old laptop, but it's too old to run gnucash 3.x
15:04:08 <jralls> Probably better to run Linux on it then unless there's some mac program that you need.
15:04:14 *** harshitaneja has quit IRC
15:05:34 <gjanssens> I keep it around as it's the only system in house I can use to connect to our governments lovely proprietary tax declaration software...
15:06:08 <gjanssens> They have decided to build their document signing around Acrobat Reader.
15:06:27 <gjanssens> In theory it should work with the last known version on linux (9.x) but in reality it doesn't.
15:06:41 <gjanssens> So I'm forced for the moment to do it on a Win or Mac
15:07:13 <gjanssens> As my Win system is virtual or in the basement it's impossible or inconvenient to attach a cardreader to it
15:07:18 <jralls> And better a Mac than Win... though I'm not wild about exposing old OSes to the net.
15:07:23 <gjanssens> Which I require to sign with my identity card.
15:07:37 <gjanssens> Neither am I :(
15:07:53 <gjanssens> I have spent hours discussing this with my support representative.
15:08:11 <gjanssens> He's in good faith but can't help me further.
15:08:28 <jralls> How about discussing a new Mac with your CFO? ;-)
15:10:23 <gjanssens> :) I could indeed. But as I'm in the business wor supporting linux, I prefer to get this resolved and I still have a few avenues to explore (given enough time)
15:10:35 <gjanssens> s/wor/of/
15:12:10 <jralls> It occurs to me that my debugging yesterday was with a run in the build directory and _gtk_get_bundle_path may not handle that correctly. It's been a few years since I wrote that...
15:12:36 * gjanssens figured it would be your code...
15:13:04 <gjanssens> And that would make sense
15:13:27 <gjanssens> get_bundle_path doesn't really seem to cater for that
15:16:27 <jralls> It's actually smart enough to get the current installation prefix, so from the debug session `p _gtk_get_sysconfdir()` returns /Users/john/Development/Gnucash-Build/Gnucash-master-git/inst/etc. But I'm running GnuCash uninstalled so I really want it to look in /Users/john/Development/Gnucash-Build/Gnucash-master-git/build/gnucash-git/etc.
15:17:07 *** boldstripe has quit IRC
15:17:25 <jralls> And it's my code cleaned up by The GIMP's Mitch Natterer, who wrote a lot of the original gtk quartz code.
15:20:04 <gjanssens> Ok
15:22:19 <jralls> So I guess the default settings file was being loaded, I just couldn't tell because the key-bindings line doesn't do anything and gtk-theme = Adwaita is a no-op. I'm still where I was yesterday, with trying to understand why settings isn't replacing the key-bindings.
15:26:11 <gjanssens> Yeah frustrating
15:28:31 *** harshitaneja has joined #gnucash
15:29:29 <gjanssens> Looks like it's hardcoded as you say
15:29:45 <gjanssens> It's being set in gtk_settings_create_for_display
15:30:07 <gjanssens> While settings.ini seems to be loaded at gtk init time
15:30:13 <jralls> Even more frustrating is https://bugs.gnucash.org/show_bug.cgi?id=796723 and https://bugs.gnucash.org/show_bug.cgi?id=794807 which manifest only when bundled.
15:31:06 <gjanssens> That's even more odd indeed...
15:31:45 <jralls> Oh... so gtk_settings_create_for_display may just be overwriting the value. That's easy to check in the debugger.
15:33:41 <gjanssens> I think the g_object_new is first calling gtk_settings_init and only then g_object_set with the passed in parameters
15:34:40 <jralls> Nope, gtk_settings_create_for_display is called first. *But* it may be that just means that some settings take effect before gtk_settings_load_from_key_file runs and so trying to change those values at runtime is ignored.
15:34:55 *** phebus has quit IRC
15:35:44 <gjanssens> Yes, gtk_settings_create_for_display is called first. But it calls g_object_new, which I believe will first call gtk_settings_init and only then will try to set the additional parameters
15:37:25 <gjanssens> gtk_settings_init will read the settings.ini files. So that will happen before the code overrides kick in.
15:37:32 <jralls> You're right. So I think that puts me back to gtk-key-theme-name in settings.ini being ignored.
15:37:46 <gjanssens> Indeed and now we know why
15:37:51 <gjanssens> Was this different in gtk2 ?
15:38:21 <jralls> Probably. It worked in gtk2. :-/
15:38:31 <gjanssens> Damn
15:39:58 <gjanssens> I'd consider this a gtk3 bug. They prevent user customization of this particular setting.
15:40:32 <gjanssens> There are two others by the way that get hardcoded like this and similar ones for Wayland and Broadway backends
15:40:53 <gjanssens> Instead I'd expect these settings to be the correct defaults on those platforms
15:41:25 <gjanssens> But that means it should be handled differently in Gtk itself
15:42:42 <gjanssens> Ok, checked out gtk2 2.24. These hardcoded overrides are indeed not there.
15:43:26 <gjanssens> Unless of course it's part of gtk's policy where they believe they know best and disable options if that fits the strategy
15:43:49 <jralls> There are certainly some gtk developers with that attitude.
15:44:23 <gjanssens> In any case there isn't much we can do on the gnucash side for this particular issue that I can see
15:44:48 <gjanssens> Unless the css code somehow also accepts gtk settings overrides (which may well be the case)
15:46:57 *** ncv has quit IRC
15:48:05 <jralls> Well, not exactly. I can patch that out in jhbuild.
15:49:30 <gjanssens> Yes, true.
15:49:41 <jralls> But copying gtk.css from the Emacs theme to etc/gtk-3.0 might work.
15:49:46 <gjanssens> I also found this at the very bottom of https://developer.gnome.org/gtk3/stable/chap-css-properties.html
15:50:11 <gjanssens> -gtk-key-bindings
15:50:26 <gjanssens> I don't know really if that helps in this context
15:50:40 <jralls> Yes, that's what's in the key-theme gtk.css.
15:51:07 <jralls> The CSS properties underly everything else.
15:51:30 <gjanssens> Ok
15:51:51 <jralls> It does occur to me that there are probably Mac users who'd rather not have emacs keybindings.
15:52:05 <gjanssens> True
15:52:15 <gjanssens> So preferably it should be configurable
15:52:30 <jralls> Or at least would like to have the Mac ones, too. A lot of Mac software can use both.
15:52:56 <gjanssens> BTW Belgium is currently going crazy with soccer.
15:53:19 <gjanssens> There's a big screen on the town square where about the whole village is watching.
15:53:29 <gjanssens> I hear them scream until here...
15:54:04 <gjanssens> Very distraction :D
15:54:12 <gjanssens> distracting*
15:54:32 <gjanssens> It appears Belgium has won from Japan...
15:54:53 <jralls> IIUC everywhere in the world except the USA is going crazy about what we call soccer and everyone else calls football.
15:55:04 <gjanssens> Indeed
15:55:07 <jralls> A four-yearly ritual.
15:55:12 <gjanssens> Indeed
16:00:26 <jralls> So back to gtk... Here's the change that added the settings: https://github.com/GNOME/gtk/commit/4226f97d540ecd8cb5995184bfba7a1102560740
16:01:02 <jralls> The commit message is about broadway on an iPad, a rather intriguing but I'll bet not widely used option.
16:03:30 <gjanssens> No that's not the change. the hardcoding on QUARZ was already there, it just got reindented
16:04:12 <gjanssens> https://github.com/GNOME/gtk/commit/4226f97d540ecd8cb5995184bfba7a1102560740#diff-eab25c2d6062eb817b010d198dd2da9dL1673
16:04:35 <gjanssens> (actually enclosed in { })
16:05:57 <jralls> Right. It's https://github.com/GNOME/gtk/commit/88f16b13f323711f59b0953fcd2139d36eaea7ad. Allison/Ryan Lortie, definitely one of the "I know better than you" crowd.
16:08:51 <gjanssens> And even that's not the one :)
16:09:03 <gjanssens> The harcoding of keybindings was already there.
16:09:10 <jralls> Nope, still not right. It's https://github.com/GNOME/gtk/commit/172f894120810f8e1bf2048adff5174018af72e1 from Benjamin Otte. He was concerned that in a multi-backend build the Mac theme might leak over to X11.
16:09:16 <jralls> Perish the thought!
16:09:30 <gjanssens> ;)
16:10:55 <gjanssens> Hmm given his reasoning it's probably not much use creating a bug report asking to set a default instead of overriding.
16:12:35 <gjanssens> But his choice does kill Macos users' freedom to override the default :(
16:14:04 <jralls> No, the bug is that the default becomes the only. The gtk_settings_init code needs to be adjusted so that the properties set by g_object_init are done before loading the settings files.
16:16:33 <gjanssens> Hmm, isn't that imposed by the way g_object works ?
16:17:13 *** frakturfreak has quit IRC
16:17:16 <gjanssens> g_object_new first calling the object's init function (gtk_settings_init) in this case and then g_object calling g_object_set with the list of parameters passed in ?
16:17:44 <gjanssens> I don't see how gtk_settings_init can interfere with this, but perhaps I don't understand the deeper subtleties of the GObject framework
16:19:17 <jralls> No, I think that you understand correctly. It means that reading the settings file needs to be moved to a separate function after creating the g_object.
16:20:21 <gjanssens> Ah, ok. That does make sense indeed.
16:21:08 <jralls> Extract a function "gtk_settings_load_from_config" (which should be done anyway, gtk_settings_init is way too long, a widespread problem in all Gnome code including ours) and call it at what's now line 1932.
16:25:28 <gjanssens> Yep that should do it...
16:25:57 <gjanssens> I'll admit I'm not really focused on short functions either
16:29:39 <jralls> It's amazing how classes can help with that. A lot of functions grow huge because it's too hard or too ugly to pass around a bunch of state that subfunctions would need. But if that state is wrapped up in an object then all of the passing overhead goes away.
16:30:17 <jralls> But GObject doesn't help much because creating and managing memory of objects it too hard.
16:30:36 *** frakturfreak has joined #gnucash
16:32:08 <gjanssens> Thanks. That's a helpful point of view.
16:32:59 <gjanssens> I know some of my initial classes in the csv importer still suffer from "too long". I'm still in the mind shift from procedural to OO
16:33:05 <gjanssens> Though I prefer OO by far
16:33:17 <gjanssens> Decent OO that is.
16:36:48 *** frakturfreak has quit IRC
16:37:21 <jralls> OO does require a major mind-shift to write fluently. I found learning to write OO Perl to be a major help, it exposes just enough of what's really going on to be able to grasp the concept.
16:38:13 *** fabior has quit IRC
16:40:53 <gjanssens> Well yea, I have started my career in OO way back in 1997, but OO has moved on while I got diverted to other jobs :)
16:41:05 <gjanssens> I'm slowly catching up
16:41:19 <gjanssens> At least I'd like to believe that ;p
16:43:38 <jralls> It isn't so much that OO has moved on, it's that the OO teachers in the 90s were all hung up on object hierarchies and how building cars was OO. Very confusing and the mental model led to some very bad code.
16:44:59 <warlord> My OO instructors (in the early 90s) talked about Abstraction and Interface vs Implementation.
16:45:01 *** bastianilso has quit IRC
16:45:04 <warlord> C.f. CLU
16:45:20 <warlord> Oh, and Inheritance.
16:45:35 <warlord> I'm not sure how building cars is OO
16:50:16 *** gour has quit IRC
16:53:53 *** oozer has quit IRC
16:55:31 <jralls> Me, either. But it was supposed to explain classes and hierarchies some how.
16:59:45 <warlord> I don't see how. But whatevs.
17:01:43 <jralls> Anyway, gtg.
17:01:50 *** jralls is now known as jralls_afk
17:04:25 *** oozer has joined #gnucash
17:30:18 *** oozer has quit IRC
17:38:05 *** gjanssens has quit IRC
17:56:16 *** fell has quit IRC
18:20:14 *** kael has quit IRC
18:50:56 *** oozer has joined #gnucash
19:27:26 *** calvinct has joined #gnucash
19:38:47 *** calvinct has quit IRC
20:37:46 *** chris has quit IRC
20:43:01 *** oozer has quit IRC
21:03:37 *** pilotauto has joined #gnucash
22:03:56 *** fell has joined #gnucash
22:13:01 *** gncbot sets mode: +o fell
22:38:47 *** fell has quit IRC
23:23:01 *** fell has joined #gnucash