awesome/rc.lua
author Fabien Ninoles <fabien@tzone.org>
Sun, 13 Sep 2015 22:53:18 -0400
changeset 15 73df43769340
parent 14 6348b9f842b2
child 16 b3c1a18fe12e
permissions -rw-r--r--
Update keybinding.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
     1
local debug = require("debug")
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
     2
--
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
     3
-- Standard awesome library
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
     4
local gears = require("gears")
11
7226709dc4c4 Update to awesome-3.5
Fabien Ninoles <fabien@tzone.org>
parents: 8
diff changeset
     5
local awful = require("awful")
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
     6
awful.rules = require("awful.rules")
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
     7
awful.autofocus = require("awful.autofocus")
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
     8
-- Widget and layout library
11
7226709dc4c4 Update to awesome-3.5
Fabien Ninoles <fabien@tzone.org>
parents: 8
diff changeset
     9
local wibox = require("wibox")
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    10
-- Theme handling library
11
7226709dc4c4 Update to awesome-3.5
Fabien Ninoles <fabien@tzone.org>
parents: 8
diff changeset
    11
local beautiful = require("beautiful")
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    12
-- Notification library
11
7226709dc4c4 Update to awesome-3.5
Fabien Ninoles <fabien@tzone.org>
parents: 8
diff changeset
    13
local naughty = require("naughty")
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
    14
local menubar = require("menubar")
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
    15
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    16
-- Revelation
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    17
local revelation = require("revelation")
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    18
-- vicious widgets
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    19
local vicious = require("vicious")
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    20
local wicked = require("wicked")
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    21
-- Load Debian menu entries
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    22
require("debian.menu")
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    23
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
    24
local my = require("my")
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    25
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
    26
local titlebars_enabled = false
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    27
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    28
-- {{{ Error handling
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    29
-- Check if awesome encountered an error during startup and fell back to
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    30
-- another config (This code will only ever execute for the fallback config)
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    31
if awesome.startup_errors then
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    32
   naughty.notify({ preset = naughty.config.presets.critical,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    33
                    title = "Oops, there were errors during startup!",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    34
                    text = awesome.startup_errors })
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    35
end
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    36
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    37
-- Handle runtime errors after startup
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    38
do
11
7226709dc4c4 Update to awesome-3.5
Fabien Ninoles <fabien@tzone.org>
parents: 8
diff changeset
    39
   awesome.connect_signal("debug::error", my.notify_error)
12
ffc02bf394cb Update to awesome 3.5
Fabien Ninoles <fabien@tzone.org>
parents: 11
diff changeset
    40
   awesome.connect_signal("debug::deprecation", my.notify_error)
ffc02bf394cb Update to awesome 3.5
Fabien Ninoles <fabien@tzone.org>
parents: 11
diff changeset
    41
   awesome.connect_signal("debug::index::miss",
ffc02bf394cb Update to awesome 3.5
Fabien Ninoles <fabien@tzone.org>
parents: 11
diff changeset
    42
                          function (obj, key)
ffc02bf394cb Update to awesome 3.5
Fabien Ninoles <fabien@tzone.org>
parents: 11
diff changeset
    43
                             my.notify_error("Invalid key " .. key .. " on object")
ffc02bf394cb Update to awesome 3.5
Fabien Ninoles <fabien@tzone.org>
parents: 11
diff changeset
    44
   end)
ffc02bf394cb Update to awesome 3.5
Fabien Ninoles <fabien@tzone.org>
parents: 11
diff changeset
    45
   awesome.connect_signal("debug::newindex::miss",
ffc02bf394cb Update to awesome 3.5
Fabien Ninoles <fabien@tzone.org>
parents: 11
diff changeset
    46
                          function (obj, key, value)
ffc02bf394cb Update to awesome 3.5
Fabien Ninoles <fabien@tzone.org>
parents: 11
diff changeset
    47
                             my.notify_error("Trying to set key " .. key .. " on object")
ffc02bf394cb Update to awesome 3.5
Fabien Ninoles <fabien@tzone.org>
parents: 11
diff changeset
    48
   end)
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    49
end
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    50
-- }}}
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    51
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
    52
-- {{{ Variable definitions
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
    53
-- Themes define colours, icons, font and wallpapers.
13
e9e2f624cd99 Add themes and wallpapers menus.
Fabien Ninoles <fabien@tzone.org>
parents: 12
diff changeset
    54
theme_path = awful.util.getdir("config") .. "/current_theme/theme.lua"
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    55
-- This is used later as the default terminal and editor to run.
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    56
terminal = "x-terminal-emulator"
8
0eae48be1d62 Add my.sloppy
Fabien Ninoles <fabien@tzone.org>
parents: 7
diff changeset
    57
-- terminal = "terminology"
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    58
editor = os.getenv("EDITOR") or "editor"
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    59
editor_cmd = terminal .. " -e " .. editor
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    60
browser = "iceweasel"
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    61
mail = "icedove"
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    62
musicplayer = "ario"
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    63
monitor = "gnome-system-monitor"
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    64
filemanager = "pcmanfm"
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    65
lookup = "pcmanfm -f"
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    66
calculator = "galculator"
8
0eae48be1d62 Add my.sloppy
Fabien Ninoles <fabien@tzone.org>
parents: 7
diff changeset
    67
-- Logout method
0eae48be1d62 Add my.sloppy
Fabien Ninoles <fabien@tzone.org>
parents: 7
diff changeset
    68
-- logout = awesome.quit
0eae48be1d62 Add my.sloppy
Fabien Ninoles <fabien@tzone.org>
parents: 7
diff changeset
    69
logout = my.mkspawn("obsession-logout")
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    70
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    71
-- Default modkey.
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    72
-- Usually, Mod4 is the key with a logo between Control and Alt.
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
    73
-- If you do not like this or do not have such a key,
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
    74
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
    75
-- However, you can use another modifier like Mod1, but it may interact with others.
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    76
modkey = "Mod4"
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    77
13
e9e2f624cd99 Add themes and wallpapers menus.
Fabien Ninoles <fabien@tzone.org>
parents: 12
diff changeset
    78
wallpaper = awful.util.getdir("config") .. "/default"
e9e2f624cd99 Add themes and wallpapers menus.
Fabien Ninoles <fabien@tzone.org>
parents: 12
diff changeset
    79
wallpaper_cmd = "fbsetbg -a " .. wallpaper
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    80
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    81
-- Actually load theme
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    82
beautiful.init(theme_path)
13
e9e2f624cd99 Add themes and wallpapers menus.
Fabien Ninoles <fabien@tzone.org>
parents: 12
diff changeset
    83
beautiful.wallpaper_cmd = { wallpaper_cmd }
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    84
awful.util.spawn_with_shell("pgrep unagi || unagi &")
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    85
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
    86
-- Table of layouts to cover with awful.layout.inc, order matters.
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
    87
local layouts =
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    88
   {
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    89
      awful.layout.suit.floating,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    90
      awful.layout.suit.tile,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    91
      awful.layout.suit.tile.left,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    92
      awful.layout.suit.tile.bottom,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    93
      awful.layout.suit.tile.top,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    94
      awful.layout.suit.fair,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    95
      awful.layout.suit.fair.horizontal,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    96
      awful.layout.suit.spiral,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    97
      awful.layout.suit.spiral.dwindle,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    98
      awful.layout.suit.max,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
    99
      -- awful.layout.suit.max.fullscreen,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   100
      awful.layout.suit.magnifier,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   101
   }
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   102
local default_layout = 2
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   103
-- }}}
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   104
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   105
-- {{{ Wallpaper
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   106
if beautiful.wallpaper then
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   107
   for s = 1, screen.count() do
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   108
      -- gears.wallpaper.maximized(beautiful.wallpaper, s, true)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   109
      awful.util.spawn(wallpaper_cmd, false, s)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   110
   end
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   111
end
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   112
-- }}}
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   113
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   114
-- {{{ Tags
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   115
-- Define a tag table which hold all screen tags.
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   116
local mytags = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   117
local number_of_rows = #mytags
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   118
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   119
tags = {}
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   120
for s = 1, screen.count() do
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   121
   -- Each screen has its own tag table.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   122
   tags[s] = awful.tag(mytags, s, layouts[default_layout])
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   123
end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   124
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   125
local function get_tag(s, i)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   126
   return awful.tag.gettags(s)[i]
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   127
end
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   128
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   129
local function get_next_tag(s)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   130
   local idx = awful.tag.getidx() + 1
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   131
   if idx > number_of_rows then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   132
      idx = 1
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   133
   end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   134
   return get_tag(s, idx)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   135
end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   136
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   137
local function get_prev_tag(s)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   138
   local idx = awful.tag.getidx() - 1
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   139
   if idx < 1 then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   140
      idx = number_of_rows
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   141
   end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   142
   return get_tag(s, idx)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   143
end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   144
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   145
-- }}}
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   146
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   147
-- Create a laucher widget and a main menu
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   148
myawesomemenu = {
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   149
   {"manual", terminal .. " -e man awesome"},
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   150
   {"edit config",
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   151
    editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua"},
13
e9e2f624cd99 Add themes and wallpapers menus.
Fabien Ninoles <fabien@tzone.org>
parents: 12
diff changeset
   152
   {"themes", my.theme_menu()},
e9e2f624cd99 Add themes and wallpapers menus.
Fabien Ninoles <fabien@tzone.org>
parents: 12
diff changeset
   153
   {"wallpapers", my.wallpaper_menu()},
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   154
   {"restart", awesome.restart},
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   155
   {"quit", my.quit}
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   156
}
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   157
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   158
mymainmenu = awful.menu(
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   159
   {
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   160
      items = {
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   161
         {"awesome", myawesomemenu, beautiful.awesome_icon},
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   162
         { "Debian", debian.menu.Debian_menu.Debian },
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   163
         {"open terminal", terminal}}
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   164
})
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   165
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   166
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   167
                                     menu = mymainmenu })
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   168
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   169
-- Menubar configuration
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   170
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   171
-- }}}
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   172
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   173
-- {{{ Wibox
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   174
-- Create a textclock widget
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   175
mytextclock = awful.widget.textclock()
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   176
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   177
-- Create a systray
11
7226709dc4c4 Update to awesome-3.5
Fabien Ninoles <fabien@tzone.org>
parents: 8
diff changeset
   178
mysystray = wibox.widget.systray({align = "right"})
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   179
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   180
-- Create a wibox for each screen and add it
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   181
mywibox = {}
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   182
mypromptbox = {}
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   183
mylayoutbox = {}
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   184
mytaglist = {}
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   185
mytaglist.buttons = awful.util.table.join(
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   186
   awful.button({ }, 1, awful.tag.viewonly),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   187
   awful.button({ modkey }, 1, awful.client.movetotag),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   188
   awful.button({ }, 3, awful.tag.viewtoggle),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   189
   awful.button({ modkey }, 3, awful.client.toggletag),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   190
   awful.button({ }, 4, function(t)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   191
         awful.tag.viewnext(awful.tag.getscreen(t)) end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   192
   awful.button({ }, 5, function(t)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   193
         awful.tag.viewprev(awful.tag.getscreen(t)) end)
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   194
)
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   195
mytasklist = {}
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   196
mytasklist.buttons = awful.util.table.join(
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   197
   awful.button({ }, 1, function (c)
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   198
         if c == client.focus then
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   199
            c.minimized = true
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   200
         else
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   201
            -- Without this, the following
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   202
            -- :isvisible() makes no sense
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   203
            c.minimized = false
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   204
            if not c:isvisible() then
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   205
               awful.tag.viewonly(c:tags()[1])
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   206
            end
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   207
            -- This will also un-minimize
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   208
            -- the client, if needed
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   209
            client.focus = c
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   210
            c:raise()
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   211
         end
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   212
   end),
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   213
   awful.button({ }, 3, function ()
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   214
         if instance then
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   215
            instance:hide()
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   216
            instance = nil
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   217
         else
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   218
            instance = awful.menu.clients({
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   219
                  theme = { width = 250 }
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   220
            })
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   221
         end
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   222
   end),
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   223
   awful.button({modkey}, 3, function(c)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   224
         c.maximized = not c.maximized
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   225
   end),
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   226
   awful.button({ }, 4, function ()
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   227
         awful.client.focus.byidx(1)
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   228
         if client.focus then client.focus:raise() end
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   229
   end),
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   230
   awful.button({ }, 5, function ()
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   231
         awful.client.focus.byidx(-1)
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   232
         if client.focus then client.focus:raise() end
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   233
end))
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   234
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   235
local mycpuwidget = my.widgets.decorated(my.widgets.cpu(), my.mkspawn(monitor))
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   236
local mymemwidget = my.widgets.decorated(my.widgets.mem(), my.mkspawn(monitor))
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   237
local mynetwidget = my.widgets.decorated(my.widgets.net("eth1"), my.mkspawn(monitor))
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   238
-- local mynetupwidget = my.decorated_monitor_widget(make_netwidget("eth1", "up"))
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   239
-- local mynetdownwidget = my.decorated_monitor_widget(make_netwidget("eth1", "down"))
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   240
local mymodewidget = my.widgets.mode()
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   241
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   242
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   243
for s = 1, screen.count() do
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   244
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   245
   -- Create a promptbox for each screen
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   246
   mypromptbox[s] = awful.widget.prompt()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   247
   -- Create an imagebox widget which will contains an icon indicating which layout we're using.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   248
   -- We need one layoutbox per screen.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   249
   mylayoutbox[s] = awful.widget.layoutbox(s)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   250
   mylayoutbox[s]:buttons(awful.util.table.join(
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   251
                             awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   252
                             awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   253
                             awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   254
                             awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   255
   -- Create a taglist widget
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   256
   mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons)
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   257
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   258
   -- Create a tasklist widget
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   259
   mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   260
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   261
   -- Create the wibox
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   262
   mywibox[s] = awful.wibox({ position = "top", screen = s })
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   263
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   264
   -- Widgets that are aligned to the left
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   265
   local left_layout = wibox.layout.fixed.horizontal()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   266
   left_layout:add(mymodewidget)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   267
   left_layout:add(mylauncher)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   268
   if s == 1 then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   269
      left_layout:add(mycpuwidget)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   270
      left_layout:add(mymemwidget)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   271
   end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   272
   left_layout:add(mytaglist[s])
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   273
   left_layout:add(mypromptbox[s])
11
7226709dc4c4 Update to awesome-3.5
Fabien Ninoles <fabien@tzone.org>
parents: 8
diff changeset
   274
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   275
   -- Widgets that are aligned to the right
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   276
   local right_layout = wibox.layout.fixed.horizontal()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   277
   if s == 1 then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   278
      right_layout:add(mynetwidget)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   279
      right_layout:add(mysystray)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   280
   end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   281
   right_layout:add(mytextclock)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   282
   right_layout:add(mylayoutbox[s])
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   283
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   284
   -- Now bring it all together (with the tasklist in the middle)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   285
   local layout = wibox.layout.align.horizontal()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   286
   layout:set_left(left_layout)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   287
   layout:set_middle(mytasklist[s])
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   288
   layout:set_right(right_layout)
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   289
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   290
   mywibox[s]:set_widget(layout)
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   291
end
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   292
-- }}}
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   293
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   294
-- {{{ Mouse bindings
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   295
root.buttons(awful.util.table.join(
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   296
                awful.button({ }, 3, function () mymainmenu:toggle() end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   297
                awful.button({ }, 4, awful.tag.viewnext),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   298
                awful.button({ }, 5, awful.tag.viewprev)
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   299
))
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   300
-- }}}
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   301
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   302
-- {{{ Key tables
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   303
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   304
local awesome_table = {
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   305
   my.make_single_key("m", "Main menu", my.mkinteractive(function () mymainmenu:show({keygrabber=true}) end)),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   306
   -- This one returns an error.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   307
   my.make_single_key("b", "Menu bar", function () menubar.show() end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   308
   my.make_single_key("t", "Terminal", my.mkspawn(terminal)),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   309
   my.make_single_key("f", "Toggle sloppy mouse", my.sloppy_toggle),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   310
   my.make_single_key("r", "Restart", awesome.restart),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   311
   my.make_single_key("q", "Quit", logout)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   312
}
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   313
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   314
local layout_table = {
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   315
   -- Client movement
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   316
   my.make_interactive_key("Right", "Focus right",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   317
               function () awful.client.focus.bydirection("right") end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   318
   my.make_interactive_key("Left", "Focus left",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   319
               function () awful.client.focus.bydirection("left") end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   320
   my.make_interactive_key("Up", "Focus up",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   321
               function () awful.client.focus.bydirection("up") end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   322
   my.make_interactive_key("Down", "Focus down",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   323
               function () awful.client.focus.bydirection("down") end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   324
   my.make_interactive_key("Shift+Right", "Move right",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   325
               function () awful.client.swap.bydirection("right") end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   326
   my.make_interactive_key("Shift+Left", "Move left",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   327
               function () awful.client.swap.bydirection("left") end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   328
   my.make_interactive_key("Shift+Up", "Move up",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   329
               function () awful.client.swap.bydirection("up") end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   330
   my.make_interactive_key("Shift+Down", "Move down",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   331
               function () awful.client.swap.bydirection("down") end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   332
   -- Master/Client transforms
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   333
   my.make_interactive_key("Control+Right", "Master grow",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   334
                      function () awful.tag.incmwfact(  0.05 ) end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   335
   my.make_interactive_key("Control+Left", "Master shrink",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   336
                      function () awful.tag.incmwfact( -0.05 ) end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   337
   my.make_interactive_key("Control+Shift+Down", "Add master",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   338
                      function () awful.tag.incnmaster(  1 ) end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   339
   my.make_interactive_key("Control+Shift+Up", "Remove master",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   340
                      function () awful.tag.incnmaster( -1 ) end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   341
   my.make_interactive_key("Control+Shift+Right", "Add column",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   342
                      function () awful.tag.incncol(  1 ) end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   343
   my.make_interactive_key("Control+Shift+Left", "Remove column",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   344
                      function () awful.tag.incncol( -1 ) end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   345
   -- Layouts
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   346
   my.make_interactive_key("Space", "Next layout",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   347
                      function () awful.layout.inc(layouts,  1 ) end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   348
   my.make_interactive_key("Shift+Space", "Previous layout",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   349
                      function () awful.layout.inc(layouts, -1 ) end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   350
}
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   351
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   352
-- Media Keys table, associated globally, with no modifiers.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   353
local media_table = {
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   354
   -- media keys
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   355
   my.make_single_key("XF86HomePage", "Browser", my.mkspawn(browser)),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   356
   my.make_single_key("XF86Mail", "Mail", my.mkspawn(mail)),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   357
   my.make_single_key("XF86Search", "Search file...", my.mkspawn(lookup)),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   358
   my.make_single_key("XF86Explorer", "File Manager", my.mkspawn(filemanager)),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   359
   my.make_single_key("XF86Calculator", "Calculator", my.mkspawn(calculator)),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   360
   my.make_single_key("XF86Tools", "Music", my.mkspawn(musicplayer)),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   361
   my.make_single_key("XF86AudioPrev", "Previous song", my.mkspawn("mpc prev")),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   362
   my.make_single_key("XF86AudioNext", "Next song", my.mkspawn("mpc next")),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   363
   my.make_single_key("XF86AudioPlay", "Play song", my.mkspawn("mpc toggle")),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   364
   my.make_single_key("XF86AudioMute", "Mute", my.mkspawn("pulseaudio-ctl mute")),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   365
   my.make_single_key("XF86AudioLowerVolume", "Volume down", my.mkspawn("pulseaudio-ctl down")),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   366
   my.make_single_key("XF86AudioRaiseVolume", "Volume up", my.mkspawn("pulseaudio-ctl up")),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   367
   my.make_single_key("XF86Eject", "Eject", my.mkspawn("eject")),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   368
}
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   369
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   370
-- Global table, associated globally to modkey.
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   371
local global_table = {
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   372
   -- my.make_single_key("e", "Revel windows", revelation),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   373
   my.make_single_key("Control+n", "Restore clients", awful.client.restore),
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   374
   my.make_single_key("Escape", "Restore history", awful.tag.history.restore),
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   375
   my.make_single_key("Tab", "Previous client",
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   376
                      function ()
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   377
                         awful.client.focus.history.previous()
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   378
                         if client.focus then
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   379
                            client.focus:raise()
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   380
                         end
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   381
   end),
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   382
   my.make_single_key("u", "Go to urgent", awful.client.urgent.jumpto),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   383
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   384
   -- Tag Navigation
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   385
   my.make_single_key("Prior", "View prev", awful.tag.viewprev),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   386
   my.make_single_key("Next", "View next", awful.tag.viewnext),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   387
   my.make_single_key("Shift+Prior", "Send to Previous View",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   388
                      function ()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   389
                         if client.focus then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   390
                            local tag = get_prev_tag(client.focus.screen)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   391
                            awful.client.movetotag(tag)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   392
                            awful.tag.viewprev()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   393
                         end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   394
   end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   395
   my.make_single_key("Shift+Next", "Send to Next View",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   396
                      function ()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   397
                         if client.focus then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   398
                            local tag = get_next_tag(client.focus.screen)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   399
                            awful.client.movetotag(tag)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   400
                            awful.tag.viewnext()                            
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   401
                         end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   402
   end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   403
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   404
   -- Client Navigation
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   405
   my.make_single_key("Right", "Right client", my.make_focus_bydirection("right")),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   406
   my.make_single_key("Left", "Left client", my.make_focus_bydirection("left")),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   407
   my.make_single_key("Up", "Up client", my.make_focus_bydirection("up")),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   408
   my.make_single_key("Down", "Down client", my.make_focus_bydirection("down")),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   409
   my.make_single_key("Shift+Right", "Move right",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   410
               function () awful.client.swap.bydirection("right") end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   411
   my.make_single_key("Shift+Left", "Move left",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   412
               function () awful.client.swap.bydirection("left") end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   413
   my.make_single_key("Shift+Up", "Move up",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   414
               function () awful.client.swap.bydirection("up") end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   415
   my.make_single_key("Shift+Down", "Move down",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   416
               function () awful.client.swap.bydirection("down") end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   417
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   418
   -- Prompts...
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   419
   my.make_single_key("F2", "Run...",
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   420
                      function () mypromptbox[mouse.screen]:run() end),
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   421
   my.make_single_key("F3", "Eval...",
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   422
                      function ()
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   423
                         awful.prompt.run({ prompt = "Run Lua code: " },
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   424
                            mypromptbox[mouse.screen].widget,
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   425
                            awful.util.eval, nil,
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   426
                            awful.util.getdir("cache") .. "/history_eval")
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   427
   end),
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   428
   
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   429
   -- forcing restart of mpd.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   430
   -- it sometime have difficulty to connect to pulse
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   431
   my.make_single_key("F6", "Restart mpd",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   432
                      function ()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   433
                         awful.util.spawn("pkill -9 mpd")
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   434
                         awful.util.spawn("mpd")
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   435
   end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   436
   
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   437
   -- modal key binding
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   438
   my.make_key("a", "Main mode...", my.make_kt(awesome_table, "awesome") ),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   439
   my.make_key("l", "Layout mode...", my.make_kt(layout_table, "layout") ),
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   440
}
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   441
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   442
-- Client table, associated to each client with modkey.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   443
local client_table = {
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   444
   my.make_single_key("Return", "Swap master", 
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   445
                      function(c) c:swap(awful.client.getmaster()) end),
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   446
   my.make_single_key("f", "Toggle fullscreen",
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   447
                      function (c) c.fullscreen = not c.fullscreen end),
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   448
   my.make_single_key("F4", "Kill client", function (c) c:kill() end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   449
   my.make_single_key("Space", "Toggle floating", awful.client.floating.toggle),
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   450
   my.make_single_key("t", "Toggle on top", function (c) c.ontop = not c.ontop end),
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   451
   my.make_single_key("m", "Toggle maximized",
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   452
                      function (c)
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   453
                         maximized = not c.maximized_horizontal
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   454
                         c.maximized_horizontal = maximized
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   455
                         c.maximized_vertical   = maximized
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   456
   end),
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   457
   my.make_single_key("h", "Hide",
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   458
                      function (c)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   459
                         -- The client currently has the input focus, so it cannot be
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   460
                         -- minimized, since minimized clients can't have the focus.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   461
                         c.minimized = true
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   462
   end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   463
   -- Client awful tagging: this is useful to tag some clients and then do stuff
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   464
   -- like move to tag on them
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   465
   my.make_single_key("Shift+t", "Toggle mark", awful.client.togglemarked)
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   466
}
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   467
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   468
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   469
-- }}}
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   470
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   471
-- {{{ Key bindings
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   472
globalkeys = awful.util.table.join(
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   473
   awful.key({modkey}, "F1", function () my.show_kt(global_table, "Global binding") end),
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   474
   -- make the client binding help available even when there is no client.
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   475
   awful.key({modkey, "Shift"}, "F1", 
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   476
      function () my.show_kt(client_table, "Client binding") end),
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   477
   my.make_globalkeys({modkey}, global_table),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   478
   my.make_globalkeys({}, media_table)
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   479
)
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   480
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   481
clientkeys = awful.util.table.join(
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   482
   my.make_globalkeys({modkey}, client_table)
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   483
)
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   484
-- }}}
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   485
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   486
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   487
-- Bind all key numbers to tags.
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   488
-- Be careful: we use keycodes to make it works on any keyboard layout.
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   489
-- This should map on the top row of your keyboard, usually 1 to 9.
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   490
for i = 1, number_of_rows do
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   491
   local k = "#" .. i + 9
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   492
   globalkeys = awful.util.table.join(
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   493
      globalkeys,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   494
      -- View tag only.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   495
      awful.key({ modkey }, k,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   496
         function ()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   497
            local tag = get_tag(mouse.screen, i)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   498
            if tag then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   499
               awful.tag.viewonly(tag)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   500
            end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   501
      end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   502
      -- Toggle view tag.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   503
      awful.key({ modkey, "Control" }, k,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   504
         function ()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   505
            local tag = get_tag(mouse.screen, i)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   506
            if tag then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   507
               awful.tag.viewtoggle(tag)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   508
            end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   509
      end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   510
      -- Move client to tag.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   511
      awful.key({ modkey, "Shift" }, k,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   512
         function ()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   513
            if client.focus then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   514
               local tag = get_tag(client.focus.screen, i)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   515
               if tag then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   516
                  awful.client.movetotag(tag)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   517
               end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   518
            end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   519
      end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   520
      -- Toggle client tag.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   521
      awful.key({ modkey, "Control", "Shift" }, k,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   522
         function ()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   523
            if client.focus then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   524
               local tag = get_tag(client.focus.screen, i)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   525
               if tag then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   526
                  awful.client.toggletag(tag)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   527
               end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   528
            end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   529
   end))
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   530
end
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   531
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   532
clientbuttons = awful.util.table.join(
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   533
   awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   534
   awful.button({ modkey }, 1, awful.mouse.client.move),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   535
   awful.button({ modkey }, 3, awful.mouse.client.resize))
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   536
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   537
-- Set keys
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   538
-- mympdwidget:append_global_keys()
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   539
root.keys(globalkeys)
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   540
-- }}}
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   541
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   542
-- {{{ Rules
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   543
-- Rules to apply to new clients (through the "manage" signal).
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   544
awful.rules.rules = {
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   545
   -- All clients will match this rule.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   546
   { rule = { },
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   547
     properties = { border_width = beautiful.border_width,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   548
                    border_color = beautiful.border_normal,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   549
                    focus = awful.client.focus.filter,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   550
                    raise = true,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   551
                    keys = clientkeys,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   552
                    buttons = clientbuttons } },
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   553
   { rule = { class = "MPlayer" },
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   554
     properties = { floating = true } },
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   555
   { rule = { class = "pinentry" },
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   556
     properties = { floating = true } },
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   557
   { rule = { class = "gimp" },
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   558
     properties = { floating = true } },
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   559
   -- Set Firefox to always map on tags number 2 of screen 1.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   560
   -- { rule = { class = "Firefox" },
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   561
   --   properties = { tag = tags[1][2] } },
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   562
}
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   563
-- }}}
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   564
   
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   565
-- {{{ Signals
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   566
-- Signal function to execute when a new client appears.
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   567
function manage_clients(c, startup)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   568
   -- Enable sloppy focus
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   569
   -- c:connect_signal("mouse::enter", function(c)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   570
   --     if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   571
   --         and awful.client.focus.filter(c) then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   572
   --         client.focus = c
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   573
   --     end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   574
   -- end)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   575
   
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   576
   if not startup then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   577
      -- Set the windows at the slave,
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   578
      -- i.e. put it at the end of others instead of setting it master.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   579
      -- awful.client.setslave(c)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   580
      
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   581
      -- Put windows in a smart way, only if they does not set an initial position.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   582
      if not c.size_hints.user_position and not c.size_hints.program_position then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   583
         awful.placement.no_overlap(c)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   584
         awful.placement.no_offscreen(c)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   585
      end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   586
   elseif not c.size_hints.user_position and not c.size_hints.program_position then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   587
      -- Prevent clients from being unreachable after screen count change
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   588
      awful.placement.no_offscreen(c)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   589
   end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   590
   
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   591
   if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   592
      -- buttons for the titlebar
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   593
      local buttons = awful.util.table.join(
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   594
         awful.button({ }, 1, function()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   595
               client.focus = c
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   596
               c:raise()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   597
               awful.mouse.client.move(c)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   598
         end),
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   599
         awful.button({ }, 3, function()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   600
               client.focus = c
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   601
               c:raise()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   602
               awful.mouse.client.resize(c)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   603
         end)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   604
      )
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   605
      
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   606
      -- Widgets that are aligned to the left
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   607
      local left_layout = wibox.layout.fixed.horizontal()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   608
      left_layout:add(awful.titlebar.widget.iconwidget(c))
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   609
      left_layout:buttons(buttons)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   610
      
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   611
      -- Widgets that are aligned to the right
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   612
      local right_layout = wibox.layout.fixed.horizontal()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   613
      right_layout:add(awful.titlebar.widget.floatingbutton(c))
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   614
      right_layout:add(awful.titlebar.widget.maximizedbutton(c))
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   615
      right_layout:add(awful.titlebar.widget.stickybutton(c))
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   616
      right_layout:add(awful.titlebar.widget.ontopbutton(c))
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   617
      right_layout:add(awful.titlebar.widget.closebutton(c))
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   618
      
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   619
      -- The title goes in the middle
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   620
      local middle_layout = wibox.layout.flex.horizontal()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   621
      local title = awful.titlebar.widget.titlewidget(c)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   622
      title:set_align("center")
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   623
      middle_layout:add(title)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   624
      middle_layout:buttons(buttons)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   625
      
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   626
      -- Now bring it all together
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   627
      local layout = wibox.layout.align.horizontal()
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   628
      layout:set_left(left_layout)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   629
      layout:set_right(right_layout)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   630
      layout:set_middle(middle_layout)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   631
      
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   632
      awful.titlebar(c):set_widget(layout)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   633
   end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   634
end
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   635
client.connect_signal("manage", manage_clients)
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   636
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   637
-- Hook function to execute when focusing a client.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   638
client.connect_signal("focus", 
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   639
                      function(c)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   640
                         if not awful.client.ismarked(c) then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   641
                            c.border_color = beautiful.border_focus
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   642
                            -- c.opacity = 13.0
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   643
                         end
7
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   644
end)
03125e413ae3 Add awesome configuration
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   645
15
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   646
-- Hook function to execute when unfocusing a client.
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   647
client.connect_signal("unfocus", function(c)
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   648
                         if not awful.client.ismarked(c) then
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   649
                            c.border_color = beautiful.border_normal
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   650
                            -- c.opacity = 0.8
73df43769340 Update keybinding.
Fabien Ninoles <fabien@tzone.org>
parents: 14
diff changeset
   651
                         end
14
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   652
end)
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   653
-- }}}
6348b9f842b2 Move back to non-shifty awesomeness.
Fabien Ninoles <fabien@tzone.org>
parents: 13
diff changeset
   654
8
0eae48be1d62 Add my.sloppy
Fabien Ninoles <fabien@tzone.org>
parents: 7
diff changeset
   655
my.sloppy_install(0.5)