Commit 512b5f7e831656f08542c5b184b2c0f88d9051da

Authored by Ian Foster
1 parent ec5c7168c8
Exists in master

re-enabled freedesktop menu after fixing bug

Showing 2 changed files with 4 additions and 5 deletions Inline Diff

awesome/awesome/darkburn/theme.lua View file @ 512b5f7
-------------------------------- 1 1 --------------------------------
-- "Darkburn" awesome theme -- 2 2 -- "Darkburn" awesome theme --
-- By LANRAT -- 3 3 -- By LANRAT --
-------------------------------- 4 4 --------------------------------
5 5
-- {{{ Main 6 6 -- {{{ Main
theme = {} 7 7 theme = {}
theme.confdir = awful.util.getdir("config") 8 8 theme.confdir = awful.util.getdir("config")
theme.themedir = theme.confdir .. "/darkburn/" 9 9 theme.themedir = theme.confdir .. "/darkburn/"
theme.wallpaper_cmd = { "awsetbg -a .wallpaper.jpg" } 10 10 theme.wallpaper_cmd = { "awsetbg -a .wallpaper.jpg" }
-- }}} 11 11 -- }}}
12 12
-- {{{ Styles 13 13 -- {{{ Styles
theme.font = "sans 8" 14 14 theme.font = "sans 8"
15 15
-- {{{ Colors 16 16 -- {{{ Colors
theme.fg_normal = "#DCDCCC" 17 17 theme.fg_normal = "#DCDCCC"
theme.fg_focus = "#F0DFAF" 18 18 theme.fg_focus = "#F0DFAF"
theme.fg_urgent = "#CC9393" 19 19 theme.fg_urgent = "#CC9393"
theme.bg_normal = "#000000" 20 20 theme.bg_normal = "#000000"
theme.bg_focus = "#111111" 21 21 theme.bg_focus = "#111111"
theme.bg_urgent = "#3F3F3F" 22 22 theme.bg_urgent = "#3F3F3F"
-- }}} 23 23 -- }}}
24 24
-- {{{ Borders 25 25 -- {{{ Borders
theme.border_width = 0 26 26 theme.border_width = 0
theme.border_normal = "#3F3F3F" 27 27 theme.border_normal = "#3F3F3F"
theme.border_focus = "#6F6F6F" 28 28 theme.border_focus = "#6F6F6F"
--theme.border_marked = "#CC9393" 29 29 --theme.border_marked = "#CC9393"
-- }}} 30 30 -- }}}
31 31
-- {{{ Titlebars 32 32 -- {{{ Titlebars
theme.titlebar_bg_focus = "#3F3F3F" 33 33 theme.titlebar_bg_focus = "#3F3F3F"
theme.titlebar_bg_normal = "#3F3F3F" 34 34 theme.titlebar_bg_normal = "#3F3F3F"
-- }}} 35 35 -- }}}
36 36
-- There are other variable sets 37 37 -- There are other variable sets
-- overriding the default one when 38 38 -- overriding the default one when
-- defined, the sets are: 39 39 -- defined, the sets are:
-- [taglist|tasklist]_[bg|fg]_[focus|urgent] 40 40 -- [taglist|tasklist]_[bg|fg]_[focus|urgent]
-- titlebar_[normal|focus] 41 41 -- titlebar_[normal|focus]
-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] 42 42 -- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]
-- Example: 43 43 -- Example:
--theme.taglist_bg_focus = "#CC9393" 44 44 --theme.taglist_bg_focus = "#CC9393"
-- }}} 45 45 -- }}}
46 46
47 47
-- {{{ Widgets 48 48 -- {{{ Widgets
-- You can add as many variables as 49 49 -- You can add as many variables as
-- you wish and access them by using 50 50 -- you wish and access them by using
-- beautiful.variableName in your rc.lua 51 51 -- beautiful.variableName in your rc.lua
theme.fg_widget = "#AECF96" 52 52 theme.fg_widget = "#AECF96"
theme.fg_center_widget = "#FFCF00" 53 53 theme.fg_center_widget = "#FFCF00"
theme.fg_end_widget = "#FF5656" 54 54 theme.fg_end_widget = "#FF5656"
theme.bg_widget = "#111111" 55 55 theme.bg_widget = "#111111"
--theme.border_widget = "#3F3F3F" 56 56 --theme.border_widget = "#3F3F3F"
-- }}} 57 57 -- }}}
58 58
-- {{{ Mouse finder 59 59 -- {{{ Mouse finder
--theme.mouse_finder_color = "#CC9393" 60 60 --theme.mouse_finder_color = "#CC9393"
-- mouse_finder_[timeout|animate_timeout|radius|factor] 61 61 -- mouse_finder_[timeout|animate_timeout|radius|factor]
-- }}} 62 62 -- }}}
63 63
-- {{{ Menu 64 64 -- {{{ Menu
-- Variables set for theming the menu: 65 65 -- Variables set for theming the menu:
-- menu_[bg|fg]_[normal|focus] 66 66 -- menu_[bg|fg]_[normal|focus]
-- menu_[border_color|border_width] 67 67 -- menu_[border_color|border_width]
theme.menu_height = 16 68 68 theme.menu_height = 16
theme.menu_width = 100 69 69 theme.menu_width = 150
-- }}} 70 70 -- }}}
71 71
-- {{{ Icons 72 72 -- {{{ Icons
-- {{{ Taglist 73 73 -- {{{ Taglist
theme.taglist_squares_sel = theme.themedir .. "taglist/filled_corner.png" 74 74 theme.taglist_squares_sel = theme.themedir .. "taglist/filled_corner.png"
theme.taglist_squares_unsel = theme.themedir .. "taglist/corner.png" 75 75 theme.taglist_squares_unsel = theme.themedir .. "taglist/corner.png"
--theme.taglist_squares_resize = "false" 76 76 --theme.taglist_squares_resize = "false"
-- }}} 77 77 -- }}}
78 78
-- {{{ Misc 79 79 -- {{{ Misc
theme.awesome_icon = theme.themedir .. "awesome-icon.png" 80 80 theme.awesome_icon = theme.themedir .. "awesome-icon.png"
theme.menu_submenu_icon = theme.themedir .. "submenu.png" 81 81 theme.menu_submenu_icon = theme.themedir .. "submenu.png"
theme.tasklist_floating_icon = "/usr/share/awesome/themes/default/tasklist/floatingw.png" 82 82 theme.tasklist_floating_icon = "/usr/share/awesome/themes/default/tasklist/floatingw.png"
-- }}} 83 83 -- }}}
84 84
-- {{{ Layout 85 85 -- {{{ Layout
theme.layout_tile = theme.themedir .. "layouts/tile.png" 86 86 theme.layout_tile = theme.themedir .. "layouts/tile.png"
theme.layout_tileleft = theme.themedir .. "layouts/tileleft.png" 87 87 theme.layout_tileleft = theme.themedir .. "layouts/tileleft.png"
theme.layout_tilebottom = theme.themedir .. "layouts/tilebottom.png" 88 88 theme.layout_tilebottom = theme.themedir .. "layouts/tilebottom.png"
theme.layout_tiletop = theme.themedir .. "layouts/tiletop.png" 89 89 theme.layout_tiletop = theme.themedir .. "layouts/tiletop.png"
theme.layout_fairv = theme.themedir .. "layouts/fairv.png" 90 90 theme.layout_fairv = theme.themedir .. "layouts/fairv.png"
theme.layout_fairh = theme.themedir .. "layouts/fairh.png" 91 91 theme.layout_fairh = theme.themedir .. "layouts/fairh.png"
theme.layout_spiral = theme.themedir .. "layouts/spiral.png" 92 92 theme.layout_spiral = theme.themedir .. "layouts/spiral.png"
theme.layout_dwindle = theme.themedir .. "layouts/dwindle.png" 93 93 theme.layout_dwindle = theme.themedir .. "layouts/dwindle.png"
theme.layout_max = theme.themedir .. "layouts/max.png" 94 94 theme.layout_max = theme.themedir .. "layouts/max.png"
theme.layout_fullscreen = theme.themedir .. "layouts/fullscreen.png" 95 95 theme.layout_fullscreen = theme.themedir .. "layouts/fullscreen.png"
theme.layout_magnifier = theme.themedir .. "layouts/magnifier.png" 96 96 theme.layout_magnifier = theme.themedir .. "layouts/magnifier.png"
theme.layout_floating = theme.themedir .. "layouts/floating.png" 97 97 theme.layout_floating = theme.themedir .. "layouts/floating.png"
-- }}} 98 98 -- }}}
99 99
-- {{{ Titlebar 100 100 -- {{{ Titlebar
theme.titlebar_close_button_focus = theme.themedir .. "titlebar/close_focus.png" 101 101 theme.titlebar_close_button_focus = theme.themedir .. "titlebar/close_focus.png"
theme.titlebar_close_button_normal = theme.themedir .. "titlebar/close_normal.png" 102 102 theme.titlebar_close_button_normal = theme.themedir .. "titlebar/close_normal.png"
103 103
theme.titlebar_ontop_button_focus_active = theme.themedir .. "titlebar/ontop_focus_active.png" 104 104 theme.titlebar_ontop_button_focus_active = theme.themedir .. "titlebar/ontop_focus_active.png"
theme.titlebar_ontop_button_normal_active = theme.themedir .. "titlebar/ontop_normal_active.png" 105 105 theme.titlebar_ontop_button_normal_active = theme.themedir .. "titlebar/ontop_normal_active.png"
theme.titlebar_ontop_button_focus_inactive = theme.themedir .. "titlebar/ontop_focus_inactive.png" 106 106 theme.titlebar_ontop_button_focus_inactive = theme.themedir .. "titlebar/ontop_focus_inactive.png"
theme.titlebar_ontop_button_normal_inactive = theme.themedir .. "titlebar/ontop_normal_inactive.png" 107 107 theme.titlebar_ontop_button_normal_inactive = theme.themedir .. "titlebar/ontop_normal_inactive.png"
108 108
awesome/awesome/rc.lua View file @ 512b5f7
-------------------------------------- 1 1 --------------------------------------
---- Includes ---- 2 2 ---- Includes ----
-------------------------------------- 3 3 --------------------------------------
-- Standard awesome library 4 4 -- Standard awesome library
require("awful") 5 5 require("awful")
require("awful.autofocus") 6 6 require("awful.autofocus")
require("awful.rules") 7 7 require("awful.rules")
8 8
-- Theme handling library 9 9 -- Theme handling library
require("beautiful") 10 10 require("beautiful")
11 11
-- Notification library 12 12 -- Notification library
require("naughty") 13 13 require("naughty")
14 14
--Expose like plugin 15 15 --Expose like plugin
require("modules/revelation") 16 16 require("modules/revelation")
17 17
--calendaar popup 18 18 --calendaar popup
require('calendar2') 19 19 require('calendar2')
20 20
--freedesktop menus 21 21 --freedesktop menus
--require('modules/awesome-freedesktop/freedesktop.utils') 22 22 require('modules/awesome-freedesktop/freedesktop.utils')
--require('modules/awesome-freedesktop/freedesktop.menu') 23 23 require('modules/awesome-freedesktop/freedesktop.menu')
24 24
--for widgets 25 25 --for widgets
require("vicious") 26 26 require("vicious")
27 27
28 28
--local keydoc = require("keydoc") 29 29 --local keydoc = require("keydoc")
30 30
--make pretty things 31 31 --make pretty things
--this will crash if oocairo is not installed 32 32 --this will crash if oocairo is not installed
--bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=681279 33 33 --bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=681279
--require("blingbling") 34 34 --require("blingbling")
35 35
36 36
-------------------------------------- 37 37 --------------------------------------
---- Variables ---- 38 38 ---- Variables ----
-------------------------------------- 39 39 --------------------------------------
40 40
-- {{{ Variable definitions 41 41 -- {{{ Variable definitions
-- This is used later as the default terminal and editor to run. 42 42 -- This is used later as the default terminal and editor to run.
terminal = "terminator" 43 43 terminal = "terminator"
editor = os.getenv("EDITOR") or "vim" 44 44 editor = os.getenv("EDITOR") or "vim"
editor_cmd = terminal .. " -e " .. editor 45 45 editor_cmd = terminal .. " -e " .. editor
web_browser = "google-chrome" 46 46 web_browser = "google-chrome"
file_manager = "thunar" 47 47 file_manager = "thunar"
lock_command = "xscreensaver-command -lock" 48 48 lock_command = "xscreensaver-command -lock"
exit_command = "cb-exit" 49 49 exit_command = "cb-exit"
50 50
-- Default modkey. 51 51 -- Default modkey.
-- Usually, Mod4 is the key with a logo between Control and Alt. 52 52 -- Usually, Mod4 is the key with a logo between Control and Alt.
-- If you do not like this or do not have such a key, 53 53 -- If you do not like this or do not have such a key,
-- I suggest you to remap Mod4 to another key using xmodmap or other tools. 54 54 -- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with others. 55 55 -- However, you can use another modifier like Mod1, but it may interact with others.
modkey = "Mod4" 56 56 modkey = "Mod4"
57 57
58 58
-------------------------------------- 59 59 --------------------------------------
---- Plugin Settings ---- 60 60 ---- Plugin Settings ----
-------------------------------------- 61 61 --------------------------------------
62 62
--set default naughty timeout 63 63 --set default naughty timeout
naughty.config.default_preset.timeout = 2 64 64 naughty.config.default_preset.timeout = 2
65 65
66 66
-- Themes define colours, icons, and wallpapers 67 67 -- Themes define colours, icons, and wallpapers
beautiful.init( awful.util.getdir("config") .. "/darkburn/theme.lua") 68 68 beautiful.init( awful.util.getdir("config") .. "/darkburn/theme.lua")
69 69
70 70
-------------------------------------- 71 71 --------------------------------------
---- Error Handleing ---- 72 72 ---- Error Handleing ----
-------------------------------------- 73 73 --------------------------------------
74 74
-- {{{ Error handling 75 75 -- {{{ Error handling
-- Check if awesome encountered an error during startup and fell back to 76 76 -- Check if awesome encountered an error during startup and fell back to
-- another config (This code will only ever execute for the fallback config) 77 77 -- another config (This code will only ever execute for the fallback config)
if awesome.startup_errors then 78 78 if awesome.startup_errors then
naughty.notify({ preset = naughty.config.presets.critical, 79 79 naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, there were errors during startup!", 80 80 title = "Oops, there were errors during startup!",
text = awesome.startup_errors }) 81 81 text = awesome.startup_errors })
end 82 82 end
83 83
-- Handle runtime errors after startup 84 84 -- Handle runtime errors after startup
do 85 85 do
local in_error = false 86 86 local in_error = false
awesome.add_signal("debug::error", function (err) 87 87 awesome.add_signal("debug::error", function (err)
-- Make sure we don't go into an endless error loop 88 88 -- Make sure we don't go into an endless error loop
if in_error then return end 89 89 if in_error then return end
in_error = true 90 90 in_error = true
91 91
naughty.notify({ preset = naughty.config.presets.critical, 92 92 naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, an error happened!", 93 93 title = "Oops, an error happened!",
text = err }) 94 94 text = err })
in_error = false 95 95 in_error = false
end) 96 96 end)
end 97 97 end
-- }}} 98 98 -- }}}
99 99
100 100
-------------------------------------- 101 101 --------------------------------------
---- Tags and Layout ---- 102 102 ---- Tags and Layout ----
-------------------------------------- 103 103 --------------------------------------
104 104
-- Table of layouts to cover with awful.layout.inc, order matters. 105 105 -- Table of layouts to cover with awful.layout.inc, order matters.
layouts = 106 106 layouts =
{ 107 107 {
awful.layout.suit.tile, 108 108 awful.layout.suit.tile,
--awful.layout.suit.tile.left, 109 109 --awful.layout.suit.tile.left,
awful.layout.suit.tile.bottom, 110 110 awful.layout.suit.tile.bottom,
--awful.layout.suit.tile.top, 111 111 --awful.layout.suit.tile.top,
--awful.layout.suit.fair, 112 112 --awful.layout.suit.fair,
--awful.layout.suit.fair.horizontal, 113 113 --awful.layout.suit.fair.horizontal,
--awful.layout.suit.spiral, 114 114 --awful.layout.suit.spiral,
--awful.layout.suit.spiral.dwindle, 115 115 --awful.layout.suit.spiral.dwindle,
awful.layout.suit.max, 116 116 awful.layout.suit.max,
--awful.layout.suit.max.fullscreen, 117 117 --awful.layout.suit.max.fullscreen,
--awful.layout.suit.magnifier, 118 118 --awful.layout.suit.magnifier,
awful.layout.suit.floating, 119 119 awful.layout.suit.floating,
} 120 120 }
-- }}} 121 121 -- }}}
122 122
-- {{{ Tags 123 123 -- {{{ Tags
-- Define a tag table which hold all screen tags. 124 124 -- Define a tag table which hold all screen tags.
tags = { 125 125 tags = {
names = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 126 126 names = { 1, 2, 3, 4, 5, 6, 7, 8, 9 },
layout = { layouts[1], layouts[1], layouts[1], layouts[1], layouts[1], layouts[1], layouts[1], layouts[1], layouts[1],}, 127 127 layout = { layouts[1], layouts[1], layouts[1], layouts[1], layouts[1], layouts[1], layouts[1], layouts[1], layouts[1],},
} 128 128 }
for s = 1, screen.count() do 129 129 for s = 1, screen.count() do
-- Each screen has its own tag table. 130 130 -- Each screen has its own tag table.
tags[s] = awful.tag(tags.names, s, tags.layout) 131 131 tags[s] = awful.tag(tags.names, s, tags.layout)
end 132 132 end
-- }}} 133 133 -- }}}
134 134
135 135
-------------------------------------- 136 136 --------------------------------------
---- Menu ---- 137 137 ---- Menu ----
-------------------------------------- 138 138 --------------------------------------
139 139
-- {{{ Menu 140 140 -- {{{ Menu
-- Create a laucher widget and a main menu 141 141 -- Create a laucher widget and a main menu
myawesomemenu = { 142 142 myawesomemenu = {
{ "manual", terminal .. " -e man awesome" }, 143 143 { "manual", terminal .. " -e man awesome" },
{ "edit config", editor_cmd .. " " .. awesome.conffile }, 144 144 { "edit config", editor_cmd .. " " .. awesome.conffile },
{ "restart", awesome.restart }, 145 145 { "restart", awesome.restart },
{ "quit", awesome.quit } 146 146 { "quit", awesome.quit }
} 147 147 }
148 148
--menu_items = freedesktop.menu.new() 149 149 menu_items = freedesktop.menu.new()
menu_items = {} 150
table.insert(menu_items, { "awesome", myawesomemenu, beautiful.awesome_icon }) 151 150 table.insert(menu_items, { "awesome", myawesomemenu, beautiful.awesome_icon })
table.insert(menu_items, { "Exit", exit_command }) 152 151 table.insert(menu_items, { "Exit", exit_command })
153 152
mymainmenu = awful.menu.new({ items = menu_items, width = beautiful.menu_width }) 154 153 mymainmenu = awful.menu.new({ items = menu_items, width = beautiful.menu_width })
155 154
mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon), 156 155 mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
menu = mymainmenu }) 157 156 menu = mymainmenu })
-- }}} 158 157 -- }}}
159 158
160 159
-------------------------------------- 161 160 --------------------------------------
---- WiBox ---- 162 161 ---- WiBox ----
-------------------------------------- 163 162 --------------------------------------
164 163
-- {{{ Wibox 165 164 -- {{{ Wibox
-- Create a textclock widget 166 165 -- Create a textclock widget
mytextclock = awful.widget.textclock({ align = "right" }) 167 166 mytextclock = awful.widget.textclock({ align = "right" })
168 167
--calendar plugin 169 168 --calendar plugin
calendar2.addCalendarToWidget(mytextclock) 170 169 calendar2.addCalendarToWidget(mytextclock)
171 170
--separator widget 172 171 --separator widget
separator = widget({ type = "textbox" }) 173 172 separator = widget({ type = "textbox" })
separator.text = "|" 174 173 separator.text = "|"
175 174
--space widget 176 175 --space widget
space = widget({ type = "textbox" }) 177 176 space = widget({ type = "textbox" })
space.text = " " 178 177 space.text = " "
179 178
180 179
-- RAM usage widget 181 180 -- RAM usage widget
memwidget = awful.widget.progressbar() 182 181 memwidget = awful.widget.progressbar()
memwidget:set_width(8) 183 182 memwidget:set_width(8)
memwidget:set_height(beautiful.menu_height) 184 183 memwidget:set_height(beautiful.menu_height)
memwidget:set_vertical(true) 185 184 memwidget:set_vertical(true)
memwidget:set_background_color(beautiful.bg_widget) 186 185 memwidget:set_background_color(beautiful.bg_widget)
memwidget:set_color(beautiful.fg_widget) 187 186 memwidget:set_color(beautiful.fg_widget)
memwidget:set_gradient_colors({ beautiful.fg_widget, beautiful.fg_center_widget, beautiful.fg_end_widget }) 188 187 memwidget:set_gradient_colors({ beautiful.fg_widget, beautiful.fg_center_widget, beautiful.fg_end_widget })
-- RAM usage tooltip 189 188 -- RAM usage tooltip
memwidget_t = awful.tooltip({ objects = { memwidget.widget },}) 190 189 memwidget_t = awful.tooltip({ objects = { memwidget.widget },})
vicious.cache(vicious.widgets.mem) 191 190 vicious.cache(vicious.widgets.mem)
vicious.register(memwidget, vicious.widgets.mem, 192 191 vicious.register(memwidget, vicious.widgets.mem,
function (widget, args) 193 192 function (widget, args)
memwidget_t:set_text(" RAM: " .. args[1] .. "% " .. args[2] .. "MB / " .. args[3] .. "MB ") 194 193 memwidget_t:set_text(" RAM: " .. args[1] .. "% " .. args[2] .. "MB / " .. args[3] .. "MB ")
return args[1] 195 194 return args[1]
end, 5) 196 195 end, 5)
--update every 5 seconds 197 196 --update every 5 seconds
198 197
-- CPU usage widget 199 198 -- CPU usage widget
cpuwidget = awful.widget.graph() 200 199 cpuwidget = awful.widget.graph()
cpuwidget:set_width(30) 201 200 cpuwidget:set_width(30)
cpuwidget:set_height(beautiful.menu_height) 202 201 cpuwidget:set_height(beautiful.menu_height)
cpuwidget:set_background_color(beautiful.bg_widget) 203 202 cpuwidget:set_background_color(beautiful.bg_widget)
cpuwidget:set_color(beautiful.fg_widget) 204 203 cpuwidget:set_color(beautiful.fg_widget)
cpuwidget:set_gradient_angle(180) 205 204 cpuwidget:set_gradient_angle(180)
cpuwidget:set_gradient_colors({ beautiful.fg_widget, fg_center_widget, beautiful.fg_end_widget }) 206 205 cpuwidget:set_gradient_colors({ beautiful.fg_widget, fg_center_widget, beautiful.fg_end_widget })
cpuwidget_t = awful.tooltip({ objects = { cpuwidget.widget },}) 207 206 cpuwidget_t = awful.tooltip({ objects = { cpuwidget.widget },})
-- Register CPU widget 208 207 -- Register CPU widget
vicious.register(cpuwidget, vicious.widgets.cpu, 209 208 vicious.register(cpuwidget, vicious.widgets.cpu,
function (widget, args) 210 209 function (widget, args)
cpuwidget_t:set_text("CPU Usage: " .. args[1] .. "%") 211 210 cpuwidget_t:set_text("CPU Usage: " .. args[1] .. "%")
return args[1] 212 211 return args[1]
end, 2) 213 212 end, 2)
214 213
-- Create a systray 215 214 -- Create a systray
mysystray = widget({ type = "systray" }) 216 215 mysystray = widget({ type = "systray" })
217 216
-- Create a wibox for each screen and add it 218 217 -- Create a wibox for each screen and add it
mywibox = {} 219 218 mywibox = {}
mypromptbox = {} 220 219 mypromptbox = {}
mylayoutbox = {} 221 220 mylayoutbox = {}
mytaglist = {} 222 221 mytaglist = {}
mytaglist.buttons = awful.util.table.join( 223 222 mytaglist.buttons = awful.util.table.join(
awful.button({ }, 1, awful.tag.viewonly), 224 223 awful.button({ }, 1, awful.tag.viewonly),
awful.button({ modkey }, 1, awful.client.movetotag), 225 224 awful.button({ modkey }, 1, awful.client.movetotag),
awful.button({ }, 3, awful.tag.viewtoggle), 226 225 awful.button({ }, 3, awful.tag.viewtoggle),
awful.button({ modkey }, 3, awful.client.toggletag), 227 226 awful.button({ modkey }, 3, awful.client.toggletag),
awful.button({ }, 4, awful.tag.viewnext), 228 227 awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev) 229 228 awful.button({ }, 5, awful.tag.viewprev)
) 230 229 )
mytasklist = {} 231 230 mytasklist = {}
mytasklist.buttons = awful.util.table.join( 232 231 mytasklist.buttons = awful.util.table.join(
awful.button({ }, 1, function (c) 233 232 awful.button({ }, 1, function (c)
if c == client.focus then 234 233 if c == client.focus then
c.minimized = true 235 234 c.minimized = true
else 236 235 else
if not c:isvisible() then 237 236 if not c:isvisible() then
awful.tag.viewonly(c:tags()[1]) 238 237 awful.tag.viewonly(c:tags()[1])
end 239 238 end
-- This will also un-minimize 240 239 -- This will also un-minimize
-- the client, if needed 241 240 -- the client, if needed
client.focus = c 242 241 client.focus = c
c:raise() 243 242 c:raise()
end 244 243 end
end), 245 244 end),
awful.button({ }, 3, function () 246 245 awful.button({ }, 3, function ()
if instance then 247 246 if instance then
instance:hide() 248 247 instance:hide()
instance = nil 249 248 instance = nil
else 250 249 else
instance = awful.menu.clients({ width=250 }) 251 250 instance = awful.menu.clients({ width=250 })
end 252 251 end
end), 253 252 end),
awful.button({ }, 4, function () 254 253 awful.button({ }, 4, function ()
awful.client.focus.byidx(1) 255 254 awful.client.focus.byidx(1)
if client.focus then client.focus:raise() end 256 255 if client.focus then client.focus:raise() end
end), 257 256 end),
awful.button({ }, 5, function () 258 257 awful.button({ }, 5, function ()
awful.client.focus.byidx(-1) 259 258 awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end 260 259 if client.focus then client.focus:raise() end
end)) 261 260 end))
262 261
for s = 1, screen.count() do 263 262 for s = 1, screen.count() do
-- Create a promptbox for each screen 264 263 -- Create a promptbox for each screen
mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright }) 265 264 mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright })
-- Create an imagebox widget which will contains an icon indicating which layout we're using. 266 265 -- Create an imagebox widget which will contains an icon indicating which layout we're using.
-- We need one layoutbox per screen. 267 266 -- We need one layoutbox per screen.
mylayoutbox[s] = awful.widget.layoutbox(s) 268 267 mylayoutbox[s] = awful.widget.layoutbox(s)
mylayoutbox[s]:buttons(awful.util.table.join( 269 268 mylayoutbox[s]:buttons(awful.util.table.join(
awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end), 270 269 awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end), 271 270 awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end), 272 271 awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end))) 273 272 awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
-- Create a taglist widget 274 273 -- Create a taglist widget
mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons) 275 274 mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons)
276 275
-- Create a tasklist widget 277 276 -- Create a tasklist widget
mytasklist[s] = awful.widget.tasklist(function(c) 278 277 mytasklist[s] = awful.widget.tasklist(function(c)
return awful.widget.tasklist.label.currenttags(c, s) 279 278 return awful.widget.tasklist.label.currenttags(c, s)
end, mytasklist.buttons) 280 279 end, mytasklist.buttons)
281 280
-- Create the wibox 282 281 -- Create the wibox
mywibox[s] = awful.wibox({ position = "top", screen = s, height = beautiful.menu_height }) 283 282 mywibox[s] = awful.wibox({ position = "top", screen = s, height = beautiful.menu_height })
-- Add widgets to the wibox - order matters 284 283 -- Add widgets to the wibox - order matters
mywibox[s].widgets = { 285 284 mywibox[s].widgets = {
{ 286 285 {
mylauncher, 287 286 mylauncher,
mytaglist[s], 288 287 mytaglist[s],
mypromptbox[s], 289 288 mypromptbox[s],
layout = awful.widget.layout.horizontal.leftright 290 289 layout = awful.widget.layout.horizontal.leftright
}, 291 290 },
mylayoutbox[s], 292 291 mylayoutbox[s],
mytextclock, 293 292 mytextclock,
separator, 294 293 separator,
space, 295 294 space,
memwidget.widget, 296 295 memwidget.widget,
space, 297 296 space,
separator, 298 297 separator,
space, 299 298 space,
cpuwidget.widget, 300 299 cpuwidget.widget,
space, 301 300 space,
separator, 302 301 separator,
s == 1 and mysystray or nil, --only place the systray on the primary screen 303 302 s == 1 and mysystray or nil, --only place the systray on the primary screen
mytasklist[s], 304 303 mytasklist[s],
layout = awful.widget.layout.horizontal.rightleft 305 304 layout = awful.widget.layout.horizontal.rightleft
} 306 305 }
end 307 306 end
-- }}} 308 307 -- }}}
309 308
310 309
-------------------------------------- 311 310 --------------------------------------
---- Key bindings ---- 312 311 ---- Key bindings ----
-------------------------------------- 313 312 --------------------------------------
314 313
-- {{{ Change workspace on scroll 315 314 -- {{{ Change workspace on scroll
root.buttons(awful.util.table.join( 316 315 root.buttons(awful.util.table.join(
--awful.button({ }, 3, function () mymainmenu:toggle() end), --I dont want a menu when I click on the desktop 317 316 --awful.button({ }, 3, function () mymainmenu:toggle() end), --I dont want a menu when I click on the desktop
awful.button({ }, 4, awful.tag.viewnext), 318 317 awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev) 319 318 awful.button({ }, 5, awful.tag.viewprev)
)) 320 319 ))
-- }}} 321 320 -- }}}
322 321
323 322
-- {{{ Key bindings 324 323 -- {{{ Key bindings
globalkeys = awful.util.table.join( 325 324 globalkeys = awful.util.table.join(
326 325
--keydoc.group("Layout manipulation"), 327 326 --keydoc.group("Layout manipulation"),
328 327
--plugins 329 328 --plugins
awful.key({ modkey, }, "e", revelation), 330 329 awful.key({ modkey, }, "e", revelation),
--awful.key({ modkey, }, "F1", keydoc.display), --TODO finish this, needs arg string as last param 331 330 --awful.key({ modkey, }, "F1", keydoc.display), --TODO finish this, needs arg string as last param
332 331
--Conky toggle 333 332 --Conky toggle
awful.key({ }, "Pause", raise_conky, lower_conky), 334 333 awful.key({ }, "Pause", raise_conky, lower_conky),
--awful.key({}, "Pause", toggle_conky) 335 334 --awful.key({}, "Pause", toggle_conky)
336 335
--Move Client to Workspace Left/Right 337 336 --Move Client to Workspace Left/Right
--only works with 3.5, For 3.4 visit link 338 337 --only works with 3.5, For 3.4 visit link
--http://awesome.naquadah.org/wiki/Move_Window_to_Workspace_Left/Right 339 338 --http://awesome.naquadah.org/wiki/Move_Window_to_Workspace_Left/Right
awful.key({ modkey, "Shift" }, "Left", 340 339 awful.key({ modkey, "Shift" }, "Left",
function (c) 341 340 function (c)
local curidx = awful.tag.getidx() 342 341 local curidx = awful.tag.getidx()
if curidx == 1 then 343 342 if curidx == 1 then
awful.client.movetotag(tags[client.focus.screen][9]) 344 343 awful.client.movetotag(tags[client.focus.screen][9])
else 345 344 else
awful.client.movetotag(tags[client.focus.screen][curidx - 1]) 346 345 awful.client.movetotag(tags[client.focus.screen][curidx - 1])
end 347 346 end
--awful.tag.viewprev 348 347 --awful.tag.viewprev
end), 349 348 end),
awful.key({ modkey, "Shift" }, "Right", 350 349 awful.key({ modkey, "Shift" }, "Right",
function (c) 351 350 function (c)
local curidx = awful.tag.getidx() 352 351 local curidx = awful.tag.getidx()
if curidx == 9 then 353 352 if curidx == 9 then
awful.client.movetotag(tags[client.focus.screen][1]) 354 353 awful.client.movetotag(tags[client.focus.screen][1])
else 355 354 else
awful.client.movetotag(tags[client.focus.screen][curidx + 1]) 356 355 awful.client.movetotag(tags[client.focus.screen][curidx + 1])
end 357 356 end
--awful.tag.viewnext 358 357 --awful.tag.viewnext
end), 359 358 end),
awful.key({ modkey, }, "Left", awful.tag.viewprev ), 360 359 awful.key({ modkey, }, "Left", awful.tag.viewprev ),
awful.key({ modkey, }, "Right", awful.tag.viewnext ), 361 360 awful.key({ modkey, }, "Right", awful.tag.viewnext ),
awful.key({ modkey, }, "Escape", awful.tag.history.restore), 362 361 awful.key({ modkey, }, "Escape", awful.tag.history.restore),
363 362
awful.key({ modkey, }, "j", 364 363 awful.key({ modkey, }, "j",
function () 365 364 function ()
awful.client.focus.byidx( 1) 366 365 awful.client.focus.byidx( 1)
if client.focus then client.focus:raise() end 367 366 if client.focus then client.focus:raise() end
end), 368 367 end),
awful.key({ modkey, }, "k", 369 368 awful.key({ modkey, }, "k",
function () 370 369 function ()
awful.client.focus.byidx(-1) 371 370 awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end 372 371 if client.focus then client.focus:raise() end
end), 373 372 end),
--awful.key({ modkey, }, "w", function () mymainmenu:show({keygrabber=true}) end), --we dont like the menu 374 373 --awful.key({ modkey, }, "w", function () mymainmenu:show({keygrabber=true}) end), --we dont like the menu
375 374
-- Layout manipulation 376 375 -- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end), 377 376 awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end), 378 377 awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end),
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end), 379 378 awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end), 380 379 awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto), 381 380 awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
awful.key({ modkey, }, "Tab", 382 381 awful.key({ modkey, }, "Tab",
function () 383 382 function ()
awful.client.focus.history.previous() 384 383 awful.client.focus.history.previous()
if client.focus then 385 384 if client.focus then
client.focus:raise() 386 385 client.focus:raise()
end 387 386 end
end), 388 387 end),
389 388
-- Standard program 390 389 -- Standard program
awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end), 391 390 awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
awful.key({ modkey, }, "w", function () awful.util.spawn(web_browser) end), --hotkey to start web-browser 392 391 awful.key({ modkey, }, "w", function () awful.util.spawn(web_browser) end), --hotkey to start web-browser
awful.key({ modkey, }, "f", function () awful.util.spawn(file_manager) end), --hotkey to start my file manager 393 392 awful.key({ modkey, }, "f", function () awful.util.spawn(file_manager) end), --hotkey to start my file manager
awful.key({ modkey, "Control" }, "l", function () awful.util.spawn(lock_command) end), --lock screen 394 393 awful.key({ modkey, "Control" }, "l", function () awful.util.spawn(lock_command) end), --lock screen
awful.key({ modkey, "Control" }, "r", awesome.restart), 395 394 awful.key({ modkey, "Control" }, "r", awesome.restart),
awful.key({ modkey, "Shift" }, "q", awesome.quit), 396 395 awful.key({ modkey, "Shift" }, "q", awesome.quit),
397 396
-- Standard program 398 397 -- Standard program
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end), 399 398 awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end),
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end), 400 399 awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end), 401 400 awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end), 402 401 awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end), 403 402 awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end), 404 403 awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end), 405 404 awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end), 406 405 awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
407 406
awful.key({ modkey, "Control" }, "n", awful.client.restore), 408 407 awful.key({ modkey, "Control" }, "n", awful.client.restore),
409 408
-- Prompt 410 409 -- Prompt
awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end), 411 410 awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
412 411
awful.key({ modkey }, "x", 413 412 awful.key({ modkey }, "x",
function () 414 413 function ()
awful.prompt.run({ prompt = "Run Lua code: " }, 415 414 awful.prompt.run({ prompt = "Run Lua code: " },
mypromptbox[mouse.screen].widget, 416 415 mypromptbox[mouse.screen].widget,
awful.util.eval, nil, 417 416 awful.util.eval, nil,
awful.util.getdir("cache") .. "/history_eval") 418 417 awful.util.getdir("cache") .. "/history_eval")
end) 419 418 end)
) 420 419 )
421 420
422 421
-- Compute the maximum number of digit we need, limited to 9 423 422 -- Compute the maximum number of digit we need, limited to 9
keynumber = 0 424 423 keynumber = 0
for s = 1, screen.count() do 425 424 for s = 1, screen.count() do
keynumber = math.min(9, math.max(#tags[s], keynumber)); 426 425 keynumber = math.min(9, math.max(#tags[s], keynumber));
end 427 426 end
428 427
-- Bind all key numbers to tags. 429 428 -- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it works on any keyboard layout. 430 429 -- Be careful: we use keycodes to make it works on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9. 431 430 -- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, keynumber do 432 431 for i = 1, keynumber do
globalkeys = awful.util.table.join(globalkeys, 433 432 globalkeys = awful.util.table.join(globalkeys,
awful.key({ modkey }, "#" .. i + 9, 434 433 awful.key({ modkey }, "#" .. i + 9,
function () 435 434 function ()
local screen = mouse.screen 436 435 local screen = mouse.screen
if tags[screen][i] then 437 436 if tags[screen][i] then
awful.tag.viewonly(tags[screen][i]) 438 437 awful.tag.viewonly(tags[screen][i])
end 439 438 end
end), 440 439 end),
awful.key({ modkey, "Control" }, "#" .. i + 9, 441 440 awful.key({ modkey, "Control" }, "#" .. i + 9,
function () 442 441 function ()
local screen = mouse.screen 443 442 local screen = mouse.screen
if tags[screen][i] then 444 443 if tags[screen][i] then
awful.tag.viewtoggle(tags[screen][i]) 445 444 awful.tag.viewtoggle(tags[screen][i])
end 446 445 end
end), 447 446 end),
awful.key({ modkey, "Shift" }, "#" .. i + 9, 448 447 awful.key({ modkey, "Shift" }, "#" .. i + 9,
function () 449 448 function ()
if client.focus and tags[client.focus.screen][i] then 450 449 if client.focus and tags[client.focus.screen][i] then
awful.client.movetotag(tags[client.focus.screen][i]) 451 450 awful.client.movetotag(tags[client.focus.screen][i])
end 452 451 end
end), 453 452 end),
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, 454 453 awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
function () 455 454 function ()
if client.focus and tags[client.focus.screen][i] then 456 455 if client.focus and tags[client.focus.screen][i] then
awful.client.toggletag(tags[client.focus.screen][i]) 457 456 awful.client.toggletag(tags[client.focus.screen][i])
end 458 457 end
end)) 459 458 end))
end 460 459 end
461 460
clientbuttons = awful.util.table.join( 462 461 clientbuttons = awful.util.table.join(
awful.button({ }, 1, function (c) client.focus = c; c:raise() end), 463 462 awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
awful.button({ modkey }, 1, awful.mouse.client.move), 464 463 awful.button({ modkey }, 1, awful.mouse.client.move),
awful.button({ modkey }, 3, awful.mouse.client.resize)) 465 464 awful.button({ modkey }, 3, awful.mouse.client.resize))
466 465
-- Set keys 467 466 -- Set keys
root.keys(globalkeys) 468 467 root.keys(globalkeys)
-- }}} 469 468 -- }}}
470 469
471 470
-------------------------------------- 472 471 --------------------------------------
--- Rules ---- 473 472 --- Rules ----
-------------------------------------- 474 473 --------------------------------------
475 474
clientkeys = awful.util.table.join( 476 475 clientkeys = awful.util.table.join(
awful.key({ modkey, }, "F11", function (c) c.fullscreen = not c.fullscreen end), 477 476 awful.key({ modkey, }, "F11", function (c) c.fullscreen = not c.fullscreen end),
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end), 478 477 awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end),
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ), 479 478 awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end), 480 479 awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
--awful.key({ modkey, }, "o", awful.client.movetoscreen ), 481 480 --awful.key({ modkey, }, "o", awful.client.movetoscreen ),
--Move Client to Monitor Left/Right 482 481 --Move Client to Monitor Left/Right
awful.key({ modkey, }, "o", function(c) awful.client.movetoscreen(c,c.screen-1) end ), 483 482 awful.key({ modkey, }, "o", function(c) awful.client.movetoscreen(c,c.screen-1) end ),
awful.key({ modkey, }, "p", function(c) awful.client.movetoscreen(c,c.screen+1) end ), 484 483 awful.key({ modkey, }, "p", function(c) awful.client.movetoscreen(c,c.screen+1) end ),
485 484
--awful.key({ modkey, "Shift" }, "r", function (c) c:redraw() end), 486 485 --awful.key({ modkey, "Shift" }, "r", function (c) c:redraw() end),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end), 487 486 awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
awful.key({ modkey, }, "n", 488 487 awful.key({ modkey, }, "n",
function (c) 489 488 function (c)
-- The client currently has the input focus, so it cannot be 490 489 -- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus. 491 490 -- minimized, since minimized clients can't have the focus.
c.minimized = true 492 491 c.minimized = true
end), 493 492 end),
awful.key({ modkey, }, "m", 494 493 awful.key({ modkey, }, "m",
function (c) 495 494 function (c)
c.maximized_horizontal = not c.maximized_horizontal 496 495 c.maximized_horizontal = not c.maximized_horizontal
c.maximized_vertical = not c.maximized_vertical 497 496 c.maximized_vertical = not c.maximized_vertical
end) 498 497 end)
) 499 498 )
500 499
-- {{{ Rules 501 500 -- {{{ Rules
awful.rules.rules = { 502 501 awful.rules.rules = {
-- All clients will match this rule. 503 502 -- All clients will match this rule.
{ rule = { }, 504 503 { rule = { },
properties = { border_width = beautiful.border_width, 505 504 properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal, 506 505 border_color = beautiful.border_normal,
focus = true, 507 506 focus = true,
keys = clientkeys, 508 507 keys = clientkeys,
buttons = clientbuttons } }, 509 508 buttons = clientbuttons } },
{ rule = { class = "MPlayer" }, 510 509 { rule = { class = "MPlayer" },
properties = { floating = true } }, 511 510 properties = { floating = true } },
{ rule = { class = "pinentry" }, 512 511 { rule = { class = "pinentry" },
properties = { floating = true } }, 513 512 properties = { floating = true } },
{ rule = { class = "gimp" }, 514 513 { rule = { class = "gimp" },
properties = { floating = true } }, 515 514 properties = { floating = true } },
{ rule = { class = "Conky" }, 516 515 { rule = { class = "Conky" },
properties = { 517 516 properties = {
floating = true, 518 517 floating = true,
sticky = true, 519 518 sticky = true,
ontop = false, 520 519 ontop = false,
focusable = false, 521 520 focusable = false,
size_hints = {"program_position", "program_size"} 522 521 size_hints = {"program_position", "program_size"}
} 523 522 }
} 524 523 }
-- Set Firefox to always map on tags number 2 of screen 1. 525 524 -- Set Firefox to always map on tags number 2 of screen 1.
-- { rule = { class = "Firefox" }, 526 525 -- { rule = { class = "Firefox" },
-- properties = { tag = tags[1][2] } }, 527 526 -- properties = { tag = tags[1][2] } },
} 528 527 }
-- }}} 529 528 -- }}}
530 529
531 530
-------------------------------------- 532 531 --------------------------------------
--- Misc Functions ---- 533 532 --- Misc Functions ----
-------------------------------------- 534 533 --------------------------------------
535 534
function get_conky() 536 535 function get_conky()