<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Knowledge Base (Posts about dconf)</title><link>https://bgstack15.ddns.net/blog/</link><description></description><atom:link href="https://bgstack15.ddns.net/blog/categories/dconf.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2022 &lt;a href="mailto:bgstack15@gmail.com"&gt;bgstack15&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"&gt;
&lt;img alt="Creative Commons License BY-SA"
style="border-width:0; margin-bottom:12px;"
src="https://bgstack15.ddns.net/.images/l_by-sa_4.0_88x31.png"&gt;&lt;/a&gt;</copyright><lastBuildDate>Mon, 14 Mar 2022 18:59:08 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>dconf save and load from file</title><link>https://bgstack15.ddns.net/blog/posts/2017/10/04/dconf-save-and-load-from-file/</link><dc:creator>bgstack15</dc:creator><description>&lt;h2&gt;dconf save and load to file&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.gnome.org/"&gt;GNOME&lt;/a&gt;-based desktops use a settings utility that is
a little similar to the registry of a famous non-free operating system. I'll
spare you the ideological diatribe and get to the task at hand. I use
&lt;a href="http://developer.linuxmint.com/projects/cinnamon-projects.html"&gt;Cinnamon&lt;/a&gt;
from the Linux Mint project, and it is based on GNOME 3. The command line tool
for manipulating the settings is titled
&lt;a href="https://en.wikipedia.org/wiki/Dconf"&gt;dconf&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Saving dconf settings to file&lt;/h3&gt;
&lt;p&gt;Dumping its output is easy.&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nv"&gt;dconf&lt;/span&gt; &lt;span class="nv"&gt;dump&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;


[&lt;span class="nv"&gt;net&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;launchpad&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;plank&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;docks&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;dock1&lt;/span&gt;]
&lt;span class="nv"&gt;icon&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nv"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;32&lt;/span&gt;
&lt;span class="k"&gt;show&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nv"&gt;dock&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nv"&gt;item&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;false&lt;/span&gt;
&lt;span class="nv"&gt;position&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;left&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;
&lt;span class="nv"&gt;dock&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nv"&gt;items&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;[&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;org.gnome.Terminal.dockitem&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;, &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;nemo.dockitem&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;, &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;firefox.dockitem&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;]
&lt;span class="nv"&gt;unhide&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nv"&gt;delay&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;
&lt;span class="nv"&gt;items&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nv"&gt;alignment&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;center&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Redirect to a file and you're done.&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;dconf dump / &amp;gt; my-cinnamon.dconf
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Pick a subdirectory if you wish to narrow it down.&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;dconf dump /org/cinnamon/sounds/


[/]
maximize-enabled=false
unmaximize-enabled=false
tile-enabled=false
map-enabled=false
close-enabled=false
minimize-enabled=false
switch-enabled=false
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Loading dconf settings from file&lt;/h3&gt;
&lt;p&gt;The reverse is also as easy. Make sure you use the same directory in the
layout.&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;dconf&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;load&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;my&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;cinnamon&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dconf&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;The story&lt;/h2&gt;
&lt;p&gt;This post is a precursor to a discussion about manipulating the settings
programmatically in xfconf-query, which is the settings cli tool for the xfce
desktop environment. I wrote a wrapper script for a project of mine. Check out
&lt;a href="https://gitlab.com/bgstack15/bgconf/blob/master/usr/share/bgconf/inc/dconf.sh"&gt;dconf.sh&lt;/a&gt;
at gitlab underneath my project &lt;a href="https://gitlab.com/bgstack15/bgconf"&gt;bgconf&lt;/a&gt;.&lt;/p&gt;</description><category>cinnamon</category><category>cli</category><category>config</category><category>dconf</category><category>gnome</category><category>oneliner</category><category>registry</category><guid>https://bgstack15.ddns.net/blog/posts/2017/10/04/dconf-save-and-load-from-file/</guid><pubDate>Wed, 04 Oct 2017 13:17:23 GMT</pubDate></item></channel></rss>