Commit 281c3d7114e2e740fcead09214220ddad049aa08

Authored by Ian Foster
1 parent 45d79409db
Exists in master

moved awesome modules into own folder

Showing 3 changed files with 8 additions and 7 deletions Inline Diff

awesome/awesome/modules/.gitignore View file @ 281c3d7
File was created 1 *
2 !.gitignore
awesome/awesome/rc.lua View file @ 281c3d7
-------------------------------------- 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 plugin 15 15 --Expose like plugin
require("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('awesome-freedesktop/freedesktop.utils') 22 22 require('modules/awesome-freedesktop/freedesktop.utils')
require('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") .. "/zenburn_LR/theme.lua") 68 68 beautiful.init( awful.util.getdir("config") .. "/zenburn_LR/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()
table.insert(menu_items, { "awesome", myawesomemenu, beautiful.awesome_icon }) 150 150 table.insert(menu_items, { "awesome", myawesomemenu, beautiful.awesome_icon })
table.insert(menu_items, { "Exit", exit_command }) 151 151 table.insert(menu_items, { "Exit", exit_command })
152 152
mymainmenu = awful.menu.new({ items = menu_items, width = 150 }) 153 153 mymainmenu = awful.menu.new({ items = menu_items, width = 150 })
154 154
mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon), 155 155 mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
menu = mymainmenu }) 156 156 menu = mymainmenu })
-- }}} 157 157 -- }}}
158 158
159 159
-------------------------------------- 160 160 --------------------------------------
---- WiBox ---- 161 161 ---- WiBox ----
-------------------------------------- 162 162 --------------------------------------
163 163
-- {{{ Wibox 164 164 -- {{{ Wibox
-- Create a textclock widget 165 165 -- Create a textclock widget
mytextclock = awful.widget.textclock({ align = "right" }) 166 166 mytextclock = awful.widget.textclock({ align = "right" })
mytextclock.buttons = awful.util.table.join( 167 167 mytextclock.buttons = awful.util.table.join(
awful.button({ }, 1, function() naughty.notify({text = "it works"}) end) 168 168 awful.button({ }, 1, function() naughty.notify({text = "it works"}) end)
) 169 169 )
170 170
--calendar plugin 171 171 --calendar plugin
calendar2.addCalendarToWidget(mytextclock) 172 172 calendar2.addCalendarToWidget(mytextclock)
173 173
--separator widget 174 174 --separator widget
separator = widget({ type = "textbox" }) 175 175 separator = widget({ type = "textbox" })
separator.text = "|" 176 176 separator.text = "|"
177 177
--space widget 178 178 --space widget
space = widget({ type = "textbox" }) 179 179 space = widget({ type = "textbox" })
space.text = " " 180 180 space.text = " "
181 181
local fg_end_color = "#FF5656" 182 182 local fg_end_color = "#FF5656"
local fg_color = "#AECF96" 183 183 local fg_color = "#AECF96"
local fg_center_color = "#FFCF00" 184 184 local fg_center_color = "#FFCF00"
local bg_color = "#111111" 185 185 local bg_color = "#111111"
186 186
-- RAM usage widget 187 187 -- RAM usage widget
memwidget = awful.widget.progressbar() 188 188 memwidget = awful.widget.progressbar()
memwidget:set_width(8) 189 189 memwidget:set_width(8)
memwidget:set_height(18) 190 190 memwidget:set_height(18)
memwidget:set_vertical(true) 191 191 memwidget:set_vertical(true)
memwidget:set_background_color(bg_color) 192 192 memwidget:set_background_color(bg_color)
memwidget:set_color(fg_color) 193 193 memwidget:set_color(fg_color)
memwidget:set_gradient_colors({ fg_color, fg_center_color, fg_end_color }) 194 194 memwidget:set_gradient_colors({ fg_color, fg_center_color, fg_end_color })
-- RAM usage tooltip 195 195 -- RAM usage tooltip
memwidget_t = awful.tooltip({ objects = { memwidget.widget },}) 196 196 memwidget_t = awful.tooltip({ objects = { memwidget.widget },})
vicious.cache(vicious.widgets.mem) 197 197 vicious.cache(vicious.widgets.mem)
vicious.register(memwidget, vicious.widgets.mem, 198 198 vicious.register(memwidget, vicious.widgets.mem,
function (widget, args) 199 199 function (widget, args)
memwidget_t:set_text(" RAM: " .. args[1] .. "% " .. args[2] .. "MB / " .. args[3] .. "MB ") 200 200 memwidget_t:set_text(" RAM: " .. args[1] .. "% " .. args[2] .. "MB / " .. args[3] .. "MB ")
return args[1] 201 201 return args[1]
end, 5) 202 202 end, 5)
--update every 5 seconds 203 203 --update every 5 seconds
204 204
-- CPU usage widget 205 205 -- CPU usage widget
cpuwidget = awful.widget.graph() 206 206 cpuwidget = awful.widget.graph()
cpuwidget:set_width(30) 207 207 cpuwidget:set_width(30)
cpuwidget:set_height(18) 208 208 cpuwidget:set_height(18)
cpuwidget:set_background_color(bg_color) 209 209 cpuwidget:set_background_color(bg_color)
cpuwidget:set_color(fg_color) 210 210 cpuwidget:set_color(fg_color)
cpuwidget:set_gradient_angle(180) 211 211 cpuwidget:set_gradient_angle(180)
cpuwidget:set_gradient_colors({ fg_color, fg_center_color, fg_end_color }) 212 212 cpuwidget:set_gradient_colors({ fg_color, fg_center_color, fg_end_color })
cpuwidget_t = awful.tooltip({ objects = { cpuwidget.widget },}) 213 213 cpuwidget_t = awful.tooltip({ objects = { cpuwidget.widget },})
-- Register CPU widget 214 214 -- Register CPU widget
vicious.register(cpuwidget, vicious.widgets.cpu, 215 215 vicious.register(cpuwidget, vicious.widgets.cpu,
function (widget, args) 216 216 function (widget, args)
cpuwidget_t:set_text("CPU Usage: " .. args[1] .. "%") 217 217 cpuwidget_t:set_text("CPU Usage: " .. args[1] .. "%")
return args[1] 218 218 return args[1]
end, 2) 219 219 end, 2)
220 220
-- Create a systray 221 221 -- Create a systray
mysystray = widget({ type = "systray" }) 222 222 mysystray = widget({ type = "systray" })
223 223
-- Create a wibox for each screen and add it 224 224 -- Create a wibox for each screen and add it
mywibox = {} 225 225 mywibox = {}
mypromptbox = {} 226 226 mypromptbox = {}
mylayoutbox = {} 227 227 mylayoutbox = {}
mytaglist = {} 228 228 mytaglist = {}
mytaglist.buttons = awful.util.table.join( 229 229 mytaglist.buttons = awful.util.table.join(
awful.button({ }, 1, awful.tag.viewonly), 230 230 awful.button({ }, 1, awful.tag.viewonly),
awful.button({ modkey }, 1, awful.client.movetotag), 231 231 awful.button({ modkey }, 1, awful.client.movetotag),
awful.button({ }, 3, awful.tag.viewtoggle), 232 232 awful.button({ }, 3, awful.tag.viewtoggle),
awful.button({ modkey }, 3, awful.client.toggletag), 233 233 awful.button({ modkey }, 3, awful.client.toggletag),
awful.button({ }, 4, awful.tag.viewnext), 234 234 awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev) 235 235 awful.button({ }, 5, awful.tag.viewprev)
) 236 236 )
mytasklist = {} 237 237 mytasklist = {}
mytasklist.buttons = awful.util.table.join( 238 238 mytasklist.buttons = awful.util.table.join(
awful.button({ }, 1, function (c) 239 239 awful.button({ }, 1, function (c)
if c == client.focus then 240 240 if c == client.focus then
c.minimized = true 241 241 c.minimized = true
else 242 242 else
if not c:isvisible() then 243 243 if not c:isvisible() then
awful.tag.viewonly(c:tags()[1]) 244 244 awful.tag.viewonly(c:tags()[1])
end 245 245 end
-- This will also un-minimize 246 246 -- This will also un-minimize
-- the client, if needed 247 247 -- the client, if needed
client.focus = c 248 248 client.focus = c
c:raise() 249 249 c:raise()
end 250 250 end
end), 251 251 end),
awful.button({ }, 3, function () 252 252 awful.button({ }, 3, function ()
if instance then 253 253 if instance then
instance:hide() 254 254 instance:hide()
instance = nil 255 255 instance = nil
else 256 256 else
instance = awful.menu.clients({ width=250 }) 257 257 instance = awful.menu.clients({ width=250 })
end 258 258 end
end), 259 259 end),
awful.button({ }, 4, function () 260 260 awful.button({ }, 4, function ()
awful.client.focus.byidx(1) 261 261 awful.client.focus.byidx(1)
if client.focus then client.focus:raise() end 262 262 if client.focus then client.focus:raise() end
end), 263 263 end),
awful.button({ }, 5, function () 264 264 awful.button({ }, 5, function ()
awful.client.focus.byidx(-1) 265 265 awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end 266 266 if client.focus then client.focus:raise() end
end)) 267 267 end))
268 268
for s = 1, screen.count() do 269 269 for s = 1, screen.count() do
-- Create a promptbox for each screen 270 270 -- Create a promptbox for each screen
mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright }) 271 271 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. 272 272 -- Create an imagebox widget which will contains an icon indicating which layout we're using.
-- We need one layoutbox per screen. 273 273 -- We need one layoutbox per screen.
mylayoutbox[s] = awful.widget.layoutbox(s) 274 274 mylayoutbox[s] = awful.widget.layoutbox(s)
mylayoutbox[s]:buttons(awful.util.table.join( 275 275 mylayoutbox[s]:buttons(awful.util.table.join(
awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end), 276 276 awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end), 277 277 awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end), 278 278 awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end))) 279 279 awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
-- Create a taglist widget 280 280 -- Create a taglist widget
mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons) 281 281 mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons)
282 282
-- Create a tasklist widget 283 283 -- Create a tasklist widget
mytasklist[s] = awful.widget.tasklist(function(c) 284 284 mytasklist[s] = awful.widget.tasklist(function(c)
return awful.widget.tasklist.label.currenttags(c, s) 285 285 return awful.widget.tasklist.label.currenttags(c, s)
end, mytasklist.buttons) 286 286 end, mytasklist.buttons)
287 287
-- Create the wibox 288 288 -- Create the wibox
mywibox[s] = awful.wibox({ position = "top", screen = s }) 289 289 mywibox[s] = awful.wibox({ position = "top", screen = s })
-- Add widgets to the wibox - order matters 290 290 -- Add widgets to the wibox - order matters
mywibox[s].widgets = { 291 291 mywibox[s].widgets = {
{ 292 292 {
mylauncher, 293 293 mylauncher,
mytaglist[s], 294 294 mytaglist[s],
mypromptbox[s], 295 295 mypromptbox[s],
layout = awful.widget.layout.horizontal.leftright 296 296 layout = awful.widget.layout.horizontal.leftright
}, 297 297 },
mylayoutbox[s], 298 298 mylayoutbox[s],
mytextclock, 299 299 mytextclock,
separator, 300 300 separator,
space, 301 301 space,
memwidget.widget, 302 302 memwidget.widget,
space, 303 303 space,
separator, 304 304 separator,
space, 305 305 space,
cpuwidget.widget, 306 306 cpuwidget.widget,
space, 307 307 space,
separator, 308 308 separator,
s == 1 and mysystray or nil, --only place the systray on the primary screen 309 309 s == 1 and mysystray or nil, --only place the systray on the primary screen
mytasklist[s], 310 310 mytasklist[s],
layout = awful.widget.layout.horizontal.rightleft 311 311 layout = awful.widget.layout.horizontal.rightleft
} 312 312 }
end 313 313 end
-- }}} 314 314 -- }}}
315 315
316 316
-------------------------------------- 317 317 --------------------------------------
---- Key bindings ---- 318 318 ---- Key bindings ----
-------------------------------------- 319 319 --------------------------------------
320 320
-- {{{ Change workspace on scroll 321 321 -- {{{ Change workspace on scroll
root.buttons(awful.util.table.join( 322 322 root.buttons(awful.util.table.join(
--awful.button({ }, 3, function () mymainmenu:toggle() end), --I dont want a menu when I click on the desktop 323 323 --awful.button({ }, 3, function () mymainmenu:toggle() end), --I dont want a menu when I click on the desktop
awful.button({ }, 4, awful.tag.viewnext), 324 324 awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev) 325 325 awful.button({ }, 5, awful.tag.viewprev)
)) 326 326 ))
-- }}} 327 327 -- }}}
328 328
329 329
-- {{{ Key bindings 330 330 -- {{{ Key bindings
globalkeys = awful.util.table.join( 331 331 globalkeys = awful.util.table.join(
332 332
--keydoc.group("Layout manipulation"), 333 333 --keydoc.group("Layout manipulation"),
334 334
--plugins 335 335 --plugins
awful.key({ modkey, }, "e", revelation), 336 336 awful.key({ modkey, }, "e", revelation),
--awful.key({ modkey, }, "F1", keydoc.display), --TODO finish this, needs arg string as last param 337 337 --awful.key({ modkey, }, "F1", keydoc.display), --TODO finish this, needs arg string as last param
338 338
--Conky toggle 339 339 --Conky toggle
awful.key({ }, "Pause", raise_conky, lower_conky), 340 340 awful.key({ }, "Pause", raise_conky, lower_conky),
--awful.key({}, "Pause", toggle_conky) 341 341 --awful.key({}, "Pause", toggle_conky)
342 342
--Move Client to Workspace Left/Right 343 343 --Move Client to Workspace Left/Right
--only works with 3.5, For 3.4 visit link 344 344 --only works with 3.5, For 3.4 visit link
--http://awesome.naquadah.org/wiki/Move_Window_to_Workspace_Left/Right 345 345 --http://awesome.naquadah.org/wiki/Move_Window_to_Workspace_Left/Right
awful.key({ modkey, "Shift" }, "Left", 346 346 awful.key({ modkey, "Shift" }, "Left",
function (c) 347 347 function (c)
local curidx = awful.tag.getidx() 348 348 local curidx = awful.tag.getidx()
if curidx == 1 then 349 349 if curidx == 1 then
awful.client.movetotag(tags[client.focus.screen][9]) 350 350 awful.client.movetotag(tags[client.focus.screen][9])
else 351 351 else
awful.client.movetotag(tags[client.focus.screen][curidx - 1]) 352 352 awful.client.movetotag(tags[client.focus.screen][curidx - 1])
end 353 353 end
--awful.tag.viewprev 354 354 --awful.tag.viewprev
end), 355 355 end),
awful.key({ modkey, "Shift" }, "Right", 356 356 awful.key({ modkey, "Shift" }, "Right",
function (c) 357 357 function (c)
local curidx = awful.tag.getidx() 358 358 local curidx = awful.tag.getidx()
if curidx == 9 then 359 359 if curidx == 9 then
awful.client.movetotag(tags[client.focus.screen][1]) 360 360 awful.client.movetotag(tags[client.focus.screen][1])
else 361 361 else
awful.client.movetotag(tags[client.focus.screen][curidx + 1]) 362 362 awful.client.movetotag(tags[client.focus.screen][curidx + 1])
end 363 363 end
--awful.tag.viewnext 364 364 --awful.tag.viewnext
end), 365 365 end),
awful.key({ modkey, }, "Left", awful.tag.viewprev ), 366 366 awful.key({ modkey, }, "Left", awful.tag.viewprev ),
awful.key({ modkey, }, "Right", awful.tag.viewnext ), 367 367 awful.key({ modkey, }, "Right", awful.tag.viewnext ),
awful.key({ modkey, }, "Escape", awful.tag.history.restore), 368 368 awful.key({ modkey, }, "Escape", awful.tag.history.restore),
369 369
awful.key({ modkey, }, "j", 370 370 awful.key({ modkey, }, "j",
function () 371 371 function ()
awful.client.focus.byidx( 1) 372 372 awful.client.focus.byidx( 1)
if client.focus then client.focus:raise() end 373 373 if client.focus then client.focus:raise() end
end), 374 374 end),
awful.key({ modkey, }, "k", 375 375 awful.key({ modkey, }, "k",
function () 376 376 function ()
awful.client.focus.byidx(-1) 377 377 awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end 378 378 if client.focus then client.focus:raise() end
end), 379 379 end),
--awful.key({ modkey, }, "w", function () mymainmenu:show({keygrabber=true}) end), --we dont like the menu 380 380 --awful.key({ modkey, }, "w", function () mymainmenu:show({keygrabber=true}) end), --we dont like the menu
381 381
-- Layout manipulation 382 382 -- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end), 383 383 awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end), 384 384 awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end),
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end), 385 385 awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end), 386 386 awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto), 387 387 awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
awful.key({ modkey, }, "Tab", 388 388 awful.key({ modkey, }, "Tab",
function () 389 389 function ()
awful.client.focus.history.previous() 390 390 awful.client.focus.history.previous()
if client.focus then 391 391 if client.focus then
client.focus:raise() 392 392 client.focus:raise()
end 393 393 end
end), 394 394 end),
395 395
-- Standard program 396 396 -- Standard program
awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end), 397 397 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 398 398 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 399 399 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 400 400 awful.key({ modkey, "Control" }, "l", function () awful.util.spawn(lock_command) end), --lock screen
awful.key({ modkey, "Control" }, "r", awesome.restart), 401 401 awful.key({ modkey, "Control" }, "r", awesome.restart),
awful.key({ modkey, "Shift" }, "q", awesome.quit), 402 402 awful.key({ modkey, "Shift" }, "q", awesome.quit),
403 403
-- Standard program 404 404 -- Standard program
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end), 405 405 awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end),
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end), 406 406 awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end), 407 407 awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end), 408 408 awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end), 409 409 awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end), 410 410 awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end), 411 411 awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end), 412 412 awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
413 413
awful.key({ modkey, "Control" }, "n", awful.client.restore), 414 414 awful.key({ modkey, "Control" }, "n", awful.client.restore),
415 415
-- Prompt 416 416 -- Prompt
awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end), 417 417 awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
418 418
awful.key({ modkey }, "x", 419 419 awful.key({ modkey }, "x",
function () 420 420 function ()
awful.prompt.run({ prompt = "Run Lua code: " }, 421 421 awful.prompt.run({ prompt = "Run Lua code: " },
mypromptbox[mouse.screen].widget, 422 422 mypromptbox[mouse.screen].widget,
awful.util.eval, nil, 423 423 awful.util.eval, nil,
awful.util.getdir("cache") .. "/history_eval") 424 424 awful.util.getdir("cache") .. "/history_eval")
end) 425 425 end)
) 426 426 )
427 427
428 428
-- Compute the maximum number of digit we need, limited to 9 429 429 -- Compute the maximum number of digit we need, limited to 9
keynumber = 0 430 430 keynumber = 0
for s = 1, screen.count() do 431 431 for s = 1, screen.count() do
keynumber = math.min(9, math.max(#tags[s], keynumber)); 432 432 keynumber = math.min(9, math.max(#tags[s], keynumber));
end 433 433 end
434 434
-- Bind all key numbers to tags. 435 435 -- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it works on any keyboard layout. 436 436 -- 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. 437 437 -- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, keynumber do 438 438 for i = 1, keynumber do
globalkeys = awful.util.table.join(globalkeys, 439 439 globalkeys = awful.util.table.join(globalkeys,
awful.key({ modkey }, "#" .. i + 9, 440 440 awful.key({ modkey }, "#" .. i + 9,
function () 441 441 function ()
local screen = mouse.screen 442 442 local screen = mouse.screen
if tags[screen][i] then 443 443 if tags[screen][i] then
awful.tag.viewonly(tags[screen][i]) 444 444 awful.tag.viewonly(tags[screen][i])
end 445 445 end
end), 446 446 end),
awful.key({ modkey, "Control" }, "#" .. i + 9, 447 447 awful.key({ modkey, "Control" }, "#" .. i + 9,
function () 448 448 function ()
local screen = mouse.screen 449 449 local screen = mouse.screen
if tags[screen][i] then 450 450 if tags[screen][i] then
awful.tag.viewtoggle(tags[screen][i]) 451 451 awful.tag.viewtoggle(tags[screen][i])
end 452 452 end
end), 453 453 end),
awful.key({ modkey, "Shift" }, "#" .. i + 9, 454 454 awful.key({ modkey, "Shift" }, "#" .. i + 9,
function () 455 455 function ()
if client.focus and tags[client.focus.screen][i] then 456 456 if client.focus and tags[client.focus.screen][i] then
awful.client.movetotag(tags[client.focus.screen][i]) 457 457 awful.client.movetotag(tags[client.focus.screen][i])
end 458 458 end
end), 459 459 end),
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, 460 460 awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
function () 461 461 function ()
if client.focus and tags[client.focus.screen][i] then 462 462 if client.focus and tags[client.focus.screen][i] then
awful.client.toggletag(tags[client.focus.screen][i]) 463 463 awful.client.toggletag(tags[client.focus.screen][i])
end 464 464 end
end)) 465 465 end))
end 466 466 end
467 467
clientbuttons = awful.util.table.join( 468 468 clientbuttons = awful.util.table.join(
awful.button({ }, 1, function (c) client.focus = c; c:raise() end), 469 469 awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
awful.button({ modkey }, 1, awful.mouse.client.move), 470 470 awful.button({ modkey }, 1, awful.mouse.client.move),
awful.button({ modkey }, 3, awful.mouse.client.resize)) 471 471 awful.button({ modkey }, 3, awful.mouse.client.resize))
472 472
-- Set keys 473 473 -- Set keys
root.keys(globalkeys) 474 474 root.keys(globalkeys)
-- }}} 475 475 -- }}}
476 476
477 477
-------------------------------------- 478 478 --------------------------------------
--- Rules ---- 479 479 --- Rules ----
-------------------------------------- 480 480 --------------------------------------
481 481
clientkeys = awful.util.table.join( 482 482 clientkeys = awful.util.table.join(
awful.key({ modkey, }, "F11", function (c) c.fullscreen = not c.fullscreen end), 483 483 awful.key({ modkey, }, "F11", function (c) c.fullscreen = not c.fullscreen end),
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end), 484 484 awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end),
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ), 485 485 awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end), 486 486 awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
--awful.key({ modkey, }, "o", awful.client.movetoscreen ), 487 487 --awful.key({ modkey, }, "o", awful.client.movetoscreen ),
--Move Client to Monitor Left/Right 488 488 --Move Client to Monitor Left/Right
awful.key({ modkey, }, "o", function(c) awful.client.movetoscreen(c,c.screen-1) end ), 489 489 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 ), 490 490 awful.key({ modkey, }, "p", function(c) awful.client.movetoscreen(c,c.screen+1) end ),
491 491
--awful.key({ modkey, "Shift" }, "r", function (c) c:redraw() end), 492 492 --awful.key({ modkey, "Shift" }, "r", function (c) c:redraw() end),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end), 493 493 awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
awful.key({ modkey, }, "n", 494 494 awful.key({ modkey, }, "n",
function (c) 495 495 function (c)
-- The client currently has the input focus, so it cannot be 496 496 -- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus. 497 497 -- minimized, since minimized clients can't have the focus.
c.minimized = true 498 498 c.minimized = true
end), 499 499 end),
awful.key({ modkey, }, "m", 500 500 awful.key({ modkey, }, "m",
function (c) 501 501 function (c)
c.maximized_horizontal = not c.maximized_horizontal 502 502 c.maximized_horizontal = not c.maximized_horizontal
c.maximized_vertical = not c.maximized_vertical 503 503 c.maximized_vertical = not c.maximized_vertical
end) 504 504 end)
) 505 505 )
506 506
-- {{{ Rules 507 507 -- {{{ Rules
awful.rules.rules = { 508 508 awful.rules.rules = {
-- All clients will match this rule. 509 509 -- All clients will match this rule.
{ rule = { }, 510 510 { rule = { },
properties = { border_width = beautiful.border_width, 511 511 properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal, 512 512 border_color = beautiful.border_normal,
focus = true, 513 513 focus = true,
keys = clientkeys, 514 514 keys = clientkeys,
buttons = clientbuttons } }, 515 515 buttons = clientbuttons } },
{ rule = { class = "MPlayer" }, 516 516 { rule = { class = "MPlayer" },
properties = { floating = true } }, 517 517 properties = { floating = true } },
{ rule = { class = "pinentry" }, 518 518 { rule = { class = "pinentry" },
properties = { floating = true } }, 519 519 properties = { floating = true } },
{ rule = { class = "gimp" }, 520 520 { rule = { class = "gimp" },
properties = { floating = true } }, 521 521 properties = { floating = true } },
{ rule = { class = "Conky" }, 522 522 { rule = { class = "Conky" },
properties = { 523 523 properties = {
floating = true, 524 524 floating = true,
sticky = true, 525 525 sticky = true,
ontop = false, 526 526 ontop = false,
focusable = false, 527 527 focusable = false,
size_hints = {"program_position", "program_size"} 528 528 size_hints = {"program_position", "program_size"}
} 529 529 }
} 530 530 }
-- Set Firefox to always map on tags number 2 of screen 1. 531 531 -- Set Firefox to always map on tags number 2 of screen 1.
-- { rule = { class = "Firefox" }, 532 532 -- { rule = { class = "Firefox" },
-- properties = { tag = tags[1][2] } }, 533 533 -- properties = { tag = tags[1][2] } },
} 534 534 }
-- }}} 535 535 -- }}}
536 536
537 537
-------------------------------------- 538 538 --------------------------------------
--- Misc Functions ---- 539 539 --- Misc Functions ----
-------------------------------------- 540 540 --------------------------------------
541 541
function get_conky() 542 542 function get_conky()
local clients = client.get() 543 543 local clients = client.get()
awesome/submodules View file @ 281c3d7
https://github.com/bioe007/awesome-revelation.git awesome/revelation 1 1 https://github.com/bioe007/awesome-revelation.git awesome/modules/revelation
https://github.com/terceiro/awesome-freedesktop.git awesome/awesome-freedesktop 2 2 https://github.com/terceiro/awesome-freedesktop.git awesome/modules/awesome-freedesktop
https://github.com/cedlemo/blingbling.git awesome/blingbling 3
4 3