change everything -- go back to awesomewm
This commit is contained in:
parent
3a522c7caf
commit
335f620d8c
37 changed files with 1345 additions and 370 deletions
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[submodule "configs/awesome/awesome-wm-widgets"]
|
||||
path = configs/awesome/awesome-wm-widgets
|
||||
url = https://github.com/streetturtle/awesome-wm-widgets
|
15
bin/doorsbg
15
bin/doorsbg
|
@ -1,15 +1,16 @@
|
|||
#! /bin/bash
|
||||
|
||||
# pick a random wallpaper and save a copy
|
||||
wal -i ~/Pictures/Wallpapers &&
|
||||
# This is meant to be run by awesome with the set colors keybind,
|
||||
# not by itself though it should work regardless
|
||||
|
||||
set -e
|
||||
|
||||
# Pick a random wallpaper and save a copy
|
||||
wal -i ~/Pictures/Wallpapers
|
||||
cp $(awk {print} ~/.cache/wal/wal) ~/.cache/wal/bg
|
||||
|
||||
# update themes for other stuff it it exists
|
||||
# Update themes for other stuff it it exists
|
||||
[[ -x "$(command -v pywalfox)" ]] && pywalfox update
|
||||
[[ -x "$(command -v pywal-discord)" ]] && pywal-discord
|
||||
[[ -x "$(command -v beautifuldiscord)" ]] && beautifuldiscord --css ~/.config/BetterDiscord/themes
|
||||
[[ -x "$(command -v wal-telegram )" ]] && wal-telegram -g
|
||||
|
||||
# set wallpaper and reset waybar
|
||||
swaybg -i ~/.cache/wal/bg &
|
||||
killall waybar && waybar &
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Simple update doors
|
||||
|
||||
set -e
|
||||
|
||||
cd $HOME/.doors && git pull && ./setup
|
||||
|
|
17
bin/maimpick
Executable file
17
bin/maimpick
Executable file
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Thank you Luke Smith
|
||||
# https://lukesmith.xyz
|
||||
|
||||
# This is bound to Shift+PrintScreen by default, requires maim. It lets you
|
||||
# choose the kind of screenshot to take, including copying the image or even
|
||||
# highlighting an area to copy. scrotcucks on suicidewatch right now.
|
||||
|
||||
case "$(printf "a selected area\\ncurrent window\\nfull screen\\na selected area (copy)\\ncurrent window (copy)\\nfull screen (copy)" | dmenu -l 6 -i -p "Screenshot which area?")" in
|
||||
"a selected area") maim -s pic-selected-"$(date '+%y%m%d-%H%M-%S').png" ;;
|
||||
"current window") maim -i "$(xdotool getactivewindow)" pic-window-"$(date '+%y%m%d-%H%M-%S').png" ;;
|
||||
"full screen") maim pic-full-"$(date '+%y%m%d-%H%M-%S').png" ;;
|
||||
"a selected area (copy)") maim -s | xclip -selection clipboard -t image/png ;;
|
||||
"current window (copy)") maim -i "$(xdotool getactivewindow)" | xclip -selection clipboard -t image/png ;;
|
||||
"full screen (copy)") maim | xclip -selection clipboard -t image/png ;;
|
||||
esac
|
7
configs/alacritty/alacritty.toml
Normal file
7
configs/alacritty/alacritty.toml
Normal file
|
@ -0,0 +1,7 @@
|
|||
import = ["/home/adam/.cache/wal/colors-alacritty.toml"]
|
||||
|
||||
[font]
|
||||
size = 12
|
||||
|
||||
[window]
|
||||
opacity = 0.8
|
|
@ -1,5 +0,0 @@
|
|||
import:
|
||||
- ~/.cache/wal/colors-alacritty.yml
|
||||
|
||||
window:
|
||||
opacity: 0.8
|
1
configs/awesome/awesome-wm-widgets
Submodule
1
configs/awesome/awesome-wm-widgets
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit fd9c62608ff253c44ae3c664f0eab683a569e909
|
42
configs/awesome/binds/awesome.lua
Normal file
42
configs/awesome/binds/awesome.lua
Normal file
|
@ -0,0 +1,42 @@
|
|||
-- Binds that affect awesome
|
||||
|
||||
globalkeys = Gears.table.join(
|
||||
globalkeys,
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Shift" }, "e", awesome.quit,
|
||||
{
|
||||
description = "quit awesome",
|
||||
group = "awesome"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "BackSpace",
|
||||
awesome.restart,
|
||||
{
|
||||
description = "reload awesome",
|
||||
group = "awesome"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "F1",
|
||||
Hotkeys_popup.show_help,
|
||||
{
|
||||
description = "show help",
|
||||
group = "awesome"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{}, "Print",
|
||||
function()
|
||||
os.execute("maimpick")
|
||||
end,
|
||||
{
|
||||
description = "run screenshot script",
|
||||
group = "awesome"
|
||||
}
|
||||
)
|
||||
)
|
223
configs/awesome/binds/client.lua
Normal file
223
configs/awesome/binds/client.lua
Normal file
|
@ -0,0 +1,223 @@
|
|||
-- Binds that affect the current window
|
||||
|
||||
-- Increment variable used by move and resize
|
||||
inc = 50
|
||||
|
||||
clientkeys = Gears.table.join(
|
||||
clientkeys,
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "f",
|
||||
function(c)
|
||||
c.fullscreen = not c.fullscreen
|
||||
c:raise()
|
||||
end,
|
||||
{
|
||||
description = "toggle fullscreen",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Mod1" }, "h",
|
||||
function(c)
|
||||
c:relative_move(-inc, 0, 0, 0)
|
||||
end,
|
||||
{
|
||||
description = "move floating left",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Mod1", "Shift" }, "h",
|
||||
function(c)
|
||||
c:relative_move(-inc, 0, inc, 0)
|
||||
end,
|
||||
{
|
||||
description = "resize floating horizontal +",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "j",
|
||||
function()
|
||||
Awful.client.focus.byidx(1)
|
||||
end,
|
||||
{
|
||||
description = "focus next by index",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Mod1" }, "j",
|
||||
function(c)
|
||||
c:relative_move(0, inc, 0, 0)
|
||||
end,
|
||||
{
|
||||
description = "move floating down",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Shift" }, "j",
|
||||
function()
|
||||
Awful.client.swap.byidx(1)
|
||||
end,
|
||||
{
|
||||
description = "swap next by index",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Mod1", "Shift" }, "j",
|
||||
function(c)
|
||||
c:relative_move(0, inc, 0, -inc)
|
||||
end,
|
||||
{
|
||||
description = "resize floating vertical -",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "k",
|
||||
function()
|
||||
Awful.client.focus.byidx(-1)
|
||||
end,
|
||||
{
|
||||
description = "focus previous by index",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Mod1" }, "k",
|
||||
function(c)
|
||||
c:relative_move(0, -inc, 0, 0)
|
||||
end,
|
||||
{
|
||||
description = "move floating up",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Shift" }, "k",
|
||||
function()
|
||||
Awful.client.swap.byidx(-1)
|
||||
end,
|
||||
{
|
||||
description = "swap previous by index",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Mod1", "Shift" }, "k",
|
||||
function(c)
|
||||
c:relative_move(0, -inc, 0, inc)
|
||||
end,
|
||||
{
|
||||
description = "resize floating vertical +",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Mod1" }, "l",
|
||||
function(c)
|
||||
c:relative_move(inc, 0, 0, 0)
|
||||
end,
|
||||
{
|
||||
description = "move floating right",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Mod1", "Shift" }, "l",
|
||||
function(c)
|
||||
c:relative_move(inc, 0, -inc, 0)
|
||||
end,
|
||||
{
|
||||
description = "resize floating horizontal -",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Shift" }, "n",
|
||||
function(c)
|
||||
c.maximized = not c.maximized
|
||||
c:raise()
|
||||
end,
|
||||
{
|
||||
description = "(un)maximize",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "o",
|
||||
function(c) c:move_to_screen() end,
|
||||
{
|
||||
description = "move focused to next screen",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "q",
|
||||
function(c) c:kill() end,
|
||||
{
|
||||
description = "close",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "t",
|
||||
function(c) c.ontop = not c.ontop end,
|
||||
{
|
||||
description = "toggle keep on top",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Shift" }, "Return",
|
||||
function(c)
|
||||
c:swap(Awful.client.getmaster())
|
||||
end,
|
||||
{
|
||||
description = "move focused to master",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "space",
|
||||
Awful.client.floating.toggle,
|
||||
{
|
||||
description = "toggle floating",
|
||||
group = "client"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "Tab",
|
||||
function()
|
||||
Awful.client.focus.history.previous()
|
||||
if client.focus then client.focus:raise() end
|
||||
end,
|
||||
{
|
||||
description = "focus previous",
|
||||
group = "client"
|
||||
}
|
||||
)
|
||||
)
|
12
configs/awesome/binds/init.lua
Normal file
12
configs/awesome/binds/init.lua
Normal file
|
@ -0,0 +1,12 @@
|
|||
-- Group by appearance in help menu (Modkey + F1)
|
||||
require('binds.awesome')
|
||||
require('binds.client')
|
||||
require('binds.launcher')
|
||||
require('binds.layout')
|
||||
require('binds.media')
|
||||
require('binds.mouse')
|
||||
require('binds.screen')
|
||||
require('binds.tag')
|
||||
|
||||
-- Apply all above
|
||||
root.keys(globalkeys)
|
140
configs/awesome/binds/launcher.lua
Normal file
140
configs/awesome/binds/launcher.lua
Normal file
|
@ -0,0 +1,140 @@
|
|||
-- Binds that launch programs
|
||||
|
||||
globalkeys = Gears.table.join(
|
||||
globalkeys,
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "c",
|
||||
function() Awful.spawn("caprine") end,
|
||||
{
|
||||
description = "open caprine",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Shift" }, "c",
|
||||
function() Awful.spawn("telegram-desktop") end,
|
||||
{
|
||||
description = "open telegram-desktop",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "d",
|
||||
function() Awful.spawn("discord") end,
|
||||
{
|
||||
description = "open discord",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "e",
|
||||
function() Awful.spawn(Email) end,
|
||||
{
|
||||
description = "open editor",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Shift" }, "e",
|
||||
function() Awful.spawn("thunderbird") end,
|
||||
{
|
||||
description = "open thunderbird",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "g",
|
||||
function() Awful.spawn("steam-native") end,
|
||||
{
|
||||
description = "open steam",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Shift" }, "g",
|
||||
function() Awful.spawn("lutris") end,
|
||||
{
|
||||
description = "open lutris",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "i",
|
||||
function() Awful.spawn("gimp") end,
|
||||
{
|
||||
description = "open gimp",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "m",
|
||||
function() Awful.spawn(Music) end,
|
||||
{
|
||||
description = "open spotify",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Shift" }, "p",
|
||||
function() Awful.spawn("doorsbg") end,
|
||||
awesome.restart,
|
||||
{
|
||||
description = "set new random wallpaper/color scheme",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "r",
|
||||
function() Awful.screen.focused().mypromptbox:run() end,
|
||||
{
|
||||
description = "run prompt",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key({ Modkey, }, "v",
|
||||
function() Awful.spawn("virt-manager") end,
|
||||
{
|
||||
description = "open virt-manager",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "w",
|
||||
function() Awful.spawn(Browser) end,
|
||||
{
|
||||
description = "open browser",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Shift" }, "w",
|
||||
function() Awful.spawn(Browser2) end,
|
||||
{
|
||||
description = "open browser2",
|
||||
group = "launcher"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "Return",
|
||||
function() Awful.spawn(Terminal) end,
|
||||
{
|
||||
description = "open a terminal",
|
||||
group = "launcher"
|
||||
}
|
||||
)
|
||||
)
|
41
configs/awesome/binds/layout.lua
Normal file
41
configs/awesome/binds/layout.lua
Normal file
|
@ -0,0 +1,41 @@
|
|||
-- Binds that affect layout
|
||||
|
||||
globalkeys = Gears.table.join(
|
||||
globalkeys,
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Shift" }, "h",
|
||||
function() Awful.tag.incmwfact(-0.05) end,
|
||||
{
|
||||
description = "resize split -",
|
||||
group = "layout"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, "Shift" }, "l",
|
||||
function() Awful.tag.incmwfact(0.05) end,
|
||||
{
|
||||
description = "resize split +",
|
||||
group = "layout"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "[",
|
||||
function() Awful.layout.inc(1) end,
|
||||
{
|
||||
description = "select next",
|
||||
group = "layout"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "]",
|
||||
function() Awful.layout.inc(-1) end,
|
||||
{
|
||||
description = "select previous",
|
||||
group = "layout"
|
||||
}
|
||||
)
|
||||
)
|
94
configs/awesome/binds/media.lua
Normal file
94
configs/awesome/binds/media.lua
Normal file
|
@ -0,0 +1,94 @@
|
|||
-- Binds related to media
|
||||
|
||||
globalkeys = Gears.table.join(
|
||||
globalkeys,
|
||||
|
||||
-- Media
|
||||
Awful.key(
|
||||
{}, "XF86AudioLowerVolume",
|
||||
function()
|
||||
os.execute("pamixer -d 3")
|
||||
end,
|
||||
{
|
||||
description = "lower volume",
|
||||
group = "media"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{}, "XF86AudioMicMute",
|
||||
function()
|
||||
os.execute("pactl set-source-mute @DEFAULT_SOURCE@ toggle")
|
||||
end,
|
||||
{
|
||||
description = "mute mic",
|
||||
group = "media"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{}, "XF86AudioMute",
|
||||
function()
|
||||
os.execute("pamixer -t")
|
||||
end,
|
||||
{
|
||||
description = "mute audio",
|
||||
group = "media"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{}, "XF86AudioNext",
|
||||
function()
|
||||
os.execute("playerctl next")
|
||||
end,
|
||||
{
|
||||
description = "next",
|
||||
group = "media"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{}, "XF86AudioPlay",
|
||||
function()
|
||||
os.execute("playerctl play-pause")
|
||||
end,
|
||||
{
|
||||
description = "play/pause",
|
||||
group = "media"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{}, "XF86AudioPrev",
|
||||
function()
|
||||
os.execute("playerctl previous")
|
||||
end,
|
||||
{
|
||||
description = "previous",
|
||||
group = "media"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{}, "XF86AudioRaiseVolume",
|
||||
function()
|
||||
os.execute("pamixer -i 3")
|
||||
end,
|
||||
{
|
||||
description = "raise volume",
|
||||
group = "media"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{}, "XF86AudioStop",
|
||||
function()
|
||||
os.execute("playerctl stop")
|
||||
end,
|
||||
{
|
||||
description = "stop",
|
||||
group = "media"
|
||||
}
|
||||
)
|
||||
)
|
51
configs/awesome/binds/mouse.lua
Normal file
51
configs/awesome/binds/mouse.lua
Normal file
|
@ -0,0 +1,51 @@
|
|||
-- Binds related to the mouse
|
||||
|
||||
root.buttons(
|
||||
Gears.table.join(
|
||||
Awful.button(
|
||||
{}, 4,
|
||||
Awful.tag.viewnext
|
||||
),
|
||||
Awful.button(
|
||||
{}, 5,
|
||||
Awful.tag.viewprev
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
clientbuttons = Gears.table.join(
|
||||
Awful.button(
|
||||
{}, 1,
|
||||
function(c)
|
||||
c:emit_signal(
|
||||
"request::activate",
|
||||
"mouse_click",
|
||||
{ raise = true }
|
||||
)
|
||||
end
|
||||
),
|
||||
|
||||
Awful.button(
|
||||
{ Modkey }, 1,
|
||||
function(c)
|
||||
c:emit_signal(
|
||||
"request::activate",
|
||||
"mouse_click",
|
||||
{ raise = true }
|
||||
)
|
||||
Awful.mouse.client.move(c)
|
||||
end
|
||||
),
|
||||
|
||||
Awful.button(
|
||||
{ Modkey }, 3,
|
||||
function(c)
|
||||
c:emit_signal(
|
||||
"request::activate",
|
||||
"mouse_click",
|
||||
{ raise = true }
|
||||
)
|
||||
Awful.mouse.client.resize(c)
|
||||
end
|
||||
)
|
||||
)
|
23
configs/awesome/binds/screen.lua
Normal file
23
configs/awesome/binds/screen.lua
Normal file
|
@ -0,0 +1,23 @@
|
|||
-- Binds related to screens
|
||||
|
||||
globalkeys = Gears.table.join(
|
||||
globalkeys,
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "h",
|
||||
function() Awful.screen.focus_relative(-1) end,
|
||||
{
|
||||
description = "focus previous screen",
|
||||
group = "screen"
|
||||
}
|
||||
),
|
||||
|
||||
Awful.key(
|
||||
{ Modkey, }, "l",
|
||||
function() Awful.screen.focus_relative(1) end,
|
||||
{
|
||||
description = "focus next screen",
|
||||
group = "screen"
|
||||
}
|
||||
)
|
||||
)
|
78
configs/awesome/binds/tag.lua
Normal file
78
configs/awesome/binds/tag.lua
Normal file
|
@ -0,0 +1,78 @@
|
|||
-- Binds related 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, 9 do
|
||||
globalkeys = Gears.table.join(
|
||||
globalkeys,
|
||||
|
||||
-- View tag only.
|
||||
Awful.key(
|
||||
{ Modkey }, "#" .. i + 9,
|
||||
function()
|
||||
local screen = Awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
tag:view_only()
|
||||
end
|
||||
end,
|
||||
|
||||
{
|
||||
description = "view tag #" .. i,
|
||||
group = "tag"
|
||||
}
|
||||
),
|
||||
|
||||
-- Toggle tag display.
|
||||
Awful.key(
|
||||
{ Modkey, "Control" }, "#" .. i + 9,
|
||||
function()
|
||||
local screen = Awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
Awful.tag.viewtoggle(tag)
|
||||
end
|
||||
end,
|
||||
|
||||
{
|
||||
description = "toggle tag #" .. i,
|
||||
group = "tag"
|
||||
}
|
||||
),
|
||||
|
||||
-- Move client to tag.
|
||||
Awful.key(
|
||||
{ Modkey, "Shift" }, "#" .. i + 9,
|
||||
function()
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[i]
|
||||
if tag then
|
||||
client.focus:move_to_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
{
|
||||
description = "move focused client to tag #" .. i,
|
||||
group = "tag"
|
||||
}
|
||||
),
|
||||
|
||||
-- Toggle tag on focused client.
|
||||
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
|
47
configs/awesome/core/init.lua
Normal file
47
configs/awesome/core/init.lua
Normal file
|
@ -0,0 +1,47 @@
|
|||
-- Handle startup errors
|
||||
if awesome.startup_errors then
|
||||
Naughty.notify(
|
||||
{
|
||||
preset = naughty.config.presets.critical,
|
||||
title = "Oops, there were errors during startup!",
|
||||
text = awesome.startup_errors
|
||||
}
|
||||
)
|
||||
end
|
||||
|
||||
-- Handle runtime errors after startup
|
||||
do
|
||||
local in_error = false
|
||||
|
||||
awesome.connect_signal(
|
||||
"debug::error",
|
||||
function(err)
|
||||
-- Make sure we don't go into an endless error loop
|
||||
if in_error then
|
||||
return
|
||||
end
|
||||
|
||||
in_error = true
|
||||
|
||||
Naughty.notify(
|
||||
{
|
||||
preset = naughty.config.presets.critical,
|
||||
title = "Oops, an error happened!",
|
||||
text = tostring(err)
|
||||
}
|
||||
)
|
||||
in_error = false
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
require("awful.autofocus")
|
||||
require("awful.hotkeys_popup.keys")
|
||||
|
||||
Awful = require("awful")
|
||||
Beautiful = require("beautiful")
|
||||
Gears = require("gears")
|
||||
Hotkeys_popup = require("awful.hotkeys_popup")
|
||||
Menubar = require("menubar")
|
||||
Naughty = require("naughty")
|
||||
Wibox = require("wibox")
|
40
configs/awesome/rc.lua
Normal file
40
configs/awesome/rc.lua
Normal file
|
@ -0,0 +1,40 @@
|
|||
require('core')
|
||||
|
||||
-- Set up key remaps
|
||||
os.execute('setxkbmap -option "caps:escape,altwin:menu_win,altwin:meta_win"')
|
||||
|
||||
-- Some defaults
|
||||
Browser = "firefox-developer-edition"
|
||||
Browser2 = "chromium"
|
||||
Editor = "nvim"
|
||||
Email = "thunderbird"
|
||||
Modkey = "Mod4"
|
||||
Music = "spotify-launcher"
|
||||
Terminal = "alacritty"
|
||||
Beautiful.init(".config/awesome/theme.lua")
|
||||
|
||||
-- Define layouts
|
||||
Awful.layout.layouts = {
|
||||
Awful.layout.suit.tile.right,
|
||||
Awful.layout.suit.tile.bottom,
|
||||
Awful.layout.suit.tile.left,
|
||||
Awful.layout.suit.tile.top,
|
||||
}
|
||||
|
||||
-- Set the terminal for applications that require it
|
||||
Menubar.utils.terminal = Terminal
|
||||
|
||||
-- Split up the rest for readability
|
||||
require('binds') -- keyboard/mouse
|
||||
require('rules') -- client specific rules
|
||||
require('signals') -- client signals
|
||||
require('wibar') -- bar/screen/wallpaper stuff
|
||||
|
||||
-- Collect garbage to prevent memory leaks from widgets
|
||||
Gears.timer.start_new(
|
||||
10,
|
||||
function()
|
||||
collectgarbage("step", 20000)
|
||||
return true
|
||||
end
|
||||
)
|
57
configs/awesome/rules/init.lua
Normal file
57
configs/awesome/rules/init.lua
Normal file
|
@ -0,0 +1,57 @@
|
|||
Awful.rules.rules = {
|
||||
-- All clients will match this rule.
|
||||
{
|
||||
rule = {},
|
||||
properties = {
|
||||
border_width = Beautiful.border_width,
|
||||
border_color = Beautiful.border_normal,
|
||||
focus = Awful.client.focus.filter,
|
||||
raise = true,
|
||||
keys = clientkeys,
|
||||
buttons = clientbuttons,
|
||||
screen = Awful.screen.preferred,
|
||||
placement = Awful.placement.no_overlap + Awful.placement.no_offscreen
|
||||
}
|
||||
},
|
||||
|
||||
-- Floating clients.
|
||||
{
|
||||
rule_any = {
|
||||
instance = {
|
||||
"DTA", -- Firefox addon DownThemAll.
|
||||
"copyq", -- Includes session name in class.
|
||||
"pinentry",
|
||||
},
|
||||
class = {
|
||||
"Arandr",
|
||||
"Blueman-manager",
|
||||
"Gpick",
|
||||
"Kruler",
|
||||
"MessageWin", -- kalarm.
|
||||
"Sxiv",
|
||||
"Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
|
||||
"Wpa_gui",
|
||||
"veromix",
|
||||
"xtightvncviewer" },
|
||||
|
||||
-- Note that the name property shown in xprop might be set slightly after creation of the client
|
||||
-- and the name shown there might not match defined rules here.
|
||||
name = {
|
||||
"Event Tester", -- xev.
|
||||
},
|
||||
role = {
|
||||
"AlarmWindow", -- Thunderbird's calendar.
|
||||
"ConfigManager", -- Thunderbird's about:config.
|
||||
"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" }
|
||||
},
|
||||
properties = { titlebars_enabled = false }
|
||||
},
|
||||
}
|
95
configs/awesome/signals/init.lua
Normal file
95
configs/awesome/signals/init.lua
Normal file
|
@ -0,0 +1,95 @@
|
|||
client.connect_signal(
|
||||
"manage",
|
||||
function(c)
|
||||
-- Set the windows at the slave,
|
||||
-- i.e. put it at the end of others instead of setting it master.
|
||||
-- if not awesome.startup then awful.client.setslave(c) end
|
||||
|
||||
if awesome.startup
|
||||
and not c.size_hints.user_position
|
||||
and not c.size_hints.program_position then
|
||||
-- Prevent clients from being unreachable after screen count changes.
|
||||
Awful.placement.no_offscreen(c)
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
-- Add a titlebar if titlebars_enabled is set to true in the rules.
|
||||
client.connect_signal(
|
||||
"request::titlebars",
|
||||
function(c)
|
||||
-- buttons for the titlebar
|
||||
local buttons = Gears.table.join(
|
||||
Awful.button(
|
||||
{}, 1,
|
||||
function()
|
||||
c:emit_signal(
|
||||
"request::activate", "titlebar",
|
||||
{ raise = true }
|
||||
)
|
||||
Awful.mouse.client.move(c)
|
||||
end
|
||||
),
|
||||
Awful.button(
|
||||
{}, 3,
|
||||
function()
|
||||
c:emit_signal(
|
||||
"request::activate", "titlebar",
|
||||
{ raise = true }
|
||||
)
|
||||
Awful.mouse.client.resize(c)
|
||||
end
|
||||
)
|
||||
)
|
||||
|
||||
Awful.titlebar(c):setup {
|
||||
{ -- Left
|
||||
Awful.titlebar.widget.iconwidget(c),
|
||||
buttons = buttons,
|
||||
layout = Wibox.layout.fixed.horizontal
|
||||
},
|
||||
{ -- Middle
|
||||
{ -- Title
|
||||
align = "center",
|
||||
widget = Awful.titlebar.widget.titlewidget(c)
|
||||
},
|
||||
buttons = buttons,
|
||||
layout = Wibox.layout.flex.horizontal
|
||||
},
|
||||
{ -- Right
|
||||
Awful.titlebar.widget.floatingbutton(c),
|
||||
Awful.titlebar.widget.maximizedbutton(c),
|
||||
Awful.titlebar.widget.stickybutton(c),
|
||||
Awful.titlebar.widget.ontopbutton(c),
|
||||
Awful.titlebar.widget.closebutton(c),
|
||||
layout = Wibox.layout.fixed.horizontal()
|
||||
},
|
||||
layout = Wibox.layout.align.horizontal
|
||||
}
|
||||
end
|
||||
)
|
||||
|
||||
-- Enable sloppy focus, so that focus follows mouse.
|
||||
-- client.connect_signal(
|
||||
-- "mouse::enter",
|
||||
-- function(c)
|
||||
-- c:emit_signal(
|
||||
-- "request::activate", "mouse_enter",
|
||||
-- { raise = false }
|
||||
-- )
|
||||
-- end
|
||||
-- )
|
||||
|
||||
client.connect_signal(
|
||||
"focus",
|
||||
function(c)
|
||||
c.border_color = Beautiful.border_focus
|
||||
end
|
||||
)
|
||||
|
||||
client.connect_signal(
|
||||
"unfocus",
|
||||
function(c)
|
||||
c.border_color = Beautiful.border_normal
|
||||
end
|
||||
)
|
70
configs/awesome/theme.lua
Normal file
70
configs/awesome/theme.lua
Normal file
|
@ -0,0 +1,70 @@
|
|||
local xresources = require("beautiful.xresources")
|
||||
|
||||
local dpi = xresources.apply_dpi
|
||||
local gfs = require("gears.filesystem")
|
||||
local theme = {}
|
||||
local theme_assets = require("beautiful.theme_assets")
|
||||
local themes_path = gfs.get_themes_dir()
|
||||
local xrdb = xresources.get_current_theme()
|
||||
|
||||
theme.font = "monospace 11"
|
||||
theme.wallpaper = '.cache/wal/bg'
|
||||
theme.useless_gap = dpi(8)
|
||||
theme.border_width = dpi(1)
|
||||
theme.menu_height = dpi(15)
|
||||
theme.menu_width = dpi(100)
|
||||
|
||||
-- Colors
|
||||
theme.bg_focus = xrdb.color4
|
||||
theme.bg_minimize = xrdb.color4
|
||||
theme.bg_normal = xrdb.background
|
||||
theme.bg_systray = theme.bg_normal
|
||||
theme.bg_urgent = xrdb.color1
|
||||
|
||||
theme.border_focus = xrdb.color4
|
||||
theme.border_marked = xrdb.color10
|
||||
theme.border_normal = xrdb.color5
|
||||
|
||||
theme.fg_focus = xrdb.foreground
|
||||
theme.fg_minimize = xrdb.foreground
|
||||
theme.fg_normal = xrdb.foreground
|
||||
theme.fg_urgent = xrdb.foreground
|
||||
|
||||
-- Generate taglist squares:
|
||||
local taglist_square_size = dpi(4)
|
||||
|
||||
theme.taglist_squares_sel = theme_assets.taglist_squares_sel(
|
||||
taglist_square_size,
|
||||
theme.fg_normal
|
||||
)
|
||||
|
||||
theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(
|
||||
taglist_square_size,
|
||||
theme.fg_normal
|
||||
)
|
||||
|
||||
-- You can use your own layout icons like this:
|
||||
theme.layout_cornerne = themes_path .. "default/layouts/cornernew.png"
|
||||
theme.layout_cornernw = themes_path .. "default/layouts/cornernww.png"
|
||||
theme.layout_cornerse = themes_path .. "default/layouts/cornersew.png"
|
||||
theme.layout_cornersw = themes_path .. "default/layouts/cornersww.png"
|
||||
theme.layout_dwindle = themes_path .. "default/layouts/dwindlew.png"
|
||||
theme.layout_fairh = themes_path .. "default/layouts/fairhw.png"
|
||||
theme.layout_fairv = themes_path .. "default/layouts/fairvw.png"
|
||||
theme.layout_floating = themes_path .. "default/layouts/floatingw.png"
|
||||
theme.layout_fullscreen = themes_path .. "default/layouts/fullscreenw.png"
|
||||
theme.layout_magnifier = themes_path .. "default/layouts/magnifierw.png"
|
||||
theme.layout_max = themes_path .. "default/layouts/maxw.png"
|
||||
theme.layout_spiral = themes_path .. "default/layouts/spiralw.png"
|
||||
theme.layout_tile = themes_path .. "default/layouts/tilew.png"
|
||||
theme.layout_tilebottom = themes_path .. "default/layouts/tilebottomw.png"
|
||||
theme.layout_tileleft = themes_path .. "default/layouts/tileleftw.png"
|
||||
theme.layout_tiletop = themes_path .. "default/layouts/tiletopw.png"
|
||||
|
||||
-- Define the icon theme for application icons. If not set then the icons
|
||||
-- from /usr/share/icons and /usr/share/icons/hicolor will be used.
|
||||
theme.icon_theme = nil
|
||||
|
||||
return theme
|
||||
|
||||
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
116
configs/awesome/wibar/init.lua
Normal file
116
configs/awesome/wibar/init.lua
Normal file
|
@ -0,0 +1,116 @@
|
|||
require('wibar.widgets')
|
||||
require('wibar.taglist')
|
||||
require('wibar.tasklist')
|
||||
|
||||
local function set_wallpaper(s)
|
||||
-- Wallpaper
|
||||
if Beautiful.wallpaper then
|
||||
local wallpaper = Beautiful.wallpaper
|
||||
-- If wallpaper is a function, call it with the screen
|
||||
if type(wallpaper) == "function" then
|
||||
wallpaper = wallpaper(s)
|
||||
end
|
||||
Gears.wallpaper.maximized(wallpaper, s, true)
|
||||
end
|
||||
end
|
||||
|
||||
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
|
||||
screen.connect_signal(
|
||||
"property::geometry",
|
||||
set_wallpaper
|
||||
)
|
||||
|
||||
Awful.screen.connect_for_each_screen(
|
||||
function(s)
|
||||
-- Each screen has its own tag table.
|
||||
Awful.tag(
|
||||
{ "1", "2", "3", "4", "5", "6", "7", "8", "9" },
|
||||
s,
|
||||
Awful.layout.layouts[1]
|
||||
)
|
||||
|
||||
-- Create a promptbox for each screen
|
||||
s.mypromptbox = Awful.widget.prompt()
|
||||
|
||||
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
|
||||
-- We need one layoutbox per screen.
|
||||
s.mylayoutbox = Awful.widget.layoutbox(s)
|
||||
|
||||
s.mylayoutbox:buttons(
|
||||
Gears.table.join(
|
||||
Awful.button(
|
||||
{}, 3,
|
||||
function()
|
||||
Awful.layout.inc(-1)
|
||||
end
|
||||
),
|
||||
|
||||
Awful.button(
|
||||
{}, 4,
|
||||
function()
|
||||
Awful.layout.inc(1)
|
||||
end
|
||||
),
|
||||
|
||||
Awful.button(
|
||||
{}, 5,
|
||||
function()
|
||||
Awful.layout.inc(-1)
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
-- Create a taglist widget
|
||||
s.mytaglist = Awful.widget.taglist {
|
||||
screen = s,
|
||||
filter = Awful.widget.taglist.filter.all,
|
||||
buttons = Taglist_buttons
|
||||
}
|
||||
|
||||
-- Create a tasklist widget
|
||||
s.mytasklist = Awful.widget.tasklist {
|
||||
screen = s,
|
||||
filter = Awful.widget.tasklist.filter.currenttags,
|
||||
buttons = Tasklist_buttons
|
||||
}
|
||||
|
||||
-- Create the Wibox
|
||||
s.myWibox = Awful.wibar(
|
||||
{
|
||||
position = "top",
|
||||
screen = s
|
||||
}
|
||||
)
|
||||
|
||||
-- Add widgets to the Wibox
|
||||
s.myWibox:setup {
|
||||
layout = Wibox.layout.align.horizontal,
|
||||
|
||||
-- Left
|
||||
{
|
||||
layout = Wibox.layout.fixed.horizontal,
|
||||
s.mytaglist,
|
||||
s.mypromptbox,
|
||||
},
|
||||
|
||||
-- Middle
|
||||
s.mytasklist,
|
||||
|
||||
-- Right
|
||||
{
|
||||
layout = Wibox.layout.fixed.horizontal,
|
||||
Cpu_widget(),
|
||||
Ram_widget(),
|
||||
Batteryarc_widget(
|
||||
{ enable_battery_warning = false }
|
||||
),
|
||||
Wibox.widget.systray(),
|
||||
Mytextclock,
|
||||
s.mylayoutbox,
|
||||
},
|
||||
}
|
||||
end
|
||||
)
|
||||
|
||||
os.execute('nitrogen --set-zoom-fill $(awk {print} ~/.cache/wal/wal)')
|
44
configs/awesome/wibar/taglist.lua
Normal file
44
configs/awesome/wibar/taglist.lua
Normal file
|
@ -0,0 +1,44 @@
|
|||
Taglist_buttons = Gears.table.join(
|
||||
Awful.button(
|
||||
{}, 1,
|
||||
function(t)
|
||||
t:view_only()
|
||||
end
|
||||
),
|
||||
|
||||
Awful.button(
|
||||
{ Modkey }, 1,
|
||||
function(t)
|
||||
if client.focus then
|
||||
client.focus:move_to_tag(t)
|
||||
end
|
||||
end
|
||||
),
|
||||
|
||||
Awful.button(
|
||||
{}, 3,
|
||||
Awful.tag.viewtoggle
|
||||
),
|
||||
|
||||
Awful.button(
|
||||
{ Modkey }, 3,
|
||||
function(t)
|
||||
if client.focus then
|
||||
client.focus:toggle_tag(t)
|
||||
end
|
||||
end
|
||||
),
|
||||
|
||||
Awful.button({}, 4,
|
||||
function(t)
|
||||
Awful.tag.viewnext(t.screen)
|
||||
end
|
||||
),
|
||||
|
||||
Awful.button(
|
||||
{}, 5,
|
||||
function(t)
|
||||
Awful.tag.viewprev(t.screen)
|
||||
end
|
||||
)
|
||||
)
|
37
configs/awesome/wibar/tasklist.lua
Normal file
37
configs/awesome/wibar/tasklist.lua
Normal file
|
@ -0,0 +1,37 @@
|
|||
Tasklist_buttons = Gears.table.join(
|
||||
Awful.button(
|
||||
{}, 1,
|
||||
function(c)
|
||||
if c == client.focus then
|
||||
c.minimized = true
|
||||
else
|
||||
c:emit_signal(
|
||||
"request::activate",
|
||||
"tasklist",
|
||||
{ raise = true }
|
||||
)
|
||||
end
|
||||
end
|
||||
),
|
||||
|
||||
Awful.button(
|
||||
{}, 3,
|
||||
function()
|
||||
Awful.menu.client_list(
|
||||
{ theme = { width = 250 } }
|
||||
)
|
||||
end
|
||||
),
|
||||
Awful.button(
|
||||
{}, 4,
|
||||
function()
|
||||
Awful.client.focus.byidx(1)
|
||||
end
|
||||
),
|
||||
Awful.button(
|
||||
{}, 5,
|
||||
function()
|
||||
Awful.client.focus.byidx(-1)
|
||||
end
|
||||
)
|
||||
)
|
28
configs/awesome/wibar/widgets.lua
Normal file
28
configs/awesome/wibar/widgets.lua
Normal file
|
@ -0,0 +1,28 @@
|
|||
Calendar_widget = require("awesome-wm-widgets.calendar-widget.calendar")
|
||||
Cpu_widget = require("awesome-wm-widgets.cpu-widget.cpu-widget")
|
||||
Ram_widget = require("awesome-wm-widgets.ram-widget.ram-widget")
|
||||
Batteryarc_widget = require("awesome-wm-widgets.batteryarc-widget.batteryarc")
|
||||
|
||||
|
||||
Mytextclock = Wibox.widget {
|
||||
format = ' %a %b %d, %I:%M%P ',
|
||||
widget = Wibox.widget.textclock
|
||||
}
|
||||
|
||||
local cw = Calendar_widget(
|
||||
{
|
||||
placement = 'top_right',
|
||||
start_sunday = 'true',
|
||||
previous_month_button = 4,
|
||||
next_month_button = 5,
|
||||
}
|
||||
)
|
||||
|
||||
Mytextclock:connect_signal(
|
||||
"button::press",
|
||||
function(_, _, _, button)
|
||||
if button == 1 then
|
||||
cw.toggle()
|
||||
end
|
||||
end
|
||||
)
|
|
@ -1,54 +0,0 @@
|
|||
# The status generator command.
|
||||
# Optional: with no status generator the bar will display only tags and layout name.
|
||||
command = "i3status-rs"
|
||||
|
||||
# Colors
|
||||
background = "#04070A"
|
||||
tag_bg = "#04070A"
|
||||
tag_inactive_bg = "#04070A"
|
||||
tag_urgent_fg = "#04070A"
|
||||
|
||||
tag_fg = "#dff1f2"
|
||||
tag_inactive_fg = "#dff1f2"
|
||||
tag_focused_fg = "#dff1f2"
|
||||
color = "#dff1f2"
|
||||
|
||||
separator = "#9a8a62ff"
|
||||
|
||||
tag_focused_bg = "#3E758A"
|
||||
|
||||
tag_urgent_bg = "#9C994A"
|
||||
|
||||
# The font and various sizes
|
||||
font = "monospace 10"
|
||||
height = 24
|
||||
margin_top = 0
|
||||
margin_bottom = 0
|
||||
margin_left = 0
|
||||
margin_right = 0
|
||||
separator_width = 2.0
|
||||
tags_r = 0.0
|
||||
tags_padding = 25.0
|
||||
blocks_r = 0.0
|
||||
blocks_overlap = 0.0
|
||||
|
||||
# Misc
|
||||
position = "top" # either "top" or "bottom"
|
||||
hide_inactive_tags = true
|
||||
invert_touchpad_scrolling = true
|
||||
show_layout_name = false
|
||||
blend = true # whether tags/blocks colors should blend with bar's background
|
||||
show_mode = true
|
||||
|
||||
# WM-specific options
|
||||
[wm.river]
|
||||
max_tag = 9 # Show only the first nine tags
|
||||
|
||||
# Per output overrides
|
||||
# [output.your-output-name]
|
||||
# right now only "enable" option is available
|
||||
# enable = false
|
||||
#
|
||||
# You can have any number of overrides
|
||||
# [output.eDP-1]
|
||||
# enable = false
|
|
@ -1,50 +0,0 @@
|
|||
icons_format = "{icon}"
|
||||
|
||||
[theme]
|
||||
theme = "native"
|
||||
|
||||
[icons]
|
||||
icons = "awesome5"
|
||||
[icons.overrides]
|
||||
# bat = ["| |", "|¼|", "|½|", "|¾|", "|X|"]
|
||||
# bat_charging = "|^| "
|
||||
|
||||
[[block]]
|
||||
block = "cpu"
|
||||
|
||||
[[block]]
|
||||
block = "memory"
|
||||
format = " $icon $mem_used_percents.eng(w:2) $icon_swap $swap_used_percents.eng(w:2) "
|
||||
interval = 5
|
||||
warning_mem = 70
|
||||
critical_mem = 90
|
||||
|
||||
[[block]]
|
||||
block = "net"
|
||||
format = " $icon {$signal_strength} "
|
||||
|
||||
[[block]]
|
||||
block = "bluetooth"
|
||||
mac = "40:2C:F4:B6:D9:B2"
|
||||
disconnected_format = ""
|
||||
format = " $icon "
|
||||
[block.battery_state]
|
||||
"0..20" = "critical"
|
||||
"21..70" = "warning"
|
||||
"71..100" = "good"
|
||||
|
||||
[[block]]
|
||||
block = "sound"
|
||||
[[block.click]]
|
||||
button = "left"
|
||||
cmd = "pavucontrol"
|
||||
|
||||
[[block]]
|
||||
block = "battery"
|
||||
format = "$icon $percentage "
|
||||
missing_format = ""
|
||||
|
||||
[[block]]
|
||||
block = "time"
|
||||
interval = 5
|
||||
format = " $timestamp.datetime(f:'%a %m/%d %I:%M%p') "
|
|
@ -1,4 +0,0 @@
|
|||
background_opacity 0.8
|
||||
font_size 11
|
||||
include ~/.cache/wal/colors-kitty.conf
|
||||
enable_audio_bell no
|
|
@ -1,2 +0,0 @@
|
|||
ignore-timeout=1
|
||||
default-timeout=5000
|
|
@ -1,20 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
. "${HOME}/.cache/wal/colors.sh"
|
||||
|
||||
conffile="~/.config/mako/config"
|
||||
|
||||
# Associative array, color name -> color code.
|
||||
declare -A colors
|
||||
colors=(
|
||||
["background-color"]="${background}89"
|
||||
["text-color"]="$foreground"
|
||||
["border-color"]="$color13"
|
||||
)
|
||||
|
||||
for color_name in "${!colors[@]}"; do
|
||||
# replace first occurance of each color in config file
|
||||
sed -i "0,/^$color_name.*/{s//$color_name=${colors[$color_name]}/}" $conffile
|
||||
done
|
||||
|
||||
makoctl reload
|
|
@ -1,189 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Startup
|
||||
swaybg -i ~/.cache/wal/bg &
|
||||
mako &
|
||||
|
||||
# Terminal
|
||||
riverctl map normal Super Return spawn "alacritty"
|
||||
|
||||
# Browsers
|
||||
riverctl map normal Super W spawn "firefox-developer-edition"
|
||||
riverctl map normal Super+Shift W spawn "chromium"
|
||||
|
||||
# Email
|
||||
riverctl map normal Super E spawn "thunderbird"
|
||||
|
||||
# Runner
|
||||
riverctl map normal Super R spawn "fuzzel"
|
||||
|
||||
# Chat stuff
|
||||
riverctl map normal Super+Shift C spawn "telegram-desktop"
|
||||
riverctl map normal Super C spawn "caprine"
|
||||
riverctl map normal Super D spawn "discord"
|
||||
|
||||
# Games
|
||||
riverctl map normal Super G spawn "steam-native"
|
||||
riverctl map normal Super+Shift G spawn "lutris"
|
||||
|
||||
# Image editor
|
||||
riverctl map normal Super I spawn "gimp"
|
||||
|
||||
# Music
|
||||
riverctl map normal Super M spawn "spotify-launcher"
|
||||
|
||||
# Run script to set new random bg/colors
|
||||
riverctl map normal Super+Shift P spawn "doorsbg"
|
||||
|
||||
# Screenshots
|
||||
riverctl map normal None Print spawn "grim - | wl-copy"
|
||||
riverctl map normal Shift Print spawn 'grim -g "$(slurp)" - | wl-copy'
|
||||
|
||||
# Super+Q to close the focused view
|
||||
riverctl map normal Super Q close
|
||||
|
||||
# Super+Shift+E to exit river
|
||||
riverctl map normal Super+Shift E exit
|
||||
|
||||
# Super+J and Super+K to focus the next/previous view in the layout stack
|
||||
riverctl map normal Super J focus-view next
|
||||
riverctl map normal Super K focus-view previous
|
||||
|
||||
# Super+Shift+J and Super+Shift+K to swap the focused view with the next/previous
|
||||
# view in the layout stack
|
||||
riverctl map normal Super+Shift J swap next
|
||||
riverctl map normal Super+Shift K swap previous
|
||||
|
||||
# Super+Period and Super+Comma to focus the next/previous output
|
||||
riverctl map normal Super Period focus-output next
|
||||
riverctl map normal Super Comma focus-output previous
|
||||
|
||||
# Super+Shift+{Period,Comma} to send the focused view to the next/previous output
|
||||
riverctl map normal Super+Shift Period send-to-output next
|
||||
riverctl map normal Super+Shift Comma send-to-output previous
|
||||
|
||||
# Super+Return to bump the focused view to the top of the layout stack
|
||||
riverctl map normal Super+Shift Return zoom
|
||||
|
||||
# Super+H and Super+L to decrease/increase the main ratio of rivertile(1)
|
||||
riverctl map normal Super H send-layout-cmd rivertile "main-ratio -0.05"
|
||||
riverctl map normal Super L send-layout-cmd rivertile "main-ratio +0.05"
|
||||
|
||||
# Super+Shift+H and Super+Shift+L to increment/decrement the main count of rivertile(1)
|
||||
riverctl map normal Super+Shift H send-layout-cmd rivertile "main-count +1"
|
||||
riverctl map normal Super+Shift L send-layout-cmd rivertile "main-count -1"
|
||||
|
||||
# Super+Alt+{H,J,K,L} to move views
|
||||
riverctl map normal Super+Alt H move left 100
|
||||
riverctl map normal Super+Alt J move down 100
|
||||
riverctl map normal Super+Alt K move up 100
|
||||
riverctl map normal Super+Alt L move right 100
|
||||
|
||||
# Super+Alt+Control+{H,J,K,L} to snap views to screen edges
|
||||
riverctl map normal Super+Alt+Control H snap left
|
||||
riverctl map normal Super+Alt+Control J snap down
|
||||
riverctl map normal Super+Alt+Control K snap up
|
||||
riverctl map normal Super+Alt+Control L snap right
|
||||
|
||||
# Super+Alt+Shift+{H,J,K,L} to resize views
|
||||
riverctl map normal Super+Alt+Shift H resize horizontal -100
|
||||
riverctl map normal Super+Alt+Shift J resize vertical 100
|
||||
riverctl map normal Super+Alt+Shift K resize vertical -100
|
||||
riverctl map normal Super+Alt+Shift L resize horizontal 100
|
||||
|
||||
# Super + Left Mouse Button to move views
|
||||
riverctl map-pointer normal Super BTN_LEFT move-view
|
||||
|
||||
# Super + Right Mouse Button to resize views
|
||||
riverctl map-pointer normal Super BTN_RIGHT resize-view
|
||||
|
||||
# Super + Middle Mouse Button to toggle float
|
||||
riverctl map-pointer normal Super BTN_MIDDLE toggle-float
|
||||
|
||||
for i in $(seq 1 9)
|
||||
do
|
||||
tags=$((1 << ($i - 1)))
|
||||
|
||||
# Super+[1-9] to focus tag [0-8]
|
||||
riverctl map normal Super $i set-focused-tags $tags
|
||||
|
||||
# Super+Shift+[1-9] to tag focused view with tag [0-8]
|
||||
riverctl map normal Super+Shift $i set-view-tags $tags
|
||||
|
||||
# Super+Control+[1-9] to toggle focus of tag [0-8]
|
||||
riverctl map normal Super+Control $i toggle-focused-tags $tags
|
||||
|
||||
# Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view
|
||||
riverctl map normal Super+Shift+Control $i toggle-view-tags $tags
|
||||
done
|
||||
|
||||
# Super+0 to focus all tags
|
||||
# Super+Shift+0 to tag focused view with all tags
|
||||
all_tags=$(((1 << 32) - 1))
|
||||
riverctl map normal Super 0 set-focused-tags $all_tags
|
||||
riverctl map normal Super+Shift 0 set-view-tags $all_tags
|
||||
|
||||
# Super+Space to toggle float
|
||||
riverctl map normal Super Space toggle-float
|
||||
|
||||
# Super+F to toggle fullscreen
|
||||
riverctl map normal Super F toggle-fullscreen
|
||||
|
||||
# Super+{Up,Right,Down,Left} to change layout orientation
|
||||
riverctl map normal Super Up send-layout-cmd rivertile "main-location top"
|
||||
riverctl map normal Super Right send-layout-cmd rivertile "main-location right"
|
||||
riverctl map normal Super Down send-layout-cmd rivertile "main-location bottom"
|
||||
riverctl map normal Super Left send-layout-cmd rivertile "main-location left"
|
||||
|
||||
# Declare a passthrough mode. This mode has only a single mapping to return to
|
||||
# normal mode. This makes it useful for testing a nested wayland compositor
|
||||
riverctl declare-mode passthrough
|
||||
|
||||
# Super+F11 to enter passthrough mode
|
||||
riverctl map normal Super F11 enter-mode passthrough
|
||||
|
||||
# Super+F11 to return to normal mode
|
||||
riverctl map passthrough Super F11 enter-mode normal
|
||||
|
||||
# Various media key mapping examples for both normal and locked mode which do
|
||||
# not have a modifier
|
||||
for mode in normal locked
|
||||
do
|
||||
# Eject the optical drive (well if you still have one that is)
|
||||
riverctl map $mode None XF86Eject spawn 'eject -T'
|
||||
|
||||
# Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
|
||||
riverctl map $mode None XF86AudioRaiseVolume spawn 'pamixer -i 5'
|
||||
riverctl map $mode None XF86AudioLowerVolume spawn 'pamixer -d 5'
|
||||
riverctl map $mode None XF86AudioMute spawn 'pamixer --toggle-mute'
|
||||
|
||||
# Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
|
||||
riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause'
|
||||
riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause'
|
||||
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
|
||||
riverctl map $mode None XF86AudioNext spawn 'playerctl next'
|
||||
|
||||
# Control screen backlight brightness with light (https://github.com/haikarainen/light)
|
||||
riverctl map $mode None XF86MonBrightnessUp spawn 'light -A 5'
|
||||
riverctl map $mode None XF86MonBrightnessDown spawn 'light -U 5'
|
||||
done
|
||||
|
||||
# Set background and border color
|
||||
riverctl background-color 0x002b36
|
||||
riverctl border-color-focused 0x93a1a1
|
||||
riverctl border-color-unfocused 0x586e75
|
||||
|
||||
# Set keyboard repeat rate
|
||||
riverctl set-repeat 50 300
|
||||
|
||||
# Make all views with an app-id that starts with "float" and title "foo" start floating.
|
||||
riverctl rule-add float -app-id 'float*' -title 'foo'
|
||||
|
||||
# Make all views with app-id "bar" and any title use client-side decorations
|
||||
riverctl rule-add csd -app-id "bar"
|
||||
|
||||
# Set the default layout generator to be rivertile and start it.
|
||||
# River will send the process group of the init executable SIGTERM on exit.
|
||||
riverctl default-layout rivertile
|
||||
rivertile -view-padding 6 -outer-padding 6 &
|
||||
riverctl spawn i3bar-river
|
|
@ -3,13 +3,6 @@
|
|||
# Keyboard lights
|
||||
[ -x "$(command -v g610-led)" ] && g610-led -a ff
|
||||
|
||||
# The way life should be
|
||||
export XKB_DEFAULT_OPTIONS=caps:escape,altwin:menu_win,altwin:meta_win
|
||||
|
||||
# Wayland stuff
|
||||
export WLR_NO_HARDWARE_CURSORS=1 # thanks NVIDIA
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
|
||||
export PATH="$PATH:$(du "$HOME/.local/bin" | cut -f2 | paste -sd ':' -)"
|
||||
|
||||
unsetopt PROMPT_SP
|
||||
|
@ -122,8 +115,3 @@ ex=🎯:\
|
|||
*.jar=♨:\
|
||||
*.java=♨:\
|
||||
"
|
||||
|
||||
# Unsafe
|
||||
# if [[ -z $WAYLAND_DISPLAY && $(tty) = "/dev/tty1" ]]; then
|
||||
# exec river
|
||||
# fi
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[spotify]
|
||||
extra_arguments = ["--enable-features=UseOzonePlatform", "--ozone-platform=wayland"]
|
27
configs/wal/templates/colors-alacritty.toml
Normal file
27
configs/wal/templates/colors-alacritty.toml
Normal file
|
@ -0,0 +1,27 @@
|
|||
[colors.primary]
|
||||
background = "#0c050d"
|
||||
foreground = "#d9d1da"
|
||||
|
||||
[colors.cursor]
|
||||
cursor = "#d9d1da"
|
||||
text = "CellForeground"
|
||||
|
||||
[colors.normal]
|
||||
black = "#0c050d"
|
||||
red = "#B8344C"
|
||||
green = "#EC075B"
|
||||
yellow = "#B58C70"
|
||||
blue = "#12718A"
|
||||
magenta = "#E05497"
|
||||
cyan = "#28A6B8"
|
||||
white = "#d9d1da"
|
||||
|
||||
[colors.bright]
|
||||
black = "#979298"
|
||||
red = "#B8344C"
|
||||
green = "#EC075B"
|
||||
yellow = "#B58C70"
|
||||
blue = "#12718A"
|
||||
magenta = "#E05497"
|
||||
cyan = "#28A6B8"
|
||||
white = "#d9d1da"
|
|
@ -1,25 +0,0 @@
|
|||
colors:
|
||||
primary:
|
||||
background: '{background}'
|
||||
foreground: '{foreground}'
|
||||
cursor:
|
||||
text: CellForeground
|
||||
cursor: '{cursor}'
|
||||
normal:
|
||||
black: '{color0}'
|
||||
red: '{color1}'
|
||||
green: '{color2}'
|
||||
yellow: '{color3}'
|
||||
blue: '{color4}'
|
||||
magenta: '{color5}'
|
||||
cyan: '{color6}'
|
||||
white: '{color7}'
|
||||
bright:
|
||||
black: '{color8}'
|
||||
red: '{color9}'
|
||||
green: '{color10}'
|
||||
yellow: '{color11}'
|
||||
blue: '{color12}'
|
||||
magenta: '{color13}'
|
||||
cyan: '{color14}'
|
||||
white: '{color15}'
|
24
configs/x11/xinitrc
Executable file
24
configs/x11/xinitrc
Executable file
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
|
||||
# startx/xinit run this script
|
||||
|
||||
set -e
|
||||
|
||||
# Run xprofile
|
||||
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile" ]; then
|
||||
. "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile"
|
||||
else
|
||||
. "$HOME/.xprofile"
|
||||
fi
|
||||
|
||||
# Set up optimus on some laptops if optimus-manager exists
|
||||
if [ -x $(command -v optimus-manager) ]; then
|
||||
sudo prime-switch
|
||||
prime-offload
|
||||
fi
|
||||
|
||||
# Set system colors
|
||||
wal -R
|
||||
|
||||
# Start awesome
|
||||
ssh-agent awesome
|
16
configs/x11/xprofile
Executable file
16
configs/x11/xprofile
Executable file
|
@ -0,0 +1,16 @@
|
|||
#!/bin/sh
|
||||
|
||||
# This is called by xinitrc during x startup
|
||||
|
||||
set -e
|
||||
|
||||
# Run multi-monitor config if it exists
|
||||
if [ -f ".screenlayout/default.sh" ]; then
|
||||
. ".screenlayout/default.sh" &
|
||||
fi
|
||||
|
||||
picom -b & # Compositor
|
||||
xset r rate 150 50 & # Key repeat rate
|
||||
unclutter & # Hide mouse cursor after inactivity
|
||||
redshift -l 43:-70 & # Tint screen at night if you're in new england (should change)
|
||||
xclip & # Make clipboard work
|
Loading…
Add table
Reference in a new issue