Kodi Community Forum
guisettings.xml documentation table, list, anything? - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: OS independent / Other (https://forum.kodi.tv/forumdisplay.php?fid=228)
+---- Thread: guisettings.xml documentation table, list, anything? (/showthread.php?tid=363107)



guisettings.xml documentation table, list, anything? - raspberry_pd - 2021-06-14

Is there an explanation of which settings in guisettings.xml map to which labels in Settings? If there is, unable to find it. Just a wiki page with 'expect to see this' type of screenshots.

Would like to set defaults and whilst I have identified some settings ids because they are more obviously named or have meaningful values I can work back from, some do not.

For example ...
 
  1. what is the setting for the two Allow remote control from ... settings?
  2. How do I force Settings into Expert mode?
  3. What do the numbers in stretch43 correspond to?
These and more would be great to know Smile


RE: guisettings.xml documentation table, list, anything? - Karellen - 2021-06-14

(2021-06-14, 08:04)raspberry_pd Wrote: Is there an explanation of which settings in guisettings.xml map to which labels in Settings?
No there is not. Best I can offer you is the code on Github, but I dont' think that will be much use to you... https://github.com/xbmc/xbmc/tree/master/xbmc/settings

There are hundreds of settings, and I doubt anybody on the Team knows them off the top of their head.

Your best avenue is to diff the guisettings.xml file before and after the changes. Try this site... https://www.diffchecker.com/
1. Copy the contents of the file to the above site
2. Go back into Kodi and change to those settings you want to find. Exit Kodi. Now copy the contents of the file to the site and diff them. It will highlight those settings that have changed.

Don't know if this is of any use to you... https://kodi.wiki/view/Advancedsettings.xml#guisettings.xml_Setting_Conversion


RE: guisettings.xml documentation table, list, anything? - raspberry_pd - 2021-06-14

(2021-06-14, 08:20)Karellen Wrote:
(2021-06-14, 08:04)raspberry_pd Wrote: Is there an explanation of which settings in guisettings.xml map to which labels in Settings?
No there is not. Best I can offer you is the code on Github, but I dont' think that will be much use to you... https://github.com/xbmc/xbmc/tree/master/xbmc/settings

There are hundreds of settings, and I doubt anybody on the Team knows them off the top of their head.

Your best avenue is to diff the guisettings.xml file before and after the changes. Try this site... https://www.diffchecker.com/
1. Copy the contents of the file to the above site
2. Go back into Kodi and change to those settings you want to find. Exit Kodi. Now copy the contents of the file to the site and diff them. It will highlight those settings that have changed.

Don't know if this is of any use to you... https://kodi.wiki/view/Advancedsettings.xml#guisettings.xml_Setting_Conversion

Thank you! Confirming what is not available is super useful. Stops me endlessly searching. Good to know I still have some sort of ability to intuit the scope of a research effort sometimes as well Smile

Funnily enough, I went down a similar route but using git diff instead. I'm OK with doing the guisettings.xml conversion ... it's just really slow that way Smile

Poked around the source code as well, but I expected to find a lot of xml files. I know they are often in skins but doesn't Estuary have xml files? Or is that a separate repo? Or maybe not an actually separate 'skin' in the same was third party skins are structured?

100s of settings? Hmmm, that just makes me masochistically more inclined to get them documented Smile I guess it would have to be an effort people thought was useful though. One the devs would be willing to keep updated over time.


RE: guisettings.xml documentation table, list, anything? - DaveBlake - 2021-06-14

There is no explanation of guisettings.xml, why would there be? Moreover manually editing guisettings.xml is not the way to set default values for settings.

It sounds to me that what you want to do is more related to creating using an advancedsettings.xml file. Look that up in wiki.

But to understand more of how Kodi settings are referenced means looking at the code on Github. The labels you see on the settings screen are defined in https://github.com/xbmc/xbmc/blob/Matrix/system/settings/settings.xml
This connects the text displayed to an "id", so for example
Code:
<setting id="videoplayer.autoplaynextitem" type="list[integer]" label="13433" help="36152">
"videoplayer.autoplaynextitem" is the ID you also see in guisettings.xml and can use in advancedsettings.xml
13433 is the code for the language specific text you see
36152 is the code for the language specific description you see at the bottom of the screen when you hover over that setting

The text for these code values can be looked up as msgctxt in https://github.com/xbmc/xbmc/blob/master/addons/resource.language.en_gb/resources/strings.po
 
(2021-06-14, 08:04)raspberry_pd Wrote:
  • what is the setting for the two Allow remote control from ... settings?
Look in strings.po for "Allow remote control from..."
Code:
#: system/settings/settings.xml
msgctxt "#14276"
msgid "Allow remote control from applications on this system"
msgstr ""
Then look for in settings.xml for 14276
Code:
<setting id="services.esenabled" type="boolean" label="14276" help="36334">
The setting is services.esenabled

I hope that explanation of how to research this is helpful.


RE: guisettings.xml documentation table, list, anything? - DaveBlake - 2021-06-14

Estuary, as the default skin, is also in the Kodi main repo. Files can be found here https://github.com/xbmc/xbmc/tree/Matrix/addons/skin.estuary

(2021-06-14, 12:02)raspberry_pd Wrote: 100s of settings? Hmmm, that just makes me masochistically more inclined to get them documented Smile I guess it would have to be an effort people thought was useful though. One the devs would be willing to keep updated over time.
Volunteers to contribute to Kodi are always welcome, that includes writing documentation. However you would need to be pretty self-starting and independant, reseraching and figuring out how Kodi works etc., because the small team don't have spare time to explain in detail simple point in a direction.

Also no one can tell someone else to work on something specific, even the team members are just volunteers working collaboratively on the things that interest them or helping out where they can. So there is no way to promise anything you write will be maintained by anyone else, that is even true or core functionality over time. All work on Kodi is about offering your skills and time for the joy of it and hope for the best.


RE: guisettings.xml documentation table, list, anything? - raspberry_pd - 2021-06-14

(2021-06-14, 12:38)DaveBlake Wrote: There is no explanation of guisettings.xml, why would there be?
Why would there not be? There's a lot of documentation on other aspects of Kodi and documentation is generally considered a good thing.


RE: guisettings.xml documentation table, list, anything? - raspberry_pd - 2021-06-14

(2021-06-14, 12:38)DaveBlake Wrote: There is no explanation of guisettings.xml, why would there be? Moreover manually editing guisettings.xml is not the way to set default values for settings.

It sounds to me that what you want to do is more related to creating using an advancedsettings.xml file. Look that up in wiki.

But to understand more of how Kodi settings are referenced means looking at the code on Github. The labels you see on the settings screen are defined in https://github.com/xbmc/xbmc/blob/Matrix/system/settings/settings.xml
This connects the text displayed to an "id", so for example
Code:
<setting id="videoplayer.autoplaynextitem" type="list[integer]" label="13433" help="36152">
"videoplayer.autoplaynextitem" is the ID you also see in guisettings.xml and can use in advancedsettings.xml
13433 is the code for the language specific text you see
36152 is the code for the language specific description you see at the bottom of the screen when you hover over that setting

The text for these code values can be looked up as msgctxt in https://github.com/xbmc/xbmc/blob/master/addons/resource.language.en_gb/resources/strings.po
 
(2021-06-14, 08:04)raspberry_pd Wrote:
  • what is the setting for the two Allow remote control from ... settings?
Look in strings.po for "Allow remote control from..."
Code:
#: system/settings/settings.xml
msgctxt "#14276"
msgid "Allow remote control from applications on this system"
msgstr ""
Then look for in settings.xml for 14276
Code:
<setting id="services.esenabled" type="boolean" label="14276" help="36334">
The setting is services.esenabled

I hope that explanation of how to research this is helpful.

It is, thanks. Funny thing? I was already on that path as I guess my URL post to strings.po indicated. Same with what Kerallan has kindly suggested. I'm guessing you did not read my replies to Kerallan though (often do the same, jump to reply to the initial post, without reading the interim posts ... hopefully a habit I can reduce Smile ) because I mentioned the bizarre absence (seemingly) of XML files in the source.

From previous experience I was thinking "XML, XML, where are these XML files!". Still cannot see any in the GitHub repo via browser. They are almost exclusively .cpp or .h[/] files. Maybe there is something in one of my many browser defences that is hiding them. Hmmmm. This mystery is nagging me more than how to chop up / reply in context to your post with (always handy?) inline quotes. Give this WYSIWYG editor looks familiar before I even check ... CKeditor? ... that's odd!  Hahaha.

Hmmm, my headaches must have got the better of me. I mean, I know I was looking for [inline]SettingsCategory.xml
because that is the window the log stated it was opening as I watched it. Otherwise I was looking for Settings.xml. You know, I think I came across this page though:

https://github.com/xbmc/xbmc/tree/Matrix/system/settings

... and assumed all the files were platform-specific because that appears to be the distinction in the naming scheme! Yet there it is, little Settings.xml Smile

OK, yep maybe I am better off pulling the whole source and git grepping it instead. Was considering that but ... look after your health kids, you do not want my troubles!


RE: guisettings.xml documentation table, list, anything? - raspberry_pd - 2021-06-14

(2021-06-14, 12:55)DaveBlake Wrote: Estuary, as the default skin, is also in the Kodi main repo. Files can be found here https://github.com/xbmc/xbmc/tree/Matrix/addons/skin.estuary
Crikey! Unsure how I missed that. Thanks!
(2021-06-14, 12:55)DaveBlake Wrote:
(2021-06-14, 12:02)raspberry_pd Wrote: 100s of settings? Hmmm, that just makes me masochistically more inclined to get them documented Smile I guess it would have to be an effort people thought was useful though. One the devs would be willing to keep updated over time.
Volunteers to contribute to Kodi are always welcome, that includes writing documentation. However you would need to be pretty self-starting and independant, reseraching and figuring out how Kodi works etc., because the small team don't have spare time to explain in detail simple point in a direction.

Also no one can tell someone else to work on something specific, even the team members are just volunteers working collaboratively on the things that interest them or helping out where they can. So there is no way to promise anything you write will be maintained by anyone else, that is even true or core functionality over time. All work on Kodi is about offering your skills and time for the joy of it and hope for the best.
The latter is not what I was suggesting. I am familiar with some models of open source, but there are more than one. Nonetheless I was familiar with the arguably anarchic ethos (too strong a word?) within the Kodi 'interpretation' of open source. Though perhaps was ever so slightly hoping that might have changed even a little.

Also, there's "welcome" and there's "embraced". Maybe that is just semantics but some projects go as far as 'onboarding' volunteers so maybe not.

My point was that effort has to be valued, or it is not worthwhile. I want to help people other than just myself. If this idea would not be useful to anyone, that's that.

Secondly, bitrot is arguably worse than not documenting at all. So I guess unless developers - I had assumed there was some sort of developer inclination towards documentation (or at least liaising with those volunteers who may do the documentation for said developers ... because few devs like doing that stuff  Big Grin ) - and you have reminded me this assumption is all but false Sad . A timely reminder. So I guess I can thank you for probably saving me a lot of time.


RE: guisettings.xml documentation table, list, anything? - DaveBlake - 2021-06-14

I had read all your posts that were availlable when I started my reply @raspberry_pd I always do, we simply cross posted.
 
(2021-06-14, 14:47)raspberry_pd Wrote: Nonetheless I was familiar with the arguably anarchic ethos (too strong a word?) within the Kodi 'interpretation' of open source. Though perhaps was ever so slightly hoping that might have changed even a little.

Also, there's "welcome" and there's "embraced". Maybe that is just semantics but some projects go as far as 'onboarding' volunteers so maybe not.

My point was that effort has to be valued, or it is not worthwhile. I want to help people other than just myself. If this idea would not be useful to anyone, that's that.
I have no idea how I would describe team Kodi's approach to open source. If it was me creating the project a fresh sure I would do things differently, but I'm just one guy and Kodi is a very mature project thus difficult to change in very many ways.

I totally get why some people won't spend time on something unless they know it will be valued, but in the end I personally decided to take the risk and I invested my efforts without any such guarentees. Every team member has done that and still does to some extent, every succesfull contributor to Kodi (and all the unsuccessful ones too). So far the risk has payed off overall, I have helped people, implemented new features and fixed bugs, but every piece of work I do on Kodi, every forum reply etc. could be wasted effort on my part. Some of that effort certainly has been. My choice, and not suggesting anyone else should do the same, but "has to be valued" is your opinion and not a fact. My post was simply an attempt to manage expectations, not a comment on anything more.
(2021-06-14, 14:47)raspberry_pd Wrote: Secondly, bitrot is arguably worse than not documenting at all. So I guess unless developers - I had assumed there was some sort of developer inclination towards documentation (or at least liaising with those volunteers who may do the documentation for said developers ... because few devs like doing that stuff  Big Grin ) - and you have reminded me this assumption is all but false Sad . A timely reminder. So I guess I can thank you for probably saving me a lot of time.
There are two ways to respond to bitrot:
a) look at what has rotted so far, fear only more will happen and walk away
b) decide to try to improve the situation.

Kodi has no magic resources (people) to call on, so even if all current (fully occupied) team members see a problem or need for documentation unless one of them decides to do something about it themselves then nothing can created or fixed. This is true for the entire Kodi community. Unlike a business that can hire people to provide X, Kodi waits for volunteers (with a taste for risk, and does not need too much appreciation) to step up.

I have often thought that all kinds of documentation could be useful for both users or devs, but decided my skills and limited time are better used in other ways. I have even spent many hours with individuals that offered to document aspects of Kodi implementation and design, explaining in detail things which a more skilled tech author could decude for themselves, only for them to vanish without producing anything. That was risk that didn't pay off, and I'm not in a rush to repeat it.

I think my attitude is just a pragmatic one. Working on something with millions of users across a diversity of platforms, Kodi can burn you to frazzle if you let it, so yes sometimes team members tempers flare at what sounds like user expectation or criticism. We are all human and, if you think about what we do for the joy of it, pretty decent humans generally.

That is not to suggest you were imply anything different @raspberry_pd, but just to leave information that you and any others reading this could find useful.


RE: guisettings.xml documentation table, list, anything? - darkj2k - 2021-12-22

(2021-06-14, 08:04)raspberry_pd Wrote: How do I force Settings into Expert mode?
In guisettings.xml:

Code:
<general>
        <settinglevel>1</settinglevel> <!-- 0:Basic, 1:Standard (default), 2:Advanced, 3:Expert -->
</general>

I haven't found a way to put it in advancedsettings.xml and make it work. Appreciate it if someone know how to do it.


RE: guisettings.xml documentation table, list, anything? - Karellen - 2021-12-22

(2021-12-22, 04:54)darkj2k Wrote: I haven't found a way to put it in advancedsettings.xml and make it work. Appreciate it if someone know how to do it.
Its all documented here... https://kodi.wiki/view/Log_file/Advanced

The method you used won't work in all cases. eg when Kodi crashes on startup, it is possible the startup process does not reach the loading of the guisettings.xml file.


RE: guisettings.xml documentation table, list, anything? - DaVu - 2021-12-30

Another reason which makes hard to document the guisettings.xml is, that this won't be a "generic" documentation as some settings rely on the OS Kodi runs on. It's already complicated enough to keep the Kodi wiki settings up to date and explain those settings to those users who read that wiki and make sure they understand that some settings are for Windows only others might be for Android and so on. 

And yes, I have to agree to @DaveBlake. Editing the guisettings.xml is not the normal way to set up Kodi. This file presents what users are able to set via GUI. So why not using it? Wink

Only in some rare cases users might be in need to modify that file manually. For example if someone set the gui language to some chinese language and you simply can't use the gui anymore. But those cases should be pretty rare.