summaryrefslogtreecommitdiffstats
path: root/subtle/subtle.rb
diff options
context:
space:
mode:
Diffstat (limited to 'subtle/subtle.rb')
-rw-r--r--subtle/subtle.rb893
1 files changed, 0 insertions, 893 deletions
diff --git a/subtle/subtle.rb b/subtle/subtle.rb
deleted file mode 100644
index 204cdb3..0000000
--- a/subtle/subtle.rb
+++ /dev/null
@@ -1,893 +0,0 @@
-#
-# This program can be distributed under the terms of the GNU GPL.
-# See the file COPYING.
-#
-# $Id: .config/subtle/subtle.rb,v 390 2011/10/02 09:06:16 unexist $
-#
-
-require "socket"
-
-# Contrib {{{
-begin
- require "#{ENV["HOME"]}/bin/subtle-contrib/ruby/launcher.rb"
- require "#{ENV["HOME"]}/bin/subtle-contrib/ruby/selector.rb"
-
- Subtle::Contrib::Selector.font = "xft:Envy Code R:pixelsize=13"
-# Subtle::Contrib::Selector.font = "xft:Terminus2"
- Subtle::Contrib::Launcher.fonts = [
- "xft:Envy Code R:pixelsize=80",
- "xft:Envy Code R:pixelsize=13"
-# "xft:Terminus2:pixelsize=10"
- ]
-
- Subtle::Contrib::Launcher.browser_screen_num = 0
-rescue LoadError
-end # }}}
-
-# Options {{{
-set :step, 5
-set :snap, 10
-set :gravity, :center
-set :urgent, false
-set :resize, false
-set :tiling, false
-#set :separator, "∞"
-# }}}
-
-
-# Screens {{{
-screen 1 do
- stipple false
- top [:spacer, :mpd, :separator, :clock]
- bottom [:title, :spacer, :views, :tray]
- view 1
-end
-
-# }}}
-
-# Styles {{{
-style :all do
- padding 2, 6, 2, 6
- background "#1a1a1a"
- font "xft:Envy Code R:pixelsize=13"
-end
-
-style :separator do
- separator "//"
- foreground "#ff0000"
-end
-
-style :title do
- foreground "#FFFFFF"
-end
-
-style :views do
- foreground "#7c7c72"
- icon "#7c7c72"
-
- style :focus do
- foreground "#ffffff"
- icon "#ffffff"
- border_bottom "#acaa53", 2
- end
-
- style :occupied do
- foreground "#7c7c72"
- border_bottom "#949269", 2
- end
-
- style :urgent do
- foreground "#c0bd5c"
- icon "#c0bd5c"
- end
-
- style :visible do
- padding_top 0
- border_top "#494948", 2
- end
-end
-
-style :sublets do
- foreground "#7c7c72"
- icon "#7c7c72"
-end
-
-style :clients do
- active "#7c7c72", 2
- inactive "#494948", 2
- margin 10
-end
-
-style :subtle do
- panel "#1a1a1a"
-# background "#595959"
- stipple "#595959"
-end # }}}
-
-#
-# == Gravities
-#
-# Gravities are predefined sizes a window can be set to. There are several ways
-# to set a certain gravity, most convenient is to define a gravity via a tag or
-# change them during runtime via grab. Subtler and subtlext can also modify
-# gravities.
-#
-# A gravity consists of four values which are a percentage value of the screen
-# size. The first two values are x and y starting at the center of the screen
-# and he last two values are the width and height.
-#
-# === Example
-#
-# Following defines a gravity for a window with 100% width and height:
-#
-# gravity :example, [ 0, 0, 100, 100 ]
-#
-# === Link
-#
-# http://subforge.org/projects/subtle/wiki/Gravity
-#
-
-# Top left
-gravity :top_left, [ 0, 0, 50, 50 ]
-gravity :top_left66, [ 0, 0, 50, 66 ]
-gravity :top_left33, [ 0, 0, 50, 34 ]
-
-# Top
-gravity :top, [ 0, 0, 100, 50 ]
-gravity :top66, [ 0, 0, 100, 66 ]
-gravity :top33, [ 0, 0, 100, 34 ]
-
-# Top right
-gravity :top_right, [ 50, 0, 50, 50 ]
-gravity :top_right66, [ 50, 0, 50, 66 ]
-gravity :top_right33, [ 50, 0, 50, 33 ]
-
-# Left
-gravity :left, [ 0, 0, 50, 100 ]
-gravity :left66, [ 0, 0, 66, 100 ]
-gravity :left33, [ 0, 0, 33, 100 ]
-
-# Center
-gravity :center, [ 0, 0, 100, 100 ]
-gravity :center66, [ 17, 17, 66, 66 ]
-gravity :center33, [ 33, 33, 33, 33 ]
-
-# Right
-gravity :right, [ 50, 0, 50, 100 ]
-gravity :right66, [ 34, 0, 66, 100 ]
-gravity :right33, [ 67, 50, 33, 100 ]
-
-# Bottom left
-gravity :bottom_left, [ 0, 50, 50, 50 ]
-gravity :bottom_left66, [ 0, 34, 50, 66 ]
-gravity :bottom_left33, [ 0, 67, 50, 33 ]
-
-# Bottom
-gravity :bottom, [ 0, 50, 100, 50 ]
-gravity :bottom66, [ 0, 34, 100, 66 ]
-gravity :bottom33, [ 0, 67, 100, 33 ]
-
-# Bottom right
-gravity :bottom_right, [ 50, 50, 50, 50 ]
-gravity :bottom_right66, [ 50, 34, 50, 66 ]
-gravity :bottom_right33, [ 50, 67, 50, 33 ]
-
-# Gimp
-#gravity :gimp_image, [ 10, 0, 80, 100 ]
-#gravity :gimp_toolbox, [ 0, 0, 10, 100 ]
-#gravity :gimp_dock, [ 90, 0, 10, 100 ]
-
-# Pidgin
-gravity :pidgin_buddylist, [ 80, 50, 20, 100 ]
-gravity :pidgin_conv, [ 0, 0, 80, 100 ]
-
-#
-# == Grabs
-#
-# Grabs are keyboard and mouse actions within subtle, every grab can be
-# assigned either to a key and/or to a mouse button combination. A grab
-# consists of a chain and an action.
-#
-# === Finding keys
-#
-# The best resource for getting the correct key names is
-# */usr/include/X11/keysymdef.h*, but to make life easier here are some hints
-# about it:
-#
-# * Numbers and letters keep their names, so *a* is *a* and *0* is *0*
-# * Keypad keys need *KP_* as prefix, so *KP_1* is *1* on the keypad
-# * Strip the *XK_* from the key names if looked up in
-# /usr/include/X11/keysymdef.h
-# * Keys usually have meaningful english names
-# * Modifier keys have special meaning (Alt (A), Control (C), Meta (M),
-# Shift (S), Super (W))
-#
-# === Chaining
-#
-# Chains are a combination of keys and modifiers to one or a list of keys
-# and can be used in various ways to trigger an action. In subtle, there are
-# two ways to define chains for grabs:
-#
-# 1. *Default*: Add modifiers to a key and use it for a grab
-#
-# *Example*: grab "W-Return", "urxvt"
-#
-# 2. *Chain*: Define a list of grabs that need to be pressed in order
-#
-# *Example*: grab "C-y Return", "urxvt"
-#
-# ==== Mouse buttons
-#
-# [*B1*] = Button1 (Left mouse button)
-# [*B2*] = Button2 (Middle mouse button)
-# [*B3*] = Button3 (Right mouse button)
-# [*B4*] = Button4 (Mouse wheel up)
-# [*B5*] = Button5 (Mouse wheel down)
-# [*...*]
-# [*B20*] = Button20 (Are you sure that this is a mouse and not a keyboard?)
-#
-# ==== Modifiers
-#
-# [*A*] = Alt key (Mod1)
-# [*C*] = Control key
-# [*M*] = Meta key (Mod3)
-# [*S*] = Shift key
-# [*W*] = Super/Windows key (Mod4)
-# [*G*] = Alt Gr (Mod5)
-#
-# === Action
-#
-# An action is something that happens when a grab is activated, this can be one
-# of the following:
-#
-# [*symbol*] Run a subtle action
-# [*string*] Start a certain program
-# [*array*] Cycle through gravities
-# [*lambda*] Run a Ruby proc
-#
-# === Example
-#
-# This will create a grab that starts a urxvt when Alt+Enter are pressed:
-#
-# grab "A-Return", "urxvt"
-# grab "C-a c", "urxvt"
-#
-# === Link
-#
-# http://subforge.org/projects/subtle/wiki/Grabs
-#
-
-# Jump to view1, view2, ...
-grab "W-S-1", :ViewJump1
-grab "W-S-2", :ViewJump2
-grab "W-S-3", :ViewJump3
-grab "W-S-4", :ViewJump4
-grab "W-S-5", :ViewJump5
-grab "W-S-6", :ViewJump6
-grab "W-S-7", :ViewJump7
-grab "W-S-8", :ViewJump8
-grab "W-S-9", :ViewJump9
-
-# Switch current view
-grab "W-1", :ViewSwitch1
-grab "W-2", :ViewSwitch2
-grab "W-3", :ViewSwitch3
-grab "W-4", :ViewSwitch4
-grab "W-5", :ViewSwitch5
-grab "W-6", :ViewSwitch6
-grab "W-7", :ViewSwitch7
-grab "W-8", :ViewSwitch8
-grab "W-9", :ViewSwitch9
-
-
-# Select next and prev view */
-grab "KP_Add", :ViewNext
-grab "KP_Subtract", :ViewPrev
-
-# Move mouse to screen1, screen2, ...
-grab "W-A-1", :ScreenJump1
-grab "W-A-2", :ScreenJump2
-grab "W-A-3", :ScreenJump3
-grab "W-A-4", :ScreenJump4
-
-# Force reload of config and sublets
-grab "W-C-r", :SubtleReload
-
-# Force restart of subtle
-grab "W-C-S-r", :SubtleRestart
-
-# Quit subtle
-grab "W-C-q", :SubtleQuit
-
-# Move current window
-grab "W-B1", :WindowMove
-
-# Resize current window
-grab "W-B3", :WindowResize
-
-# Toggle floating mode of window
-grab "W-f", :WindowFloat
-
-# Toggle fullscreen mode of window
-grab "W-space", :WindowFull
-
-# Toggle sticky mode of window (will be visible on all views)
-grab "W-s", :WindowStick
-
-# Toggle zaphod mode of window (will span across all screens)
-grab "W-equal", :WindowZaphod
-
-# Raise window
-grab "W-r", :WindowRaise
-
-# Lower window
-grab "W-l", :WindowLower
-
-# Select next windows
-grab "W-Left", :WindowLeft
-grab "W-Down", :WindowDown
-grab "W-Up", :WindowUp
-grab "W-Right", :WindowRight
-
-# Kill current window
-grab "W-k", :WindowKill
-
-# Cycle between given gravities
-grab "W-KP_7", [ :top_left, :top_left66, :top_left33 ]
-grab "W-KP_8", [ :top, :top66, :top33 ]
-grab "W-KP_9", [ :top_right, :top_right66, :top_right33 ]
-grab "W-KP_4", [ :left, :left66, :left33 ]
-grab "W-KP_5", [ :center, :center66, :center33 ]
-grab "W-KP_6", [ :right, :right66, :right33 ]
-grab "W-KP_1", [ :bottom_left, :bottom_left66, :bottom_left33 ]
-grab "W-KP_2", [ :bottom, :bottom66, :bottom33 ]
-grab "W-KP_3", [ :bottom_right, :bottom_right66, :bottom_right33 ]
-
-# In case no numpad is available e.g. on notebooks
-#grab "W-q", [ :top_left, :top_left66, :top_left33 ]
-#grab "W-w", [ :top, :top66, :top33 ]
-#grab "W-e", [ :top_right, :top_right66, :top_right33 ]
-#grab "W-a", [ :left, :left66, :left33 ]
-#grab "W-s", [ :center, :center66, :center33 ]
-#grab "W-d", [ :right, :right66, :right33 ]
-#
-# QUERTZ
-#grab "W-y", [ :bottom_left, :bottom_left66, :bottom_left33 ]
-#
-# QWERTY
-#grab "W-z", [ :bottom_left, :bottom_left66, :bottom_left33 ]
-#
-#grab "W-x", [ :bottom, :bottom66, :bottom33 ]
-#grab "W-c", [ :bottom_right, :bottom_right66, :bottom_right33 ]
-
-# Exec programs
-grab "W-Return", "terminal"
-grab "W-p", "/usr/bin/dmenu_run -b -fn 'Envy Code R-10' -nf '#999' -nb '#000' -sf '#eee' -sb '#0077bb' -p 'run:'"
-grab "W-S-n", "urxvtc -name ncmpc -e ncmpcpp"
-grab "W-S-r", "urxvtc -name ranger -e ranger"
-grab "W-S-l", "xlock"
-grab "W-S-s", "urxvtc -name ssh -e /home/carnager/bin/ssh"
-grab "W-S-F12", "/home/carnager/bin/lastfm.sh"
-grab "W-S-F11", "/home/carnager/bin/love"
-grab "W-Insert", "/usr/lib/perl5/vendor_perl/bin/dmenuclip"
-grab "W-C-Insert", "/usr/lib/perl5/vendor_perl/bin/dmenurl"
-grab "Print", "/home/carnager/bin/scrotmenu.sh"
-grab "W-F1", "/home/carnager/bin/mpdmenu.sh"
-grab "W-F2", "/home/carnager/bin/appmenu.sh"
-grab "W-S-m", "urxvtc -name newsbeuter -e newsbeuter"
-grab "XF86Mail", "urxvtc -name newsbeuter -e mutt"
-grab "XF86HomePage", "firefox-beta-bin"
-grab "XF86AudioPlay", "mpc toggle"
-grab "XF86AudioStop", "mpc stop"
-grab "XF86AudioNext", "mpc next"
-grab "XF86AudioPrev", "mpc prev"
-grab "XF86AudioRaiseVolume", "mpc volume +1"
-grab "XF86AudioLowerVolume", "mpc volume -1"
-grab "XF86Back", "mpc seek -5"
-grab "XF86Forward", "mpc seek +5"
-grab "XF86Reload", "/home/carnager/bin/mpdscrobble"
-grab "Cancel", "/home/carnager/bin/love"
-grab "XF86Tools", "urxvtc -name ncmpc -e ncmpcpp"
-grab "W-S-Escape", "/home/carnager/bin/power.sh"
-
-
-# Contrib
-grab "W-x" do
- Subtle::Contrib::Launcher.run
-end
-
-grab "W-z" do
- Subtle::Contrib::Selector.run
-end
-
-# Scratchpad
-grab "W-y" do
- if((c = Subtlext::Client["scratch"]))
- c.toggle_stick
- c.focus
- elsif((c = Subtlext::Subtle.spawn("urxvt -name scratch")))
- c.tags = []
- c.flags = [ :stick ]
- end
-end
-
-
-# Run Ruby lambdas
-grab "S-F2" do |c|
- puts c.name
-end
-
-grab "S-F3" do
- puts Subtlext::VERSION
-end
-
-#
-# == Tags
-#
-# Tags are generally used in subtle for placement of windows. This placement is
-# strict, that means that - aside from other tiling window managers - windows
-# must have a matching tag to be on a certain view. This also includes that
-# windows that are started on a certain view will not automatically be placed
-# there.
-#
-# There are to ways to define a tag:
-#
-# === Simple
-#
-# The simple way just needs a name and a regular expression to just handle the
-# placement:
-#
-# Example:
-#
-# tag "terms", "terms"
-#
-# === Extended
-#
-# Additionally tags can do a lot more then just control the placement - they
-# also have properties than can define and control some aspects of a window
-# like the default gravity or the default screen per view.
-#
-# Example:
-#
-# tag "terms" do
-# match "xterm|[u]?rxvt"
-# gravity :center
-# end
-#
-# === Default
-#
-# Whenever a window has no tag it will get the default tag and be placed on the
-# default view. The default view can either be set by the user with adding the
-# default tag to a view by choice or otherwise the first defined view will be
-# chosen automatically.
-#
-# === Properties
-#
-# [*borderless*] This property enables the borderless mode for tagged clients.
-#
-# Example: borderless true
-# Links: http://subforge.org/projects/subtle/wiki/Tagging#Borderless
-# http://subforge.org/projects/subtle/wiki/Clients#Borderless
-#
-# [*fixed*] This property enables the fixed mode for tagged clients.
-#
-# Example: fixed true
-# Links: http://subforge.org/projects/subtle/wiki/Tagging#Fixed
-# http://subforge.org/projects/subtle/wiki/Clients#Fixed
-#
-# [*float*] This property enables the float mode for tagged clients.
-#
-# Example: float true
-# Links: http://subforge.org/projects/subtle/wiki/Tagging#Float
-# http://subforge.org/projects/subtle/wiki/Clients#Float
-#
-# [*full*] This property enables the fullscreen mode for tagged clients.
-#
-# Example: full true
-# Links: http://subforge.org/projects/subtle/wiki/Tagging#Fullscreen
-# http://subforge.org/projects/subtle/wiki/Clients#Fullscreen
-#
-# [*geometry*] This property sets a certain geometry as well as floating mode
-# to the tagged client, but only on views that have this tag too.
-# It expects an array with x, y, width and height values whereas
-# width and height must be >0.
-#
-# Example: geometry [100, 100, 50, 50]
-# Link: http://subforge.org/projects/subtle/wiki/Tagging#Geometry
-#
-# [*gravity*] This property sets a certain to gravity to the tagged client,
-# but only on views that have this tag too.
-#
-# Example: gravity :center
-# Link: http://subforge.org/projects/subtle/wiki/Tagging#Gravity
-#
-# [*match*] This property adds matching patterns to a tag, a tag can have
-# more than one. Matching works either via plaintext, regex
-# (see man regex(7)) or window id. Per default tags will only
-# match the WM_NAME and the WM_CLASS portion of a client, this
-# can be changed with following possible values:
-#
-# [*:name*] Match the WM_NAME
-# [*:instance*] Match the first (instance) part from WM_CLASS
-# [*:class*] Match the second (class) part from WM_CLASS
-# [*:role*] Match the window role
-# [*:type*] Match the window type
-#
-# Examples: match instance: "urxvt"
-# match [:role, :class] => "test"
-# match "[xa]+term"
-# Link: http://subforge.org/projects/subtle/wiki/Tagging#Match
-#
-# [*position*] Similar to the geometry property, this property just sets the
-# x/y coordinates of the tagged client, but only on views that
-# have this tag, too. It expects an array with x and y values.
-#
-# Example: position [ 10, 10 ]
-# Link: http://subforge.org/projects/subtle/wiki/Tagging#Position
-#
-# [*resize*] This property enables the float mode for tagged clients.
-#
-# Example: resize true
-# Links: http://subforge.org/projects/subtle/wiki/Tagging#Resize
-# http://subforge.org/projects/subtle/wiki/Clients#Resize
-#
-# [*stick*] This property enables the float mode for tagged clients.
-#
-# Example: stick true
-# Links: http://subforge.org/projects/subtle/wiki/Tagging#Stick
-# http://subforge.org/projects/subtle/wiki/Clients#Stick
-#
-# [*type*] This property sets the tagged client to be treated as a specific
-# window type though as the window sets the type itself. Following
-# types are possible:
-#
-# [*:desktop*] Treat as desktop window (_NET_WM_WINDOW_TYPE_DESKTOP)
-# Link: http://subforge.org/projects/subtle/wiki/Clients#Desktop
-# [*:dock*] Treat as dock window (_NET_WM_WINDOW_TYPE_DOCK)
-# Link: http://subforge.org/projects/subtle/wiki/Clients#Dock
-# [*:toolbar*] Treat as toolbar windows (_NET_WM_WINDOW_TYPE_TOOLBAR)
-# Link: http://subforge.org/projects/subtle/wiki/Clients#Toolbar
-# [*:splash*] Treat as splash window (_NET_WM_WINDOW_TYPE_SPLASH)
-# Link: http://subforge.org/projects/subtle/wiki/Clients#Splash
-# [*:dialog*] Treat as dialog window (_NET_WM_WINDOW_TYPE_DIALOG)
-# Link: http://subforge.org/projects/subtle/wiki/Clients#Dialog
-#
-# Example: type :desktop
-# Link: http://subforge.org/projects/subtle/wiki/Tagging#Type
-#
-# [*urgent*] This property enables the urgent mode for tagged clients.
-#
-# Example: stick true
-# Links: http://subforge.org/projects/subtle/wiki/Tagging#Stick
-# http://subforge.org/projects/subtle/wiki/Clients#Urgent
-#
-# [*zaphod*] This property enables the zaphod mode for tagged clients.
-#
-# Example: zaphod true
-# Links: http://subforge.org/projects/subtle/wiki/Tagging#Zaphod
-# http://subforge.org/projects/subtle/wiki/Clients#Zaphod
-#
-#
-# === Link
-#
-# http://subforge.org/projects/subtle/wiki/Tagging
-#
-
-# Simple tags
-tag "terms" do match "xterm|[u]?rxvt|terminal"; exclude "ncmpc|ssh|newsbeuter"; end
-tag "browser", "uzbl|opera|firefox|navigator|chromium|Browser|Minefield|Navigator|<unknown>|gnome-mplayer|Exe|jumanji|dwb|<unknown>|plugin-container|exe|operapluginwrapper|npviewer.bin"
-
-tag "gmpc" do
- match "gmpc"
-end
-
-tag "mail" do
- match "Mail|Lanikai"
- match :instance => "newsbeuter";
- gravity :center33
-end
-
-tag "mail2" do
- match "Mail|Lanikai"
-end
-
-tag "chat" do
- match :instance => "ssh";
- gravity :center33
-end
-
- tag "ranger" do
- match :instance => "ranger"
- gravity :center33
-end
-
-tag "DL", "jd.Main|transmission-qt"
-
-# Placement
-tag "editor" do
- match "[g]?vim"
- resize true
-end
-
-tag "thunar" do
- match "thunar"
-end
-
-tag "thunar2" do
- match :name => "File.Operation.Progress"
- float true
-end
-
-
-tag "TeamSpeak" do
-match "Ts3client_linux_amd64"
-end
-
-tag "fixed" do
- geometry [ 10, 10, 100, 100 ]
- stick true
-end
-
-tag "resize" do
- match "sakura|gvim"
- resize true
-end
-
-tag "gravity" do
- gravity :center
-end
-
-# Modes
-tag "stick" do
- match "mplayer|feh|mupdf|pinentry-gtk-2|pdfshuffler"
- float true
- stick true
- urgent true
-end
-
-
-
-tag "float" do
- match "awt|ccgo"
- float true
-end
-
-# Pidgin
-tag "conversations" do
- match :role => "conversation"
- gravity :pidgin_conv
-end
-
-tag "buddylist" do
- match :role => "buddy_list"
- gravity :pidgin_buddylist
-end
-
-tag "filetransfer" do
- match "Pidgin"
- match :role => "transfer"
- float true
-end
-
-# Gimp
-#tag "gimp_image" do
-#
-# match :role => "gimp-image-window"
-# gravity :gimp_image
-#end
-
-#tag "gimp_toolbox" do
-# match :role => "gimp-toolbox$"
-# gravity :gimp_toolbox
-#end
-
-#tag "gimp_dock" do
-# match :role => "gimp-dock"
-# gravity :gimp_dock
-#end
-
-tag "gfx" do
- match "gthumb|Gthumb|Shotwell|shotwell|digikam|Digikam"
-end
-
-tag "wine" do
- match "Wine"
- gravity :center
- float true
-end
-
-tag "gimp_splash" do
- match "Gimp"
-end
-
-#
-# == Views
-#
-# Views are the virtual desktops in subtle, they show all windows that share a
-# tag with them. Windows that have no tag will be visible on the default view
-# which is the view with the default tag or the first defined view when this
-# tag isn't set.
-#
-
-view "terms" do
- match "terms|ranger"
-# icon "/home/carnager/.config/subtle/icons/arch.xbm"
- icon_only false
-end
-
-view "www" do
- match "browser"
-# icon "/home/carnager/.config/subtle/icons/fox.xbm"
- icon_only false
-end
-
-view "stuff" do
- match "thunar|TeamSpeak|thunar2"
-# icon "/home/carnager/.config/subtle/icons/dish.xbm"
- icon_only false
-end
-
-view "media" do
- match "Musicbrainz|gmpc"
-# icon "/home/carnager/.config/subtle/icons/note.xbm"
- icon_only false
-end
-
-view "dl" do
- match "DL"
-# icon "/home/carnager/.config/subtle/icons/net_down_02.xbm"
- icon_only false
-end
-
-view "gfx" do
- match "gimp_.*|gfx"
-# icon "/home/carnager/.config/subtle/icons/fs_01.xbm"
- icon_only false
-end
-
-view "mail" do
- match "mail|mail2|buddylist|conversations|filetransfer"
-# icon "/home/carnager/.config/subtle/icons/mail.xbm"
- icon_only false
-end
-
-view "notag" do
- match "default|kgs_room"
-# icon "/home/carnager/.config/subtle/icons/empty.xbm"
- icon_only false
-end
-
-#
-# == Sublets
-#
-# Sublets are Ruby scripts that provide data for the panel and can be managed
-# with the sur script that comes with subtle. Configuration of sublets can
-# either be done inside of the sublet or when supported in the config.
-#
-# === Example
-#
-# sublet :clock do
-# interval 30
-# format_string "%H:%M:%S"
-# end
-#
-
-#
-# == Hooks
-#
-# And finally hooks are a way to bind Ruby scripts to a certain event.
-#
-# Following hooks exist so far:
-#
-# [*:client_create*] Called whenever a window is created
-# [*:client_configure*] Called whenever a window is configured
-# [*:client_focus*] Called whenever a window gets focus
-# [*:client_kill*] Called whenever a window is killed
-#
-# [*:tag_create*] Called whenever a tag is created
-# [*:tag_kill*] Called whenever a tag is killed
-#
-# [*:view_create*] Called whenever a view is created
-# [*:view_configure*] Called whenever a view is configured
-# [*:view_jump*] Called whenever the view is switched
-# [*:view_kill*] Called whenever a view is killed
-#
-# [*:tile*] Called on whenever tiling would be needed
-# [*:reload*] Called on reload
-# [*:start*] Called on start
-# [*:exit*] Called on exit
-#
-# === Example
-#
-# This hook will print the name of the window that gets the focus:
-#
-# on :client_focus do |c|
-# puts c.name
-# end
-#
-# === Link
-#
-# http://subforge.org/wiki/subtle/Hooks
-on :start do
- # Create missing tags
- views = Subtlext::View.all.map { |v| v.name }
- tags = Subtlext::Tag.all.map { |t| t.name }
-
- views.each do |v|
- unless(tags.include?(v))
- t = Subtlext::Tag.new(v)
- t.save
- end
- end
- end
-
- # Add nine C-< number> grabs
- (1..9).each do |i|
- grab "C-%d" % [ i ] do |c|
- views = Subtlext::View.all
- names = views.map { |v| v.name }
-
- # Sanity check
- if(i <= views.size)
- # Tag client
- tags = c.tags.reject { |t| names.include?(t.name) or "default" == t.name }
- tags << names[i - 1]
-
- c.tags = tags
-
- # Tag view
- views[i - 1].tag(names[i - 1])
- end
- end
- end
-grab "A-Tab" do |c|
- sel = 0
- clients = Subtlext::Client.visible
-
- clients.each_index do |idx|
- if(clients[idx].id == c.id)
- sel = idx + 1 if(idx < clients.size - 1)
- end
- end
-
- clients[sel].focus
- end
-
-sublet :mpd do
- host "192.168.1.100"
- show_icons false
-end
-
-on :start do
- # Create missing tags
- views = Subtlext::View.all.map { |v| v.name }
- tags = Subtlext::Tag.all.map { |t| t.name }
-
- views.each do |v|
- unless tags.include?(v)
- t = Subtlext::Tag.new(v)
- t.save
- end
- end
- end
-
- # Add nine C-< number> grabs
- (1..9).each do |i|
- grab "C-%d" % [ i ] do |c|
- views = Subtlext::View.all
- names = views.map { |v| v.name }
-
- # Sanity check
- if i <= views.size
- # Tag client
- tags = c.tags.reject { |t| names.include?(t.name) or "default" == t.name }
- tags << names[i - 1]
-
- c.tags = tags
-
- # Tag view
- views[i - 1].tag(names[i - 1])
- end
- end
- end
-