AfterStep Themes Discussion

From AfterWiki
Jump to navigationJump to search

The whole terminology of themes/skins is full of misunderstandings, so everthing needs to be clearly defined, feel free to correct anything...

Part of Discussion

so far users born2late and speedy0 have joined the discussion

Definitions

  • a user may enforce his settings at any time if he falls back into the classic afterstep configuration scheme.
  • a theme is:
    • a subject of composition and/or a distinct, recurring, and unifying quality or idea
    • a set of default settings, which may or may not be changed by a user
    • hiding complexity from start menu
  • theme subsettings:
    • may not be interchangeable between themes
    • a look (or skin) is a way to decorate elements a user has set up to be on his desktop -- this cannot be expected to be cross-theme compliant
    • a feel is a set of configurations that makes sure that the desktop behaves like expected -- this cannot be expected to be cross-theme compliant
    • a layout is any set of module settings, including look and feel, that defines the geographical placement of UI elements -- this cannot be expected to be cross-theme compliant

Mogh: the temporary theming engine

  • Format:
    • a tar bzip2 file
    • themename.mogh containing at least the file mogh.themename
    • each theme MUST support different layouts
  • Properties:
    • backs up user data (look+feel+all config files in ~/.afterstep/)automatically before first usage to ~/.afterstep/desktop/layout/username_at_hostname
    • installs itself in ~/.afterstep/desktop/themes/themename
    • all files except directories and the wharf file itself in ~/.afterstep become symlinks to the theme ones
    • provides a gui for themeswitching constructed with wharf
    • generates a working wharf file for the user
    • generates start menu entries under Desktop/Layout for Layout switching

Entities involved with theming

  • user (what he wants and doesnt want to be changed)
  • theme (what themer wants so theme is an experience rather then simple cosmetic changes)
  • theme engine (helps integrate user whishes and themer whishes)


Theme objectives

  • it defines where stuff lies on the desktop (as such any personal config is in itself a theme)
  • how it reacts/interacts
  • it defines how stuff is decorated
  • other toolkits/apps to be themed

Atomic Elements that cannot be further reduced that are part of a theme

  • Background
  • IconSet
  • Decor (look -> MyStyles)
    • Windows
    • Window Buttons
    • Menu (including MiniFolders)
    • Modules
      • Wharf
      • Pager
      • Winlist
      • WinTabs
      • banner
  • Feel (FIXME : break down more)
    • Keyboard actions
    • mouse actions
  • Module Decor
  • size and orientation of windowbox (problem here: how to make that look independant)
  • Animation settings
  • Mouse pointer (?)

Atomic Elements that cannot be further reduced that are´nt part of a theme

  • Color Scheme
  • Mouse speed and buttons

Things that are ambigious

This seem to be problematic sections for one of us:

  • Background -> by definition a very personal setting... 3 settings at least : dont_touch, theme(keep picture just make matching frame),replace
  • Menu - switching on and off: mini-folders, recent, texture, unavailable.
  • Feel - Not sure if this should be included or not. Very user-specific. What's the gain for the user?
  • Sounds - based-on events, could have a sci-fi theme, Halloween theme, Simpsons theme, Elmo theme, etc.
  • Modules - Should these be modified? These are very user-specific, and loading them can disrupt an existing setup. Should there be a warning when installing these? ...should be user definable imo...
  • Animations - seven types offered. Can these even be theme-specific? Can additional ones be added? If not, should be decided by user. since the Animate Module is the right one to put opengl/bling support into this should stay in somehow.

Example Start Menu

  • Distro (debian, red hat, ubuntu)+correstponding icon
    • Games
    • Apps (No setting stuff)
  • Desktop
    • Color Scheme
    • Feel (mandatory - should contain general stuff like point to click vs autofocus/raise
    • Layout (mandatory - number theme dependent
    • Look (optional - theme dependent)
    • Pictures
      • List of Pictures
      • Picture Manager
    • Update/Refresh
      • All
      • GTK/QT
      • Startmenu
      • Modules
  • Find
  • Run
  • Terminal
  • Windows
  • Quit
  • Help