David,

WSL works very well and might be more convenient than a separate Linux box.

You might also try editing the gcm file and changing a couple of column widths 
in one existing account section to see if that sticks.

Regards,
John Ralls

> On Feb 1, 2026, at 07:59, David T. <[email protected]> wrote:
> 
> John, 
> 
> Thanks for the suggestions. 
> 
> Knowing how challenging it is to compile on Windows, I'm not sure I'll 
> succeed in following that path, but I'll see what transpires. I do have 
> access to a Fedora box; I think I'll try the same experiment there and see 
> what happens. If it fails the same way, maybe I can compile there and get 
> debug data. 
> 
> I did at one point succeed in compiling 5.13 on that box, so I believe I 
> probably could again. If I get to that point, I'm sure I'll be asking for 
> guidance on setting the necessary compile flag. 
> 
> I did look at the original gcm file and compared EOL characters in my 
> modified version, but I didn't see any differences. Both had Windows CRLF EOL 
> characters. 
> 
> I will note that when I examined the original gcm file, the register 
> information was placed ahead of the metadata for opened tabs (tagged as Page 
> n), and that for my modified gcm, I put all the register settings at the end 
> of the file, to simplify the scripting. I figured that GnuCash would process 
> the entire gcm at startup and the ordering wouldn't matter. I will try 
> modifying the output to restore the original sequence and see whether that 
> changes anything. 
> 
> Thanks, 
> David T.
> 
> 
> On February 1, 2026 1:58:52 AM GMT+05:30, John Ralls <[email protected]> 
> wrote:
>> David,
>> 
>> I don’t see any obvious reason that it would fail as long as you’re sure 
>> that you spelled everything correctly. The function that sets the column 
>> widths is gnucash_register_configure at 
>> https://github.com/Gnucash/gnucash/blob/e0d9d336baee2292b6ddad7ecbc44957baaf4fc6/gnucash/register/register-gnome/gnucash-register.c#L455.
>>  GNC_PREF_SAVE_GEOMETRY is set with Preferences>Windows>Window>Save Window 
>> Size and Shape. It also controls saving so you must have it enabled or you 
>> wouldn’t have found those entries in the first place.
>> 
>> The first thing I’d do would be to try it in the debugger, but it requires 
>> full debug symbols and that means building GnuCash yourself with 
>> CMAKE_BUILD_TYPE=Debug.
>> 
>> A less onerous approach would be to turn on debug logging for gnc.register. 
>> There isn’t a lot of logging in there so it might not help; unfortunately 
>> there isn’t any at all in the state file loading code.
>> 
>> Assuming that you’ve carefully compared the two gcm files to ensure that all 
>> of the sections and keys are exactly the same, it occurs to me that there 
>> may be a line ending difference that would be invisible but might trip up 
>> the Glib keyfile loading code and result in the section or keys not being 
>> found.
>> 
>> Regards,
>> John Ralls
>> 
>>> On Jan 31, 2026, at 00:41, David T. via gnucash-user 
>>> <[email protected]> wrote:
>>> 
>>> Hello,
>>> 
>>> I am a longtime GnuCash user (19 years) with GC 5.14 (2025-12-10 build) on 
>>> Windows 11.
>>> 
>>> I was reading a thread recently regarding register column widths, and I 
>>> decided to try to work out a mechanism to set column widths for every 
>>> account in my book, by account type. Specifically, I wanted to ensure that 
>>> any account of type STOCK or MUTUAL had rational column widths for balance, 
>>> debit, credit, price, and shares.
>>> 
>>> I started by opening an existing gcm file and noting the column width 
>>> variables. Every register that has had its columns set has a section in the 
>>> gcm file with values for all columns, identified by the account GUID:
>>> 
>>> [Register XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX]
>>> date_width=133
>>> num_width=44
>>> reconcile_width=33
>>> balance_width=130
>>> transfer_width=600
>>> debit_width=125
>>> credit_width=125
>>> 
>>> Accounts of type STOCK or MUTUAL have additional lines:
>>> shares_width=100
>>> price_width=133
>>> 
>>> I figure that I should be able to write out a gcm file with column settings 
>>> for every account in the book, and this *should* make it so that any 
>>> account I open gets my preferred column settings--regardless of whether I 
>>> have actually set the columns on that register.
>>> 
>>> I created a simple python script that takes a csv list of all accounts in 
>>> my book (derived from an SQL copy of my data file, and the SQL query 
>>> "SELECT guid, account_type FROM accounts;") and writes my preferred column 
>>> settings into a new gcm file.
>>> 
>>> For full disclosure, I started with a copy of the existing gcm file, 
>>> stripped out all register-related data, and then pushed new register 
>>> settings combined with this base gcm data into a new text file.
>>> 
>>> In theory now, if I put this new gcm file into the proper location (in my 
>>> case, c:\users\sunfi\AppData\Roaming\Gnucash\books\myfile.gcm) and fire up 
>>> GnuCash, I would expect every account to open with the new preferred column 
>>> settings.
>>> 
>>> Unfortunately, that doesn't seem to happen. Once GnuCash opens, it seems to 
>>> rewrite every single entry in the gcm file to some preset values based on 
>>> some sort of unspecified criteria, undoing the changes I inserted. So, for 
>>> example, if I set debit_width in every case to be 125 (as above), once I 
>>> open GnuCash, the debit_width *in every single entry* gets reset to 88.
>>> 
>>> Do any devs have insight into what is going on here? Why doesn't GnuCash 
>>> respect its own gcm file settings? Why rewrite this file in this way? Is it 
>>> even possible for me to set column widths in the gcm file and have them 
>>> persist?
>>> 
>>> I would really like to have my register settings a certain way, and going 
>>> through a thousand registers one by one to reset the columns is not viable.
>>> 
>>> -- 
>>> David T.
>>> 
>>> _______________________________________________
>>> gnucash-user mailing list
>>> [email protected]
>>> To update your subscription preferences or to unsubscribe:
>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>>> -----
>>> Please remember to CC this list on all your replies.
>>> You can do this by using Reply-To-List or Reply-All.
>> 

_______________________________________________
gnucash-user mailing list
[email protected]
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

Reply via email to