PanelLayoutSwitcher

Specification title

Overview

Title

Panel layout switcher

Assignee

Alistain Buxton

Release

Trusty Tahr

Detailed specification

The detailed specification should go here.

Areas covered in the specification should be the following (where applicable):

  • Summary:

The Panel layout Switcher is a tool which can load and save panel configurations (that is, the positioning of the panels and the included plugins.)

  • Rationale:

The idea is to allow new users to quickly get a panel layout they want/are familiar with, without having to create it from scratch. It can also be used to quickly duplicate your panel config across multiple computers.

  • Use cases:

    • New user with fresh Xubuntu install switches panel to one of the presets.
    • A user who already has a panel config who wants to try other layouts: first back up existing config, then load a new one.
    • A user who wants to duplicate panel config across multiple computers: save config, copy to other machines, load it.
  • Notes on design, implementation and maintenance work

A proof of concept is available at: https://github.com/ali1234/panel-switch/

The current implementation uses dbus to read/write xfconf keys directly - it does not really know the meaning of the keys, except for special handling of launchers which link to .desktop files. When loading the configuration the panel is killed, then the xfconf channel is wiped, the new keys loaded, and the panel restarted.

  • Notes on issues that need solving by upstream, Xubuntu team and others

    • The current implementation is done in Python, which might not be favoured for Xubuntu. The DBus code should be very easy to rewrite in C, but the tar.gz handling code probably won't be so easy.
    • Killing the panel might have some weird effects.
    • There is currently no GUI. Someone needs to design one, based on the use cases.
    • The config tarballs should include a description and screenshot of the panel, which would be displayed by the GUI.
  • Mockups for the UI

    • Mockup 1 (Simplistic Backup/Restore):

Mockup 1

  • Behavior: When the current layout has not yet been backuped/saved, show the infobar, otherwise select the current layout in the listview. Warn the user again (with a warning dialog "Do you really want to load the new layout, your current layout will be lost") when he selects an item from the list without saving the current layout. The listview shows the content of the default folder for backups (e.g. .config/panel-layouts/), consequently distributors can add their presets/defaults.
  • Discussion on the specification

Xubuntu/Roadmap/Specifications/Trusty/PanelLayoutSwitcher (last edited 2014-11-27 14:13:23 by ochosi)