Project

General

Profile

unexist.dev

subtle

Assorted tidbits and projects

Panel » History » Version 15

Version 14 (Anonymous, 10/14/2010 09:06 PM) → Version 15/21 (Anonymous, 11/12/2010 01:09 PM)

h1. Panel\015\012\015\012{{>toc}}\015\012\015\012[[subtle]] Panel\015\012\015\012[[subtle]] comes with two panels per screen, one at the top and one at the bottom of the screen. The location of both panels is fix and cannot be changed, the height is determined by the max. height of the font and can't be changed directly. The Per default config uses only the top panel on the first screen only, is used, it's up to the user to enable the bottom panel or disable either one or both.\015\012\015\012Using [[subtle]]'s panels is no must, foreign panels can also be used as long as they support the @WM_STRUT@ or @DOCK@ window type properties. If this is not the case, [[subtle]] can be advised to spare some parts of the screen with the @&#58;padding@ option in the config.\015\012\015\012h2. Item types\015\012\015\012The panels Types\015\012\015\012Both bars can contain different items and will be hidden when empty.\015\012\015\012Following items are available:\015\012\015\012| *&#58;views* | List of views with buttons |\015\012| *&#58;title* | Title of the current active window |\015\012| *&#58;tray* | Systray icons (Can be used once) |\015\012| *&#58;sublets* | Catch-all for installed [[sublets]] |\015\012| *&#58;sublet* | Name of a [[sublet]] for direct placement |\015\012| *&#58;spacer* | Variable spacer (free width / count of spacers) |\015\012| *&#58;center* | Enclose items with :center to center them |\015\012| *&#58;separator* | Insert separator |\015\012\015\012All items except the *&#58;tray* item can be used freely in any combination across both panels but besides *&#58;spacer* and multiple times on every panel.\015\012\015\012<pre><code class="ruby">\015\012# Panels\015\012screen 0 do\015\012 top [ :views, :spacer, :title ]\015\012 bottom [ :views, :spacer, :title ]\015\012end\015\012</code></pre>\015\012\015\012h2. Sublets\015\012\015\012[[Sublets]] can either be placed directly by adding the name of the [[sublet]] as item name (like :clock) into one of the panels or by *&#58;separator* only once. When using [[sublets]] the catch-all item *&#58;sublets*. The latter *&#58;sublets* will display all unplaced in a block, but it's also possible to place [[sublets]] delimited by a separator.\015\012\015\012Example:\015\012\015\012<pre><code class="ruby">\015\012# Sublets: Direct placement\015\012screen 0 do\015\012 top [ :sublets, :clock ]\015\012end\015\012\015\012# Sublets: Catch-all\015\012screen 0 do\015\012 top [ :sublets ]\015\012end\015\012</code></pre>\015\012\015\012h2. Alignment\015\012\015\012The alignment inside of a panel can be changed with *&#58;spacer* and independently as standalone item on the *&#58;center*, per default all items are left-aligned.\015\012\015\012h3. Spacer\015\012\015\012Basically, a spacer is just empty space in the panel and it's width is defined by adding the total free space divided by the amount name of total spacers. When using spacers to center something, be aware that this will *most likley never* be the exact center of the panel. This can be done with the *&#58;center* item.\015\012\015\012Example:\015\012\015\012<pre><code class="ruby">\015\012# Left aligned\015\012screen 0 do\015\012 top [ :views ]\015\012end\015\012\015\012# Right aligned\015\012screen 0 do\015\012 top [ :spacer, :views ]\015\012end\015\012\015\012# Centered\015\012screen 0 do\015\012 top [ :spacer, :views, :spacer ]\015\012end\015\012</code></pre>\015\012\015\012h3. Center\015\012\015\012Items that are +enclosed by two center items+ will be moved [[sublet]] as item name (like clock) into a special group, that is excluded from the overall alignment one of the panel and guaranteed to be in the center of the panel. This group won't affect other items in the panel and spacers inside of it will affect the group only.\015\012\015\012Example:\015\012\015\012<pre><code class="ruby">\015\012# Left aligned\015\012screen 0 do\015\012 top [ :views, :center, :title, :center ]\015\012end\015\012\015\012# Right aligned\015\012screen 0 do\015\012 top [ :spacer, :views, :center, :title, :center ]\015\012end\015\012</code></pre>\015\012\015\012# Centered\015\012screen 0 do\015\012 top [ :spacer, :views, :spacer, :center, :title, :center ]\015\012end\015\012</code></pre>\015\012\015\012h2. panels.\015\012\015\012h2. Examples\015\012\015\012<pre>{{hide}}<code class="ruby">screen 1 do\015\012 top [ :views, :title, :spacer, :tray, :sublets ]\015\012 bottom [ ]\015\012end\015\012\015\012screen 1 do\015\012 top [ :tray, :title, :spacer, :sublets, :spacer, :views ]\015\012 bottom [ :clock, :spacer, :mpd ]\015\012end\015\012</code></pre>