Project

General

Profile

unexist.dev

subtle » subtle-contrib

Assorted tidbits and projects

Wiki » History » Version 35

Anonymous, 02/03/2011 02:04 PM

1 35
h1. Subtle-contrib\015\012\015\012{{>toc}}\015\012\015\012Contrib is just a collection of scripts for [[subtle:subtle]], currently there is no package available and you need to clone the repository to a place you are comfortable with:\015\012\015\012bq. hg clone http://hg.subforge.org/subtle-contrib\015\012\015\012_These scripts may work, if you encounter any problems please ask in the usual places._\015\012\015\012h2. Graviton\015\012\015\012Graviton is a helper to create custom [[subtle:gravity|gravities]] visually.\015\012\015\012{{lightbox(contrib/graviton, Graviton)}}\015\012\015\012h3. Usage\015\012\015\012Start [wiki#Graviton|Graviton]] on the commandline via @ruby graviton.rb@. Then just draw rectangles on the grid like e.g. via the rectangular masking tool from "GIMP":http://www.gimp.org/. Every new rectangle will have a different color to make it easier to distingish between each. To resize a rectangle press the left mouse button on one of the corners and move the mouse.\015\012\015\012The *print* button will display the created new [subtle:gravity|gravities]] with their color name in a format that can be used in the config of [[subtle:subtle]].\015\012\015\012h3. Colors\015\012\015\012Following colors are used in [[wiki#Graviton|Graviton]] in given order:\015\012\015\012{{color(&#35;00FFFF, cyan)}}\015\012{{color(&#35;008000, green)}}\015\012{{color(&#35;808000, olive)}}\015\012{{color(&#35;008080, teal)}}\015\012{{color(&#35;0000FF, blue)}}\015\012{{color(&#35;C0C0C0, silver)}}\015\012{{color(&#35;00FF00, lime)}}\015\012{{color(&#35;000080, navy)}}\015\012{{color(&#35;800080, purple)}}\015\012{{color(&#35;FF00FF, magenta)}}\015\012{{color(&#35;800000, maroon)}}\015\012{{color(&#35;FF0000, red)}}\015\012{{color(&#35;FFFF00, yellow)}}\015\012{{color(&#35;808080, gray)}}\015\012\015\012h2. Launcher\015\012\015\012Launcher that combines modes/tagging of [[subtle:subtle]] with a browser search bar.\015\012\015\012{{lightbox(contrib/launcher, Launcher)}}\015\012\015\012Make sure that levenshtein.rb is also in the PATH otherwise launcher will not work\015\012\015\012h3. Features\015\012\015\012* Search for stuff via "Google":http://www.google.com (Chrome/Opera/Firefox)\015\012* Point your browser directly to an uri\015\012* Launch programs in path\015\012* Create tags on the fly with *#tag*\015\012* Create views on the fly with *@view*\015\012* Set modes on the fly with *&#43;* = full, *&#94;* = float and *&#42;* = stick\015\012* Tab completion for programs, views and tags\015\012\015\012h3. Usage\015\012\015\012Either call it like @ruby launcher.rb@ from commandline or add following loader and [[subtle:grabs|grab]] to your [[subtle:subtle]] config.\015\012\015\012<pre>{{hide}}<code class="ruby">\015\012begin\015\012  require "#{ENV["HOME"]}/path/to/launcher.rb"\015\012rescue LoadError => error\015\012  puts error\015\012end\015\012\015\012grab "W-x" do\015\012  Subtle::Contrib::Launcher.run\015\012end\015\012</code></pre>\015\012\015\012h3. Configuration\015\012\015\012Per default, the [[launcher]] uses *fixed* as font and loads entries from */usr/bin*. This can be changed after requiring the @launcher.rb@ and +before+ running it for the first time.\015\012\015\012h4. Fonts\015\012\015\012<pre>{{hide}}<code class="ruby">\015\012begin\015\012  require "#{ENV["HOME"]}/path/to/launcher.rb"\015\012\015\012  # Set fonts\015\012  Subtle::Contrib::Launcher.fonts = [\015\012    "xft:DejaVu Sans Mono:pixelsize=80:antialias=true",\015\012    "xft:DejaVu Sans Mono:pixelsize=12:antialias=true"\015\012  ]\015\012rescue LoadError => error\015\012  puts error\015\012end\015\012</code></pre>\015\012\015\012h4. Paths\015\012\015\012<pre>{{hide}}<code class="ruby">\015\012begin\015\012  require "#{ENV["HOME"]}/path/to/launcher.rb"\015\012\015\012  # Set paths\015\012  Subtle::Contrib::Launcher.paths = [ "/usr/bin", "~/bin" ]\015\012rescue LoadError => error\015\012  puts error\015\012end\015\012</code></pre>\015\012\015\012h3. Examples\015\012\015\012|_. Insert             |_. Description                                                                    |\015\012| g subtle wm          | Change to browser view and search for _subtle wm_ via "Google":http://google.com |\015\012| urxvt @editor        | Open urxvt on view @editor with dummy tag                                        |\015\012| urxvt @editor #work  | Open urxvt on view @editor with tag _work_                                       |\015\012| urxvt #work          | Open urxvt and tag with tag _work_                                               |\015\012| urxvt -urgentOnBell  | Open urxvt with the urgentOnBell option                                          |\015\012| +urxvt               | Open urxvt and set full mode                                                     |\015\012| ^urxvt               | Open urxvt and set floating mode                                                 |\015\012| *urxvt               | Open urxvt and set sticky mode                                                   |\015\012| urx<hit tab>         | Open urxvt (tab completion)                                                      |\015\012\015\012h2. Selector\015\012\015\012Merge tags of current and selected views temporarily.\015\012\015\012{{lightbox(contrib/merger, Merger)}}\015\012\015\012h3. Colors\015\012\015\012|_. Color triplet |_. Meaning                |\015\012| Focus           | Currently selected view  |\015\012| Title           | Current view             |\015\012| View            | Unselected views         |\015\012| Urgent          | Selected views for merge |\015\012\015\012h3. Keys\015\012\015\012|_. Keys      |_. Action                                       |\015\012| Left, Up    | Move to left                                   |\015\012| Right, Down | Move to right                                  |\015\012| Escape      | Hide/exit merger                               |\015\012| Space       | Select view for merge                          |\015\012| Return      | Merge selected views and exit hide/exit merger |\015\012\015\012h3. Usage\015\012\015\012Either call it like @ruby merger.rb@ from commandline or add following loader and [[subtle:grabs|grab]] to your [[subtle:subtle]] config.\015\012\015\012<pre>{{hide}}<code class="ruby">\015\012begin\015\012  require "#{ENV["HOME"]}/path/to/merger.rb"\015\012rescue LoadError => error\015\012  puts error\015\012end\015\012\015\012grab "W-m" do\015\012  Subtle::Contrib::Merger.run\015\012end\015\012</code></pre>\015\012\015\012h3. Configuration\015\012\015\012Per default, the [[Wiki#Merger|merger]] uses *fixed* as font, this can be changed after requiring the @merger.rb@ and +before+ running it for the first time.\015\012\015\012h4. Fonts\015\012\015\012<pre>{{hide}}<code class="ruby">\015\012begin\015\012  require "#{ENV["HOME"]}/path/to/merger.rb"\015\012\015\012  # Set font\015\012  Subtle::Contrib::Merger.font = "xft:DejaVu Sans Mono:pixelsize=80:antialias=true"\015\012rescue LoadError => error\015\012  puts error\015\012end\015\012</code></pre>\015\012\015\012h2. Selector\015\012\015\012Client selector that works like the subscription selector in "Google Reader":http://www.google.com/reader\015\012\015\012{{lightbox(contrib/selector, Selector)}}\015\012\015\012h3. Colors\015\012\015\012|_. Color triplet |_. Meaning                       |\015\012| Focus           | Currently selected client       |\015\012| Occupied        | Visible clients on current view |\015\012| View            | Currently not visible clients   |\015\012\015\012h3. Keys\015\012\015\012|_. Keys            |_. Action                                         |\015\012| Left, Up          | Move to left                                     |\015\012| Right, Down       | Move to right                                    |\015\012| Tab               | Cycle through windows/matches                    |\015\012| Escape            | Leave input mode/exit selector                   |\015\012| Return            | Focus currently selected and hide/exit selector  |\015\012| Any capital/digit | Select client prefixed with capital letter/digit |\015\012| Any text          | Select client with matching instance name        |\015\012\015\012h3. Usage\015\012\015\012Either call it like @ruby selector.rb@ from commandline or add following loader and [[subtle:grabs|grab]] to your [[subtle:subtle]] config.\015\012\015\012<pre>{{hide}}<code class="ruby">\015\012begin\015\012  require "#{ENV["HOME"]}/path/to/selector.rb"\015\012rescue LoadError => error\015\012  puts error\015\012end\015\012\015\012grab "W-x" do\015\012  Subtle::Contrib::Selector.run\015\012end\015\012</code></pre>\015\012\015\012h3. Configuration\015\012\015\012Per default, the [[Wiki#Selector|selector]] uses *fixed* as font and loads entries from */usr/bin*. This can be changed after requiring the @selector.rb@ and +before+ running it for the first time.\015\012\015\012h4. Fonts\015\012\015\012<pre>{{hide}}<code class="ruby">\015\012begin\015\012  require "#{ENV["HOME"]}/path/to/selector.rb"\015\012\015\012  # Set font\015\012  Subtle::Contrib::Selector.font = "xft:DejaVu Sans Mono:pixelsize=80:antialias=true"\015\012rescue LoadError => error\015\012  puts error\015\012end\015\012</code></pre>\015\012\015\012h2. Styler\015\012\015\012Helper to create or change [[subtle:subtle]] color [[subtle:themes]].\015\012\015\012{{lightbox(contrib/styler, Styler)}}\015\012\015\012h3. Usage\015\012\015\012Start "Styler":http://subforge.org/projects/subtle-contrib/wiki/Wiki/edit#Styler on the commandline via @ruby styler.rb@. It will display a preview of the current colors of "subtle":http://subtle.subforge.org and various color buttons to change them via a color chooser.\015\012\015\012The *print* button will show the new colors on the commandline.\015\012\015\012h2. Vitag\015\012\015\012Vitag is a helper to edit window/view tagging with any editor (*$EDITOR*)\015\012\015\012h3. Usage\015\012\015\012Helper that provides a way to change the tags of all views and windows at once. It basically just opens your favorite editor via editor set in *$EDITOR* and prints every view and running client followed by it's tags. When the tags are changed and the file saved it will send the changes to [[subtle:subtle]] in one single event per view/client and non-existing tags will be created accordingly.\015\012\015\012h3. Examples\015\012\015\012<pre><code># Views\015\012@terms #default #terms\015\012@www #browser\015\012@gimp #gimp_image #gimp_toolbox #gimp_dock\015\012@dev #editor\015\012\015\012# Clients\015\012xterm #terms\015\012</code></pre>\015\012