UBUNTU_UI_TOOLKIT_THEMES_PATH should include a writable path so that users can install themes (or operators can have custom themes)

Bug #1221813 reported by Chris Wayne
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu UI Toolkit
Fix Released
Critical
Zsombor Egri
ubuntu-ui-toolkit (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Currently UBUNTU_UI_TOOLKIT_THEMES_PATH supports only having one dir, and it's not writable in the RO image. We should have it point to a writable spot on the image so that themes can be installed

ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: ubuntu-ui-toolkit-theme 0.1.46+13.10.20130903.4-0ubuntu1
ProcVersionSignature: Ubuntu 3.11.0-4.9-generic 3.11.0-rc7
Uname: Linux 3.11.0-4-generic x86_64
ApportVersion: 2.12.1-0ubuntu3
Architecture: amd64
Date: Fri Sep 6 11:45:05 2013
InstallationDate: Installed on 2013-07-26 (41 days ago)
InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Release amd64 (20130424)
MarkForUpload: True
SourcePackage: ubuntu-ui-toolkit
UpgradeStatus: Upgraded to saucy on 2013-08-15 (22 days ago)

Related branches

Revision history for this message
Chris Wayne (cwayne) wrote :
Zsombor Egri (zsombi)
Changed in ubuntu-ui-toolkit (Ubuntu):
assignee: nobody → Zsombor Egri (zsombi)
Revision history for this message
Chris Wayne (cwayne) wrote :

Also note that in Ambiance's MainViewStyle.qml, it hardcodes the theme setting as Ubuntu.Components.Themes.%1, where this may not be the path of a Custom theme (mine for example is UbuntuCustom.Themes.Whatever)

Revision history for this message
Zsombor Egri (zsombi) wrote :

The env var can point anywhere, also to a writable spot. If that writable spot contains themes that derive from one of the basic themes, those will work properly. However if those themes are derived from other themes not installed to the default location, applying the theme will fail. For that this env variable is not enough. So we need an additional setting/env var pair which stores the additional paths the custom themes reside.

Changed in ubuntu-ui-toolkit (Ubuntu):
status: New → Confirmed
affects: ubuntu-ui-toolkit (Ubuntu) → ubuntu-ui-toolkit
Changed in ubuntu-ui-toolkit:
importance: Undecided → Critical
Revision history for this message
Chris Wayne (cwayne) wrote :

Zsombor,

When I tried to change the path to a writable spot and then derive from one of the default themes, this didn't work, as it was missing theming elements (like ProgressBarStyle, etc). Perhaps because I had used a different naming scheme? My theme lived in /custom/usr/share/themes/UbuntuCustom/Themes/Custom, with UBUNTU_UI_TOOLKIT_THEMES_PATH pointing to /custom/usr/share/themes, so my used theme was UbuntuCustom.Themes.Custom. It couldn't use the parent theme until I either included it in /custom/usr/share/themes, or made a symlink to it.

Revision history for this message
Zsombor Egri (zsombi) wrote :

Chris,

Do you have any path which you know it will be used to store custom themes?

UBUNTU_UI_TOOLKIT_THEMES_PATH is only for development purposes, I don't think it should be used in production images. Instead we should have a set of paths themes may reside. The default is on the RO area, is the /custom/usr/share/themes the other one?

Revision history for this message
Chris Wayne (cwayne) wrote :

Zsombi,

At the moment the other one is /custom/usr/share/themes, but would it maybe make sense to have it reside somewhere writable in XDG_CONFIG_DIR?

Revision history for this message
Zsombor Egri (zsombi) wrote :

Chris,

Is it XDG_CONFIG_DIR or XDG_CONFIG_DIRS env var? We could fetch that too, no question about. I haven't seen either of those set on the device...

Revision history for this message
Scott Sweeny (ssweeny) wrote :

Zsombi,

For themes I'd recommend XDG_DATA_DIRS. This maps to /usr/share/ generally and we add a path in /custom to it when we modify the phone image.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:ubuntu-ui-toolkit at revision None, scheduled for release in ubuntu-ui-toolkit, milestone Unknown

Changed in ubuntu-ui-toolkit:
status: Confirmed → Fix Committed
Chris Wayne (cwayne)
Changed in sevilerow:
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.2 KiB)

This bug was fixed in the package ubuntu-ui-toolkit - 0.1.46+14.04.20131105.1-0ubuntu1

---------------
ubuntu-ui-toolkit (0.1.46+14.04.20131105.1-0ubuntu1) trusty; urgency=low

  [ Albert Astals ]
  * Minor optimzations Add const & to foreach to save copies of
    "complex" types Remove initializations of QStrings to "" since they
    do nothing Return QString instead of "" since its faster Pass
    "complex" types as const & instead of copy to functions Not an
    optimization: Added const qualifier to two functions .

  [ Lars Uebernickel ]
  * Remove GIconProvider Use urls for file and data icons and the theme
    image provider (image://theme/) for themed icons.

  [ Kaleo ]
  * [visual design] Updated tabs chevron asset.

  [ Christian Dywan ]
  * Install translations for UI toolkit and gallery. (LP: #1239627)
  * Support checkbox used with an action.
  * Install autopilot modules in qmake not debian packaging.
  * Drop the $$ from system calls where output isn't needed.
  * Look for locale folder as per XDG basedir spec and rewrite test The
    new test case covers the whole range of changing languages, checking
    the strings from both QML and C++ and binding to a folder. (LP:
    #1175726, #1233071)
  * Define window within OrientationHelper to avoid a race condition.
    (LP: #1239760)

  [ Zsombor Egri ]
  * Support for taking themes from XDG_DATA_DIRS as well as from
    ~/.local/share. These paths are also added as import paths.
    UBUNTU_UI_TOOLKIT_THEMES_PATH overrules these import paths, and can
    have more than one path specified, each separated with column. (LP:
    #1221813)
  * Warnings treated as errors in all types of builds (debug or
    release). (LP: #1246290)
  * Introducing topmostItem property to drive whether InverseMouseArea
    should filter sensingArea events or to stay in the normal z-
    order/stack order of its parent. (LP: #1240460)

  [ Leo Arias ]
  * Added the go back method to the autopilot emulators. (LP: #1239751)
  * On the autopilot emulator, drag the toolbar to its full height. (LP:
    #1235060)
  * Initially show toolbar, but automatically hide after timeout. (LP:
    #1207369)
  * Added the change_state method to the CheckBox autopilot emulator.
    Cleaned up the autopilot gallery toggles tests.
  * Added the objectNames to the ComposerSheet buttons. (LP: #1244518)

  [ tpeeters ]
  * Update CrossFadeImage API so that sourceSize can be set by the
    applications. CHANGED in CrossFadeImage: readonly property size
    sourceSize TO property size sourceSize. (LP: #1227783)
  * Initially show toolbar, but automatically hide after timeout. (LP:
    #1207369)
  * Put tab bar in selection mode when apps are launched. (LP: #1223597)
  * Close tabbar and toolbar when user interacts with app contents. (LP:
    #1223604)

  [ Nicolas d'Offay ]
  * Added multiSelection bool and supporting code to OptionSelector and
    ItemSelector. This turns either component into a multiple choice
    selector. Fixed linked bugs. (LP: #1231936)

  [ Renato Araujo Oliveira Filho ]
  * Implemented emulator for swipe to remove. (LP: #1236464)

  [ Ubuntu daily release ]
  * Automatic snapshot from revision 820
 -- Ubu...

Read more...

Changed in ubuntu-ui-toolkit (Ubuntu):
status: New → Fix Released
Zsombor Egri (zsombi)
Changed in ubuntu-ui-toolkit:
status: Fix Committed → Fix Released
Chris Wayne (cwayne)
Changed in sevilerow:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.