Difference between revisions of "AfterStep Themes Discussion"
From AfterWiki
Jump to navigationJump to search(43 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | The whole terminology of themes/skins is full of misunderstandings, so everthing needs to be clearly defined, feel free to correct anything... | |
− | -the | + | |
− | + | == Part of Discussion == | |
− | + | ||
+ | so far users born2late and speedy0 have joined the discussion | ||
+ | |||
+ | == Definitions == | ||
+ | <ul> | ||
+ | <li>a user may enforce his settings at any time if he falls back into the classic afterstep configuration scheme.</li> | ||
+ | <li>a <b>theme</b> is:</li> | ||
+ | <ul> | ||
+ | <li>a subject of composition and/or a distinct, recurring, and unifying quality or idea</li> | ||
+ | <li>a set of default settings, which may or may not be changed by a user</li> | ||
+ | <li>hiding complexity from start menu</li> | ||
+ | </ul> | ||
+ | <li>theme subsettings:</li> | ||
+ | <ul> | ||
+ | <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 (!!!) 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 (!!!) 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 (!!!) this cannot be expected to be cross-theme compliant</li> | ||
+ | </ul> | ||
+ | </ul> | ||
+ | |||
+ | == Mogh: the temporary theming engine == | ||
+ | <ul> | ||
+ | <li>Format:</li> | ||
+ | <ul> | ||
+ | <li>a tar bzip2 file | ||
+ | <li>themename.mogh containing at least the file mogh.themename</li> | ||
+ | <li>each theme MUST support different layouts</li> | ||
+ | </ul> | ||
+ | <li>Properties:</li> | ||
+ | <ul> | ||
+ | <li>backs up user data (look+feel+all config files in ~/.afterstep/)automatically before first usage to ~/.afterstep/desktop/layout/username_at_hostname</li> | ||
+ | <li>installs itself in ~/.afterstep/desktop/themes/themename</li> | ||
+ | <li>all files except directories and the wharf file itself in | ||
+ | ~/.afterstep become symlinks to the theme ones</li> | ||
+ | <li>provides a gui for themeswitching constructed with wharf</li> | ||
+ | <li>generates a working wharf file for the user</li> | ||
+ | <li>generates start menu entries under Desktop/Layout for Layout switching</li> | ||
+ | </ul> | ||
+ | </ul> | ||
+ | == Entities involved with theming == | ||
+ | <ul> | ||
+ | <li>user (what he wants and doesnt want to be changed)</li> | ||
+ | <li>theme (what themer wants so theme is an experience rather then simple cosmetic changes)</li> | ||
+ | <li>theme engine (helps integrate user whishes and themer whishes)</li> | ||
+ | </ul> | ||
+ | |||
+ | |||
+ | == Theme objectives == | ||
+ | <ul> | ||
+ | <li>it defines where stuff lies on the desktop (as such any personal config is in itself a theme)</li> | ||
+ | <li>how it reacts/interacts</li> | ||
+ | <li>it defines how stuff is decorated</li> | ||
+ | <li>other toolkits/apps to be themed</li> | ||
+ | </ul> | ||
− | + | == Atomic Elements that cannot be further reduced that are part of a theme == | |
+ | <ul> | ||
+ | <li>Background</li> | ||
+ | <li>IconSet</li> | ||
+ | <li>Decor (look -> MyStyles)</li> | ||
+ | <ul> | ||
+ | <li>Windows</li> | ||
+ | <li>Window Buttons</li> | ||
+ | <li>Menu (including MiniFolders)</li> | ||
+ | <li>Modules</li> | ||
+ | <ul> | ||
+ | <li>Wharf</li> | ||
+ | <li>Pager</li> | ||
+ | <li>Winlist</li> | ||
+ | <li>WinTabs</li> | ||
+ | <li>banner</li> | ||
+ | </ul> | ||
+ | </ul> | ||
+ | <li>Feel (FIXME : break down more)</li> | ||
+ | <ul> | ||
+ | <li>Keyboard actions</li> | ||
+ | <li>mouse actions</li> | ||
+ | </ul> | ||
+ | <li>Module Decor</li> | ||
+ | <li>size and orientation of windowbox (problem here: how to make that look independant)</li> | ||
+ | <li>Animation settings</li> | ||
+ | <li>Mouse pointer (?)</li> | ||
+ | </ul> | ||
− | a | + | == Atomic Elements that cannot be further reduced that are´nt part of a theme == |
+ | <ul> | ||
+ | <li>Color Scheme</li> | ||
+ | <li>Mouse speed and buttons</li> | ||
+ | <li>Keyboard shortcuts</li> | ||
+ | <li>Window focus bahaviour - like clicktoraise, autoraise, clicktofocus, sloppyfocus etc... | ||
+ | </ul> | ||
− | a theme | + | == Things that are ambigious== |
− | + | This seem to be problematic sections for one of us: | |
− | + | <ul> | |
− | + | <li>Background -> by definition a very personal setting... 3 settings at least : dont_touch, theme(keep picture just make matching frame),replace </li> | |
− | + | <li>Menu - switching on and off: mini-folders, recent, texture, unavailable.</li> | |
+ | <li>Feel - Not sure if this should be included or not. Very user-specific. What's the gain for the user?</li> | ||
+ | <li>Sounds - based-on events, could have a sci-fi theme, Halloween theme, Simpsons theme, Elmo theme, etc.</li> | ||
+ | <li>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...</li> | ||
+ | <li>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.</li> | ||
+ | </ul> | ||
+ | == Example Start Menu and where themeing will interfere with it== | ||
− | + | <ul> | |
− | + | <li>Distro (debian, red hat, ubuntu)+correstponding icon</li> | |
− | + | <ul> | |
− | + | <li>Games</li> | |
− | + | <li>Apps (No setting stuff) </li> | |
− | + | </ul> | |
− | + | <li>Desktop </li> | |
− | + | <ul> | |
− | + | <li>Color Scheme </li> | |
− | + | <li>Feel (optionaly overwritten/replaced by the current theme - as default feels might not be compatible)</li> | |
− | < | + | <li>Layout (optionaly overwritten/replaced - as a theme might be compatible with afterstep defaults</li> |
+ | <li>Look (optionaly overwritten/replaced - theme dependent as a theme might use default-theme compatible settings) </li> | ||
+ | <li>Pictures (optionally entries added by theme)</li> | ||
+ | <ul> | ||
+ | <li>List of Pictures </li> | ||
+ | <li>Picture Manager </li> | ||
+ | </ul> | ||
+ | <li>Update/Refresh </li> | ||
+ | <ul> | ||
+ | <li>All </li> | ||
+ | <li>GTK/QT </li> | ||
+ | <li>Startmenu </li> | ||
+ | <li>Modules </li> | ||
+ | </ul> | ||
+ | </ul> | ||
+ | <li>Find </li> | ||
+ | <li>Run </li> | ||
+ | <li>Terminal</li> | ||
+ | <li>Windows</li> | ||
+ | <li>Quit</li> | ||
+ | <li>Help</li> | ||
+ | </ul> |
Latest revision as of 09: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...
Contents
- 1 Part of Discussion
- 2 Definitions
- 3 Mogh: the temporary theming engine
- 4 Entities involved with theming
- 5 Theme objectives
- 6 Atomic Elements that cannot be further reduced that are part of a theme
- 7 Atomic Elements that cannot be further reduced that are´nt part of a theme
- 8 Things that are ambigious
- 9 Example Start Menu and where themeing will interfere with it
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