Page MenuHome

Application template ignores some user preferences settings
Closed, InvalidPublic

Description

System Information
Windows 10

Blender Version
2.79 RC1, 5e9132b

Short description of error
Blender ignores(doesn't read) some settings from installed application template's userpref.blend. My custom settings can be seen here{F697801}, but once installed and switched to the Test template, only the key mapping F -> Search menu is working, the Interface tab uses the default setting(not mine with all button unchecked).

Exact steps for others to reproduce the error

  • Install app. template from File -> Application Templates -> Install Template from File...
  • switch to newly installed Test template from the same menu or splashscreen menu
  • press F key(in 3D view) -> search menu should appear(by default mapped to Spacebar), this works correctly
  • now go to User Preferences -> Interface tab, unfortunately default settings is used instead the one from screenshot above

To check how the Test template's user preferences look like just copy the userpref.blend from the test.zip to \AppData\Roaming\Blender Foundation\Blender\2.79\config\ and restart Blender(if it's running) and go to User Preferences

Details

Type
Bug

Event Timeline

This is working as intended: see https://docs.blender.org/manual/en/dev/advanced/app_templates.html#details

We can control this so templates can apply other settings - if you think any are especially important, let us know.

But in general the aim is to define application behavior (keymaps, addons, default startup) and not entirely replace user preferences.

Oh, you're right Campbell, I overlooked that part. Still, it doesn't make any sense to me why only keymaps, addons, default startup,themes... should be allowed and not whatever setting in user preferences. Yes, users can still control any of user settings(eg. in Interface tab) via API, but the same way users can control via Api, those(keymaps, addons...except splashscreen), which are now allowed via app. templates. I don't understand this separation.

In practice, it now means to do work twice(or in two 'contexts'):

  • setup user preferences(addons, keymaps..) and then write additional code via API to setup the rest not available via templates, or
  • setup user preferences(addons, keymaps..), install template, and then again go to user preferences and do additional setup of required settings not available via templates(this is the only way for those who wants to use app.templates, but don't know scripting)

instead of just settting up any required setting in whatever tab in the User preferences(all at one place), installing app. template and start using it.

The use case I intended is...

  • Someone sets up blender how they like and to fit their hardware.
  • They switch to an application template and want text to be readable as before, not loose their translations, or not change their GPU, undo steps, audio device etc ... various personal preferences.
  • They might however want to switch to a different set of tools, addons, and access with a new keymap thats been setup for a different workflow.

Interface options are a gray area, you might want the application to change open-on-mouse-over or option to show splash, or toggle auto-perspective.
For now the interface template doesn't control these. Mainly so we can keep things simple until we have a UI that can make it clear whats controlled by app templates and whats not.

Thank you for the explanation Campbell,

as discussed on IRC, I'm adding the settings I'd like to have available via templates:
user_preferences.filepaths.use_relative_paths
user_preferences.filepaths.show_thumbnails
user_preferences.system.use_mipmaps
user_preferences.view.use_mouse_depth_navigate
user_preferences.view.use_zoom_to_mouse
user_preferences.view.use_rotate_around_active
user_preferences.view.use_auto_perspective