Difference between revisions of "AfterStep Themes Discussion"

From AfterWiki
Jump to navigationJump to search
 
(8 intermediate revisions by the same user not shown)
Line 17: Line 17:
 
  <ul>
 
  <ul>
 
   <li>may not be interchangeable between themes</li>
 
   <li>may not be interchangeable between themes</li>
   <li>a <b>look</b> (or skin) is a way to decorate elements a user has set up to be on his desktop</li>
+
   <li>a <b>look</b> (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</li>
   <li>a <b>feel</b> is a set of configurations that makes sure that the desktop behaves like expected</li>
+
   <li>a <b>feel</b> is a set of configurations that makes sure that the desktop behaves like expected (!!!) this cannot be expected to be cross-theme compliant</li>
   <li>a <b>layout</b> is any set of module settings, including look and feel, that defines the geographical placement of UI elements</li>
+
   <li>a <b>layout</b> 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</li>
 
  </ul>
 
  </ul>
 
</ul>
 
</ul>
Line 91: Line 91:
 
<li>Color Scheme</li>
 
<li>Color Scheme</li>
 
<li>Mouse speed and buttons</li>
 
<li>Mouse speed and buttons</li>
 +
<li>Keyboard shortcuts</li>
 +
<li>Window focus bahaviour - like clicktoraise, autoraise, clicktofocus, sloppyfocus etc...
 
</ul>
 
</ul>
 +
 
== Things that are ambigious==
 
== Things that are ambigious==
 
This seem to be problematic sections for one of us:
 
This seem to be problematic sections for one of us:
Line 103: Line 106:
 
since the Animate Module is the right one to put opengl/bling support into this should stay in somehow.</li>
 
since the Animate Module is the right one to put opengl/bling support into this should stay in somehow.</li>
 
</ul>
 
</ul>
== Example Start Menu ==
+
== Example Start Menu and where themeing will interfere with it==
  
<li>Distro (debian, red hat, ubuntu)+correstponding icon<li>
+
<ul>
 +
<li>Distro (debian, red hat, ubuntu)+correstponding icon</li>
 
<ul>
 
<ul>
 
  <li>Games</li>
 
  <li>Games</li>
Line 113: Line 117:
 
<ul>
 
<ul>
 
  <li>Color Scheme </li>
 
  <li>Color Scheme </li>
  <li>Feel (mandatory - should contain general stuff like point to click vs autofocus/raise </li>
+
  <li>Feel (optionaly overwritten/replaced by the current theme - as default feels might not be compatible)</li>
  <li>Layout (mandatory - number theme dependent </li>
+
  <li>Layout (optionaly overwritten/replaced - as a theme might be compatible with afterstep defaults</li>
  <li>Look (optional - theme dependent) </li>
+
  <li>Look (optionaly overwritten/replaced - theme dependent as a theme might use default-theme compatible settings) </li>
  <li>Pictures </li>
+
  <li>Pictures (optionally entries added by theme)</li>
 
  <ul>
 
  <ul>
 
   <li>List of Pictures </li>
 
   <li>List of Pictures </li>
Line 128: Line 132:
 
   <li>Modules </li>
 
   <li>Modules </li>
 
  </ul>
 
  </ul>
 +
</ul>
 
<li>Find </li>
 
<li>Find </li>
 
<li>Run </li>
 
<li>Run </li>
 
<li>Terminal</li>
 
<li>Terminal</li>
 
 
<li>Windows</li>
 
<li>Windows</li>
 
<li>Quit</li>
 
<li>Quit</li>
 
 
<li>Help</li>
 
<li>Help</li>
 +
</ul>

Latest revision as of 10:49, 17 April 2013

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
  • 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