Compare commits

..

1 Commits
hpold ... main

Author SHA1 Message Date
Schneider Roland
a2beb1301c dialog twaks 2022-01-28 15:44:46 +01:00
7 changed files with 115 additions and 2206 deletions

3
.gitignore vendored
View File

@ -1,6 +1,3 @@
battery-widget
keyboard-layout-indicator
revelation
awesome-switcher
.idea
*.iml

View File

@ -1,19 +0,0 @@
#!/bin/bash
rc=-1
# while [[ $rc != [01] ]]; do  ✔  took 4s   at 07:46:30 
ans=$(zenity --info --title 'Choose!' \
--text 'Autostart apps?' \
--ok-label YES \
--extra-button NO \
--timeout 15)
rc=$?
echo "${rc}-${ans}"
# done
if [[ $rc = 1 ]]
then
echo "exiting"
else
echo "startng"
fi

View File

@ -1,65 +1,37 @@
#!/usr/bin/env bash
function run {
if ! pgrep $1; then
$@ &
fi
if ! pgrep $1 ;
then
$@&
fi
}
ans=$(zenity --info --title 'Choose!' \
--text 'Autostart tray icons?' \
--ok-label YES \
--extra-button NO \
--timeout 15)
rc1=$?
echo "${rc}-${ans}"
if [[ $rc1 = 1 ]]; then
echo "exiting"
else
# utilities in top bar
# network manager
run /usr/bin/nm-applet
# bluetooth indicator
run /usr/bin/blueman-manager
# screenshot utility
run /usr/bin/shutter
# volume control
run /usr/bin/pasystray
fi
ans=$(zenity --info --title 'Choose!' \
--text 'Autostart apps?' \
--ok-label YES \
--extra-button NO \
--timeout 15)
rc=$?
echo "${rc}-${ans}"
if [[ $rc = 1 ]]; then
echo "exiting"
exit 0
fi
# utilities in top bar
# network manager
run /usr/bin/nm-applet
# bluetooth indicator
run /usr/bin/blueman-manager
# screenshot utility
run /usr/bin/shutter
# volume control
run /usr/bin/pasystray
# tag 1
#run /usr/local/bin/jetbrains-toolbox
run /snap/bin/intellij-idea-ultimate
run idea
# tag 2
run /opt/google/chrome/chrome
run /opt/google/chrome/chrome
# tag 3
run /usr/bin/terminator
# tag 4
run /snap/bin/code
run /usr/bin/code
# tag 5
run /usr/bin/zoom
#run /snap/bin/teams
run /snap/bin/rambox
run /usr/bin/teams
#tag 6
run /snap/bin/rocketchat-desktop
run /usr/bin/thunderbird
#run /snap/bin/discord
run /usr/bin/discord
# tag 7
run /snap/bin/bitwarden
#run /usr/bin/keepassx
# tag 12
run /snap/bin/firefox
run /usr/bin/bitwarden
# run /usr/bin/keepassx

View File

@ -1,6 +1,4 @@
git clone https://github.com/deficient/battery-widget.git
git clone https://github.com/deficient/keyboard-layout-indicator.git
git clone https://github.com/guotsuan/awesome-revelation revelation
git clone https://github.com/berlam/awesome-switcher.git awesome-switcher
sudo apt update
sudo apt-get install acpid fonts-emojione fonts-noto-color-emoji
sudo apt-get install acpid

1771
mein-a1

File diff suppressed because it is too large Load Diff

422
rc.lua
View File

@ -18,60 +18,24 @@ local battery_widget = require("battery-widget")
local keyboard_layout_indicator = require("keyboard-layout-indicator")
local revelation=require("revelation")
revelation.curr_tag_only = true
-- Load Debian menu entries
local debian = require("debian.menu")
local has_fdo, freedesktop = pcall(require, "freedesktop")
local switcher = require("awesome-switcher")
switcher.settings.preview_box = true -- display preview-box
switcher.settings.preview_box_bg = "#ddddddaa" -- background color
switcher.settings.preview_box_border = "#22222200" -- border-color
switcher.settings.preview_box_fps = 30 -- refresh framerate
switcher.settings.preview_box_delay = 150 -- delay in ms
switcher.settings.preview_box_title_font = {"sans","italic","normal"}-- the font for cairo
switcher.settings.preview_box_title_font_size_factor = 0.8 -- the font sizing factor
switcher.settings.preview_box_title_color = {0,0,0,1} -- the font color
switcher.settings.client_opacity = false -- opacity for unselected clients
switcher.settings.client_opacity_value = 0.5 -- alpha-value for any client
switcher.settings.client_opacity_value_in_focus = 0.5 -- alpha-value for the client currently in focus
switcher.settings.client_opacity_value_selected = 1 -- alpha-value for the selected client
switcher.settings.cycle_raise_client = true -- raise clients on cycle
local KEY_ALT = "Mod1"
local tag1 = "1"
local tag2 = "2"
local tag3 = "3"
local tag4 = "4"
local tag5 = "5"
local tag6 = "6"
local tag7 = "7"
local tag1 = "1:idea"
local tag2 = "2:brow"
local tag3 = "3:term"
local tag4 = "4:code"
local tag5 = "5:zoom"
local tag6 = "6:chat"
local tag7 = "7:pass"
local tag8 = "8"
local tag9 = "9"
local tag10 = "10"
local tag11 = "11"
local tag12 = "12"
local tag13 = "13"
local tag14 = "14"
local tag15 = "15"
local tag16 = "16"
local tag17 = "17"
local tag18 = "18"
local tag19 = "19"
local tag20 = "20"
-- Numpad: [0-9] = [#90, #87-#89, #83-#85, #79-#81]
local numpadMap = { 87, 88, 89, 83, 84, 85, 79, 80, 81, 90 }
local tags = {
tag1,tag2,tag3,tag4,tag5,tag6,tag7,tag8,tag9,tag10,
tag11,tag12,tag13,tag14,tag15,tag16,tag17,tag18,tag19,tag20
tag1,tag2,tag3,tag4,tag5,tag6,tag7,tag8,tag9
}
local wibar_font="Deja Vu Sans Mono 14"
@ -237,7 +201,7 @@ menubar.utils.terminal = terminal -- Set the terminal for applications that requ
-- mytextclock = wibox.widget.textclock()
mytextclock = wibox.widget.textclock("%y-%m-%d %a %H:%M:%S",1)
mybatterywidget = battery_widget { adapter = "BAT0", ac = "AC", widget_font = wibar_font
mybatterywidget = battery_widget { adapter = "BAT0", ac = "AC", widget_font = wibar_font
, battery_prefix = "🔋"
, ac_prefix = "🔌"
}
@ -310,102 +274,6 @@ local function set_wallpaper(s)
end
end
-- get count of elements in table
function tablelength(T)
local count = 0
for _ in pairs(T) do count = count + 1 end
return count
end
-- return all client from selected tag
local function getAllClient()
local focusedScreen = awful.screen.focused ()
local t = focusedScreen.selected_tag
local clientsOnTag = t:clients()
return clientsOnTag
end
-- restore the given client
local function restoreClient(currentClient)
currentClient.minimized = false
currentClient.maximized = false
currentClient.fullscreen = false
end
-- make all client minimized=false,maximized=false,fullscreen=false
local function restoreAll()
local clientsOnTag = getAllClient()
for k, currentClient in pairs(clientsOnTag) do
restoreClient(currentClient)
end
end
-- minimize the given client
local function minimizeClient(currentClient)
currentClient.minimized = true
currentClient.maximized = false
currentClient.fullscreen = false
end
-- minimize all client
local function minimizeAll()
local clientsOnTag = getAllClient()
for k, currentClient in pairs(clientsOnTag) do
minimizeClient(currentClient)
end
end
-- make all client minimized=false,maximized=false,fullscreen=false
local function selectClientIdx(idx)
local clientsOnTag = getAllClient()
local clientCount = tablelength(clientsOnTag)
minimizeAll()
if ( clientCount >= idx ) then
local clientToFocus = clientsOnTag[idx];
client.focus = clientToFocus
clientToFocus:raise()
restoreClient(clientToFocus)
end
end
-- only the focused client will be opened, all other client minimized
local function normalizeClients()
local focusedScreen = awful.screen.focused ()
local focusedClient = client.focus
local t = focusedScreen.selected_tag
local clientsOnTag = t:clients()
for k, currentClient in pairs(clientsOnTag) do
currentClient.maximized = false
if currentClient == focusedClient then
currentClient.minimized = false
else
currentClient.minimized = true;
end
end
end
local function move_tag_to_focused_screen(tagName)
-- For all screens: find tag by name
print("looking for tag " .. tagName)
local tagByName = awful.tag.find_by_name(nil, tagName)
if tag then
print("tag found with name" .. tagName)
local screenFocused = awful.screen.focused()
tagByName.screen=screenFocused
tagByName:view_only()
end
end
local function move_client_to_tag(tagName)
if client.focus then
local tag = awful.tag.find_by_name(nil, tagName)
if tag then
client.focus:move_to_tag(tag)
end
end
end
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
screen.connect_signal("property::geometry", set_wallpaper)
@ -483,59 +351,22 @@ root.buttons(gears.table.join(
-- {{{ Key bindings
-- mod + s = show help
globalkeys = gears.table.join(
awful.key({ modkey, "Control" }, "v",
function ()
for _, c in ipairs(client.get()) do
awful.titlebar.show(c)
end
end,
{description = "show titles", group = "awesome"}
),
awful.key({ modkey }, "v",
function ()
for _, c in ipairs(client.get()) do
awful.titlebar.hide(c)
end
end,
{description = "hide titles", group = "awesome"}
),
awful.key({ modkey }, "b",
function ()
myscreen = awful.screen.focused()
myscreen.mywibox.visible = not myscreen.mywibox.visible
end,
{description = "toggle statusbar", group = "awesome"}
),
awful.key({ "Mod1", }, "Tab",
function ()
switcher.switch( 1, "Mod1", "Alt_L", "Shift", "Tab")
end),
awful.key({ "Mod1", "Shift" }, "Tab",
function ()
switcher.switch(-1, "Mod1", "Alt_L", "Shift", "Tab")
end),
-- mod + e -> custom widget revelation
awful.key({ modkey, }, "e", revelation),
-- awful.key({ modkey, }, "e", revelation),
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description="show help", group="awesome"}),
-- mod + left|right -> view next/prev tag
-- mod + left|right -> view next/prev tag
awful.key({ modkey, }, "Left", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
awful.key({ modkey, }, "Right", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ modkey, }, "End", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
awful.key({ modkey, }, "Home", awful.tag.viewnext,
{description = "view next", group = "tag"}),
-- mod + Esc -> tag history resotre
-- mod + Esc -> tag history resotre
awful.key({ modkey, }, "Escape", awful.tag.history.restore,
{description = "go back", group = "tag"}),
-- mod + j|k -> focus next|prev client
awful.key({ modkey, }, "j",
function ()
awful.client.focus.byidx( 1)
--swapClient(1)
end,
{description = "focus next by index", group = "client"}
),
@ -545,44 +376,20 @@ end,
end,
{description = "focus previous by index", group = "client"}
),
awful.key({ modkey, }, "o",
function ()
restoreAll()
end,
{description = "restore all", group = "client"}
),
awful.key({ modkey}, "Prior",
function ()
restoreAll()
awful.client.focus.byidx( 1)
normalizeClients()
end,
{description = "focus next by index", group = "client"}
),
awful.key({ modkey }, "Next",
function ()
restoreAll()
awful.client.focus.byidx(-1)
normalizeClients()
end,
{description = "focus previous by index", group = "client"}
),
-- mod + w -> show main menu
awful.key({ modkey, }, "w", function () mymainmenu:show() end,
{description = "show main menu", group = "awesome"}),
-- Layout manipulation
-- md + shift + j|k -> swap client wiht next|prev client in tag
-- mod + shift + j|k -> swap client wiht next|prev client in tag
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
{description = "swap with next client by index", group = "client"}),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
{description = "swap with previous client by index", group = "client"}),
-- mod + é|á|ű -> focus next|prev screen
awful.key({ modkey }, "é", function () awful.screen.focus( 1) end,
-- mod + ctrl + j|k -> focus next|prev screen
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end,
{description = "focus the next screen", group = "screen"}),
awful.key({ modkey }, "á", function () awful.screen.focus(2) end,
{description = "focus the previous screen", group = "screen"}),
awful.key({ modkey }, "ű", function () awful.screen.focus(3) end,
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
{description = "focus the previous screen", group = "screen"}),
-- mod + u -> urgent client
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
@ -603,7 +410,7 @@ end,
-- mod + ctrl + r -> restart awsome
awful.key({ modkey, "Control" }, "r", awesome.restart,
{description = "reload awesome", group = "awesome"}),
-- mod + shift + q -> quit awesome
-- mod + shift + q -> quit awesome
awful.key({ modkey, "Shift" }, "q", awesome.quit,
{description = "quit awesome", group = "awesome"}),
@ -672,17 +479,17 @@ clientkeys = gears.table.join(
-- mod + shift + c -> close client
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end,
{description = "close", group = "client"}),
-- mod + ctrl + space -> toggle float
-- mod + ctrl + space -> toggle float
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ,
{description = "toggle floating", group = "client"}),
-- mod + ctrl + enter -> move to master position
-- mod + ctrl + enter -> move to master position
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end,
{description = "move to master", group = "client"}),
-- mod + o -> move to screen
-- mod + o -> move to screen
-- move the current client in to the active tag of the next screen
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
{description = "move to screen", group = "client"}),
-- mod + t -> toggle on top
-- mod + t -> toggle on top
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end,
{description = "toggle keep on top", group = "client"}),
-- mod + n -> minimize
@ -693,14 +500,14 @@ clientkeys = gears.table.join(
c.minimized = true
end ,
{description = "minimize", group = "client"}),
-- mod + m -> toggle maximize
-- mod + m -> toggle maximize
awful.key({ modkey, }, "m",
function (c)
c.maximized = not c.maximized
c:raise()
end ,
{description = "(un)maximize", group = "client"}),
-- mod + ctrl + m -> toggle maximize vertical
-- mod + ctrl + m -> toggle maximize vertical
awful.key({ modkey, "Control" }, "m",
function (c)
c.maximized_vertical = not c.maximized_vertical
@ -716,12 +523,31 @@ clientkeys = gears.table.join(
{description = "(un)maximize horizontally", group = "client"})
)
local function move_tag_to_focused_screen(tagName)
-- For all screens: find tag by name
print("looking for tag " .. tagName)
local tagByName = awful.tag.find_by_name(nil, tagName)
if tag then
print("tag found with name" .. tagName)
local screenFocused = awful.screen.focused()
tagByName.screen=screenFocused
tagByName:view_only()
end
end
local function move_client_to_tag(tagName)
if client.focus then
local tag = awful.tag.find_by_name(nil, tagName)
if tag then
client.focus:move_to_tag(tag)
end
end
end
-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it work on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, 10 do
for i = 1, 9 do
globalkeys = gears.table.join(globalkeys,
-- View tag only.
-- mod + i -> show tag
@ -736,16 +562,14 @@ for i = 1, 10 do
end,
{description = "view tag #"..i, group = "tag"}),
-- awful.key({ modkey, KEY_ALT }, "#" .. i + 9,
-- awful.key({ modkey, KEY_ALT }, "#" .. i + 9,
awful.key({ modkey, KEY_ALT }, "#" .. numpadMap[i],
awful.key({ modkey, KEY_ALT }, "#" .. i + 9,
function ()
selectClientIdx(i)
move_tag_to_focused_screen(tags[i])
end,
{description = "select client in active tag #"..i, group = "client"}),
{description = "view tag #"..i, group = "tag"}),
-- Toggle tag display.
--
--
-- mod + ctrl + i -> show/hide tag
awful.key({ modkey, "Control" }, "#" .. i + 9,
function ()
@ -765,79 +589,22 @@ for i = 1, 10 do
-- if tag then
-- client.focus:move_to_tag(tag)
-- end
-- end
-- end
move_client_to_tag(tags[i])
end,
{description = "move focused client to tag #"..i, group = "tag"})
{description = "move focused client to tag #"..i, group = "tag"}),
-- Toggle tag on focused client.
-- mod + ctrl + shift +i -> toggle focused client on tag
--awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
-- function ()
-- if client.focus then
-- local tag = client.focus.screen.tags[i]
-- if tag then
-- client.focus:toggle_tag(tag)
-- end
-- end
-- end,
-- {description = "toggle focused client on tag #" .. i, group = "tag"})
)
end
-- tags 11-20
for i = 1, 10 do
globalkeys = gears.table.join(globalkeys,
-- View tag only.
-- mod + i -> show tag
awful.key({ modkey }, "#" .. numpadMap[i],
function ()
-- local screen = awful.screen.focused()
-- local tag = screen.tags[i]
-- if tag then
-- tag:view_only()
-- end
move_tag_to_focused_screen(tags[10+ i])
end,
{description = "view tag #"..(10+i), group = "tag"}),
-- Toggle tag display.
--
-- mod + ctrl + i -> show/hide tag
awful.key({ modkey, "Control" }, "#" .. numpadMap[i],
function ()
local screen = awful.screen.focused()
local tag = screen.tags[10+i]
if tag then
awful.tag.viewtoggle(tag)
end
end,
{description = "toggle tag #" .. (10+i), group = "tag"}),
-- Move client to tag.
-- mod + shift + i -> move client to tag
awful.key({ modkey, "Shift" }, "#" .. numpadMap[i],
function ()
-- if client.focus then
-- local tag = client.focus.screen.tags[i]
-- if tag then
-- client.focus:move_to_tag(tag)
-- end
-- end
move_client_to_tag(tags[10+i])
end,
{description = "move focused client to tag #"..(10+i), group = "tag"})
-- Toggle tag on focused client.
-- mod + ctrl + shift +i -> toggle focused client on tag
-- awful.key({ modkey, "Control", "Shift" }, "#" .. np_map[i],
-- function ()
-- if client.focus then
-- local tag = client.focus.screen.tags[i]
-- if tag then
-- client.focus:toggle_tag(tag)
-- end
-- end
-- end,
-- {description = "toggle focused client on tag #" .. i, group = "tag"})
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
function ()
if client.focus then
local tag = client.focus.screen.tags[i]
if tag then
client.focus:toggle_tag(tag)
end
end
end,
{description = "toggle focused client on tag #" .. i, group = "tag"})
)
end
@ -861,7 +628,7 @@ local function getScreenByTagName(tagName)
print( "tag " .. tostring(tagName) .. " is on screen " .. tostring(indexOfScreen))
return indexOfScreen
end
return awful.screen.focused().index
return awful.screen.focused().index
end
@ -869,7 +636,6 @@ local function getTagByName(tagName)
return awful.tag.find_by_name(nil, tagName)
end
-- {{{ Rules
-- Rules to apply to new clients (through the "manage" signal).
awful.rules.rules = {
@ -882,35 +648,39 @@ awful.rules.rules = {
keys = clientkeys,
buttons = clientbuttons,
screen = awful.screen.preferred,
placement = awful.placement.no_overlap+awful.placement.no_offscreen
placement = awful.placement.no_overlap+awful.placement.no_offscreen,
maximized_vertical = false,
maximized_horizontal = false,
-- floating = false,
maximized = false
}
},
-- Floating clients.
-- { rule_any = {
-- instance = {
-- "DTA", -- Firefox addon DownThemAll.
-- "copyq", -- Includes session name in class.
-- },
-- class = {
-- "Arandr",
-- "Gpick",
-- "Kruler",
-- "MessageWin", -- kalarm.
-- "Sxiv",
-- "Wpa_gui",
-- "pinentry",
-- "veromix",
-- "xtightvncviewer"},
{ rule_any = {
instance = {
"DTA", -- Firefox addon DownThemAll.
"copyq", -- Includes session name in class.
},
class = {
"Arandr",
"Gpick",
"Kruler",
"MessageWin", -- kalarm.
"Sxiv",
"Wpa_gui",
"pinentry",
"veromix",
"xtightvncviewer"},
-- name = {
-- "Event Tester", -- xev.
-- },
-- role = {
-- "AlarmWindow", -- Thunderbird's calendar.
-- "pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
-- }
-- }, properties = { floating = true }},
name = {
"Event Tester", -- xev.
},
role = {
"AlarmWindow", -- Thunderbird's calendar.
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
}
}, properties = { floating = true }},
-- Add titlebars to normal clients and dialogs
{ rule_any = {type = { "normal", "dialog" }
@ -934,10 +704,8 @@ awful.rules.rules = {
{ rule = { instance = "zoom" },
properties = { screen = function () return getScreenByTagName(tag5) end, tag = tag5 } },
-- microsoft teams - preview -> tag5
-- { rule = { instance = "microsoft teams - preview" },
-- properties = { screen = function () return getScreenByTagName(tag5) end, tag = tag5 } },
{ rule = { class = "rambox" },
properties = { screen = function () return getScreenByTagName(tag6) end, tag = tag6 } },
{ rule = { instance = "microsoft teams - preview" },
properties = { screen = function () return getScreenByTagName(tag5) end, tag = tag5 } },
-- rocket.chat-> tag6
{ rule = { instance = "rocket.chat" },
properties = { screen = function () return getScreenByTagName(tag6) end, tag = tag6 } },
@ -945,17 +713,14 @@ awful.rules.rules = {
{ rule = { instance = "discord" },
properties = { screen = function () return getScreenByTagName(tag6) end, tag = tag6 } },
-- Thunderbird -> tag6
{ rule = { class = "thunderbird" },
properties = { screen = function () return getScreenByTagName(tag6) end, tag = tag17 } },
{ rule = { class = "Thunderbird" },
properties = { screen = function () return getScreenByTagName(tag6) end, tag = tag6 } },
-- Bitwarden -> tag7
{ rule = { instance = "bitwarden" },
properties = { screen = function () return getScreenByTagName(tag7) end, tag = tag7 } },
-- keepass2 -> tag7
{ rule = { instance = "keepassx" },
properties = { screen = function () return getScreenByTagName(tag7) end, tag = tag7 } },
-- fireefox -> tag12
{ rule = { class = "firefox" },
properties = { screen = function () return getScreenByTagName(tag12) end, tag = tag12 } },
-- Set Firefox to always map on the tag named "2" on screen 1.
-- { rule = { class = "Firefox" },
-- properties = { screen = 1, tag = "2" } },
@ -969,6 +734,7 @@ client.connect_signal("manage", function (c)
-- i.e. put it at the end of others instead of setting it master.
-- if not awesome.startup then awful.client.setslave(c) end
awful.placement.no_offscreen(c)
if awesome.startup and
not c.size_hints.user_position
and not c.size_hints.program_position then
@ -1032,5 +798,5 @@ client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_n
-- }}}
--
-- {{{ autostart
awful.spawn.with_shell("~/.config/awesome/autorun.sh")
awful.spawn.with_shell("~/.config/awesome/autorun.sh")
-- }}}

View File

@ -1,34 +0,0 @@
# AwesomeWM config
Features:
- fix set of tags 1-20 (super+num|super+numpad)
- tags can be moved across multiple screen (super+num|super+numpad)
- move client to tag (super+shift+num|super+shift+numpad)
- revelation widget (super+e)
- battery-widget
- keyboard-layout-indicator
- awesome-switcher(alt+tab)
Main keyboard shortcuts
select next client in current tag: super u, super i
restore all clients in current tag: super o
minimize/open client: super+n
maximaze client: super+m
revelation plugin: super+e
show help: super+s
select tag 1-10: super+num
select tag 11-20: super+numpad
next/prev tag: super+arrow(left|right)
select client by index: super+alt+num
## Checkout
Checkout the awesome folder and copy it to
~/.cofig/awesome
## install dependencies
```bash
sudo bash install-deps.sh
```