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


  • 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
  • Keyboard shortcuts
  • Window focus bahaviour - like clicktoraise, autoraise, clicktofocus, sloppyfocus etc...

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 and where themeing will interfere with it

  • Distro (debian, red hat, ubuntu)+correstponding icon
    • Games
    • Apps (No setting stuff)
  • Desktop
    • Color Scheme
    • Feel (optionaly overwritten/replaced by the current theme - as default feels might not be compatible)
    • Layout (optionaly overwritten/replaced - as a theme might be compatible with afterstep defaults
    • Look (optionaly overwritten/replaced - theme dependent as a theme might use default-theme compatible settings)
    • Pictures (optionally entries added by theme)
      • List of Pictures
      • Picture Manager
    • Update/Refresh
      • All
      • GTK/QT
      • Startmenu
      • Modules
  • Find
  • Run
  • Terminal
  • Windows
  • Quit
  • Help