Massive update, now using tokyo night
15
README.org
|
@ -8,6 +8,9 @@ This is just a personal repository where i store all my dotfiles, you're free cl
|
|||
[[./screenshot2.png]]
|
||||
[[./screenshot3.png]]
|
||||
[[./screenshot4.png]]
|
||||
[[./screenshot5.png]]
|
||||
[[./screenshot6.png]]
|
||||
[[./screenshot7.png]]
|
||||
|
||||
* GUIDE
|
||||
This guide is made for Arch Linux.
|
||||
|
@ -15,13 +18,11 @@ This guide is made for Arch Linux.
|
|||
** Dependencies
|
||||
This section will help you install every dependency.
|
||||
*** Fonts and theming
|
||||
This repository already includes the mononoki Nerd Font, the gruvbox-dark-gtk theme, the gruvbox-dark-icons-gtk icon pack and the Simp1e-Gruvbox-Dark cursors. But if you preffer to use the AUR packages you can install them using paru like this (Keep in mind that the Simp1e-Gruvbox-Dark cursors aren't in the AUR):
|
||||
#+begin_src sh
|
||||
paru -S gruvbox-dark-gtk gruvbox-dark-icons-gtk nerd-fonts-mononoki
|
||||
#+end_src
|
||||
|
||||
Theme = https://github.com/Fausto-Korpsvart/Tokyo-Night-GTK-Theme
|
||||
Cursors = https://gitlab.com/cursors/simp1e
|
||||
Fonts = mononoki nerd font from https://github.com/ryanoasis/nerd-fonts
|
||||
*** Full dependency pack
|
||||
With this single command using paru you can install all dependencies:
|
||||
With this single command using paru you can install almost all dependencies excluding the tokyo night gtk theme:
|
||||
#+begin_src sh
|
||||
paru -S --needed picom-pijulius-git capnet-assist scrot feh fd rofi awesome-git betterlockscreen power-profiles-daemon pamixer dunst lxsession alacritty networkmanager bluez bluez-utils
|
||||
paru -S --needed picom-pijulius-git capnet-assist scrot feh fd rofi awesome-git betterlockscreen power-profiles-daemon python-gobject pamixer lxsession alacritty networkmanager bluez bluez-utils nerd-fonts-mononoki xcursor-simp1e-tokyo-night
|
||||
#+end_src
|
||||
|
|
BIN
screenshot1.png
Before Width: | Height: | Size: 365 KiB After Width: | Height: | Size: 580 KiB |
BIN
screenshot2.png
Before Width: | Height: | Size: 755 KiB After Width: | Height: | Size: 276 KiB |
BIN
screenshot3.png
Before Width: | Height: | Size: 161 KiB After Width: | Height: | Size: 624 KiB |
BIN
screenshot4.png
Before Width: | Height: | Size: 164 KiB After Width: | Height: | Size: 581 KiB |
BIN
screenshot5.png
Normal file
After Width: | Height: | Size: 362 KiB |
BIN
screenshot6.png
Normal file
After Width: | Height: | Size: 345 KiB |
BIN
screenshot7.png
Normal file
After Width: | Height: | Size: 346 KiB |
|
@ -5,352 +5,35 @@
|
|||
## /_____/_/ \__,_/_/|_|\___/ My custom alacritty config
|
||||
##
|
||||
|
||||
## Set colorschemes
|
||||
|
||||
#######################################
|
||||
## Alacritty colorschemes ##
|
||||
#######################################
|
||||
schemes:
|
||||
### Doom One ###
|
||||
doom-one: &doom-one
|
||||
primary:
|
||||
background: '#282c34'
|
||||
foreground: '#bbc2cf'
|
||||
cursor:
|
||||
text: CellBackground
|
||||
cursor: '#528bff'
|
||||
selection:
|
||||
text: CellForeground
|
||||
background: '#3e4451'
|
||||
normal:
|
||||
black: '#1c1f24'
|
||||
red: '#ff6c6b'
|
||||
green: '#98be65'
|
||||
yellow: '#da8548'
|
||||
blue: '#51afef'
|
||||
magenta: '#c678dd'
|
||||
cyan: '#5699af'
|
||||
white: '#202328'
|
||||
bright:
|
||||
black: '#5b6268'
|
||||
red: '#da8548'
|
||||
green: '#4db5bd'
|
||||
yellow: '#ecbe7b'
|
||||
blue: '#3071db' # This is 2257a0 in Doom Emacs but I lightened it.
|
||||
magenta: '#a9a1e1'
|
||||
cyan: '#46d9ff'
|
||||
white: '#dfdfdf'
|
||||
|
||||
### Dracula ###
|
||||
dracula: &dracula
|
||||
primary:
|
||||
background: '#282a36'
|
||||
foreground: '#f8f8f2'
|
||||
cursor:
|
||||
text: CellBackground
|
||||
cursor: CellForeground
|
||||
vi_mode_cursor:
|
||||
text: CellBackground
|
||||
cursor: CellForeground
|
||||
search:
|
||||
matches:
|
||||
foreground: '#44475a'
|
||||
background: '#50fa7b'
|
||||
focused_match:
|
||||
foreground: '#44475a'
|
||||
background: '#ffb86c'
|
||||
bar:
|
||||
background: '#282a36'
|
||||
foreground: '#f8f8f2'
|
||||
line_indicator:
|
||||
foreground: None
|
||||
background: None
|
||||
selection:
|
||||
text: CellForeground
|
||||
background: '#44475a'
|
||||
normal:
|
||||
black: '#000000'
|
||||
red: '#ff5555'
|
||||
green: '#50fa7b'
|
||||
yellow: '#f1fa8c'
|
||||
blue: '#bd93f9'
|
||||
magenta: '#ff79c6'
|
||||
cyan: '#8be9fd'
|
||||
white: '#bfbfbf'
|
||||
bright:
|
||||
black: '#4d4d4d'
|
||||
red: '#ff6e67'
|
||||
green: '#5af78e'
|
||||
yellow: '#f4f99d'
|
||||
blue: '#caa9fa'
|
||||
magenta: '#ff92d0'
|
||||
cyan: '#9aedfe'
|
||||
white: '#e6e6e6'
|
||||
dim:
|
||||
black: '#14151b'
|
||||
red: '#ff2222'
|
||||
green: '#1ef956'
|
||||
yellow: '#ebf85b'
|
||||
blue: '#4d5b86'
|
||||
magenta: '#ff46b0'
|
||||
cyan: '#59dffc'
|
||||
white: '#e6e6d1'
|
||||
|
||||
### Gruvbox dark ###
|
||||
gruvbox-dark: &gruvbox-dark
|
||||
tokyo-night: &tokyo-night
|
||||
# Default colors
|
||||
primary:
|
||||
# hard contrast: background = '0x1d2021'
|
||||
background: '#1d2021'
|
||||
# soft contrast: background = '0x32302f'
|
||||
foreground: '#ebdbb2'
|
||||
background: '0x1a1b26'
|
||||
foreground: '0xa9b1d6'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#282828'
|
||||
red: '#cc241d'
|
||||
green: '#98971a'
|
||||
yellow: '#d79921'
|
||||
blue: '#458588'
|
||||
magenta: '#b16286'
|
||||
cyan: '#689d6a'
|
||||
white: '#a89984'
|
||||
black: '0x32344a'
|
||||
red: '0xf7768e'
|
||||
green: '0x9ece6a'
|
||||
yellow: '0xe0af68'
|
||||
blue: '0x7aa2f7'
|
||||
magenta: '0xad8ee6'
|
||||
cyan: '0x449dab'
|
||||
white: '0x787c99'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#928374'
|
||||
red: '#fb4934'
|
||||
green: '#b8bb26'
|
||||
yellow: '#fabd2f'
|
||||
blue: '#83a598'
|
||||
magenta: '#d3869b'
|
||||
cyan: '#8ec07c'
|
||||
white: '#ebdbb2'
|
||||
|
||||
### Monokai ###
|
||||
monokai-pro: &monokai-pro
|
||||
# Default colors
|
||||
primary:
|
||||
background: '#2D2A2E'
|
||||
foreground: '#FCFCFA'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#403E41'
|
||||
red: '#FF6188'
|
||||
green: '#A9DC76'
|
||||
yellow: '#FFD866'
|
||||
blue: '#FC9867'
|
||||
magenta: '#AB9DF2'
|
||||
cyan: '#78DCE8'
|
||||
white: '#FCFCFA'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#727072'
|
||||
red: '#FF6188'
|
||||
green: '#A9DC76'
|
||||
yellow: '#FFD866'
|
||||
blue: '#FC9867'
|
||||
magenta: '#AB9DF2'
|
||||
cyan: '#78DCE8'
|
||||
white: '#FCFCFA'
|
||||
|
||||
### Nord ###
|
||||
nord: &nord
|
||||
# Default colors
|
||||
primary:
|
||||
background: '#2E3440'
|
||||
foreground: '#D8DEE9'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#3B4252'
|
||||
red: '#BF616A'
|
||||
green: '#A3BE8C'
|
||||
yellow: '#EBCB8B'
|
||||
blue: '#81A1C1'
|
||||
magenta: '#B48EAD'
|
||||
cyan: '#88C0D0'
|
||||
white: '#E5E9F0'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#4C566A'
|
||||
red: '#BF616A'
|
||||
green: '#A3BE8C'
|
||||
yellow: '#EBCB8B'
|
||||
blue: '#81A1C1'
|
||||
magenta: '#B48EAD'
|
||||
cyan: '#8FBCBB'
|
||||
white: '#ECEFF4'
|
||||
|
||||
### Oceanic Next ###
|
||||
oceanic-next: &oceanic-next
|
||||
# Default colors
|
||||
primary:
|
||||
background: '#1b2b34'
|
||||
foreground: '#d8dee9'
|
||||
|
||||
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||
cursor:
|
||||
text: '#1b2b34'
|
||||
cursor: '#ffffff'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#343d46'
|
||||
red: '#EC5f67'
|
||||
green: '#99C794'
|
||||
yellow: '#FAC863'
|
||||
blue: '#6699cc'
|
||||
magenta: '#c594c5'
|
||||
cyan: '#5fb3b3'
|
||||
white: '#d8dee9'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#343d46'
|
||||
red: '#EC5f67'
|
||||
green: '#99C794'
|
||||
yellow: '#FAC863'
|
||||
blue: '#6699cc'
|
||||
magenta: '#c594c5'
|
||||
cyan: '#5fb3b3'
|
||||
white: '#d8dee9'
|
||||
|
||||
### Palenight ###
|
||||
palenight: &palenight
|
||||
# Default colors
|
||||
primary:
|
||||
background: '#292d3e'
|
||||
foreground: '#d0d0d0'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#292d3e'
|
||||
red: '#f07178'
|
||||
green: '#c3e88d'
|
||||
yellow: '#ffcb6b'
|
||||
blue: '#82aaff'
|
||||
magenta: '#c792ea'
|
||||
cyan: '#89ddff'
|
||||
white: '#d0d0d0'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#434758'
|
||||
red: '#ff8b92'
|
||||
green: '#ddffa7'
|
||||
yellow: '#ffe585'
|
||||
blue: '#9cc4ff'
|
||||
magenta: '#e1acff'
|
||||
cyan: '#a3f7ff'
|
||||
white: '#ffffff'
|
||||
|
||||
### Solarized Dark ###
|
||||
solarized-dark: &solarized-dark
|
||||
# Default colors
|
||||
primary:
|
||||
background: '#002b36' # base03
|
||||
foreground: '#839496' # base0
|
||||
|
||||
# Cursor colors
|
||||
cursor:
|
||||
text: '#002b36' # base03
|
||||
cursor: '#839496' # base0
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#073642' # base02
|
||||
red: '#dc322f' # red
|
||||
green: '#859900' # green
|
||||
yellow: '#b58900' # yellow
|
||||
blue: '#268bd2' # blue
|
||||
magenta: '#d33682' # magenta
|
||||
cyan: '#2aa198' # cyan
|
||||
white: '#eee8d5' # base2
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#002b36' # base03
|
||||
red: '#cb4b16' # orange
|
||||
green: '#586e75' # base01
|
||||
yellow: '#657b83' # base00
|
||||
blue: '#839496' # base0
|
||||
magenta: '#6c71c4' # violet
|
||||
cyan: '#93a1a1' # base1
|
||||
white: '#fdf6e3' # base3
|
||||
|
||||
### Solarized Light ###
|
||||
solarized-light: &solarized-light
|
||||
# Default colors
|
||||
primary:
|
||||
background: '#fdf6e3' # base3
|
||||
foreground: '#657b83' # base00
|
||||
|
||||
# Cursor colors
|
||||
cursor:
|
||||
text: '#fdf6e3' # base3
|
||||
cursor: '#657b83' # base00
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#073642' # base02
|
||||
red: '#dc322f' # red
|
||||
green: '#859900' # green
|
||||
yellow: '#b58900' # yellow
|
||||
blue: '#268bd2' # blue
|
||||
magenta: '#d33682' # magenta
|
||||
cyan: '#2aa198' # cyan
|
||||
white: '#eee8d5' # base2
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#002b36' # base03
|
||||
red: '#cb4b16' # orange
|
||||
green: '#586e75' # base01
|
||||
yellow: '#657b83' # base00
|
||||
blue: '#839496' # base0
|
||||
magenta: '#6c71c4' # violet
|
||||
cyan: '#93a1a1' # base1
|
||||
white: '#fdf6e3' # base3
|
||||
|
||||
### Tomorrow Night ###
|
||||
tomorrow-night: &tomorrow-night
|
||||
# Default colors
|
||||
primary:
|
||||
background: '#1d1f21'
|
||||
foreground: '#c5c8c6'
|
||||
|
||||
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||
cursor:
|
||||
text: '#1d1f21'
|
||||
cursor: '#ffffff'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#1d1f21'
|
||||
red: '#cc6666'
|
||||
green: '#b5bd68'
|
||||
yellow: '#e6c547'
|
||||
blue: '#81a2be'
|
||||
magenta: '#b294bb'
|
||||
cyan: '#70c0ba'
|
||||
white: '#373b41'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#666666'
|
||||
red: '#ff3334'
|
||||
green: '#9ec400'
|
||||
yellow: '#f0c674'
|
||||
blue: '#81a2be'
|
||||
magenta: '#b77ee0'
|
||||
cyan: '#54ced6'
|
||||
white: '#282a2e'
|
||||
|
||||
colors: *gruvbox-dark
|
||||
black: '0x444b6a'
|
||||
red: '0xff7a93'
|
||||
green: '0xb9f27c'
|
||||
yellow: '0xff9e64'
|
||||
blue: '0x7da6ff'
|
||||
magenta: '0xbb9af7'
|
||||
cyan: '0x0db9d7'
|
||||
white: '0xacb0d0'
|
||||
colors: *tokyo-night
|
||||
|
||||
## Set environment variables
|
||||
env:
|
||||
|
|
12
user/.config/awesome/apps.lua
Normal file
|
@ -0,0 +1,12 @@
|
|||
-- Apps
|
||||
local apps = {
|
||||
terminal = "alacritty",
|
||||
editor = "emacsclient -c -a emacs",
|
||||
music = "alacritty -t musik --class musik,musik -e musikcube",
|
||||
chat = "alacritty -t gomuks --class gomuks,gomuks -e gomuks",
|
||||
game = "retroarch",
|
||||
file = "alacritty -t vifm --class vifm,vifm -e ./.config/vifm/scripts/vifmrun",
|
||||
browser = "firefox",
|
||||
office = "libreoffice"
|
||||
}
|
||||
return apps
|
|
@ -3,3 +3,4 @@ awful.util.spawn_with_shell("lxpolkit &")
|
|||
awful.util.spawn_with_shell("$HOME/.fehbg &")
|
||||
awful.util.spawn_with_shell("unclutter --hide-on-touch &")
|
||||
awful.util.spawn_with_shell("picom --experimental-backends --config ~/.config/picom/picom.conf &")
|
||||
awful.util.spawn_with_shell("xfce4-power-manager &")
|
|
@ -1,12 +0,0 @@
|
|||
-- Apps
|
||||
local apps = {
|
||||
terminal = "alacritty",
|
||||
editor = "emacsclient -c -a emacs",
|
||||
music = "alacritty -t cmus --class cmus,cmus -e cmus",
|
||||
chat = "element-desktop",
|
||||
game = "retroarch",
|
||||
file = "alacritty -t vifm --class vifm,vifm -e ./.config/vifm/scripts/vifmrun",
|
||||
browser = "firefox",
|
||||
office = "libreoffice"
|
||||
}
|
||||
return apps
|
|
@ -1,132 +0,0 @@
|
|||
local wibox = require("wibox")
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
local theme = require("theme.theme")
|
||||
local separators = require("core.bar.widgets.separator")
|
||||
|
||||
-- Keyboard layout widget
|
||||
mykeyboardlayout = awful.widget.keyboardlayout()
|
||||
|
||||
-- Textclock widget
|
||||
mytextclock = wibox.widget.textclock()
|
||||
|
||||
screen.connect_signal("request::desktop_decoration", function(s)
|
||||
-- Tag names for each screen
|
||||
awful.tag({ "",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"ﱘ",
|
||||
"",
|
||||
"פֿ",
|
||||
"",
|
||||
""
|
||||
}, s, awful.layout.layouts[1])
|
||||
|
||||
-- Layoutbox widget
|
||||
s.mylayoutbox = awful.widget.layoutbox {
|
||||
screen = s,
|
||||
buttons = {
|
||||
awful.button({ }, 1, function () awful.layout.inc( 1) end),
|
||||
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),
|
||||
}
|
||||
}
|
||||
|
||||
-- Custom widgets
|
||||
s.volume = awful.widget.watch(".config/awesome/core/bar/widgets/volume", 1)
|
||||
s.battery = awful.widget.watch(".config/awesome/core/bar/widgets/battery", 10)
|
||||
s.wifi = awful.widget.watch(".config/awesome/core/bar/widgets/wifi", 10)
|
||||
s.brightness = awful.widget.watch(".config/awesome/core/bar/widgets/brightness", 1)
|
||||
s.layout = awful.widget.watch(".config/awesome/core/bar/widgets/layout", 1)
|
||||
|
||||
-- Taglist widget
|
||||
s.mytaglist = awful.widget.taglist {
|
||||
screen = s,
|
||||
filter = awful.widget.taglist.filter.all,
|
||||
buttons = {
|
||||
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.viewprev(t.screen) end),
|
||||
awful.button({ }, 5, function(t) awful.tag.viewnext(t.screen) end),
|
||||
}
|
||||
}
|
||||
|
||||
-- Separators
|
||||
local spr = wibox.widget.textbox(" ")
|
||||
local spr_one_dl = separators.arrow_left(theme.bg_normal, theme.bar_bg_one)
|
||||
local spr_one_ld = separators.arrow_left(theme.bar_bg_one, theme.bar_bg_two)
|
||||
local spr_two_dl = separators.arrow_left(theme.bar_bg_two, theme.bar_bg_two)
|
||||
local spr_two_ld = separators.arrow_left(theme.bar_bg_two, theme.bar_bg_tre)
|
||||
local spr_tre_dl = separators.arrow_left(theme.bar_bg_tre, theme.bar_bg_tre)
|
||||
local spr_tre_ld = separators.arrow_left(theme.bar_bg_tre, theme.bar_bg_for)
|
||||
local spr_for_dl = separators.arrow_left(theme.bar_bg_for, theme.bar_bg_for)
|
||||
local spr_for_ld = separators.arrow_left(theme.bar_bg_for, theme.bar_bg_fiv)
|
||||
local spr_fiv_dl = separators.arrow_left(theme.bar_bg_fiv, theme.bar_bg_fiv)
|
||||
|
||||
-- Wibox
|
||||
s.mywibox = awful.wibar {
|
||||
position = "top",
|
||||
screen = s,
|
||||
widget = {
|
||||
layout = wibox.layout.stack,
|
||||
{
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{ -- Left widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
s.mylayoutbox,
|
||||
wibox.widget.textbox(" "),
|
||||
s.mytaglist,
|
||||
wibox.widget.textbox(" "),
|
||||
},
|
||||
nil,
|
||||
{ -- Right widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
-- Keyboar layout widget
|
||||
wibox.container.background(spr_one_dl, theme.bar_bg_one),
|
||||
wibox.container.background(spr, theme.bar_bg_one),
|
||||
wibox.container.background(s.layout, theme.bar_bg_one),
|
||||
wibox.container.background(spr, theme.bar_bg_one),
|
||||
wibox.container.background(spr_one_ld, theme.bar_bg_one),
|
||||
-- Volume widget
|
||||
wibox.container.background(spr_two_dl, theme.bar_bg_two),
|
||||
wibox.container.background(s.volume, theme.bar_bg_two),
|
||||
wibox.container.background(spr, theme.bar_bg_two),
|
||||
spr_two_ld,
|
||||
-- Brightness widget
|
||||
wibox.container.background(spr_tre_dl, theme.bar_bg_tre),
|
||||
wibox.container.background(s.brightness, theme.bar_bg_tre),
|
||||
wibox.container.background(spr, theme.bar_bg_tre),
|
||||
wibox.container.background(spr_tre_ld, theme.bar_bg_tre),
|
||||
-- Battery widget
|
||||
wibox.container.background(spr_for_dl, theme.bar_bg_for),
|
||||
wibox.container.background(s.battery, theme.bar_bg_for),
|
||||
wibox.container.background(spr, theme.bar_bg_for),
|
||||
wibox.container.background(spr_for_ld, theme.bar_bg_for),
|
||||
-- Wifi widget
|
||||
wibox.container.background(spr_fiv_dl, theme.bar_bg_fiv),
|
||||
wibox.container.background(s.wifi, theme.bar_bg_fiv),
|
||||
wibox.container.background(spr, theme.bar_bg_fiv),
|
||||
},
|
||||
},
|
||||
{
|
||||
wibox.container.background(mytextclock, theme.bar_clock),
|
||||
valign = "center",
|
||||
halign = "center",
|
||||
layout = wibox.container.place,
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
end)
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Prints the current volume or 🔇 if muted.
|
||||
[ $(pamixer --get-mute) = true ] && echo " " && exit
|
||||
vol="$(pamixer --get-volume)"
|
||||
if [ "$vol" -gt "50" ]; then
|
||||
icon=""
|
||||
elif [ "$vol" -gt "10" ]; then
|
||||
icon=""
|
||||
elif [ "$vol" -gt "0" ]; then
|
||||
icon=""
|
||||
else
|
||||
echo " " && exit
|
||||
fi
|
||||
echo -e "$icon $vol%"
|
|
@ -1,15 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
constate=$(nmcli dev | grep wifi | sed 's/ \{2,\}/|/g' | cut -d '|' -f3 | head -1)
|
||||
currentwfi=$(nmcli dev | grep wifi | sed 's/ \{2,\}/|/g' | cut -d '|' -f4 | head -1)
|
||||
|
||||
if [ "$constate" = "disconnected" ]; then
|
||||
state="睊"
|
||||
echo "$state"
|
||||
elif [ "$constate" = "connected" ]; then
|
||||
state="直"
|
||||
echo "$state $currentwfi"
|
||||
else
|
||||
state="直?"
|
||||
echo "$state"
|
||||
fi
|
|
@ -1,372 +0,0 @@
|
|||
local awful = require("awful")
|
||||
local hotkeys_popup = require("awful.hotkeys_popup"); require("awful.hotkeys_popup.keys")
|
||||
local apps = require("core.apps")
|
||||
require("awful.autofocus")
|
||||
|
||||
-- Modkeys.
|
||||
altkey = "Mod1"
|
||||
modkey = "Mod4"
|
||||
conkey = "Control"
|
||||
|
||||
--[[ Quick keybindings ]]--
|
||||
awful.keyboard.append_global_keybindings({
|
||||
-- Show all the keybindings
|
||||
awful.key({ modkey }, "s", hotkeys_popup.show_help,
|
||||
{description="show help", group="quick"}),
|
||||
-- Reload awesome
|
||||
awful.key({ modkey, "Control" }, "r", awesome.restart,
|
||||
{description = "reload awesome", group = "quick"}),
|
||||
-- Show/Hide Wibox
|
||||
awful.key({ modkey }, "b", function ()
|
||||
for s in screen do
|
||||
s.mywibox.visible = not s.mywibox.visible
|
||||
if s.mybottomwibox then
|
||||
s.mybottomwibox.visible = not s.mybottomwibox.visible
|
||||
end
|
||||
end
|
||||
end,
|
||||
{description = "toggle wibox", group = "quick"}),
|
||||
awful.key({ modkey }, "Return", function () awful.spawn(apps.terminal) end,
|
||||
{description = "open a terminal", group = "launcher"}),
|
||||
})
|
||||
--[[ ]]--
|
||||
|
||||
--[[ Tags related keybindings ]]--
|
||||
awful.keyboard.append_global_keybindings({
|
||||
-- Switch to previous tag
|
||||
awful.key({ modkey }, "Left", awful.tag.viewprev,
|
||||
{description = "view previous", group = "tag"}),
|
||||
-- Switch to next tag
|
||||
awful.key({ modkey }, "Right", awful.tag.viewnext,
|
||||
{description = "view next", group = "tag"}),
|
||||
-- Switch back to the previous tag
|
||||
awful.key({ modkey }, "Escape", awful.tag.history.restore,
|
||||
{description = "go back", group = "tag"}),
|
||||
-- Switch tags by numbers 1-9
|
||||
awful.key {
|
||||
modifiers = { modkey },
|
||||
keygroup = "numrow",
|
||||
description = "only view tag",
|
||||
group = "tag",
|
||||
on_press = function (index)
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[index]
|
||||
if tag then
|
||||
tag:view_only()
|
||||
end
|
||||
end,
|
||||
},
|
||||
-- Toggle tags by numbers 1-9
|
||||
awful.key {
|
||||
modifiers = { modkey, "Control" },
|
||||
keygroup = "numrow",
|
||||
description = "toggle tag",
|
||||
group = "tag",
|
||||
on_press = function (index)
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[index]
|
||||
if tag then
|
||||
awful.tag.viewtoggle(tag)
|
||||
end
|
||||
end,
|
||||
},
|
||||
-- Move focused client to tag by numbers 1-9
|
||||
awful.key {
|
||||
modifiers = { modkey, "Shift" },
|
||||
keygroup = "numrow",
|
||||
description = "move focused client to tag",
|
||||
group = "tag",
|
||||
on_press = function (index)
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[index]
|
||||
if tag then
|
||||
client.focus:move_to_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
},
|
||||
-- Toggle focused client on tag by numbers 1-9
|
||||
awful.key {
|
||||
modifiers = { modkey, "Control", "Shift" },
|
||||
keygroup = "numrow",
|
||||
description = "toggle focused client on tag",
|
||||
group = "tag",
|
||||
on_press = function (index)
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[index]
|
||||
if tag then
|
||||
client.focus:toggle_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
},
|
||||
})
|
||||
--[[ ]]--
|
||||
|
||||
--[[ Focus related keybindings ]]--
|
||||
awful.keyboard.append_global_keybindings({
|
||||
-- Focus next client by index
|
||||
awful.key({ modkey }, "j",
|
||||
function ()
|
||||
awful.client.focus.byidx( 1)
|
||||
end,
|
||||
{description = "focus next by index", group = "focus"}),
|
||||
-- Focus previous client by index
|
||||
awful.key({ modkey }, "k",
|
||||
function ()
|
||||
awful.client.focus.byidx(-1)
|
||||
end,
|
||||
{description = "focus previous by index", group = "focus"}),
|
||||
-- Focus last focused client
|
||||
awful.key({ modkey }, "Tab",
|
||||
function ()
|
||||
awful.client.focus.history.previous()
|
||||
if client.focus then
|
||||
client.focus:raise()
|
||||
end
|
||||
end,
|
||||
{description = "go back", group = "focus"}),
|
||||
-- Focus next screen
|
||||
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative(1) end,
|
||||
{description = "focus the next screen", group = "focus"}),
|
||||
-- Focus previous screen
|
||||
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
|
||||
{description = "focus the previous screen", group = "focus"}),
|
||||
})
|
||||
--[[ ]]--
|
||||
|
||||
--[[ Layout related keybindings ]]--
|
||||
awful.keyboard.append_global_keybindings({
|
||||
-- Swap with next client by index
|
||||
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx(1) end,
|
||||
{description = "swap with next client by index", group = "layout"}),
|
||||
-- Swap with previous client by index
|
||||
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx(-1) end,
|
||||
{description = "swap with previous client by index", group = "layout"}),
|
||||
-- Increase master width
|
||||
awful.key({ modkey }, "l", function () awful.tag.incmwfact( 0.05) end,
|
||||
{description = "increase master width factor", group = "layout"}),
|
||||
-- Decrease master width
|
||||
awful.key({ modkey }, "h", function () awful.tag.incmwfact(-0.05) end,
|
||||
{description = "decrease master width factor", group = "layout"}),
|
||||
-- Increase the number of master clients
|
||||
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
|
||||
{description = "increase the number of master clients", group = "layout"}),
|
||||
-- Decrease the number of master clients
|
||||
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
|
||||
{description = "decrease the number of master clients", group = "layout"}),
|
||||
-- Increase the number of columns
|
||||
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
|
||||
{description = "increase the number of columns", group = "layout"}),
|
||||
-- Decrease the number of columns
|
||||
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
|
||||
{description = "decrease the number of columns", group = "layout"}),
|
||||
-- Switch to next layout
|
||||
awful.key({ modkey }, "space", function () awful.layout.inc( 1) end,
|
||||
{description = "select next", group = "layout"}),
|
||||
-- Switch to previous layout
|
||||
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
|
||||
{description = "select previous", group = "layout"}),
|
||||
-- Select layouts directly
|
||||
awful.key {
|
||||
modifiers = { modkey },
|
||||
keygroup = "numpad",
|
||||
description = "select layout directly",
|
||||
group = "layout",
|
||||
on_press = function (index)
|
||||
local t = awful.screen.focused().selected_tag
|
||||
if t then
|
||||
t.layout = t.layouts[index] or t.layout
|
||||
end
|
||||
end,
|
||||
}
|
||||
})
|
||||
--[[ ]]--
|
||||
|
||||
|
||||
--[[ Client related keybindings ]]--
|
||||
client.connect_signal("request::default_keybindings", function()
|
||||
-- Mouse bindings
|
||||
awful.mouse.append_client_mousebindings({
|
||||
-- Focus client with left click
|
||||
awful.button({ }, 1, function (c)
|
||||
c:activate { context = "mouse_click" }
|
||||
end),
|
||||
-- Move client by MODKEY + mouse left click
|
||||
awful.button({ modkey }, 1, function (c)
|
||||
c:activate { context = "mouse_click", action = "mouse_move" }
|
||||
end),
|
||||
-- Resize client by MODKEY + mouse right click
|
||||
awful.button({ modkey }, 3, function (c)
|
||||
c:activate { context = "mouse_click", action = "mouse_resize"}
|
||||
end),
|
||||
})
|
||||
-- Keyboard bindings
|
||||
awful.keyboard.append_client_keybindings({
|
||||
-- Set focused client to fullscreen
|
||||
awful.key({ modkey }, "f",
|
||||
function (c)
|
||||
c.fullscreen = not c.fullscreen
|
||||
c:raise()
|
||||
end,
|
||||
{description = "toggle fullscreen", group = "client"}),
|
||||
-- Close focused client
|
||||
awful.key({ modkey }, "q", function (c) c:kill() end,
|
||||
{description = "close", group = "client"}),
|
||||
-- Toggle floating mode on focused client
|
||||
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle,
|
||||
{description = "toggle floating", group = "client"}),
|
||||
-- Move focused client to master
|
||||
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end,
|
||||
{description = "move to master", group = "client"}),
|
||||
-- Move focused client to the other screen
|
||||
awful.key({ modkey }, "o", function (c) c:move_to_screen() end,
|
||||
{description = "move to screen", group = "client"}),
|
||||
-- Toggle focused client to be on top
|
||||
awful.key({ modkey }, "t", function (c) c.ontop = not c.ontop end,
|
||||
{description = "toggle keep on top", group = "client"}),
|
||||
-- Minimize focused client
|
||||
awful.key({ modkey }, "n", function (c) c.minimized = true end,
|
||||
{description = "minimize", group = "client"}),
|
||||
-- (Un)Maximize focused client
|
||||
awful.key({ modkey }, "m",
|
||||
function (c)
|
||||
c.maximized = not c.maximized
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize", group = "client"}),
|
||||
-- (Un)Maximize vertically focused client
|
||||
awful.key({ modkey, "Control" }, "m",
|
||||
function (c)
|
||||
c.maximized_vertical = not c.maximized_vertical
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize vertically", group = "client"}),
|
||||
-- (Un)Maximize horizontally focused client
|
||||
awful.key({ modkey, "Shift" }, "m",
|
||||
function (c)
|
||||
c.maximized_horizontal = not c.maximized_horizontal
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize horizontally", group = "client"}),
|
||||
-- Unminimize clients
|
||||
awful.key({ modkey, "Control" }, "n",
|
||||
function ()
|
||||
local c = awful.client.restore()
|
||||
-- Focus restored client
|
||||
if c then
|
||||
c:activate { raise = true, context = "key.unminimize" }
|
||||
end
|
||||
end,
|
||||
{description = "restore minimized", group = "client"}),
|
||||
-- Jump to urgent client
|
||||
awful.key({ modkey }, "u", awful.client.urgent.jumpto,
|
||||
{description = "jump to urgent client", group = "client"}),
|
||||
})
|
||||
end)
|
||||
--[[ ]]--
|
||||
|
||||
--[[ Custom keybindings ]]
|
||||
awful.keyboard.append_global_keybindings({
|
||||
-- Volume
|
||||
awful.key({}, "XF86AudioRaiseVolume", function() awful.spawn("pamixer -i 5") end,
|
||||
{description = "increase volume", group = "quick"}),
|
||||
awful.key({}, "XF86AudioLowerVolume", function() awful.spawn("pamixer -d 5") end,
|
||||
{description = "decrease volume", group = "quick"}),
|
||||
awful.key({}, "XF86AudioMute", function() awful.spawn("pamixer -t") end,
|
||||
{description = "mute volume", group = "quick"}),
|
||||
awful.key({}, "XF86AudioMicMute", function() awful.spawn("pamixer --default-source -t") end,
|
||||
{description = "mute microphone", group = "quick"}),
|
||||
-- Brightness
|
||||
awful.key({}, "XF86MonBrightnessUp", function () awful.spawn("xbacklight -inc 10") end,
|
||||
{description = "increase brightness", group = "quick"}),
|
||||
awful.key({}, "XF86MonBrightnessDown", function () awful.spawn("xbacklight -dec 10") end,
|
||||
{description = "decrease brightness", group = "quick"}),
|
||||
-- Display configuration
|
||||
awful.key({}, "XF86Display", function () awful.spawn("arandr") end,
|
||||
{description = "configure display", group = "quick"}),
|
||||
-- apps (Super + a followed by KEY)
|
||||
awful.key({ modkey }, "a", function()
|
||||
local grabber
|
||||
grabber =
|
||||
awful.keygrabber.run(
|
||||
function(_, key, event)
|
||||
if event == "release" then return end
|
||||
if key == "1" then awful.util.spawn(apps.editor)
|
||||
elseif key == "2" then awful.util.spawn(apps.file)
|
||||
elseif key == "3" then awful.util.spawn(apps.browser)
|
||||
elseif key == "4" then awful.util.spawn(apps.chat)
|
||||
elseif key == "5" then awful.util.spawn(apps.music)
|
||||
elseif key == "8" then awful.util.spawn(apps.office)
|
||||
elseif key == "9" then awful.util.spawn(apps.game)
|
||||
end
|
||||
awful.keygrabber.stop(grabber)
|
||||
end
|
||||
)
|
||||
end,
|
||||
{description = "followed by KEY", group = "apps"}
|
||||
),
|
||||
-- Keyboard layouts (Super + x followed by KEY)
|
||||
awful.key({ modkey }, "x", function()
|
||||
local grabber
|
||||
grabber =
|
||||
awful.keygrabber.run(
|
||||
function(_, key, event)
|
||||
if event == "release" then return end
|
||||
if key == "e" then awful.util.spawn("setxkbmap es")
|
||||
elseif key == "u" then awful.util.spawn("setxkbmap us")
|
||||
end
|
||||
awful.keygrabber.stop(grabber)
|
||||
end
|
||||
)
|
||||
end,
|
||||
{description = "followed by KEY", group = "keyboard"}
|
||||
),
|
||||
-- Dmenu scripts (Super + p followed by KEY)
|
||||
awful.key({ modkey }, "p", function()
|
||||
local grabber
|
||||
grabber =
|
||||
awful.keygrabber.run(
|
||||
function(_, key, event)
|
||||
if event == "release" then return end
|
||||
if key == "d" then awful.spawn.with_shell("rofi -show drun -show-icons")
|
||||
elseif key == "r" then awful.spawn.with_shell("rofi -show run")
|
||||
elseif key == "e" then awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_edit")
|
||||
elseif key == "q" then awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_power")
|
||||
elseif key == "i" then awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_wifi")
|
||||
elseif key == "b" then awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_blue")
|
||||
elseif key == "s" then awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_scrot")
|
||||
elseif key == "z" then awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_emoji")
|
||||
elseif key == "w" then awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_wall")
|
||||
end
|
||||
awful.keygrabber.stop(grabber)
|
||||
end
|
||||
)
|
||||
end,
|
||||
{description = "followed by KEY", group = "dmenu scripts"}
|
||||
),
|
||||
-- Terminal scripts (Super + t followed by KEY)
|
||||
awful.key({ modkey }, "t", function()
|
||||
local grabber
|
||||
grabber =
|
||||
awful.keygrabber.run(
|
||||
function(_, key, event)
|
||||
if event == "release" then return end
|
||||
if key == "m" then awful.spawn.with_shell("alacritty --title youm --class youm,youm -e ytfzf -mlst")
|
||||
elseif key == "y" then awful.spawn.with_shell("alacritty --title ytfzf --class ytfzf,ytfzf -e ytfzf -flst")
|
||||
elseif key == "a" then awful.spawn.with_shell("alacritty --title ani-cli --class ani-cli,ani-cli -e ani-cli -f")
|
||||
elseif key == "f" then awful.spawn.with_shell("alacritty --title flix-cli --class flix-cli,flix-cli -e flix-cli")
|
||||
end
|
||||
awful.keygrabber.stop(grabber)
|
||||
end
|
||||
)
|
||||
end,
|
||||
{description = "followed by KEY", group = "dmenu scripts"}
|
||||
),
|
||||
})
|
||||
--[[ ]]
|
||||
|
||||
-- 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)
|
|
@ -1,51 +0,0 @@
|
|||
local naughty = require("naughty")
|
||||
local awful = require("awful")
|
||||
local ruled = require("ruled")
|
||||
local naughty = require("naughty")
|
||||
local beautiful = require("beautiful")
|
||||
local gears = require("gears")
|
||||
|
||||
-- {{{ Error handling
|
||||
naughty.connect_signal("request::display_error", function(message, startup)
|
||||
naughty.notification {
|
||||
urgency = "critical",
|
||||
title = "Oops, an error happened"..(startup and " during startup!" or "!"),
|
||||
message = message
|
||||
}
|
||||
end)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Notifications
|
||||
ruled.notification.connect_signal('request::rules', function()
|
||||
ruled.notification.append_rule {
|
||||
rule = { },
|
||||
properties = {
|
||||
screen = awful.screen.preferred,
|
||||
implicit_timeout = 5,
|
||||
}
|
||||
}
|
||||
end)
|
||||
naughty.connect_signal("request::display", function(n)
|
||||
naughty.layout.box { notification = n }
|
||||
end)
|
||||
naughty.config.defaults['icon_size'] = 80
|
||||
beautiful.notification_shape = function(cr, w, h)
|
||||
gears.shape.rounded_rect(cr, w, h, 8)
|
||||
end
|
||||
-- }}}
|
||||
|
||||
-- {{{ Signals
|
||||
-- No borders when rearranging only 1 non-floating or maximized client
|
||||
screen.connect_signal("arrange", function (s)
|
||||
local max = s.selected_tag.layout.name == "max"
|
||||
local only_one = #s.tiled_clients == 1 -- use tiled_clients so that other floating windows don't affect the count
|
||||
-- but iterate over clients instead of tiled_clients as tiled_clients doesn't include maximized windows
|
||||
for _, c in pairs(s.clients) do
|
||||
if (max or only_one) and not c.floating or c.maximized then
|
||||
c.border_width = 0
|
||||
else
|
||||
c.border_width = beautiful.border_width
|
||||
end
|
||||
end
|
||||
end)
|
||||
-- }}}
|
|
@ -1,21 +0,0 @@
|
|||
local awful = require("awful")
|
||||
-- {{{ Tag layout
|
||||
-- Table of layouts to cover with awful.layout.inc, order matters.
|
||||
tag.connect_signal("request::default_layouts", function()
|
||||
awful.layout.append_default_layouts({
|
||||
awful.layout.suit.tile,
|
||||
awful.layout.suit.tile.left,
|
||||
awful.layout.suit.tile.bottom,
|
||||
awful.layout.suit.tile.top,
|
||||
-- awful.layout.suit.fair,
|
||||
-- awful.layout.suit.fair.horizontal,
|
||||
-- awful.layout.suit.spiral,
|
||||
-- awful.layout.suit.spiral.dwindle,
|
||||
awful.layout.suit.max,
|
||||
awful.layout.suit.max.fullscreen,
|
||||
-- awful.layout.suit.magnifier,
|
||||
-- awful.layout.suit.corner.nw,
|
||||
awful.layout.suit.floating,
|
||||
})
|
||||
end)
|
||||
-- }}}
|
|
@ -1,152 +0,0 @@
|
|||
local awful = require("awful")
|
||||
local ruled = require("ruled")
|
||||
|
||||
-- Rules to apply to new clients.
|
||||
ruled.client.connect_signal("request::rules", function()
|
||||
-- All clients will match this rule.
|
||||
ruled.client.append_rule {
|
||||
id = "global",
|
||||
rule = { },
|
||||
properties = {
|
||||
focus = awful.client.focus.filter,
|
||||
raise = true,
|
||||
screen = awful.screen.preferred,
|
||||
placement = awful.placement.no_overlap+awful.placement.no_offscreen,
|
||||
callback = awful.client.setslave
|
||||
}
|
||||
}
|
||||
|
||||
-- Floating clients.
|
||||
ruled.client.append_rule {
|
||||
id = "floating",
|
||||
rule_any = {
|
||||
instance = { "copyq", "pinentry" },
|
||||
class = {
|
||||
"Galculator",
|
||||
"Blueman-manager",
|
||||
"Gpick",
|
||||
"Kruler",
|
||||
"Tor Browser",
|
||||
"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 }
|
||||
}
|
||||
|
||||
-- TAG 1
|
||||
ruled.client.append_rule {
|
||||
rule_any = { class = {
|
||||
"Emacs",
|
||||
"Godot",
|
||||
"neovim",
|
||||
"Virt-manager"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" },
|
||||
}
|
||||
-- TAG 2
|
||||
ruled.client.append_rule {
|
||||
rule = { class = "vifm" },
|
||||
properties = { tag = "" },
|
||||
}
|
||||
-- TAG 3
|
||||
ruled.client.append_rule {
|
||||
rule_any = { class = {
|
||||
"Brave-browser",
|
||||
"librewolf",
|
||||
"firefox",
|
||||
"Chromium",
|
||||
"Bitwarden",
|
||||
"qutebrowser"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
}
|
||||
-- TAG 4
|
||||
ruled.client.append_rule {
|
||||
rule = { class = {
|
||||
"gomuks",
|
||||
"Element"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
}
|
||||
-- TAG 5
|
||||
ruled.client.append_rule {
|
||||
rule_any = { class = {
|
||||
"cmus",
|
||||
"youm",
|
||||
"Audacity",
|
||||
"Ardour",
|
||||
"Carla2",
|
||||
"Carla2-Control"
|
||||
}
|
||||
},
|
||||
properties = { tag = "ﱘ" }
|
||||
}
|
||||
-- TAG 6
|
||||
ruled.client.append_rule {
|
||||
rule_any = { class = {
|
||||
"kdenlive",
|
||||
"Blender",
|
||||
"Natron",
|
||||
"SimpleScreenRecorder",
|
||||
"Ghb",
|
||||
"obs",
|
||||
"mpv",
|
||||
"ani-cli",
|
||||
"flix-cli",
|
||||
"ytfzf"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
}
|
||||
-- TAG 7
|
||||
ruled.client.append_rule {
|
||||
rule_any = { class = {
|
||||
"Qjackctl",
|
||||
"lsp-plugins",
|
||||
"qpwgraph",
|
||||
"Gimp-2.10",
|
||||
"krita",
|
||||
"Inkscape",
|
||||
"Xournalpp",
|
||||
}
|
||||
},
|
||||
properties = { tag = "פֿ" }
|
||||
}
|
||||
-- TAG 8
|
||||
ruled.client.append_rule {
|
||||
rule_any = { class = {
|
||||
"DesktopEditors",
|
||||
"Soffice",
|
||||
"libreoffice-startcenter",
|
||||
"Joplin"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
}
|
||||
-- TAG 9
|
||||
ruled.client.append_rule {
|
||||
rule_any = { class = {
|
||||
"retroarch",
|
||||
"steam"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
}
|
||||
--}}}
|
||||
-- }
|
||||
end)
|
66
user/.config/awesome/helpers.lua
Normal file
|
@ -0,0 +1,66 @@
|
|||
local naughty = require("naughty")
|
||||
local awful = require("awful")
|
||||
local ruled = require("ruled")
|
||||
local naughty = require("naughty")
|
||||
local beautiful = require("beautiful")
|
||||
local gears = require("gears")
|
||||
|
||||
-- {{{ Error handling
|
||||
naughty.connect_signal(
|
||||
"request::display_error",
|
||||
function(message, startup)
|
||||
naughty.notification {
|
||||
urgency = "critical",
|
||||
title = "Oops, an error happened".. ( startup and " during startup!" or "!" ),
|
||||
message = message
|
||||
}
|
||||
end
|
||||
)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Notifications
|
||||
ruled.notification.connect_signal(
|
||||
"request::rules",
|
||||
function()
|
||||
ruled.notification.append_rule {
|
||||
rule = { },
|
||||
properties = {
|
||||
screen = awful.screen.preferred,
|
||||
implicit_timeout = 5,
|
||||
}
|
||||
}
|
||||
end
|
||||
)
|
||||
naughty.connect_signal(
|
||||
"request::display",
|
||||
function(n)
|
||||
naughty.layout.box {
|
||||
notification = n
|
||||
}
|
||||
end
|
||||
)
|
||||
naughty.config.defaults[ "icon_size" ] = 80
|
||||
beautiful.notification_shape =
|
||||
function(cr, w, h)
|
||||
gears.shape.rounded_rect(cr, w, h, 8)
|
||||
end
|
||||
-- }}}
|
||||
|
||||
-- {{{ Signals
|
||||
-- No borders when rearranging only 1 non-floating or maximized client
|
||||
screen.connect_signal(
|
||||
"arrange",
|
||||
function (s)
|
||||
local max = s.selected_tag.layout.name == "max"
|
||||
local only_one = #s.tiled_clients == 1 -- use tiled_clients so that other floating windows don't affect the count
|
||||
-- but iterate over clients instead of tiled_clients as tiled_clients doesn't include maximized windows
|
||||
for _, c in pairs(s.clients) do
|
||||
if (max or only_one) and not c.floating or c.maximized then
|
||||
c.border_width = 0
|
||||
else
|
||||
c.border_width = beautiful.border_width
|
||||
end
|
||||
end
|
||||
end
|
||||
)
|
||||
-- }}}
|
722
user/.config/awesome/keymaps/keyboard.lua
Normal file
|
@ -0,0 +1,722 @@
|
|||
local awful = require("awful")
|
||||
local hotkeys_popup = require("awful.hotkeys_popup"); require("awful.hotkeys_popup.keys")
|
||||
local apps = require("apps")
|
||||
require("awful.autofocus")
|
||||
|
||||
-- Modkeys.
|
||||
altkey = "Mod1"
|
||||
modkey = "Mod4"
|
||||
conkey = "Control"
|
||||
|
||||
--[[ Main keybinds ]]--
|
||||
awful.keyboard.append_global_keybindings(
|
||||
{
|
||||
-- Show the help menu
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"s",
|
||||
hotkeys_popup.show_help,
|
||||
{ description =
|
||||
"Show Help Menu",
|
||||
group =
|
||||
"Main keybinds"
|
||||
}
|
||||
),
|
||||
-- Reload awesome
|
||||
awful.key(
|
||||
{ modkey, "Control" },
|
||||
"r",
|
||||
awesome.restart,
|
||||
{ description =
|
||||
"Reload Awesome",
|
||||
group =
|
||||
"Main keybinds"
|
||||
}
|
||||
),
|
||||
-- Open a terminal
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"Return",
|
||||
function ()
|
||||
awful.spawn(apps.terminal)
|
||||
end,
|
||||
{ description =
|
||||
"Open a terminal",
|
||||
group =
|
||||
"Main keybinds"
|
||||
}
|
||||
),
|
||||
}
|
||||
)
|
||||
--[[ ]]--
|
||||
|
||||
--[[ Tags related keybindings ]]--
|
||||
awful.keyboard.append_global_keybindings(
|
||||
{
|
||||
-- Switch to previous tag
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"Left",
|
||||
awful.tag.viewprev,
|
||||
{ description =
|
||||
"Quickly switch to previous tag",
|
||||
group =
|
||||
"Tag keybinds"
|
||||
}
|
||||
),
|
||||
-- Switch to next tag
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"Right",
|
||||
awful.tag.viewnext,
|
||||
{ description =
|
||||
"Quickly switch to next tag",
|
||||
group =
|
||||
"Tag keybinds"
|
||||
}
|
||||
),
|
||||
-- Switch back to the previous tag
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"Escape",
|
||||
awful.tag.history.restore,
|
||||
{ description =
|
||||
"Go back to previus tag (from history)",
|
||||
group =
|
||||
"Tag keybinds"
|
||||
}
|
||||
),
|
||||
-- Switch tags by numbers 1-9
|
||||
awful.key {
|
||||
modifiers = { modkey },
|
||||
keygroup = "numrow",
|
||||
description = "Switch tags with number keys from {1 to 9}",
|
||||
group = "Tag keybinds",
|
||||
on_press = function (index)
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[index]
|
||||
if tag then
|
||||
tag:view_only()
|
||||
end
|
||||
end,
|
||||
},
|
||||
-- Toggle tags by numbers 1-9
|
||||
awful.key {
|
||||
modifiers = { modkey, "Control" },
|
||||
keygroup = "numrow",
|
||||
description = "Quickly view contents in another tag with number keys from {1 to 9}",
|
||||
group = "Tag keybinds",
|
||||
on_press = function (index)
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[index]
|
||||
if tag then
|
||||
awful.tag.viewtoggle(tag)
|
||||
end
|
||||
end,
|
||||
},
|
||||
-- Move focused window to tag by numbers 1-9
|
||||
awful.key {
|
||||
modifiers = { modkey, "Shift" },
|
||||
keygroup = "numrow",
|
||||
description = "Move focused window to another tag with number keys from {1 to 9}",
|
||||
group = "Tag keybinds",
|
||||
on_press = function (index)
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[index]
|
||||
if tag then
|
||||
client.focus:move_to_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
},
|
||||
-- Toggle focused window on tag by numbers 1-9
|
||||
awful.key {
|
||||
modifiers = { modkey, "Control", "Shift" },
|
||||
keygroup = "numrow",
|
||||
description = "View focused window on more than one tag with number keys from {1 to 9}",
|
||||
group = "Tag keybinds",
|
||||
on_press = function (index)
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[index]
|
||||
if tag then
|
||||
client.focus:toggle_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
},
|
||||
}
|
||||
)
|
||||
--[[ ]]--
|
||||
|
||||
--[[ Focus related keybindings ]]--
|
||||
awful.keyboard.append_global_keybindings(
|
||||
{
|
||||
-- Focus next window by index
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"j",
|
||||
function ()
|
||||
awful.client.focus.byidx( 1)
|
||||
end,
|
||||
{ description =
|
||||
"Focus the next window by index",
|
||||
group =
|
||||
"Focus keybinds"
|
||||
}
|
||||
),
|
||||
-- Focus previous window by index
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"k",
|
||||
function ()
|
||||
awful.client.focus.byidx(-1)
|
||||
end,
|
||||
{ description =
|
||||
"Focus the previous window by index",
|
||||
group =
|
||||
"Focus keybinds"
|
||||
}
|
||||
),
|
||||
-- Focus last focused window
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"Tab",
|
||||
function ()
|
||||
awful.client.focus.history.previous()
|
||||
if client.focus then
|
||||
client.focus:raise()
|
||||
end
|
||||
end,
|
||||
{ description =
|
||||
"Focus back the previous focused window",
|
||||
group =
|
||||
"Focus keybinds"
|
||||
}
|
||||
),
|
||||
-- Focus next screen
|
||||
awful.key(
|
||||
{ modkey, "Control" },
|
||||
"j",
|
||||
function ()
|
||||
awful.screen.focus_relative(1)
|
||||
end,
|
||||
{ description =
|
||||
"Focus the next screen",
|
||||
group =
|
||||
"Focus keybinds"
|
||||
}
|
||||
),
|
||||
-- Focus previous screen
|
||||
awful.key(
|
||||
{ modkey, "Control" },
|
||||
"k",
|
||||
function ()
|
||||
awful.screen.focus_relative(-1)
|
||||
end,
|
||||
{ description =
|
||||
"Focus the previous screen",
|
||||
group =
|
||||
"Focus keybinds"
|
||||
}
|
||||
),
|
||||
}
|
||||
)
|
||||
--[[ ]]--
|
||||
|
||||
--[[ Layout keybinds ]]--
|
||||
awful.keyboard.append_global_keybindings(
|
||||
{
|
||||
-- Swap with next window by index
|
||||
awful.key(
|
||||
{ modkey, "Shift" },
|
||||
"j",
|
||||
function ()
|
||||
awful.client.swap.byidx(1)
|
||||
end,
|
||||
{ description =
|
||||
"Swap with next window in current layout by index",
|
||||
group =
|
||||
"Layout keybinds"
|
||||
}
|
||||
),
|
||||
-- Swap with previous window by index
|
||||
awful.key(
|
||||
{ modkey, "Shift" },
|
||||
"k",
|
||||
function ()
|
||||
awful.client.swap.byidx(-1)
|
||||
end,
|
||||
{ description =
|
||||
"Swap with previous window in current layout by index",
|
||||
group =
|
||||
"Layout keybinds"
|
||||
}
|
||||
),
|
||||
-- Increase master width
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"l",
|
||||
function ()
|
||||
awful.tag.incmwfact(0.05)
|
||||
end,
|
||||
{ description =
|
||||
"Increase master window width size",
|
||||
group =
|
||||
"Layout keybinds"
|
||||
}
|
||||
),
|
||||
-- Decrease master width
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"h",
|
||||
function ()
|
||||
awful.tag.incmwfact(-0.05)
|
||||
end,
|
||||
{ description =
|
||||
"Decrease master window width size",
|
||||
group =
|
||||
"Layout keybinds"
|
||||
}
|
||||
),
|
||||
-- Increase the number of master window
|
||||
awful.key(
|
||||
{ modkey, "Shift" },
|
||||
"h",
|
||||
function ()
|
||||
awful.tag.incnmaster(1, nil, true)
|
||||
end,
|
||||
{ description =
|
||||
"Increase the number of master windows",
|
||||
group =
|
||||
"Layout keybinds"
|
||||
}
|
||||
),
|
||||
-- Decrease the number of master windows
|
||||
awful.key(
|
||||
{ modkey, "Shift" },
|
||||
"l",
|
||||
function ()
|
||||
awful.tag.incnmaster(-1, nil, true)
|
||||
end,
|
||||
{ description =
|
||||
"Decrease the number of master windows",
|
||||
group =
|
||||
"Layout keybinds"
|
||||
}
|
||||
),
|
||||
-- Increase the number of columns
|
||||
awful.key(
|
||||
{ modkey, "Control" },
|
||||
"h",
|
||||
function ()
|
||||
awful.tag.incncol(1, nil, true)
|
||||
end,
|
||||
{ description =
|
||||
"Increase the number of columns in layout",
|
||||
group =
|
||||
"Layout keybinds"
|
||||
}
|
||||
),
|
||||
-- Decrease the number of columns
|
||||
awful.key(
|
||||
{ modkey, "Control" },
|
||||
"l",
|
||||
function ()
|
||||
awful.tag.incncol(-1, nil, true)
|
||||
end,
|
||||
{ description =
|
||||
"Decrease the number of columns in layout",
|
||||
group =
|
||||
"Layout keybinds"
|
||||
}
|
||||
),
|
||||
-- Switch to next layout
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"space",
|
||||
function ()
|
||||
awful.layout.inc(1)
|
||||
end,
|
||||
{ description =
|
||||
"Switch to the next layout",
|
||||
group =
|
||||
"Layout keybinds"
|
||||
}
|
||||
),
|
||||
-- Switch to previous layout
|
||||
awful.key(
|
||||
{ modkey, "Shift" },
|
||||
"space",
|
||||
function ()
|
||||
awful.layout.inc(-1)
|
||||
end,
|
||||
{ description =
|
||||
"Switch to previous layout",
|
||||
group =
|
||||
"Layout keybinds"
|
||||
}
|
||||
),
|
||||
-- Select layouts directly
|
||||
awful.key {
|
||||
modifiers = { modkey },
|
||||
keygroup = "numpad",
|
||||
description = "Select layouts directly using the numpad",
|
||||
group = "layout",
|
||||
on_press = function (index)
|
||||
local t = awful.screen.focused().selected_tag
|
||||
if t then
|
||||
t.layout = t.layouts[index] or t.layout
|
||||
end
|
||||
end,
|
||||
},
|
||||
-- Show/Hide Wibox
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"b",
|
||||
function ()
|
||||
for s in screen do
|
||||
s.mywibox.visible = not s.mywibox.visible
|
||||
if s.mybottomwibox then
|
||||
s.mybottomwibox.visible = not s.mybottomwibox.visible
|
||||
end
|
||||
end
|
||||
end,
|
||||
{ description =
|
||||
"Toggle the bar",
|
||||
group =
|
||||
"Layout keybinds"
|
||||
}
|
||||
),
|
||||
}
|
||||
)
|
||||
--[[ ]]--
|
||||
|
||||
--[[ Window keybinds ]]--
|
||||
client.connect_signal(
|
||||
"request::default_keybindings",
|
||||
function()
|
||||
awful.keyboard.append_client_keybindings(
|
||||
{
|
||||
-- Set focused window to fullscreen
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"f",
|
||||
function (c)
|
||||
c.fullscreen = not c.fullscreen
|
||||
c:raise()
|
||||
end,
|
||||
{ description =
|
||||
"Toggle fullscreen",
|
||||
group =
|
||||
"Window keybinds"
|
||||
}
|
||||
),
|
||||
-- Close focused window
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"q",
|
||||
function (c)
|
||||
c:kill()
|
||||
end,
|
||||
{ description =
|
||||
"Close focused window",
|
||||
group =
|
||||
"Window keybinds" }
|
||||
),
|
||||
-- Toggle floating mode on focused window
|
||||
awful.key(
|
||||
{ modkey, "Control" },
|
||||
"space",
|
||||
awful.client.floating.toggle,
|
||||
{ description =
|
||||
"Toggle floating mode on focused window",
|
||||
group =
|
||||
"Window keybinds"
|
||||
}
|
||||
),
|
||||
-- Move focused window to master
|
||||
awful.key(
|
||||
{ modkey, "Control" },
|
||||
"Return",
|
||||
function (c)
|
||||
c:swap(
|
||||
awful.client.getmaster()
|
||||
)
|
||||
end,
|
||||
{ description =
|
||||
"Move focused window to master",
|
||||
group =
|
||||
"Window keybinds"
|
||||
}
|
||||
),
|
||||
-- Move focused window to the other screen
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"o",
|
||||
function (c)
|
||||
c:move_to_screen()
|
||||
end,
|
||||
{ description =
|
||||
"Move focused window to the next screen",
|
||||
group =
|
||||
"Window keybinds"
|
||||
}
|
||||
),
|
||||
-- Toggle focused window to be on top
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"t",
|
||||
function (c)
|
||||
c.ontop = not c.ontop
|
||||
end,
|
||||
{ description =
|
||||
"Toggle keep on top for focused window",
|
||||
group =
|
||||
"Window keybinds"
|
||||
}
|
||||
),
|
||||
-- Jump to urgent window
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"u",
|
||||
awful.client.urgent.jumpto,
|
||||
{ description =
|
||||
"Quickly jump to urgent window",
|
||||
group =
|
||||
"Window keybinds"
|
||||
}
|
||||
),
|
||||
}
|
||||
)
|
||||
end
|
||||
)
|
||||
--[[ ]]--
|
||||
|
||||
--[[ Quick keybinds ]]
|
||||
awful.keyboard.append_global_keybindings(
|
||||
{
|
||||
-- Volume
|
||||
awful.key(
|
||||
{ },
|
||||
"XF86AudioRaiseVolume",
|
||||
function()
|
||||
awful.spawn("pamixer -i 5")
|
||||
end,
|
||||
{ description =
|
||||
"Increase volume by +5%",
|
||||
group =
|
||||
"Quick keybinds"
|
||||
}
|
||||
),
|
||||
awful.key(
|
||||
{ },
|
||||
"XF86AudioLowerVolume",
|
||||
function()
|
||||
awful.spawn("pamixer -d 5")
|
||||
end,
|
||||
{ description =
|
||||
"Decrease volume by +5%",
|
||||
group =
|
||||
"Quick keybinds"
|
||||
}
|
||||
),
|
||||
awful.key(
|
||||
{ },
|
||||
"XF86AudioMute",
|
||||
function()
|
||||
awful.spawn("pamixer -t")
|
||||
end,
|
||||
{ description =
|
||||
"Mute volume",
|
||||
group =
|
||||
"Quick keybinds"
|
||||
}
|
||||
),
|
||||
awful.key(
|
||||
{ },
|
||||
"XF86AudioMicMute",
|
||||
function()
|
||||
awful.spawn("pamixer --default-source -t")
|
||||
end,
|
||||
{ description =
|
||||
"Mute microphone",
|
||||
group =
|
||||
"Quick keybinds"
|
||||
}
|
||||
),
|
||||
-- Brightness
|
||||
awful.key(
|
||||
{ },
|
||||
"XF86MonBrightnessUp",
|
||||
function ()
|
||||
awful.spawn("xbacklight -inc 10")
|
||||
end,
|
||||
{ description =
|
||||
"Increase brightness by +10%",
|
||||
group =
|
||||
"Quick keybinds"
|
||||
}
|
||||
),
|
||||
awful.key(
|
||||
{ },
|
||||
"XF86MonBrightnessDown",
|
||||
function ()
|
||||
awful.spawn("xbacklight -dec 10")
|
||||
end,
|
||||
{ description =
|
||||
"Decrease brightness by +10%",
|
||||
group =
|
||||
"Quick keybinds"
|
||||
}
|
||||
),
|
||||
-- Display configuration
|
||||
awful.key(
|
||||
{ },
|
||||
"XF86Display",
|
||||
function ()
|
||||
awful.spawn("arandr")
|
||||
end,
|
||||
{ description =
|
||||
"Configure the display using arandr",
|
||||
group = "Quick keybinds"
|
||||
}
|
||||
),
|
||||
-- apps (Super + a followed by KEY)
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"a",
|
||||
function()
|
||||
local grabber
|
||||
grabber =
|
||||
awful.keygrabber.run(
|
||||
function(_, key, event)
|
||||
if event == "release" then
|
||||
return
|
||||
end
|
||||
if key == "1" then
|
||||
awful.util.spawn(apps.editor)
|
||||
elseif key == "2" then
|
||||
awful.util.spawn(apps.file)
|
||||
elseif key == "3" then
|
||||
awful.util.spawn(apps.browser)
|
||||
elseif key == "4" then
|
||||
awful.util.spawn(apps.chat)
|
||||
elseif key == "5" then
|
||||
awful.util.spawn(apps.music)
|
||||
elseif key == "8" then
|
||||
awful.util.spawn(apps.office)
|
||||
elseif key == "9" then
|
||||
awful.util.spawn(apps.game)
|
||||
end
|
||||
awful.keygrabber.stop(grabber)
|
||||
end
|
||||
)
|
||||
end,
|
||||
{ description =
|
||||
"Launch apps with {Super + a} keychord and then numbers from {1 to 9}",
|
||||
group =
|
||||
"Quick keybinds"
|
||||
}
|
||||
),
|
||||
-- Keyboard layouts (Super + x followed by KEY)
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"x",
|
||||
function()
|
||||
local grabber
|
||||
grabber =
|
||||
awful.keygrabber.run(
|
||||
function(_, key, event)
|
||||
if event == "release" then
|
||||
return
|
||||
end
|
||||
if key == "e" then
|
||||
awful.util.spawn("setxkbmap es")
|
||||
elseif key == "u" then
|
||||
awful.util.spawn("setxkbmap us")
|
||||
end
|
||||
awful.keygrabber.stop(grabber)
|
||||
end
|
||||
)
|
||||
end,
|
||||
{ description =
|
||||
"Change keyboard layout with {Super + x} keychord and then {e} for spanish and {u} for english",
|
||||
group =
|
||||
"Quick keybinds"
|
||||
}
|
||||
),
|
||||
-- Dmenu scripts (Super + p followed by KEY)
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"p",
|
||||
function()
|
||||
local grabber
|
||||
grabber =
|
||||
awful.keygrabber.run(
|
||||
function(_, key, event)
|
||||
if event == "release" then
|
||||
return
|
||||
end
|
||||
if key == "d" then
|
||||
awful.spawn.with_shell("rofi -show drun -show-icons")
|
||||
elseif key == "r" then
|
||||
awful.spawn.with_shell("rofi -show run")
|
||||
elseif key == "e" then
|
||||
awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_edit")
|
||||
elseif key == "q" then
|
||||
awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_power")
|
||||
elseif key == "i" then
|
||||
awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_wifi")
|
||||
elseif key == "b" then
|
||||
awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_blue")
|
||||
elseif key == "s" then
|
||||
awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_scrot")
|
||||
elseif key == "z" then
|
||||
awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_emoji")
|
||||
elseif key == "w" then
|
||||
awful.spawn.with_shell("$HOME/.config/rofi/scripts/rofi_wall")
|
||||
end
|
||||
awful.keygrabber.stop(grabber)
|
||||
end
|
||||
)
|
||||
end,
|
||||
{ description =
|
||||
"Launch quick action menus with {Super + p} keychord and then {d, r, e, q, i, b, s, z, w}",
|
||||
group =
|
||||
"Quick keybinds" }
|
||||
),
|
||||
-- Terminal scripts (Super + t followed by KEY)
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"t",
|
||||
function()
|
||||
local grabber
|
||||
grabber =
|
||||
awful.keygrabber.run(
|
||||
function(_, key, event)
|
||||
if event == "release" then
|
||||
return
|
||||
end
|
||||
if key == "m" then
|
||||
awful.spawn.with_shell("alacritty --title youm --class youm,youm -e ytfzf -mlst")
|
||||
elseif key == "y" then
|
||||
awful.spawn.with_shell("alacritty --title ytfzf --class ytfzf,ytfzf -e ytfzf -flst")
|
||||
elseif key == "a" then
|
||||
awful.spawn.with_shell("alacritty --title ani-cli --class ani-cli,ani-cli -e ani-cli -f")
|
||||
elseif key == "f" then
|
||||
awful.spawn.with_shell("alacritty --title flix-cli --class flix-cli,flix-cli -e flix-cli")
|
||||
end
|
||||
awful.keygrabber.stop(grabber)
|
||||
end
|
||||
)
|
||||
end,
|
||||
{ description =
|
||||
"Launch multimedia terminal scripts with {Super + t} and then {m, y, a, f}",
|
||||
group =
|
||||
"Quick keybinds"
|
||||
}
|
||||
),
|
||||
}
|
||||
)
|
||||
--[[ ]]
|
||||
|
52
user/.config/awesome/keymaps/mouse.lua
Normal file
|
@ -0,0 +1,52 @@
|
|||
local awful = require("awful")
|
||||
-- Window related mouse bindings
|
||||
client.connect_signal(
|
||||
"request::default_mousebindings",
|
||||
function()
|
||||
awful.mouse.append_client_mousebindings(
|
||||
{
|
||||
awful.button(
|
||||
{ },
|
||||
1,
|
||||
function(c)
|
||||
c:activate {context = "mouse_click"}
|
||||
end
|
||||
),
|
||||
awful.button(
|
||||
{ modkey },
|
||||
1,
|
||||
function(c)
|
||||
c:activate {context = "mouse_click", action = "mouse_move"}
|
||||
end
|
||||
),
|
||||
awful.button(
|
||||
{ modkey },
|
||||
3,
|
||||
function(c)
|
||||
c:activate {context = "mouse_click", action = "mouse_resize"}
|
||||
end
|
||||
)
|
||||
}
|
||||
)
|
||||
end
|
||||
)
|
||||
-- Mouse bindings on desktop
|
||||
awful.mouse.append_global_mousebindings(
|
||||
{
|
||||
awful.button(
|
||||
{ },
|
||||
4,
|
||||
awful.tag.viewprev
|
||||
),
|
||||
awful.button(
|
||||
{ },
|
||||
5,
|
||||
awful.tag.viewnext
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
-- 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)
|
264
user/.config/awesome/modules/custom-layouts/centerwork.lua
Normal file
|
@ -0,0 +1,264 @@
|
|||
local floor = math.floor
|
||||
local max = math.max
|
||||
local mouse = mouse
|
||||
local mousegrabber = mousegrabber
|
||||
local screen = screen
|
||||
|
||||
local centerwork = {
|
||||
name = "centerwork",
|
||||
horizontal = { name = "centerworkh" }
|
||||
}
|
||||
|
||||
local function arrange(p, layout)
|
||||
local t = p.tag or screen[p.screen].selected_tag
|
||||
local wa = p.workarea
|
||||
local cls = p.clients
|
||||
|
||||
if #cls == 0 then return end
|
||||
|
||||
local g = {}
|
||||
|
||||
-- Main column, fixed width and height
|
||||
local mwfact = t.master_width_factor
|
||||
local mainhei = floor(wa.height * mwfact)
|
||||
local mainwid = floor(wa.width * mwfact)
|
||||
local slavewid = wa.width - mainwid
|
||||
local slaveLwid = floor(slavewid / 2)
|
||||
local slaveRwid = slavewid - slaveLwid
|
||||
local slavehei = wa.height - mainhei
|
||||
local slaveThei = floor(slavehei / 2)
|
||||
local slaveBhei = slavehei - slaveThei
|
||||
local nbrFirstSlaves = floor(#cls / 2)
|
||||
local nbrSecondSlaves = floor((#cls - 1) / 2)
|
||||
|
||||
local slaveFirstDim, slaveSecondDim = 0, 0
|
||||
|
||||
if layout.name == "centerwork" then -- vertical
|
||||
if nbrFirstSlaves > 0 then slaveFirstDim = floor(wa.height / nbrFirstSlaves) end
|
||||
if nbrSecondSlaves > 0 then slaveSecondDim = floor(wa.height / nbrSecondSlaves) end
|
||||
|
||||
g.height = wa.height
|
||||
g.width = mainwid
|
||||
|
||||
g.x = wa.x + slaveLwid
|
||||
g.y = wa.y
|
||||
else -- horizontal
|
||||
if nbrFirstSlaves > 0 then slaveFirstDim = floor(wa.width / nbrFirstSlaves) end
|
||||
if nbrSecondSlaves > 0 then slaveSecondDim = floor(wa.width / nbrSecondSlaves) end
|
||||
|
||||
g.height = mainhei
|
||||
g.width = wa.width
|
||||
|
||||
g.x = wa.x
|
||||
g.y = wa.y + slaveThei
|
||||
end
|
||||
|
||||
g.width = max(g.width, 1)
|
||||
g.height = max(g.height, 1)
|
||||
|
||||
p.geometries[cls[1]] = g
|
||||
|
||||
-- Auxiliary clients
|
||||
if #cls <= 1 then return end
|
||||
for i = 2, #cls do
|
||||
g = {}
|
||||
local idxChecker, dimToAssign
|
||||
|
||||
local rowIndex = floor(i/2)
|
||||
|
||||
if layout.name == "centerwork" then
|
||||
if i % 2 == 0 then -- left slave
|
||||
g.x = wa.x
|
||||
g.y = wa.y + (rowIndex - 1) * slaveFirstDim
|
||||
g.width = slaveLwid
|
||||
|
||||
idxChecker, dimToAssign = nbrFirstSlaves, slaveFirstDim
|
||||
else -- right slave
|
||||
g.x = wa.x + slaveLwid + mainwid
|
||||
g.y = wa.y + (rowIndex - 1) * slaveSecondDim
|
||||
g.width = slaveRwid
|
||||
|
||||
idxChecker, dimToAssign = nbrSecondSlaves, slaveSecondDim
|
||||
end
|
||||
|
||||
-- if last slave in row, use remaining space for it
|
||||
if rowIndex == idxChecker then
|
||||
g.height = wa.y + wa.height - g.y
|
||||
else
|
||||
g.height = dimToAssign
|
||||
end
|
||||
else
|
||||
if i % 2 == 0 then -- top slave
|
||||
g.x = wa.x + (rowIndex - 1) * slaveFirstDim
|
||||
g.y = wa.y
|
||||
g.height = slaveThei
|
||||
|
||||
idxChecker, dimToAssign = nbrFirstSlaves, slaveFirstDim
|
||||
else -- bottom slave
|
||||
g.x = wa.x + (rowIndex - 1) * slaveSecondDim
|
||||
g.y = wa.y + slaveThei + mainhei
|
||||
g.height = slaveBhei
|
||||
|
||||
idxChecker, dimToAssign = nbrSecondSlaves, slaveSecondDim
|
||||
end
|
||||
|
||||
-- if last slave in row, use remaining space for it
|
||||
if rowIndex == idxChecker then
|
||||
g.width = wa.x + wa.width - g.x
|
||||
else
|
||||
g.width = dimToAssign
|
||||
end
|
||||
end
|
||||
|
||||
g.width = max(g.width, 1)
|
||||
g.height = max(g.height, 1)
|
||||
|
||||
p.geometries[cls[i]] = g
|
||||
end
|
||||
end
|
||||
|
||||
local function mouse_resize_handler(c, _, _, _, orientation)
|
||||
local wa = c.screen.workarea
|
||||
local mwfact = c.screen.selected_tag.master_width_factor
|
||||
local g = c:geometry()
|
||||
local offset = 0
|
||||
local cursor = "cross"
|
||||
|
||||
local corner_coords
|
||||
|
||||
if orientation == 'vertical' then
|
||||
if g.height + 15 >= wa.height then
|
||||
offset = g.height * .5
|
||||
cursor = "sb_h_double_arrow"
|
||||
elseif g.y + g.height + 15 <= wa.y + wa.height then
|
||||
offset = g.height
|
||||
end
|
||||
corner_coords = { x = wa.x + wa.width * (1 - mwfact) / 2, y = g.y + offset }
|
||||
else
|
||||
if g.width + 15 >= wa.width then
|
||||
offset = g.width * .5
|
||||
cursor = "sb_v_double_arrow"
|
||||
elseif g.x + g.width + 15 <= wa.x + wa.width then
|
||||
offset = g.width
|
||||
end
|
||||
corner_coords = { y = wa.y + wa.height * (1 - mwfact) / 2, x = g.x + offset }
|
||||
end
|
||||
|
||||
mouse.coords(corner_coords)
|
||||
|
||||
local prev_coords = {}
|
||||
|
||||
mousegrabber.run(function(m)
|
||||
if not c.valid then return false end
|
||||
for _, v in ipairs(m.buttons) do
|
||||
if v then
|
||||
prev_coords = { x = m.x, y = m.y }
|
||||
local new_mwfact
|
||||
if orientation == 'vertical' then
|
||||
new_mwfact = 1 - (m.x - wa.x) / wa.width * 2
|
||||
else
|
||||
new_mwfact = 1 - (m.y - wa.y) / wa.height * 2
|
||||
end
|
||||
c.screen.selected_tag.master_width_factor = math.min(math.max(new_mwfact, 0.01), 0.99)
|
||||
return true
|
||||
end
|
||||
end
|
||||
return prev_coords.x == m.x and prev_coords.y == m.y
|
||||
end, cursor)
|
||||
end
|
||||
|
||||
function centerwork.arrange(p)
|
||||
return arrange(p, centerwork)
|
||||
end
|
||||
|
||||
function centerwork.horizontal.arrange(p)
|
||||
return arrange(p, centerwork.horizontal)
|
||||
end
|
||||
|
||||
function centerwork.mouse_resize_handler(c, corner, x, y)
|
||||
return mouse_resize_handler(c, corner, x, y, 'vertical')
|
||||
end
|
||||
|
||||
function centerwork.horizontal.mouse_resize_handler(c, corner, x, y)
|
||||
return mouse_resize_handler(c, corner, x, y, 'horizontal')
|
||||
end
|
||||
|
||||
|
||||
--[[
|
||||
Make focus.byidx and swap.byidx behave more consistently with other layouts.
|
||||
--]]
|
||||
|
||||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local client = client
|
||||
|
||||
local function compare_position(a, b)
|
||||
if a.x == b.x then
|
||||
return a.y < b.y
|
||||
else
|
||||
return a.x < b.x
|
||||
end
|
||||
end
|
||||
|
||||
local function clients_by_position()
|
||||
local this = client.focus
|
||||
if this then
|
||||
local sorted = {}
|
||||
for _, c in ipairs(client.focus.first_tag:clients()) do
|
||||
if not c.minimized then sorted[#sorted+1] = c end
|
||||
end
|
||||
table.sort(sorted, compare_position)
|
||||
|
||||
local idx = 0
|
||||
for i, that in ipairs(sorted) do
|
||||
if this.window == that.window then
|
||||
idx = i
|
||||
end
|
||||
end
|
||||
|
||||
if idx > 0 then
|
||||
return { sorted = sorted, idx = idx }
|
||||
end
|
||||
end
|
||||
return {}
|
||||
end
|
||||
|
||||
local function in_centerwork()
|
||||
return client.focus and client.focus.first_tag.layout.name == "centerwork"
|
||||
end
|
||||
|
||||
centerwork.focus = {}
|
||||
|
||||
|
||||
--[[
|
||||
Drop in replacements for awful.client.focus.byidx and awful.client.swap.byidx
|
||||
that behaves consistently with other layouts.
|
||||
--]]
|
||||
|
||||
function centerwork.focus.byidx(i)
|
||||
if in_centerwork() then
|
||||
local cls = clients_by_position()
|
||||
if cls.idx then
|
||||
local target = cls.sorted[gears.math.cycle(#cls.sorted, cls.idx + i)]
|
||||
awful.client.focus.byidx(0, target)
|
||||
end
|
||||
else
|
||||
awful.client.focus.byidx(i)
|
||||
end
|
||||
end
|
||||
|
||||
centerwork.swap = {}
|
||||
|
||||
function centerwork.swap.byidx(i)
|
||||
if in_centerwork() then
|
||||
local cls = clients_by_position()
|
||||
if cls.idx then
|
||||
local target = cls.sorted[gears.math.cycle(#cls.sorted, cls.idx + i)]
|
||||
client.focus:swap(target)
|
||||
end
|
||||
else
|
||||
awful.client.swap.byidx(i)
|
||||
end
|
||||
end
|
||||
|
||||
return centerwork
|
|
@ -1,10 +1,11 @@
|
|||
-- Imports
|
||||
local beautiful = require("beautiful")
|
||||
beautiful.init(string.format("%s/.config/awesome/theme/theme.lua", os.getenv("HOME"))) -- Selected theme
|
||||
require("core.helpers")
|
||||
require("core.apps")
|
||||
require("core.layouts")
|
||||
require("core.bar.bar")
|
||||
require("core.bindings")
|
||||
require("core.rules")
|
||||
require("core.autostart")
|
||||
beautiful.init(string.format("%s/.config/awesome/ui/theme.lua", os.getenv("HOME"))) -- Selected theme
|
||||
require("helpers")
|
||||
require("apps")
|
||||
require("ui.layouts")
|
||||
require("ui.bar")
|
||||
require("keymaps.keyboard")
|
||||
require("keymaps.mouse")
|
||||
require("ui.rules")
|
||||
require("autostart")
|
||||
|
|
Before Width: | Height: | Size: 965 B |
Before Width: | Height: | Size: 963 B |
Before Width: | Height: | Size: 960 B |
Before Width: | Height: | Size: 965 B |
Before Width: | Height: | Size: 890 B |
Before Width: | Height: | Size: 843 B |
Before Width: | Height: | Size: 902 B |
Before Width: | Height: | Size: 713 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 709 B |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 885 B |
Before Width: | Height: | Size: 793 B |
Before Width: | Height: | Size: 780 B |
Before Width: | Height: | Size: 795 B |
Before Width: | Height: | Size: 778 B |
|
@ -1,96 +0,0 @@
|
|||
-- {{{ Imports
|
||||
local gears = require("gears")
|
||||
local dpi = require("beautiful.xresources").apply_dpi
|
||||
local beautiful = require("beautiful")
|
||||
-- }}}
|
||||
|
||||
local themes_path = string.format("%s/.config/awesome/theme/", os.getenv("HOME"))
|
||||
|
||||
-- {{{ Main
|
||||
local theme = {}
|
||||
-- }}}
|
||||
|
||||
-- {{{ theme font
|
||||
theme.font = "mononoki Nerd Font 12"
|
||||
--- }}}
|
||||
|
||||
-- {{{ bar colors
|
||||
theme.bar_bg_one = "#427b58"
|
||||
theme.bar_bg_two = "#b57614"
|
||||
theme.bar_bg_tre = "#9d0006"
|
||||
theme.bar_bg_for = "#076678"
|
||||
theme.bar_bg_fiv = "#8f3f71"
|
||||
theme.bar_clock = "#3c3836"
|
||||
--- }}}
|
||||
|
||||
-- {{{ Colors
|
||||
theme.fg_normal = "#ebdbb2"
|
||||
theme.fg_focus = "#dfc4a1"
|
||||
theme.fg_urgent = "#fbf1c7"
|
||||
theme.bg_normal = "#1d2021"
|
||||
theme.bg_focus = "#3c3836"
|
||||
theme.bg_urgent = "#a89984"
|
||||
-- }}}
|
||||
|
||||
-- {{{ Borders
|
||||
beautiful.gap_single_client = false
|
||||
theme.useless_gap = dpi(0)
|
||||
theme.border_width = dpi(1)
|
||||
theme.border_normal = "#504945"
|
||||
theme.border_focus = "#9d0006"
|
||||
theme.border_marked = "#9d0006"
|
||||
-- }}}
|
||||
|
||||
-- {{{ Taglist
|
||||
theme.taglist_font = "mononoki Nerd Font Mono 24"
|
||||
theme.taglist_fg_focus = "#fb4934"
|
||||
theme.taglist_fg_occupied = "#8ec07c"
|
||||
theme.taglist_fg_urgent = "#504945"
|
||||
theme.taglist_fg_empty = "#a89984"
|
||||
theme.taglist_spacing = 5
|
||||
-- }}}
|
||||
|
||||
-- {{{ Notifications
|
||||
theme.notification_font = "mononoki Nerd Font Mono 12"
|
||||
theme.notification_bg = "#282828"
|
||||
theme.notification_fg = "#fbf1c7"
|
||||
theme.notification_shape = gears.shape.rounded_rect
|
||||
-- }}}
|
||||
|
||||
-- {{{ Hotkeys Popup
|
||||
theme.hotkeys_bg = "#282828"
|
||||
theme.hotkeys_fg = "#ebdbb2"
|
||||
theme.hotkeys_modifiers_fg = "#458588"
|
||||
theme.hotkeys_label_bg = "#fabd2f"
|
||||
theme.hotkeys_label_fg = "#1d2021"
|
||||
theme.hotkeys_group_margin = dpi(20)
|
||||
theme.hotkeys_description_font = "mononoki Nerd Font Mono 12"
|
||||
theme.hotkeys_font = "mononoki Nerd Font Mono 12"
|
||||
-- }}}
|
||||
|
||||
-- {{{ Mouse finder
|
||||
theme.mouse_finder_color = "#cc241d"
|
||||
theme.mouse_finder_radius = dpi(5)
|
||||
theme.mouse_finder_timeout = 10
|
||||
-- }}}
|
||||
|
||||
-- {{{ Layout
|
||||
theme.layout_tile = themes_path .. "layouts/tile.png"
|
||||
theme.layout_tileleft = themes_path .. "layouts/tileleft.png"
|
||||
theme.layout_tilebottom = themes_path .. "layouts/tilebottom.png"
|
||||
theme.layout_tiletop = themes_path .. "layouts/tiletop.png"
|
||||
theme.layout_fairv = themes_path .. "layouts/fairv.png"
|
||||
theme.layout_fairh = themes_path .. "layouts/fairh.png"
|
||||
theme.layout_spiral = themes_path .. "layouts/spiral.png"
|
||||
theme.layout_dwindle = themes_path .. "layouts/dwindle.png"
|
||||
theme.layout_max = themes_path .. "layouts/max.png"
|
||||
theme.layout_fullscreen = themes_path .. "layouts/fullscreen.png"
|
||||
theme.layout_magnifier = themes_path .. "layouts/magnifier.png"
|
||||
theme.layout_floating = themes_path .. "layouts/floating.png"
|
||||
theme.layout_cornernw = themes_path .. "layouts/cornernw.png"
|
||||
theme.layout_cornerne = themes_path .. "layouts/cornerne.png"
|
||||
theme.layout_cornersw = themes_path .. "layouts/cornersw.png"
|
||||
theme.layout_cornerse = themes_path .. "layouts/cornerse.png"
|
||||
-- }}}
|
||||
|
||||
return theme
|
233
user/.config/awesome/ui/bar.lua
Normal file
|
@ -0,0 +1,233 @@
|
|||
--- {{{ Imports
|
||||
local wibox = require("wibox")
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
local theme = require("ui.theme")
|
||||
local separators = require("ui.custom-widgets.separator")
|
||||
--- }}}
|
||||
|
||||
-- Textclock widget
|
||||
mytextclock = wibox.widget.textclock()
|
||||
|
||||
screen.connect_signal(
|
||||
"request::desktop_decoration",
|
||||
function(s)
|
||||
-- Tag names for each screen
|
||||
awful.tag(
|
||||
{
|
||||
"", -- EDITOR
|
||||
"", -- FILE MANAGER
|
||||
"", -- WEB BROWSER
|
||||
"", -- CHAT
|
||||
"ﱘ", -- MUSIC
|
||||
"", -- VIDEO
|
||||
"פֿ", -- IMAGE/EDIT TOOLS
|
||||
"", -- OFFICE
|
||||
"" -- GAMES
|
||||
},
|
||||
s,
|
||||
awful.layout.layouts[1]
|
||||
)
|
||||
|
||||
-- Layoutbox widget
|
||||
s.mylayoutbox = awful.widget.layoutbox {
|
||||
screen = s,
|
||||
buttons = {
|
||||
awful.button(
|
||||
{ },
|
||||
1,
|
||||
function ()
|
||||
awful.layout.inc(1)
|
||||
end
|
||||
),
|
||||
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
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
-- Custom widgets
|
||||
-- Volume widget
|
||||
s.volume =
|
||||
awful.widget.watch(
|
||||
".config/awesome/ui/custom-widgets/volume",
|
||||
1 -- Update time in seconds
|
||||
)
|
||||
-- Battery widget
|
||||
s.battery =
|
||||
awful.widget.watch(
|
||||
".config/awesome/ui/custom-widgets/battery",
|
||||
10 -- Update time in seconds
|
||||
)
|
||||
-- Wifi widget
|
||||
s.wifi =
|
||||
awful.widget.watch(
|
||||
".config/awesome/ui/custom-widgets/wifi",
|
||||
10 -- Update time in seconds
|
||||
)
|
||||
-- Brightness widget
|
||||
s.brightness =
|
||||
awful.widget.watch(
|
||||
".config/awesome/ui/custom-widgets/brightness",
|
||||
1 -- Update time in seconds
|
||||
)
|
||||
-- Keyboard layout widget
|
||||
s.layout =
|
||||
awful.widget.watch(
|
||||
".config/awesome/ui/custom-widgets/layout",
|
||||
1 -- Update time in seconds
|
||||
)
|
||||
|
||||
-- Taglist widget
|
||||
s.mytaglist = awful.widget.taglist {
|
||||
screen = s,
|
||||
filter = awful.widget.taglist.filter.all,
|
||||
buttons = {
|
||||
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.viewprev(t.screen)
|
||||
end
|
||||
),
|
||||
awful.button(
|
||||
{ },
|
||||
5,
|
||||
function(t)
|
||||
awful.tag.viewnext(t.screen)
|
||||
end
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
-- Separators
|
||||
local spr = wibox.widget.textbox(" ")
|
||||
local spr_one_dl = separators.arrow_left(theme.bg_normal, theme.bar_bg_one)
|
||||
local spr_one_ld = separators.arrow_left(theme.bar_bg_one, theme.bar_bg_two)
|
||||
local spr_two_dl = separators.arrow_left(theme.bar_bg_two, theme.bar_bg_two)
|
||||
local spr_two_ld = separators.arrow_left(theme.bar_bg_two, theme.bar_bg_tre)
|
||||
local spr_tre_dl = separators.arrow_left(theme.bar_bg_tre, theme.bar_bg_tre)
|
||||
local spr_tre_ld = separators.arrow_left(theme.bar_bg_tre, theme.bar_bg_for)
|
||||
local spr_for_dl = separators.arrow_left(theme.bar_bg_for, theme.bar_bg_for)
|
||||
local spr_for_ld = separators.arrow_left(theme.bar_bg_for, theme.bar_bg_fiv)
|
||||
local spr_fiv_dl = separators.arrow_left(theme.bar_bg_fiv, theme.bar_bg_fiv)
|
||||
|
||||
-- Wibox
|
||||
s.mywibox = awful.wibar {
|
||||
position = "top",
|
||||
screen = s,
|
||||
widget = {
|
||||
layout = wibox.layout.stack,
|
||||
{
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{
|
||||
-- [[ Left widgets ]]
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
-- Layoubox widget
|
||||
s.mylayoutbox,
|
||||
wibox.widget.textbox(" "),
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
-- Taglist widget
|
||||
s.mytaglist,
|
||||
wibox.widget.textbox(" "),
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
},
|
||||
nil,
|
||||
{
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
-- [[ Right widgets ]]
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
-- Keyboar layout widget
|
||||
wibox.container.background(spr_one_dl, theme.bar_bg_one),
|
||||
wibox.container.background(spr, theme.bar_bg_one),
|
||||
wibox.container.background(s.layout, theme.bar_bg_one),
|
||||
wibox.container.background(spr, theme.bar_bg_one),
|
||||
wibox.container.background(spr_one_ld, theme.bar_bg_one),
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
-- Volume widget
|
||||
wibox.container.background(spr_two_dl, theme.bar_bg_two),
|
||||
wibox.container.background(s.volume, theme.bar_bg_two),
|
||||
wibox.container.background(spr, theme.bar_bg_two),
|
||||
spr_two_ld,
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
-- Brightness widget
|
||||
wibox.container.background(spr_tre_dl, theme.bar_bg_tre),
|
||||
wibox.container.background(s.brightness, theme.bar_bg_tre),
|
||||
wibox.container.background(spr, theme.bar_bg_tre),
|
||||
wibox.container.background(spr_tre_ld, theme.bar_bg_tre),
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
-- Battery widget
|
||||
wibox.container.background(spr_for_dl, theme.bar_bg_for),
|
||||
wibox.container.background(s.battery, theme.bar_bg_for),
|
||||
wibox.container.background(spr, theme.bar_bg_for),
|
||||
wibox.container.background(spr_for_ld, theme.bar_bg_for),
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
-- Wifi widget
|
||||
wibox.container.background(spr_fiv_dl, theme.bar_bg_fiv),
|
||||
wibox.container.background(s.wifi, theme.bar_bg_fiv),
|
||||
wibox.container.background(spr, theme.bar_bg_fiv),
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
},
|
||||
},
|
||||
{
|
||||
-- [[ Center widgets ]]
|
||||
-- Clock widget
|
||||
wibox.container.background(mytextclock, theme.bar_clock),
|
||||
valign = "center",
|
||||
halign = "center",
|
||||
layout = wibox.container.place,
|
||||
}
|
||||
}
|
||||
}
|
||||
end
|
||||
)
|
|
@ -14,7 +14,7 @@ for battery in /sys/class/power_supply/BAT?*; do
|
|||
# Sets up the status and capacity
|
||||
case "$(cat "$battery/status" 2>&1)" in
|
||||
"Full") status="" ;;
|
||||
"Discharging") status="" ;;
|
||||
"Discharging") status="" ;;
|
||||
"Charging") status="" ;;
|
||||
"Not charging") status="" ;;
|
||||
"Unknown") status="" ;;
|
||||
|
@ -22,7 +22,7 @@ for battery in /sys/class/power_supply/BAT?*; do
|
|||
esac
|
||||
capacity="$(cat "$battery/capacity" 2>&1)"
|
||||
# Will make a warn variable if discharging and low
|
||||
[ "$status" = "" ] && [ "$capacity" -le 25 ] && warn=""
|
||||
[ "$status" = "" ] && [ "$capacity" -le 25 ] && warn=""
|
||||
# Prints the info
|
||||
printf "%s%s%d%%%s" "$status" "$warn " "$capacity" " $pwr"; unset warn
|
||||
done && printf "\\n"
|
|
@ -100,7 +100,6 @@ function separators.arrow_left(col1, col2)
|
|||
cr:fill()
|
||||
end
|
||||
end
|
||||
|
||||
return widget
|
||||
end
|
||||
-- ]]
|
14
user/.config/awesome/ui/custom-widgets/volume
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/bin/bash
|
||||
# Prints the current volume or 🔇 if muted.
|
||||
[ $(pamixer --get-mute) = true ] && echo " " && exit
|
||||
vol="$(pamixer --get-volume)"
|
||||
if [ "$vol" -gt "50" ]; then
|
||||
icon=""
|
||||
elif [ "$vol" -gt "10" ]; then
|
||||
icon=""
|
||||
elif [ "$vol" -gt "0" ]; then
|
||||
icon=""
|
||||
else
|
||||
echo " " && exit
|
||||
fi
|
||||
echo -e "$icon $vol%"
|
12
user/.config/awesome/ui/custom-widgets/wifi
Executable file
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
constate=$(nmcli dev | grep wifi | sed 's/ \{2,\}/|/g' | cut -d '|' -f3 | head -1)
|
||||
currentwfi=$(nmcli dev | grep wifi | sed 's/ \{2,\}/|/g' | cut -d '|' -f4 | head -1)
|
||||
|
||||
if [ "$constate" = "disconnected" ]; then
|
||||
echo "睊 "
|
||||
elif [ "$constate" = "connected" ]; then
|
||||
echo "直 $currentwfi"
|
||||
else
|
||||
notify-send " Airplane mode activated"
|
||||
echo " "
|
||||
fi
|
BIN
user/.config/awesome/ui/layout-icons/centerworkw.png
Normal file
After Width: | Height: | Size: 461 B |
BIN
user/.config/awesome/ui/layout-icons/cornerne.png
Normal file
After Width: | Height: | Size: 272 B |
BIN
user/.config/awesome/ui/layout-icons/cornernew.png
Normal file
After Width: | Height: | Size: 272 B |
BIN
user/.config/awesome/ui/layout-icons/cornernw.png
Normal file
After Width: | Height: | Size: 263 B |
BIN
user/.config/awesome/ui/layout-icons/cornernww.png
Normal file
After Width: | Height: | Size: 264 B |
BIN
user/.config/awesome/ui/layout-icons/cornerse.png
Normal file
After Width: | Height: | Size: 264 B |
BIN
user/.config/awesome/ui/layout-icons/cornersew.png
Normal file
After Width: | Height: | Size: 264 B |
BIN
user/.config/awesome/ui/layout-icons/cornersw.png
Normal file
After Width: | Height: | Size: 263 B |
BIN
user/.config/awesome/ui/layout-icons/cornersww.png
Normal file
After Width: | Height: | Size: 264 B |
BIN
user/.config/awesome/ui/layout-icons/dwindle.png
Normal file
After Width: | Height: | Size: 320 B |
BIN
user/.config/awesome/ui/layout-icons/dwindlew.png
Normal file
After Width: | Height: | Size: 320 B |
BIN
user/.config/awesome/ui/layout-icons/fairh.png
Normal file
After Width: | Height: | Size: 245 B |
BIN
user/.config/awesome/ui/layout-icons/fairhw.png
Normal file
After Width: | Height: | Size: 245 B |
BIN
user/.config/awesome/ui/layout-icons/fairv.png
Normal file
After Width: | Height: | Size: 246 B |
BIN
user/.config/awesome/ui/layout-icons/fairvw.png
Normal file
After Width: | Height: | Size: 246 B |
BIN
user/.config/awesome/ui/layout-icons/floating.png
Normal file
After Width: | Height: | Size: 282 B |
BIN
user/.config/awesome/ui/layout-icons/floatingw.png
Normal file
After Width: | Height: | Size: 282 B |
BIN
user/.config/awesome/ui/layout-icons/fullscreen.png
Normal file
After Width: | Height: | Size: 866 B |
BIN
user/.config/awesome/ui/layout-icons/fullscreenw.png
Normal file
After Width: | Height: | Size: 865 B |
BIN
user/.config/awesome/ui/layout-icons/magnifier.png
Normal file
After Width: | Height: | Size: 345 B |
BIN
user/.config/awesome/ui/layout-icons/magnifierw.png
Normal file
After Width: | Height: | Size: 345 B |
BIN
user/.config/awesome/ui/layout-icons/max.png
Normal file
After Width: | Height: | Size: 574 B |
BIN
user/.config/awesome/ui/layout-icons/maxw.png
Normal file
After Width: | Height: | Size: 581 B |
BIN
user/.config/awesome/ui/layout-icons/spiral.png
Normal file
After Width: | Height: | Size: 328 B |
BIN
user/.config/awesome/ui/layout-icons/spiralw.png
Normal file
After Width: | Height: | Size: 328 B |
BIN
user/.config/awesome/ui/layout-icons/tile.png
Normal file
After Width: | Height: | Size: 265 B |
BIN
user/.config/awesome/ui/layout-icons/tilebottom.png
Normal file
After Width: | Height: | Size: 264 B |
BIN
user/.config/awesome/ui/layout-icons/tilebottomw.png
Normal file
After Width: | Height: | Size: 264 B |
BIN
user/.config/awesome/ui/layout-icons/tileleft.png
Normal file
After Width: | Height: | Size: 266 B |
BIN
user/.config/awesome/ui/layout-icons/tileleftw.png
Normal file
After Width: | Height: | Size: 266 B |
BIN
user/.config/awesome/ui/layout-icons/tiletop.png
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
user/.config/awesome/ui/layout-icons/tiletopw.png
Normal file
After Width: | Height: | Size: 265 B |
BIN
user/.config/awesome/ui/layout-icons/tilew.png
Normal file
After Width: | Height: | Size: 265 B |
28
user/.config/awesome/ui/layouts.lua
Normal file
|
@ -0,0 +1,28 @@
|
|||
local awful = require("awful")
|
||||
-- Custom added layouts
|
||||
local centerwork = require("modules.custom-layouts.centerwork")
|
||||
-- {{{ Selected layouts
|
||||
tag.connect_signal(
|
||||
"request::default_layouts",
|
||||
function()
|
||||
awful.layout.append_default_layouts(
|
||||
{
|
||||
awful.layout.suit.tile,
|
||||
awful.layout.suit.tile.left,
|
||||
awful.layout.suit.tile.bottom,
|
||||
awful.layout.suit.tile.top,
|
||||
centerwork,
|
||||
-- awful.layout.suit.fair,
|
||||
-- awful.layout.suit.fair.horizontal,
|
||||
-- awful.layout.suit.spiral,
|
||||
-- awful.layout.suit.spiral.dwindle,
|
||||
awful.layout.suit.max,
|
||||
awful.layout.suit.max.fullscreen,
|
||||
-- awful.layout.suit.magnifier,
|
||||
-- awful.layout.suit.corner.nw,
|
||||
awful.layout.suit.floating,
|
||||
}
|
||||
)
|
||||
end
|
||||
)
|
||||
-- }}}
|
170
user/.config/awesome/ui/rules.lua
Normal file
|
@ -0,0 +1,170 @@
|
|||
local awful = require("awful")
|
||||
local ruled = require("ruled")
|
||||
|
||||
-- Rules to apply to new clients.
|
||||
ruled.client.connect_signal(
|
||||
"request::rules",
|
||||
function()
|
||||
-- All clients will match this rule.
|
||||
ruled.client.append_rule {
|
||||
id = "global",
|
||||
rule = { },
|
||||
properties = {
|
||||
focus = awful.client.focus.filter,
|
||||
raise = true,
|
||||
screen = awful.screen.preferred,
|
||||
placement = awful.placement.no_overlap + awful.placement.no_offscreen,
|
||||
callback = awful.client.setslave
|
||||
}
|
||||
}
|
||||
|
||||
-- Floating clients.
|
||||
ruled.client.append_rule {
|
||||
id = "floating",
|
||||
rule_any = {
|
||||
hinstance = { "copyq", "pinentry" },
|
||||
class = {
|
||||
"Galculator",
|
||||
"Blueman-manager",
|
||||
"Gpick",
|
||||
"Kruler",
|
||||
"Tor Browser",
|
||||
"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 }
|
||||
}
|
||||
|
||||
-- TAG 1
|
||||
ruled.client.append_rule {
|
||||
rule_any = {
|
||||
class = {
|
||||
"Emacs",
|
||||
"Godot",
|
||||
"neovim",
|
||||
"Virt-manager"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" },
|
||||
}
|
||||
-- TAG 2
|
||||
ruled.client.append_rule {
|
||||
rule_any = {
|
||||
class = {
|
||||
"vifm",
|
||||
"pcmanfm",
|
||||
"nemo"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" },
|
||||
}
|
||||
-- TAG 3
|
||||
ruled.client.append_rule {
|
||||
rule_any = {
|
||||
class = {
|
||||
"Brave-browser",
|
||||
"librewolf",
|
||||
"firefox",
|
||||
"Chromium",
|
||||
"Bitwarden",
|
||||
"qutebrowser"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
}
|
||||
-- TAG 4
|
||||
ruled.client.append_rule {
|
||||
rule_any = {
|
||||
class = {
|
||||
"gomuks",
|
||||
"Signal",
|
||||
"Element"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
}
|
||||
-- TAG 5
|
||||
ruled.client.append_rule {
|
||||
rule_any = {
|
||||
class = {
|
||||
"cmus",
|
||||
"musik",
|
||||
"youm",
|
||||
"Audacity",
|
||||
"Ardour",
|
||||
"Carla2",
|
||||
"Carla2-Control"
|
||||
}
|
||||
},
|
||||
properties = { tag = "ﱘ" }
|
||||
}
|
||||
-- TAG 6
|
||||
ruled.client.append_rule {
|
||||
rule_any = {
|
||||
class = {
|
||||
"kdenlive",
|
||||
"Blender",
|
||||
"Natron",
|
||||
"SimpleScreenRecorder",
|
||||
"Ghb",
|
||||
"obs",
|
||||
"mpv",
|
||||
"ani-cli",
|
||||
"flix-cli",
|
||||
"ytfzf"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
}
|
||||
-- TAG 7
|
||||
ruled.client.append_rule {
|
||||
rule_any = {
|
||||
class = {
|
||||
"Qjackctl",
|
||||
"lsp-plugins",
|
||||
"qpwgraph",
|
||||
"Gimp-2.10",
|
||||
"krita",
|
||||
"Inkscape",
|
||||
"Xournalpp",
|
||||
}
|
||||
},
|
||||
properties = { tag = "פֿ" }
|
||||
}
|
||||
-- TAG 8
|
||||
ruled.client.append_rule {
|
||||
rule_any = {
|
||||
class = {
|
||||
"DesktopEditors",
|
||||
"Soffice",
|
||||
"libreoffice-startcenter",
|
||||
"Joplin"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
}
|
||||
-- TAG 9
|
||||
ruled.client.append_rule {
|
||||
rule_any = {
|
||||
class = {
|
||||
"retroarch",
|
||||
"steam"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
}
|
||||
--}}}
|
||||
end
|
||||
)
|
98
user/.config/awesome/ui/theme.lua
Normal file
|
@ -0,0 +1,98 @@
|
|||
-- {{{ Imports
|
||||
local gears = require("gears")
|
||||
local gcolor = require("gears.color")
|
||||
local dpi = require("beautiful.xresources").apply_dpi
|
||||
local beautiful = require("beautiful")
|
||||
-- }}}
|
||||
|
||||
local themes_path = string.format("%s/.config/awesome/ui/", os.getenv("HOME"))
|
||||
|
||||
-- {{{ Main
|
||||
local theme = {}
|
||||
-- }}}
|
||||
|
||||
-- {{{ theme font
|
||||
theme.font = "mononoki Nerd Font 12"
|
||||
--- }}}
|
||||
|
||||
-- {{{ bar colors
|
||||
theme.bar_bg_one = "#9ece6a"
|
||||
theme.bar_bg_two = "#ff9e64"
|
||||
theme.bar_bg_tre = "#f7768e"
|
||||
theme.bar_bg_for = "#7aa2f7"
|
||||
theme.bar_bg_fiv = "#bb9af7"
|
||||
theme.bar_clock = "#a9b1d6"
|
||||
--- }}}
|
||||
|
||||
-- {{{ Colors
|
||||
theme.fg_normal = "#1a1b26"
|
||||
theme.fg_focus = "#a9b1d6"
|
||||
theme.fg_urgent = "#c0caf5"
|
||||
theme.bg_normal = "#1a1b26"
|
||||
theme.bg_focus = "#363b54"
|
||||
theme.bg_urgent = "#787c99"
|
||||
-- }}}
|
||||
|
||||
-- {{{ Borders
|
||||
beautiful.gap_single_client = false
|
||||
theme.useless_gap = dpi(0)
|
||||
theme.border_width = dpi(1)
|
||||
theme.border_normal = "#363b54"
|
||||
theme.border_focus = "#7aa2f7"
|
||||
theme.border_marked = "#7aa2f7"
|
||||
-- }}}
|
||||
|
||||
-- {{{ Taglist
|
||||
theme.taglist_font = "mononoki Nerd Font Mono 22"
|
||||
theme.taglist_fg_focus = "#f7768e"
|
||||
theme.taglist_fg_occupied = "#c0caf5"
|
||||
theme.taglist_fg_urgent = "#bb9af7"
|
||||
theme.taglist_fg_empty = "#565f89"
|
||||
theme.taglist_spacing = 5
|
||||
-- }}}
|
||||
|
||||
-- {{{ Notifications
|
||||
theme.notification_font = "mononoki Nerd Font 12"
|
||||
theme.notification_bg = "#1a1b26"
|
||||
theme.notification_fg = "#c0caf5"
|
||||
theme.notification_shape = gears.shape.rounded_rect
|
||||
-- }}}
|
||||
|
||||
-- {{{ Hotkeys Popup
|
||||
theme.hotkeys_bg = "#1a1b26"
|
||||
theme.hotkeys_fg = "#a9b1d6"
|
||||
theme.hotkeys_modifiers_fg = "#41a6b5"
|
||||
theme.hotkeys_label_bg = "#e0af68"
|
||||
theme.hotkeys_label_fg = "#1a1b26"
|
||||
theme.hotkeys_group_margin = dpi(20)
|
||||
theme.hotkeys_description_font = "mononoki Nerd Font 12"
|
||||
theme.hotkeys_font = "mononoki Nerd Font 12"
|
||||
-- }}}
|
||||
|
||||
-- {{{ Mouse finder
|
||||
theme.mouse_finder_color = "#f7768e"
|
||||
theme.mouse_finder_radius = dpi(5)
|
||||
theme.mouse_finder_timeout = 10
|
||||
-- }}}
|
||||
|
||||
-- {{{ Layout
|
||||
theme.layout_tile = gcolor.recolor_image(themes_path .. "layout-icons/tilew.png", theme.fg_urgent)
|
||||
theme.layout_centerwork = gcolor.recolor_image(themes_path .. "layout-icons/centerworkw.png", theme.fg_urgent)
|
||||
theme.layout_tileleft = gcolor.recolor_image(themes_path .. "layout-icons/tileleftw.png", theme.fg_urgent)
|
||||
theme.layout_tilebottom = gcolor.recolor_image(themes_path .. "layout-icons/tilebottomw.png", theme.fg_urgent)
|
||||
theme.layout_tiletop = gcolor.recolor_image(themes_path .. "layout-icons/tiletopw.png", theme.fg_urgent)
|
||||
theme.layout_fairv = gcolor.recolor_image(themes_path .. "layout-icons/fairvw.png", theme.fg_urgent)
|
||||
theme.layout_fairh = gcolor.recolor_image(themes_path .. "layout-icons/fairhw.png", theme.fg_urgent)
|
||||
theme.layout_spiral = gcolor.recolor_image(themes_path .. "layout-icons/spiralw.png", theme.fg_urgent)
|
||||
theme.layout_dwindle = gcolor.recolor_image(themes_path .. "layout-icons/dwindlew.png", theme.fg_urgent)
|
||||
theme.layout_max = gcolor.recolor_image(themes_path .. "layout-icons/maxw.png", theme.fg_urgent)
|
||||
theme.layout_fullscreen = gcolor.recolor_image(themes_path .. "layout-icons/fullscreenw.png", theme.fg_urgent)
|
||||
theme.layout_magnifier = gcolor.recolor_image(themes_path .. "layout-icons/magnifierw.png", theme.fg_urgent)
|
||||
theme.layout_floating = gcolor.recolor_image(themes_path .. "layout-icons/floatingw.png", theme.fg_urgent)
|
||||
theme.layout_cornernw = gcolor.recolor_image(themes_path .. "layout-icons/cornernw.png", theme.fg_urgent)
|
||||
theme.layout_cornerne = gcolor.recolor_image(themes_path .. "layout-icons/cornerne.png", theme.fg_urgent)
|
||||
theme.layout_cornersw = gcolor.recolor_image(themes_path .. "layout-icons/cornersw.png", theme.fg_urgent)
|
||||
theme.layout_cornerse = gcolor.recolor_image(themes_path .. "layout-icons/cornerse.png", theme.fg_urgent)
|
||||
-- }}}
|
||||
|
||||
return theme
|
68
user/.config/musikcube/hotkeys.json
Normal file
|
@ -0,0 +1,68 @@
|
|||
{
|
||||
"browse_category_filter": "^F",
|
||||
"browse_playlists_delete": "KEY_DC",
|
||||
"browse_playlists_new": "M-n",
|
||||
"browse_playlists_rename": "M-r",
|
||||
"browse_playlists_save": "M-s",
|
||||
"context_menu": "M-enter",
|
||||
"hotkeys_backup": "M-b",
|
||||
"hotkeys_reset_to_default": "M-r",
|
||||
"key_down": "j",
|
||||
"key_end": "KEY_END",
|
||||
"key_home": "KEY_HOME",
|
||||
"key_left": "h",
|
||||
"key_page_down": "KEY_NPAGE",
|
||||
"key_page_up": "KEY_PPAGE",
|
||||
"key_right": "l",
|
||||
"key_up": "k",
|
||||
"lyrics_retry": "r",
|
||||
"metadata_rescan": "^R",
|
||||
"navigate_console": "`",
|
||||
"navigate_hotkeys": "?",
|
||||
"navigate_jump_to_playing": "x",
|
||||
"navigate_library": "a",
|
||||
"navigate_library_album_artists": "4",
|
||||
"navigate_library_browse": "b",
|
||||
"navigate_library_browse_albums": "2",
|
||||
"navigate_library_browse_artists": "1",
|
||||
"navigate_library_browse_directories": "d",
|
||||
"navigate_library_browse_genres": "3",
|
||||
"navigate_library_choose_category": "6",
|
||||
"navigate_library_filter": "f",
|
||||
"navigate_library_play_queue": "n",
|
||||
"navigate_library_playlists": "5",
|
||||
"navigate_library_tracks": "t",
|
||||
"navigate_lyrics": "^L",
|
||||
"navigate_settings": "s",
|
||||
"play_queue_clear": "X",
|
||||
"play_queue_delete": "KEY_DC",
|
||||
"play_queue_hot_swap": "M-a",
|
||||
"play_queue_move_down": "M-down",
|
||||
"play_queue_move_up": "M-up",
|
||||
"play_queue_playlist_delete": "M-x",
|
||||
"play_queue_playlist_load": "M-l",
|
||||
"play_queue_playlist_rename": "M-r",
|
||||
"play_queue_playlist_save": "M-s",
|
||||
"playback_next": "M-l",
|
||||
"playback_previous": "M-j",
|
||||
"playback_seek_back": "u",
|
||||
"playback_seek_back_proportional": "y",
|
||||
"playback_seek_forward": "o",
|
||||
"playback_seek_forward_proportional": "p",
|
||||
"playback_stop": "^X",
|
||||
"playback_toggle_mute": "m",
|
||||
"playback_toggle_pause": "^P",
|
||||
"playback_toggle_repeat": ".",
|
||||
"playback_toggle_shuffle": ",",
|
||||
"playback_volume_down": "M-k",
|
||||
"playback_volume_up": "M-i",
|
||||
"search_input_toggle_match_type": "M-m",
|
||||
"show_equalizer": "^E",
|
||||
"toggle_visualizer": "v",
|
||||
"track_list_change_sort_order": "M-s",
|
||||
"track_list_next_group": "]",
|
||||
"track_list_play_from_top": "M-P",
|
||||
"track_list_previous_group": "[",
|
||||
"track_list_rate_track": "r",
|
||||
"view_refresh": "KEY_F(5)"
|
||||
}
|
|
@ -5,36 +5,36 @@
|
|||
## /_____/_/ \__,_/_/|_|\___/ My custom zathura config
|
||||
##
|
||||
|
||||
set font "mononoki Nerd Font 9"
|
||||
set default-bg "#262626" #00
|
||||
set default-fg "#ebdbb2" #01
|
||||
set font "mononoki Nerd Font 10"
|
||||
set default-bg "#1a1b26" #00
|
||||
set default-fg "#a9b1d6" #01
|
||||
|
||||
set statusbar-fg "#ebdbb2" #04
|
||||
set statusbar-bg "#262626" #01
|
||||
set statusbar-fg "#a9b1d6" #04
|
||||
set statusbar-bg "#1a1b26" #01
|
||||
|
||||
set inputbar-bg "#262626" #00 currently not used
|
||||
set inputbar-fg "#ebdbb2" #02
|
||||
set inputbar-bg "#1a1b26" #00 currently not used
|
||||
set inputbar-fg "#a9b1d6" #02
|
||||
|
||||
set notification-error-bg "#262626" #08
|
||||
set notification-error-fg "#cc241d" #00
|
||||
set notification-error-bg "#1a1b26" #08
|
||||
set notification-error-fg "#f7768e" #00
|
||||
|
||||
set notification-warning-bg "#262626" #08
|
||||
set notification-warning-fg "#d79921" #00
|
||||
set notification-warning-bg "#1a1b26" #08
|
||||
set notification-warning-fg "#e0af68" #00
|
||||
|
||||
set highlight-color "#262626" #0A
|
||||
set highlight-active-color "#ebdbb2" #0D
|
||||
set highlight-color "#1a1b26" #0A
|
||||
set highlight-active-color "#a9b1d6" #0D
|
||||
|
||||
set completion-highlight-fg "#4e4e4e" #02
|
||||
set completion-highlight-bg "#87afaf" #0C
|
||||
set completion-highlight-fg "#787c99" #02
|
||||
set completion-highlight-bg "#7aa2f7" #0C
|
||||
|
||||
set completion-bg "#4e4e4e" #02
|
||||
set completion-fg "#ebdbb2" #0C
|
||||
set completion-bg "#787c99" #02
|
||||
set completion-fg "#a9b1d6" #0C
|
||||
|
||||
set notification-bg "#262626" #0B
|
||||
set notification-fg "#458588" #00
|
||||
set notification-bg "#1a1b26" #0B
|
||||
set notification-fg "#41a6b5" #00
|
||||
|
||||
set recolor-lightcolor "#262626" #00
|
||||
set recolor-darkcolor "#ebdbb2" #06
|
||||
set recolor-lightcolor "#1a1b26" #00
|
||||
set recolor-darkcolor "#a9b1d6" #06
|
||||
set recolor "true"
|
||||
|
||||
# setting recolor-keep true will keep any color your pdf has.
|
||||
|
|
|
@ -1,14 +1,18 @@
|
|||
gtk-theme-name="gruvbox-dark-gtk"
|
||||
gtk-icon-theme-name="gruvbox-dark-icons-gtk"
|
||||
# DO NOT EDIT! This file will be overwritten by LXAppearance.
|
||||
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
|
||||
|
||||
include "/home/drk/.gtkrc-2.0.mine"
|
||||
gtk-theme-name="Tokyonight-Dark-BL"
|
||||
gtk-icon-theme-name="Papirus-Dark"
|
||||
gtk-font-name="mononoki Nerd Font 10"
|
||||
gtk-cursor-theme-name="Simp1e-Gruvbox-Dark"
|
||||
gtk-cursor-theme-name="Simp1e-Tokyo-Night"
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=0
|
||||
gtk-button-images=1
|
||||
gtk-menu-images=1
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle="hintmedium"
|
||||
gtk-xft-hintstyle="hintfull"
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
left_ptr_watch
|
|
@ -1 +0,0 @@
|
|||
sb_v_double_arrow
|
|
@ -1 +0,0 @@
|
|||
sb_h_double_arrow
|
|
@ -1 +0,0 @@
|
|||
not-allowed
|
|
@ -1 +0,0 @@
|
|||
dnd-no-drop
|