Skip navigation.
Home
GrumZ : A Lump in the World Wide Soup

Nautilus-Actions 3.1.3 README-GCONF

Deprecating GConf

Gnome is deprecating GConf in favour of GSettings. This is the short story. We so have to migrate several pool of datas.

Starting with 3.1.0, Nautilus-Actions is distributed with the needed migration tools, whether the migration may occur automatically (for users items and preferences), or the system admin must run a script (for mandatory items).

Note that this does not break backward compatibility. The 3.1.x serie of Nautilus-Actions may still be run on a "old" platform. The oldest supported as of January 2011 is Ubuntu 8 LTS.

1. Items, menus and actions, stored in GConf backend

Historically, actions, then menus, were stored in GConf. These are user items.

A system admin was free to define mandatory menus and actions, and to store them in the Mandatory pool of GConf. Such defined items are so available to all users, though as read-only items.

1a. Migrating user items

The good news is:
user items are automatically migrated from GConf to .desktop files.

The migration happens when the user runs the Nautilus-Actions Configuration Tool user interface, or when the Nautilus-Actions menu plugin is loaded by the Nautilus file-manager, or when the user runs one of the command-line tools nautilus-actions-new or nautilus-actions-run.

The nautilus-actions-print command-line tool, along with na-delete-xmltree, and na-print-schemas installed in PKGLIBEXECDIR, have no effect on the migration process.

The new .desktop files are stored in HOME/.local/file-manager/actions.

When the migration of its items has occurred, the GConf I/O Provider is disabled, both for reading and writing.

1b. Migrating mandatory items

The bad news is:
the system admin has to manually run PKGLIBEXECDIR/na-gconf2key.sh script as root in order to migrate existing mandatory items to .desktop files.

The new .desktop files default to be stored in /usr/share/file-manager/actions.

It is enough to run this script once, e.g. when installing for the first time a recent enough version (>= 3.1.0) of Nautilus-Actions.

Command-line example:

   # /usr/libexec/nautilus-actions/na-gconf2key.sh -delete -nodummy

2. User preferences stored in GConf

Mandatory and user preferences follow the same migration rules that items:

  • user preferences are automatically migrated,
  • mandatory preferences have to be manually migrated by the system admin.

Preferences are renamed and reorganized:

 GConf                                      Group      Key
 -----------------------------------------  ------     --------------------------------------
 add-capability-dialog = [720,263,384,246]  [nact]     capability-add-capability-wsp
 add-scheme-dialog = [720,263,352,271]      [nact]     scheme-add-scheme-wsp
 assistant-esc-confirm = true               [nact]     assistant-esc-confirm
 assistant-esc-quit = true                  [nact]     assistant-esc-quit
 auto-save-on = false                       [nact]     main-save-auto
 auto-save-period = 5                       [nact]     main-save-period
 export-assistant = [377,33,699,675]        [nact]     export-assistant-wsp
 export-ask-user = [377,33,699,675]         [nact]     export-ask-user-wsp
 export-ask-user-last-format = GConfEntry   [nact]     export-ask-user-last-format
                                            [nact]     export-ask-user-keep-last-choice
 export-folder-uri = file:///home/pierre..  [nact]     export-assistant-lfu
 export-format = Ask                        [nact]     export-preferred-format
 icommand-command-chooser                   [nact]     command-command-chooser-wsp
 icommand-folder-uri                        [nact]     command-command-chooser-lfu
 icommand-legend-dialog = [673,94,474,480]  [nact]     command-legend-wsp
 icommand-working-dir-dialog                [nact]     command-working-dir-chooser-wsp
 icommand-working-dir-uri = file:///home..  [nact]     command-working-dir-chooser-lfu
 icons-chooser = [425,124,839,539]          [nact]     item-icon-chooser-wsp
 icons-path = file:///usr/share/icons/hi..  [nact]     item-icon-chooser-last-file-uri
 ienvironment-show-if-running-dialog = [..  [nact]     environment-show-if-running-wsp
 ienvironment-show-if-running-uri = file..  [nact]     environment-show-if-running-lfu
 ienvironment-try-exec-dialog = [327,70,..  [nact]     environment-try-exec-wsp
 ienvironment-try-exec-uri = file:///bin    [nact]     environment-try-exec-lfu
 ifolders-chooser = [418,86,632,573]        [nact]     folder-chooser-wsp
 ifolders-path = /home/pierre/data/Pictures [nact]     folder-chooser-lfu
 import-ask-user                            [nact]     import-ask-user-wsp
 import-ask-user-last-mode                  [nact]     import-ask-user-last-mode
 import-assistant                           [nact]     import-assistant-wsp
 import-folder-uri                          [nact]     import-assistant-lfu
 import-keep-choice                         [nact]     import-ask-user-keep-last-choice
 import-mode = NoImport                     [nact]     import-preferred-mode
 io-providers-order = [..]                  [nact]     io-providers-write-order
 iprefs-add-about-item = true               [runtime]  items-add-about-item
 iprefs-alphabetical-order = ManualOrder    [runtime]  items-list-order-mode
 iprefs-create-root-menu = false            [runtime]  items-create-root-menu
 iprefs-level-zero = [my-first-na-menu,a1-mandatory2-action3,a-gconf-action]
                                            [runtime]  items-level-zero-order
 iprefs-relabel-actions = false             [nact]     relabel-when-duplicate-action
 iprefs-relabel-menus = false               [nact]     relabel-when-duplicate-menu
 iprefs-relabel-profiles = false            [nact]     relabel-when-duplicate-profile
 main-edit-toolbar = true                   [nact]     main-toolbar-edit-display
 main-file-toolbar = true                   [nact]     main-toolbar-file-display
 main-help-toolbar = true                   [nact]     main-toolbar-help-display
 main-paned = 211                           [nact]     main-paned-width
 main-window = [319,95,901,533]             [nact]     main-window-size
 preferences-editor = [548,218,497,392]     [nact]     preferences-wsp
 schemes = [dav|WebDAV files,file|Local files,ftp|FTP files,sftp|SSH files,smb|Windows files]
                                            [nact]     scheme-default-list

User preferences for I/O providers were stored as /apps/nautilus-actions/io-providers/ keys. They are moved to [io-provider ] group.

 GConf                                                 Key
 -----------------------------------------             --------------------------------------
 read-at-startup                                       readable
 writable                                              writable

3. Sysadmin reserved mandatory keys

These were:

   /apps/nautilus-actions/mandatory/
     all/locked
     na-desktop/locked
     na-gconf/locked

These keys are just ignored if they are not in the mandatory GConf pool, i.e. if they happens to be eventually editable by the user.

If these keys are actually in the system mandatory GConf pool, they are renamed in the following way:

 GConf                                      Group      Key
 -----------------------------------------  ------     --------------------------------------
 /apps/nautilus-actions/mandatory/all/locked
                                            [nact]     preferences-locked
                                            [runtime]  io-providers-locked

 /apps/nautilus-actions/mandatory/na-desktop/locked    
 /apps/nautilus-actions/mandatory/na-gconf/locked      

P. Wieser - Jan. 2011