-
Notifications
You must be signed in to change notification settings - Fork 123
Xfconf Tutorial #4948
Xfconf Tutorial #4948
Conversation
jenkins build libelektra please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe a short section on when what namespace makes sense. Other than that LGTM!
doc/tutorials/xfconf.md
Outdated
# Setting the value to `false` beforehand | ||
xfconf-query -c thunar -p /misc-single-click -s false -t bool -n | ||
|
||
kdb set /sw/xfce4/thunar/misc-single-click TRUE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is dir:
where this should end up? Maybe user:
or spec:
might make more sense, no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your review! You are right, the namespace which makes most sense to me are user:
and system:
. I just have overseen, that the default seemed to change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
jenkins build libelektra please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tutorial is great and easy to follow but doesn't provide enough material to be actually able to reconfigure xfce4 and unfortunately did not work on Debian bullseye.
doc/tutorials/xfconf.md
Outdated
# Setting the value to `false` beforehand | ||
xfconf-query -c thunar -p /misc-single-click -s false -t bool -n | ||
|
||
kdb set system:/sw/xfce4/thunar/misc-single-click TRUE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, 12 warnings were issued ;(
1: Module backend issued the warning C01200:
Installation: No storage plugin defined for kdbGet(). You probably forgot to set 'system:/elektra/mountpoints/proc:\/sw\/xfce4\/thunar/definition/positions/get/storage'. If the configuration is intentional, you can silence this warning by setting 'system:/elektra/mountpoints/proc:\/sw\/xfce4\/thunar/definition/positions/get/storage/omit' to any value. (Configuration of mountpoint: 'proc:/sw/xfce4/thunar')
2: Module kdb issued the warning C01320:
Interface: Calling the kdbInit function for the backend plugin ('backend') of the mountpoint 'proc:/sw/xfce4/thunar' has failed.
3: Module backend issued the warning C01200:
Installation: No storage plugin defined for kdbGet(). You probably forgot to set 'system:/elektra/mountpoints/dir:\/sw\/xfce4\/thunar/definition/positions/get/storage'. If the configuration is intentional, you can silence this warning by setting 'system:/elektra/mountpoints/dir:\/sw\/xfce4\/thunar/definition/positions/get/storage/omit' to any value. (Configuration of mountpoint: 'dir:/sw/xfce4/thunar')
4: Module backend issued the warning C01200:
Installation: You defined a set-resolver plugin, but no storage plugin for kdbSet(). You probably forgot to set 'system:/elektra/mountpoints/dir:\/sw\/xfce4\/thunar/definition/positions/set/storage'. (Configuration of mountpoint: 'dir:/sw/xfce4/thunar')
5: Module kdb issued the warning C01320:
Interface: Calling the kdbInit function for the backend plugin ('backend') of the mountpoint 'dir:/sw/xfce4/thunar' has failed.
6: Module backend issued the warning C01200:
Installation: No storage plugin defined for kdbGet(). You probably forgot to set 'system:/elektra/mountpoints/user:\/sw\/xfce4\/thunar/definition/positions/get/storage'. If the configuration is intentional, you can silence this warning by setting 'system:/elektra/mountpoints/user:\/sw\/xfce4\/thunar/definition/positions/get/storage/omit' to any value. (Configuration of mountpoint: 'user:/sw/xfce4/thunar')
7: Module backend issued the warning C01200:
Installation: You defined a set-resolver plugin, but no storage plugin for kdbSet(). You probably forgot to set 'system:/elektra/mountpoints/user:\/sw\/xfce4\/thunar/definition/positions/set/storage'. (Configuration of mountpoint: 'user:/sw/xfce4/thunar')
8: Module kdb issued the warning C01320:
Interface: Calling the kdbInit function for the backend plugin ('backend') of the mountpoint 'user:/sw/xfce4/thunar' has failed.
9: Module backend issued the warning C01200:
Installation: No storage plugin defined for kdbGet(). You probably forgot to set 'system:/elektra/mountpoints/system:\/sw\/xfce4\/thunar/definition/positions/get/storage'. If the configuration is intentional, you can silence this warning by setting 'system:/elektra/mountpoints/system:\/sw\/xfce4\/thunar/definition/positions/get/storage/omit' to any value. (Configuration of mountpoint: 'system:/sw/xfce4/thunar')
10: Module backend issued the warning C01200:
Installation: You defined a set-resolver plugin, but no storage plugin for kdbSet(). You probably forgot to set 'system:/elektra/mountpoints/system:\/sw\/xfce4\/thunar/definition/positions/set/storage'. (Configuration of mountpoint: 'system:/sw/xfce4/thunar')
11: Module kdb issued the warning C01320:
Interface: Calling the kdbInit function for the backend plugin ('backend') of the mountpoint 'system:/sw/xfce4/thunar' has failed.
12: Module kdb issued the warning C01320:
Interface: The init phase of kdbGet() has failed. See warnings for details.
Sorry, module backend issued the error C01200:
Installation: You defined a set-resolver plugin, but no storage plugin for kdbSet(). You probably forgot to set 'system:/elektra/mountpoints/proc:\/sw\/xfce4\/thunar/definition/positions/set/storage'. (Configuration of mountpoint: 'proc:/sw/xfce4/thunar')
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#4947 fixed this. Since I rebased this PR after you tried it, that should work now.
|
||
```shell | ||
# Use Elektra instead of Xfconf system-wide | ||
kdb xfconf-system-lib-replace |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/usr/lib/libxfconf-0.so.3.0.0 not found
on my system it is in /usr/lib/x86_64-linux-gnu/libxfconf-0.so.3.0.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#4960 Should solve this
doc/tutorials/xfconf.md
Outdated
kdb xfconf-user-lib replace | ||
|
||
# When replacing only the users library, either restart the session or run | ||
source ~/.xprofile |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ERROR: ld.so: object '/usr/lib/libxfconf-elektra-5.0.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
. It should be export LD_PRELOAD="/usr/lib/libxfconf-elektra.so"
inestead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#4960 should solve this
doc/tutorials/xfconf.md
Outdated
#> Create a new key system:/sw/org/xfce/xfconf/test/hello with string "world" | ||
|
||
# Verify it with Xfconf | ||
xfconf-query -c test -p hello |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Property "hello" does not exist on channel "test"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is solved by 5d83e51
However, Xfce also uses some properties that are not stored in Xfconf. | ||
These properties will not work properly. | ||
An example of such a property is the Gtk theme. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Give a bit more examples what can be done. kdb set system:/sw/xfce4/thunar/misc-single-click TRUE
didn't work for me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed it a bit in abb6523 which should work now
doc/tutorials/xfconf.md
Outdated
kdb xfconf-system-lib-replace | ||
|
||
# Use Elektra instead of Xfconf only for the current user | ||
kdb xfconf-user-lib replace |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
kdb xfconf-user-lib replace | |
kdb xfconf-user-lib-replace && source ~/.xprofile |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done in 8486a89
|
||
```shell | ||
# Set an Xfconf property with Elektra | ||
kdb set system:/sw/org/xfce/xfconf/test/hello world |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
kdb: symbol lookup error: /usr/lib/libxfconf-elektra.so: undefined symbol: g_log
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be solved by #4960
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like some dependency is missing.
Did you test also on Debian bullseye? In general some additional testing would be great.
src/plugins/xfconf/README.md
Outdated
- infos/provides = storage/xfconf | ||
- infos/provides = storage/xml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be in a different PR to merge it first.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was actually an accident. I committed it in two different PRs, the other one was #4947. Since I rebased this PR with the master, this PR will not change anything regarding this.
doc/tutorials/xfconf.md
Outdated
|
||
The following table shows a comparison between the different type systems. | ||
|
||
| Xfconf | Elektra | Note | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please also a xfce4 example per type.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Xfce actually only uses a few of them. I added examples to the types I have found in abb6523.
Btw. I think also restart of xfconfd is needed so that some parts of the tutorial actually can work? (Logout/Login does not restart xfconfd for me, and without restart it cannot pick up a different library). |
I do not think that this is necessary. Xfconfd is only used by the original libxfconf-0 for things such as caching or property monitoring. Since the Xfconf implementation of Elektra does not use it at all, it should be no problem. However, I do not know if some applications interact directly with it (which they definitely should not do at all). For that it should be enough to just kill it but I never run into problems with that. |
Thank you for the review. I provided corrections for the requested things. |
I have tested and fixed it for debian now and it works with the buster image within the repository. However, please make sure to use #4960 since this PR contains fixes which are mandatory to debian. |
jenkins build libelektra please |
jenkins build libelektra please |
This PR adds a tutorial for Xfconf as mentioned in issue #280.
Basics
(added as entry in
doc/news/_preparation_next_release.md
which contains_(my name)_
)Please always add them to the release notes.
(first line should have
module: short statement
syntax)close #X
, are in the commit messages.doc/news/_preparation_next_release.md
scripts/dev/reformat-all
Checklist
(not in the PR description)
Review
Labels