Update dotfiles

+ Various improvements for XPS 9310 keybinds
+ Various improvements for XPS 9310 conky sysinfo overlay
+ Limit curl requests for web server status to refresh every 2mins
+ Update conky shortcuts overlay to show new shorts for i3 and vim
+ New darcula colorscheme for vim
+ Adjust i3 window attributes for new applications
+ Fix for vim storing yanked or deleted text to system clipboard
+ Relocate screenshots and backgrounds to subdirectories in ~/Pictures
+ Relocate all user scripts to ~/.local/bin/
+ Use symlinks for scripts in ~/.config/autostart-scripts
+ Relocate all user-created desktopfiles to ~/.local/share/applications
+ Use symlinks for desktopfiles in in ~/.config/autostart
+ Update paths in i3 config to use $HOME environment variable instead of
  absolute paths
This commit is contained in:
Shaun Reed 2021-12-25 15:39:29 -05:00
parent a667db027f
commit 142ce24675
24 changed files with 1126 additions and 278 deletions

View File

@ -1,5 +1,4 @@
# Aliases to use the correct python version
# + Because python doesn't know how to update.. :')
alias python3='python3.9'
alias pip3='python3.9 -m pip'

View File

@ -0,0 +1 @@
../../.local/bin/mountdrive.sh

View File

@ -0,0 +1,21 @@
[Desktop Entry]
Categories=Network;
Comment[en_US]=Mullvad VPN client
Comment=Mullvad VPN client
Exec="/opt/Mullvad VPN/mullvad-vpn" %U
GenericName[en_US]=
GenericName=
Icon=mullvad-vpn
MimeType=
Name[en_US]=Mullvad VPN
Name=Mullvad VPN
Path=
StartupNotify=true
StartupWMClass=Mullvad VPN
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=

View File

@ -0,0 +1,180 @@
[Desktop Entry]
Categories=Qt;KDE;System;TerminalEmulator;
Comment[en_US]=A drop-down terminal emulator based on KDE Konsole technology.
Comment=A drop-down terminal emulator based on KDE Konsole technology.
Comment[ar]=محاكي طرفيّة منسدل مبنيّ على تقنيّة طرفيّة كدي.
Comment[ast]=Un emulador de terminal estenderexable basáu na teunoloxía de KDE Konsole.
Comment[bg]=Падащ терминален емулатор с меню, базиран на конзолната технология на KDE.
Comment[bs]=Padajući simulator terminala baziran na KDE konzolnoj tehnologiji.
Comment[ca@valencia]=Un emulador de terminal desplegable basat en la tecnologia del Konsole del KDE.
Comment[ca]=Un emulador de terminal desplegable basat en la tecnologia del Konsole del KDE.
Comment[cs]=Vysouvací emulátor terminálu založený na KDE programu Konsole.
Comment[da]=En terminal som ruller ned fra oven baseret på KDE's Konsole-teknologi.
Comment[de]=Ein Aufklapp-Terminalemulator basierend auf der KDE-Konsole.
Comment[el]=Μία εφαρμογή τερματικού καθοδικής κύλισης βασισμένη στην τεχνολογία KDE Konsole.
Comment[en_GB]=A drop-down terminal emulator based on KDE Konsole technology.
Comment[es]=Un emulador de terminal desplegable basado en la tecnología de KDE Konsole.
Comment[et]=Lahtikeriv terminaliemulaator, mille aluseks on KDE Konsooli tehnoloogia.
Comment[eu]=KDE Konsole teknologian oinarritzen den goitik-behera zabaltzen den terminal emulatzaile bat.
Comment[fi]=KDE:n Konsoleen pohjautuva alas putoava pääte.
Comment[fr]=Un émulateur de terminal à liste déroulante reposant sur la technologie de l'application Konsole de KDE.
Comment[ga]=Aithriseoir teirminéil anuas bunaithe ar theicneolaíocht Konsole KDE.
Comment[gl]=Un emulador despregábel de terminal baseado en Konsole.
Comment[hi]= ि ि ि
Comment[hne]= ि ि
Comment[hr]=Spuštajući emulator terminala baziran na KDE-ovoj Konsole tehnologiji.
Comment[hu]=A KDE Konsole-ra épülő legördülő terminálemulátor
Comment[id]=Sebuah emulator terminal bentangturun berdasarkan teknologi Konsole KDE.
Comment[it]=Un emulatore di terminale a discesa basato sulla tecnologia di KDE Konsole.
Comment[ja]=KDE Konsole
Comment[km]= KDE 
Comment[ko]=KDE Konsole .
Comment[lt]=Nusileidžiantis terminalo emuliatorius paremtas KDE Konsole technologija.
Comment[lv]=Izkrītošs termināļa emulators, kurš bāzēts uz KDE Konsole tehnoloģijas.
Comment[ml]=ി ി ിി ി ി
Comment[mr]= ि ि .
Comment[nb]=En terminalemulator basert på KDEs Konsole-teknologi.
Comment[nds]=En Konsool-Emulater, de sik utklappen lett, op KDE-Konsole opbuut.
Comment[nl]=Een uitvouwbare terminalemulator, gebaseerd op de technologie van KDE Konsole.
Comment[nn]=Ein rullegardinbasert terminalemulator basert på KDE Konsoll-teknologien
Comment[pa]= ਿ
Comment[pl]=Emulator rozwijanego terminala oparty o technologię KDE Konsole.
Comment[pt]=Um emulador de terminal, baseado na tecnologia do Konsole do KDE.
Comment[pt_BR]=Um emulador de terminal baseado na tecnologia do Konsole do KDE.
Comment[ro]=Un emulator de terminal bazat pe tehnologia Konsole din KDE.
Comment[ru]=Эмулятор терминала в стиле Quake, основанный на технологии KDE Konsole.
Comment[sk]=Rozbaľovací emulátor terminálu založený na technológii KDE Konsole.
Comment[sr@ijekavian]=Падајући емулатор терминала заснован на КДЕовој Конзоли.
Comment[sr@ijekavianlatin]=Padajući emulator terminala zasnovan na KDEovoj Konsoli.
Comment[sr@latin]=Padajući emulator terminala zasnovan na KDEovoj Konsoli.
Comment[sr]=Падајући емулатор терминала заснован на КДЕовој Конзоли.
Comment[sv]=En nerfällbar terminalemulator baserad på teknologi från KDE:s Terminal.
Comment[th]= K
Comment[tr]=KDE Konsole teknolojisi üzerine kurulu, yukarıdan aşağı açılabilen bir uçbirim öykünücüsü.
Comment[uk]=Спадний замінник термінала, заснований на технології KDE Konsole.
Comment[x-test]=xxA drop-down terminal emulator based on KDE Konsole technology.xx
Comment[zh_CN]= KDE Konsole 仿
Comment[zh_TW]= KDE Konsole
Exec=yakuake
GenericName[en_US]=Drop-down Terminal
GenericName=Drop-down Terminal
GenericName[ar]=طرفيّة منسدلة
GenericName[ast]=Terminal estenderexable
GenericName[bg]=Падащ терминал
GenericName[bs]=Padajući terminal
GenericName[ca@valencia]=Terminal desplegable
GenericName[ca]=Terminal desplegable
GenericName[cs]=Vysouvací terminál
GenericName[da]=Terminal der ruller ned
GenericName[de]=Aufklapp-Terminal
GenericName[el]=Τερματικό καθοδικής κύλισης
GenericName[en_GB]=Drop-down Terminal
GenericName[es]=Terminal de menú desplegable
GenericName[et]=Lahtikeriv terminal
GenericName[eu]=Goitik-behera zabaltzen den terminala
GenericName[fi]=Alas putoava pääte
GenericName[fr]=Terminal avec liste déroulante
GenericName[gl]=Terminal despregábel
GenericName[hi]= ि
GenericName[hr]=Spuštajući terminal
GenericName[hu]=Legördülő terminál
GenericName[id]=Terminal Longsor
GenericName[it]=Terminale a discesa
GenericName[ja]=
GenericName[km]=
GenericName[ko]=
GenericName[lt]=Išskleidžiamasis terminalas
GenericName[mr]= ि
GenericName[nb]=Nedtrekksterminal
GenericName[nds]=Utklapp-Konsool
GenericName[nl]=Uitvouwbare terminalemulator
GenericName[nn]=Nedtrekksterminal
GenericName[pa]=
GenericName[pl]=Rozwijany terminal
GenericName[pt]=Terminal Deslizante
GenericName[pt_BR]=Terminal suspenso
GenericName[ro]=Terminal derulant
GenericName[ru]=Выпадающий терминал
GenericName[sk]=Rozbaľovací terminál
GenericName[sr@ijekavian]=Падајући терминал
GenericName[sr@ijekavianlatin]=Padajući terminal
GenericName[sr@latin]=Padajući terminal
GenericName[sr]=Падајући терминал
GenericName[sv]=Rullgardinsterminal
GenericName[th]=
GenericName[tr]=Yukarıdan Açılan Uçbirim
GenericName[uk]=Спадний термінал
GenericName[x-test]=xxDrop-down Terminalxx
GenericName[zh_CN]=
GenericName[zh_TW]=
Icon=yakuake
MimeType=
Name[en_US]=Yakuake
Name=Yakuake
Name[ar]=ياكواكي
Name[ast]=Yakuake
Name[be]=Yakuake
Name[bg]=Yakuake
Name[bs]=Yakuake
Name[ca@valencia]=Yakuake
Name[ca]=Yakuake
Name[cs]=Yakuake
Name[da]=Yakuake
Name[de]=Yakuake
Name[el]=Yakuake
Name[en_GB]=Yakuake
Name[eo]=Yakuake
Name[es]=Yakuake
Name[et]=Yakuake
Name[eu]=Yakuake
Name[fi]=Yakuake
Name[fr]=Yakuake
Name[ga]=Yakuake
Name[gl]=Yakuake
Name[hi]=
Name[hne]=
Name[hr]=Yakuake
Name[hu]=Yakuake
Name[ia]=Yakuake
Name[id]=Yakuake
Name[it]=Yakuake
Name[ja]=Yakuake
Name[km]=Yakuake
Name[ko]=Yakuake
Name[lt]=Yakuake
Name[lv]=Yakuake
Name[ml]=
Name[mr]=
Name[nb]=Yakuake
Name[nds]=Yakuake
Name[nl]=Yakuake
Name[nn]=Yakuake
Name[pa]=
Name[pl]=Yakuake
Name[pt]=Yakuake
Name[pt_BR]=Yakuake
Name[ro]=Yakuake
Name[ru]=Yakuake
Name[sk]=Yakuake
Name[sr@ijekavian]=Јакуаке
Name[sr@ijekavianlatin]=Yakuake
Name[sr@latin]=Yakuake
Name[sr]=Јакуаке
Name[sv]=Yakuake
Name[th]=Yakuake
Name[tr]=Yakuake
Name[ug]=Yakuake
Name[uk]=Yakuake
Name[x-test]=xxYakuakexx
Name[zh_CN]=Yakuake
Name[zh_TW]=Yakuake
Path=
StartupNotify=false
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=org.kde.yakuake
X-DBUS-StartupType=unique
X-KDE-StartupNotify=false
X-KDE-SubstituteUID=false
X-KDE-Username=

View File

@ -1,76 +1,96 @@
conky.config = {
alignment = 'top_left',
background = true,
color2 = '2ECC71',
cpu_avg_samples = 2,
default_color = 'FFFFFF',
double_buffer = true,
font = 'Bitstream Vera Sans:size=8',
gap_x = 15,
gap_y = 40,
minimum_width = 200,
no_buffers = true,
own_window = true,
alignment = 'top_left',
background = true,
color2 = '2ECC71',
cpu_avg_samples = 2,
default_color = 'FFFFFF',
double_buffer = true,
font = 'Bitstream Vera Sans:size=10',
gap_x = 15,
gap_y = 15,
minimum_width = 200,
no_buffers = true,
own_window = true,
own_window_class = 'shortcuts_green',
own_window_type = 'override',
own_window_transparent = true,
update_interval = 10.0,
use_xft = true,
own_window_type = 'override',
own_window_transparent = true,
update_interval = 10.0,
use_xft = true,
}
conky.text = [[
#
# Date Display
${alignr}${color1}
# Month
${goto 20}${color}${voffset 0}${color}${font Bitstream Vera Sans:size=18}${time %b}\
# Date
${alignr}${color1}
${goto 20}${voffset 8}${color2}${font Bitstream Vera Sans:size=16}${time %A}$font\
${goto 140}${voffset -8}${color}${font Bitstream Vera Sans:size=38}${time %e}$font
${goto 20}${color}${voffset -30}${color}${font Bitstream Vera Sans:size=18}${time %b}$font\
${goto 60}${voffset -3} ${color}${font Bitstream Vera Sans:size=20}${time %Y}$font${color2}$hr
${goto 65}${voffset 0} ${color}${font Bitstream Vera Sans:size=16}${time %e}\
# Year
${goto 100}${voffset -5} ${color}${font Bitstream Vera Sans:size=20}${time %Y}
${goto 0}${voffset -20}$font${color2}$hr
# Day
${goto 20}${voffset 0}${color2}${font Bitstream Vera Sans:size=16}${time %A}
#
---------------Applications---------------
${color2}open new terminal - ${color}mod+Enter
${color2}open dropdown yakuake terminal - ${color}F4
${color2}Firefox - ${color}mod+Shift+f
$font${color}
${color2}mod key - ${color}Meta
${color2}lock session - ${color}mod+l
---------------Screenshots----------------
${color2}image clip tool - ${color}mod+Shift+p
---------------Vim Keybinds---------------
${color2}Toggle color highlighting - ${color}CTRL+c
${color2}Build make project in CWD - ${color}CTRL+m
${color2}Build cmake project in CWD - ${color}CTRL+b
${color2}Previous ALE Warning / Error - ${color}CTRL+k
${color2}Next ALE Warning / Error - ${color}CTRL+j
---------------Menus----------------------
${color2}audio devices - ${color}mod+Ctrl+a
${color2}bluetooth devices - ${color}mod+Ctrl+d
${color2}bmenu system settings - ${color}mod+Ctrl+b
${color2}dmenu app launcher - ${color}mod+d
${color2}morc_menu app menu - ${color}mod+z
${color2}power modes - ${color}mod+0
${color2}blur lock - ${color}mod+9
-----------------Commands-----------------
${color2}Window info - ${color}xprop
---------------Restart / Reload-----------
---------------Applications---------------
${color2}[konsole] Open new terminal - ${color}mod+Enter
${color2}[yakuake] Open dropdown terminal - ${color}mod+`
${color2}[firefox] Web Browser ${color}mod+Shift+f
${color2}kill conky - ${color}mod+o
${color2}start conky - ${color}mod+shift+o
${color2}kill compton - ${color}mod+t
${color2}start compton - ${color}mod+Shift+t
${color2}reload i3 - ${color}mod+Shift+c
${color2}restart i3 - ${color}mod+Shift+r
---------------Screenshots----------------
${color2}[scrot] image clip tool - ${color}mod+Shift+p
---------------Scratchpad-----------------
${color2}send to scratchpad - ${color}mod+Shift+minus
${color2}show scratchpad - ${color}mod+minus
---------------Menus----------------------
${color2}[pavucontrol] Audio devices ${color}mod+Ctrl+a
${color2}[blueman-manager] Bluetooth devices ${color}mod+Ctrl+d
${color2}[dmenu] App launcher - ${color}mod+d
${color2}[rofi] App launcher - ${color}mod+x
${color2}[rofi] Active window menu - ${color}mod+a
${color2}[rofi] Network / SSH menu - ${color}mod+z
${color2}bmenu system settings - ${color}mod+Ctrl+b
---------------Windows--------------------
${color2}modify gaps - ${color}mod+Shift+g
${color2}resize mode - ${color}mod+r
${color2}toggle split direction - ${color}mod+q
${color2}kill cursor selection - ${color}mod+Ctrl+q
${color2}kill active window - ${color}mod+Shift+q
---------------Restart / Reload-----------
${color2}kill conky - ${color}mod+o
${color2}start conky - ${color}mod+shift+o
${color2}kill polybar - ${color}mod+p
${color2}start polybar - ${color}mod+shift+p
${color2}kill compton - ${color}mod+t
${color2}start compton - ${color}mod+Shift+t
${color2}reload i3 - ${color}mod+Shift+c
${color2}restart i3 - ${color}mod+Shift+r
---------------Workspace--------------------
${color2}move to empty workspace - ${color}mod+Shift+z
${color2}switch to workspace 1-8 - ${color}mod+1-8
${color2}send to workspace 1-8 - ${color}mod+Ctrl+1-8
${color2}navigate workspaces - ${color}mod+Ctrl+arrowkeys
${color2}toggle floating - ${color}mod+Shift+Space
${color2}exit - ${color}mod+0
---------------Scratchpad-----------------
${color2}send to scratchpad - ${color}mod+Shift+minus
${color2}remove from scratchpad - ${color}mod+Shift+Space
${color2}show scratchpad - ${color}mod+minus
${color2}help - ${color}mod+Shift+h
${color2}mod key - ${color}<Alt>
---------------Windows--------------------
${color2}modify gaps - ${color}mod+Shift+g
${color2}resize mode - ${color}mod+r
${color2}toggle split direction - ${color}mod+q
${color2}kill cursor selection - ${color}mod+Ctrl+q
${color2}kill active window - ${color}mod+Shift+q
${color2}toggle floating - ${color}mod+Shift+Space
${color2}move floating window - ${color}mod+Click&Drag
${color2}resize floating window - ${color}mod+RightClick&Drag
---------------Workspace--------------------
${color2}move to empty workspace - ${color}mod+Shift+z
${color2}switch to workspace 1-9 - ${color}mod+1-9
${color2}navigate active workspaces - ${color}mod+Ctrl+arrowkeys
${color2}send active to workspace 1-9 - ${color}mod+Ctrl+1-9
${color2}move active to workspace 1-9 - ${color}mod+Ctrl+1-9
]]

View File

@ -1,78 +1,85 @@
conky.config = {
alignment = 'top_right',
background = true,
color2 = '2ECC71',
cpu_avg_samples = 2,
default_color = 'FFFFFF',
alignment = 'top_right',
background = true,
color2 = '2ECC71',
cpu_avg_samples = 2,
default_color = 'FFFFFF',
double_buffer = true,
font = 'Bitstream Vera Sans:size=8',
gap_x = 15,
gap_y = -5,
minimum_width = 200,
no_buffers = true,
own_window = true,
own_window_type = 'override',
own_window_class = 'sysinfo_green',
font = 'Bitstream Vera Sans:size=10',
gap_x = 20,
gap_y = 10,
minimum_width = 200,
no_buffers = true,
own_window = true,
own_window_type = 'override',
own_window_class = 'sysinfo_green',
own_window_transparent = true,
update_interval = 5.0,
use_xft = true,
update_interval = 10.0,
use_xft = true,
temperature_unit = 'fahrenheit',
}
conky.text = [[
# Process list, load average
# 1m / 5m / 15m format for lad avg
${color2}${voffset 35}${alignr}${font Bitstream Vera Sans:size=10}Proccesses${color}
${color}${alignr}${font Bitstream Vera Sans:size=8}Load Average: $font$alignr${loadavg}
${color2}${voffset 35}${alignr}${font Bitstream Vera Sans:size=10}Proccesses${color}
${color}${alignr}${font Bitstream Vera Sans:size=8}Load Average: $font$alignr${loadavg}
#
# Process list CPU / RAM utilization table
${font}CPU${goto 170}RAM
${voffset 3}$font${color2}${top name 1}${goto 120}${color}${top cpu 1}%${goto 170}${color2}${top_mem name 1}${color}${alignr}${top_mem mem_res 1}${color}
${color2}${top name 2}${goto 120}${color}${top cpu 2}%${goto 170}${color2}${top_mem name 2}${color}${alignr}${top_mem mem_res 2}${color}
${voffset 3}$hr
${font}CPU${goto 170}RAM
${voffset 3}$font${color2}${top name 1}${goto 120}${color}${top cpu 1}%${goto 170}${color2}${top_mem name 1}${color}${alignr}${top_mem mem_res 1}${color}
${color2}${top name 2}${goto 120}${color}${top cpu 2}%${goto 170}${color2}${top_mem name 2}${color}${alignr}${top_mem mem_res 2}${color}
${voffset 3}$hr
#
# RAM Display
${color2}${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}RAM ${color}
${goto 0}${color2}$alignc${memgraph 40,305}${color}
${voffset 4}${goto 0}${alignc}${color2}${membar 10, 305}
${color}${goto 10}${font}${memperc}%${alignr}${exec grep -w Active: /proc/meminfo | awk '{print $2 / 1024 }'}MiB /${memmax}
${voffset 3}${color}$hr
${color2}${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}RAM ${color}
${goto 0}${color2}$alignc${memgraph 40,305}${color}
${voffset 4}${goto 0}${alignc}${color2}${membar 10, 305}
${color}${goto 10}${font}${memperc}%${alignr}${exec grep -w Active: /proc/meminfo | awk '{print $2 / 1024 }'}MiB /${memmax}
${voffset 3}${color}$hr
#
# CPU Display
${color2}${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}CPU ${color}
${color2}${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}CPU ${color}
# Chipset
${alignr}${font}${exec inxi |grep CPU | awk '{print $4" "$2" "$3" "$6}'}${exec lscpu |grep -w "Model name:"| awk '{print " - " $8}'}
${alignr}${font}${exec lscpu | grep -w "Model name:" | awk '{print $3 " " $4 " " $5 " " $6 " " $7 " " $8 " " $9}'}
# CPU Graph
${voffset 4}${goto 0}${alignc}${color2}${cpugraph 40, 305}
${voffset 4}${goto 0}${alignc}${color2}${cpugraph 40, 305}
# Percentage / GHz utilized
${voffset 0}${goto 10}${color}${font}${exec cat /sys/class/thermal/thermal_zone2/temp | awk '{print ( ( ( (9/5) * $1) / 1000) + 32) "°F" }'}${alignr}${cpu}% - ${freq_g}GHz
${voffset 0}${goto 10}${color}${font}${exec cat /sys/class/thermal/thermal_zone2/temp | awk '{print ( ( ( (9/5) * $1) / 1000) + 32) "°F" }'}${alignr}${cpu}% - ${freq_g}GHz
# CPU Core Graphs
${voffset 10}${color}${goto 10}${font Bitstream Vera Sans:size=8}${cpu cpu1}%${goto 43}${color2}${cpubar cpu1 12,110} ${goto 170}${color}${cpu cpu2}%${goto 203}${color2}${cpubar cpu2 12,110}
${voffset 10}${color}${goto 10}${font Bitstream Vera Sans:size=8}${cpu cpu3}%${goto 43}${color2}${cpubar cpu3 12,110} ${goto 170}${color}${cpu cpu4}%${goto 203}${color2}${cpubar cpu4 12,110}
${voffset 10}${color}${goto 10}${font Bitstream Vera Sans:size=8}${cpu cpu5}%${goto 43}${color2}${cpubar cpu5 12,110} ${goto 170}${color}${cpu cpu6}%${goto 203}${color2}${cpubar cpu6 12,110}
${voffset 10}${color}${goto 10}${font Bitstream Vera Sans:size=8}${cpu cpu7}%${goto 43}${color2}${cpubar cpu7 12,110} ${goto 170}${color}${cpu cpu8}%${goto 203}${color2}${cpubar cpu8 12,110}
${voffset 10}${color}${goto 10}${font Bitstream Vera Sans:size=8}${cpu cpu1}%${goto 43}${color2}${cpubar cpu1 12,110} ${goto 170}${color}${cpu cpu2}%${goto 203}${color2}${cpubar cpu2 12,110}
${voffset 10}${color}${goto 10}${font Bitstream Vera Sans:size=8}${cpu cpu3}%${goto 43}${color2}${cpubar cpu3 12,110} ${goto 170}${color}${cpu cpu4}%${goto 203}${color2}${cpubar cpu4 12,110}
${voffset 10}${color}${goto 10}${font Bitstream Vera Sans:size=8}${cpu cpu5}%${goto 43}${color2}${cpubar cpu5 12,110} ${goto 170}${color}${cpu cpu6}%${goto 203}${color2}${cpubar cpu6 12,110}
${voffset 10}${color}${goto 10}${font Bitstream Vera Sans:size=8}${cpu cpu7}%${goto 43}${color2}${cpubar cpu7 12,110} ${goto 170}${color}${cpu cpu8}%${goto 203}${color2}${cpubar cpu8 12,110}
${voffset 3}${color}$hr
${voffset 3}${color}$hr
#
# Network display
${color2}${font}${alignr}NETWORK${color}
${color}${voffset 4}${font}Interface: ${gw_iface} ${font}${alignr}Gateway IP: ${gw_ip}
${font}${alignr}${if_match "$wireless_essid"=="off/any"}Déconnecté${else}${wireless_essid}${endif}
${font}${goto 5}Down${alignr}Up
${goto 5}${color2}${downspeedgraph enp0s31f6 40,153}${goto 160}${upspeedgraph enp0s31f6 40,155}
${color2}${font}${alignr}NETWORK${color}
${color}${voffset 4}${font}Interface: ${gw_iface} ${font}${alignr}Gateway IP: ${gw_ip}
${font}${alignr}${if_match "$wireless_essid"=="off/any"}Déconnecté${else}${wireless_essid}${endif}
${font}${goto 5}Down${alignr}Up
${goto 5}${color2}${downspeedgraph enp0s31f6 40,153}${goto 160}${upspeedgraph enp0s31f6 40,155}
# Uncomment next line for wireless
# ${goto 5}${color}${downspeedf wlp3s0} Kb/s - ${totaldown wlp3s0}${goto 160}${upspeedf wlp3s0} Kb/s - ${totalup wlp3s0}
# Ethernet network display
${goto 5}${color}${downspeedf enp0s31f6} Kb/s - ${totaldown enp0s31f6}${alignr}${upspeedf enp0s31f6} Kb/s - ${totalup enp0s31f6}
${voffset 4}${color}$hr
${goto 5}${color}${downspeedf enp0s31f6} Kb/s - ${totaldown enp0s31f6}${alignr}${upspeedf enp0s31f6} Kb/s - ${totalup enp0s31f6}
${voffset 4}${color}$hr
#
# HDDisk Display
${color2}${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}DISKS${color}
${color2}${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}DISKS${color}
#
# Root Filesystem Display
${voffset 2}${font}${goto 45} /dev/sda - /${font}${alignr}System: ${fs_used /} / ${fs_size /}
${color2}${diskiograph /dev/sda}${color}
${color2}${fs_bar 8 /}${color}
${voffset 2}${font}${goto 45} /dev/sda - /${font}${alignr}System: ${fs_used /} / ${fs_size /}
${color2}${diskiograph /dev/sda}${color}
${color2}${fs_bar 8 /}${color}
#
# Home Filesystem Display
#${voffset 6}${font}${goto 45}/dev/sda1 - /home/${font}${alignr}Data: ${fs_used /home/} / ${fs_size /home/}
@ -80,29 +87,31 @@ ${color2}${fs_bar 8 /}${color}
#${color2}${fs_bar 8 /home/} ${color}
# Optinal drive display, specify path to check mount
#${if_mounted /run/media/thib/Data}${color}${font}${exec sudo hddtemp /dev/sdb -u F | awk '{print $NF}'}${alignr}${fs_used /run/media/thib/Data}/${fs_size /run/media/thib/Data}${else}${color}${font}${alignr}Unmounted${endif}
$hr
$hr
#
# Other information
${color2}${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}OTHER${color}
${color2}${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}OTHER${color}
# MOBO temp, uptime
${color}${voffset 4}${font}Motherboard: ${goto 120}${acpitemp}F°${alignr}Uptime: ${uptime_short}
${color}${voffset 4}${font}Motherboard: ${goto 120}${acpitemp}F°${alignr}Uptime: ${uptime_short}
# Domain status
# ${color}${voffset 4}${font}Knoats: ${alignc}${exec curl -Is https://knoats.com | grep HTTP | awk '{print $1 " - " $2}'}${alignr}${exec curl -o /dev/null -s -w %{time_total}\\n https://knoats.com}s
# ${font}Shaunreed: ${alignc}${exec curl -Is https://shaunreed.com | grep HTTP | awk '{print $1 " - " $2}'}${alignr}${exec curl -o /dev/null -s -w %{time_total}\\n https://shaunreed.com}s
# ${font}dv: ${alignc}${exec curl -Is https://kapp.ga | grep HTTP | awk '{print $1 " - " $2}'}${alignr}${exec curl -o /dev/null -s -w %{time_total}\\n https://kapp.ga}s
${color}${voffset 4}${font}Knoats: ${alignc}${execi 120 curl -Is https://knoats.com | grep HTTP | awk '{print $1 " - " $2}'}${alignr}${execi 120 curl -o /dev/null -s -w %{time_total}\\n https://knoats.com}s
${font}Shaunreed: ${alignc}${execi 120 curl -Is https://shaunreed.com | grep HTTP | awk '{print $1 " - " $2}'}${alignr}${execi 120 curl -o /dev/null -s -w %{time_total}\\n https://shaunreed.com}s
# ${font}dv: ${alignc}${execi 120 curl -Is https://kapp.ga | grep HTTP | awk '{print $1 " - " $2}'}${alignr}${execi 120 curl -o /dev/null -s -w %{time_total}\\n https://kapp.ga}s
#
${voffset 3}$hr
${voffset 3}$hr
#
#
# Things I don't use, but could in the future
# I don't need to track docker containers.. unless I can check remotes?
# ${font}Docker containers: ${goto 120}${exec docker ps -q $1 | wc -l}/${exec docker ps -a | grep -v -F 'Exited (0)' | grep -c -F 'Exited ('}
#
# Commented out, since I am using a desktop
# BATTERY
# $color${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}BATTERY
# ${font}${voffset 3}${alignr}${battery_percent}%
# ${color2}${battery_bar}
# $color${alignr}${if_match "$battery_time"=="unknown"}Charging...${else}Remain Time: ${battery_time}${endif}
]]
#
# Battery Display
$color2${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}BATTERY
$color${alignr}${if_match "$battery_time"=="unknown"}Charging...${else}Remain Time: ${battery_time}${endif}
${color2}${battery_bar}
${voffset 3}${alignr}${battery_percent}%
]]

View File

@ -9,15 +9,25 @@
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
#
# Startup scripts and commands for i3 sessions
exec --no-startup-id yakuake
exec --no-startup-id xbindkeys --poll-rc
exec --no-startup-id xautolock -time 10 -locker blurlock
exec_always --no-startup-id compton
# Run custom scripts to start polybar, conky, and feh background
exec --no-startup-id $HOME/.local/bin/i3scripts/start-konky
exec --no-startup-id $HOME/.local/bin/i3scripts/fehbg
exec_always --no-startup-id $HOME/.local/bin/i3scripts/start-polybar
#
# i3 settings
set $mod Mod4
# Mod1 = Alt
#set $mod Mod1
focus_follows_mouse no
for_window [class="yakuake"] floating enable
# Move to a new empty workspace
#bindsym $mod+Ctrl+Left exec --no-startup-id i3empty.py prev
bindsym $mod+Shift+z exec --no-startup-id $HOME/.local/bin/i3scripts/i3empty.py
@ -49,28 +59,19 @@ default_floating_border normal
# Hide borders
hide_edge_borders none
# start a terminal
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
bindsym $mod+x exec rofi -show run
bindsym $mod+a exec rofi -show window
bindsym $mod+z exec rofi -show ssh
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
#bindsym $mod+j focus left
#bindsym $mod+k focus down
#bindsym $mod+l focus up
#bindsym $mod+semicolon focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
@ -92,7 +93,6 @@ bindsym $mod+Shift+Right move right
# split in horizontal orientation
# bindsym $mod+h split h
# split in vertical orientation
# bindsym $mod+v split v
@ -104,89 +104,16 @@ bindsym $mod+f fullscreen toggle
# bindsym $mod+w layout tabbed
# bindsym $mod+e layout toggle split
# toggle tiling / floating
# bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
# bindsym $mod+space focus mode_toggle
# focus the parent container
#bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# Custom named workspaces for keeping frequently used apps
# Numbers overwritten by Polybar i3 module config
set $ws99 99
set $ws98 98
set $ws97 97
set $ws96 96
set $ws95 95
set $ws94 94
# Custom named workspace keybinds
# To get keysymbols, run 'xmodmap -pke'
bindsym $mod+Ctrl+backslash move container to workspace $ws99
bindsym $mod+Ctrl+bracketright move container to workspace $ws98
bindsym $mod+Ctrl+apostrophe move container to workspace $ws97
bindsym $mod+Ctrl+slash move container to workspace $ws96
bindsym $mod+Ctrl+period move container to workspace $ws95
bindsym $mod+Ctrl+comma move container to workspace $ws94
# Move to workspace with focused container
bindsym $mod+Shift+backslash move container to workspace $ws99; workspace $ws99
bindsym $mod+Shift+bracketright move container to workspace $ws98; workspace $ws98
bindsym $mod+Shift+apostrophe move container to workspace $ws97; workspace $ws97
bindsym $mod+Shift+slash move container to workspace $ws96; workspace $ws96
bindsym $mod+Shift+period move container to workspace $ws95; workspace $ws95
bindsym $mod+Shift+comma move container to workspace $ws94; workspace $ws94
# Move to workspace
bindsym $mod+backslash workspace number $ws99
bindsym $mod+bracketright workspace number $ws98
bindsym $mod+apostrophe workspace number $ws97
bindsym $mod+slash workspace number $ws96
bindsym $mod+period workspace number $ws95
bindsym $mod+comma workspace number $ws94
# Switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
# move focused container to workspace
# bindsym $mod+Shift+1 move container to workspace $ws1
# bindsym $mod+Shift+2 move container to workspace $ws2
# bindsym $mod+Shift+3 move container to workspace $ws3
# bindsym $mod+Shift+4 move container to workspace $ws4
# bindsym $mod+Shift+5 move container to workspace $ws5
# bindsym $mod+Shift+6 move container to workspace $ws6
# bindsym $mod+Shift+7 move container to workspace $ws7
# bindsym $mod+Shift+8 move container to workspace $ws8
# bindsym $mod+Shift+9 move container to workspace $ws9
# bindsym $mod+Shift+0 move container to workspace $ws10
# Application keybinds
###########################################
# Passing -n to urxvt forces Xorg to default the WM_ICON_NAME to tmux
# Only this instance of urxvt will have that WM_ICON_NAME
@ -200,6 +127,9 @@ bindsym $mod+0 workspace $ws10
# for_window [title="origin"] resize set width 1000
# for_window [title="origin"] move position center
# NOTE: To get these window class names, run `xprop` and click a window
for_window [class="yakuake"] floating enable
bindsym $mod+Ctrl+a exec "pavucontrol"
for_window [class="Pavucontrol"] floating enable
for_window [class="Pavucontrol"] resize set height 400
@ -225,33 +155,25 @@ for_window [class="discord"] resize set height 600
for_window [class="discord"] resize set width 800
for_window [class="discord"] move position center
for_window [class="Wicd-client.py"] floating enable
for_window [class="Wicd-client.py"] resize set height 400
for_window [class="Wicd-client.py"] resize set width 600
for_window [class="Wicd-client.py"] move position center
# Bluetooth device settings
bindsym $mod+Ctrl+d exec "blueman-manager
for_window [class="Blueman-manager"] floating enable
for_window [class="Blueman-manager"] resize set height 400
for_window [class="Blueman-manager"] resize set width 600
for_window [class="Blueman-manager"] move position center
for_window [class="systemsettings"] floating enable
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
bindsym $mod+x exec rofi -show run
bindsym $mod+a exec rofi -show window
bindsym $mod+z exec rofi -show ssh
exec --no-startup-id yakuake
exec --no-startup-id xbindkeys --poll-rc
exec --no-startup-id $HOME/.local/bin/i3scripts/start_konky
exec --no-startup-id sh ~/.fehbg
exec --no-startup-id xautolock -time 10 -locker blurlock
#exec --no-startup-id wicd-client -t
#exec --no-startup-id xfce4-power-manager
#exec --no-startup-id google-drive-ocamlfuse ~/gdrive
# Locks the screen now with i3locker
bindsym $mod+l exec i3lock -c 000000
# Application keybinds
###########################################
bindsym $mod+Return exec konsole -e tmux
# start a terminal
# Uses $TERMINAL environment setting
# bindsym $mod+Return exec terminal
@ -260,26 +182,28 @@ bindsym $mod+t exec pkill compton
bindsym $mod+Shift+t exec compton
# Firefox
bindsym $mod+Shift+f exec firefox
# Bluetooth device settings
bindsym $mod+Ctrl+d exec blueman-manager
## Screenshot keybinds
###########################################
# Screenshot marquee tool
bindsym $mod+Shift+p --release exec --no-startup-id scrot -s
# Restart, reload, kill keybinds
###########################################
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
# Bind Mod+O to kill conky
bindsym $mod+o exec pkill conky
# Bind Mod+Shift+O to start conky
bindsym $mod+Shift+o exec $HOME/.local/bin/i3scripts/start_konky
bindsym $mod+Shift+o exec $HOME/.local/bin/i3scripts/start-konky
# Bind Mod+P kill polybars
bindsym $mod+p exec pkill -f polybar
# Bind Mod+Shift+P to start polybars
bindsym $mod+Shift+p exec /home/kapper/.config/polybar/start-polybar.sh
bindsym $mod+Shift+p exec $HOME/.local/bin/i3scripts/start-polybar
# Workspace keybinds
###########################################
@ -288,6 +212,82 @@ bindsym $mod+Shift+p exec /home/kapper/.config/polybar/start-polybar.sh
bindsym $mod+u border none
bindsym $mod+y border pixel 1
bindsym $mod+n border normal
#navigate workspaces next / previous
bindsym $mod+Ctrl+Right workspace next
bindsym $mod+Ctrl+Left workspace prev
# workspace back and forth (with/without active container)
workspace_auto_back_and_forth yes
# Bind to swap to previous / last workspace
bindsym $mod+Tab workspace back_and_forth
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# Custom named workspaces for keeping frequently used apps
# Numbers overwritten by Polybar i3 module config
set $ws99 99
set $ws98 98
set $ws97 97
set $ws96 96
set $ws95 95
set $ws94 94
# Switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
# Custom named workspace keybinds
# To get keysymbols, run 'xmodmap -pke'
bindsym $mod+Ctrl+backslash move container to workspace $ws99
bindsym $mod+Ctrl+bracketright move container to workspace $ws98
bindsym $mod+Ctrl+apostrophe move container to workspace $ws97
bindsym $mod+Ctrl+slash move container to workspace $ws96
bindsym $mod+Ctrl+period move container to workspace $ws95
bindsym $mod+Ctrl+comma move container to workspace $ws94
# Move to workspace with focused container
bindsym $mod+Shift+backslash move container to workspace $ws99; workspace $ws99
bindsym $mod+Shift+bracketright move container to workspace $ws98; workspace $ws98
bindsym $mod+Shift+apostrophe move container to workspace $ws97; workspace $ws97
bindsym $mod+Shift+slash move container to workspace $ws96; workspace $ws96
bindsym $mod+Shift+period move container to workspace $ws95; workspace $ws95
bindsym $mod+Shift+comma move container to workspace $ws94; workspace $ws94
# Move to workspace
bindsym $mod+backslash workspace number $ws99
bindsym $mod+bracketright workspace number $ws98
bindsym $mod+apostrophe workspace number $ws97
bindsym $mod+slash workspace number $ws96
bindsym $mod+period workspace number $ws95
bindsym $mod+comma workspace number $ws94
# move focused container to workspace
# bindsym $mod+Shift+1 move container to workspace $ws1
# bindsym $mod+Shift+2 move container to workspace $ws2
# bindsym $mod+Shift+3 move container to workspace $ws3
# bindsym $mod+Shift+4 move container to workspace $ws4
# bindsym $mod+Shift+5 move container to workspace $ws5
# bindsym $mod+Shift+6 move container to workspace $ws6
# bindsym $mod+Shift+7 move container to workspace $ws7
# bindsym $mod+Shift+8 move container to workspace $ws8
# bindsym $mod+Shift+9 move container to workspace $ws9
# bindsym $mod+Shift+0 move container to workspace $ws10
# Move focused container to workspace
bindsym $mod+Ctrl+1 move container to workspace $ws1
@ -308,14 +308,6 @@ bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
#navigate workspaces next / previous
bindsym $mod+Ctrl+Right workspace next
bindsym $mod+Ctrl+Left workspace prev
# workspace back and forth (with/without active container)
workspace_auto_back_and_forth yes
# Bind to swap to previous / last workspace
bindsym $mod+Tab workspace back_and_forth
# Layout keybinds
###########################################
@ -345,8 +337,6 @@ bindsym $mod+Shift+s sticky toggle
# focus the parent container
#bindsym $mod+a focus parent
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
@ -374,9 +364,6 @@ mode "resize" {
bindsym $mod+r mode "resize"
# Use polybar installed
exec_always --no-startup-id /home/kapper/.config/polybar/start-polybar.sh
exec_always --no-startup-id compton
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
#bar {

View File

@ -8,8 +8,8 @@ Favorites=
ShowMenuBarByDefault=false
[MainWindow]
Height 1200=1135
Height 1200=1151
MenuBar=Disabled
State=AAAA/wAAAAD9AAAAAAAAA8AAAARvAAAABAAAAAQAAAAIAAAACPwAAAAA
ToolBarsMovable=Disabled
Width 1920=960
Width 1920=1916

View File

@ -1,7 +1,8 @@
[window]
width=1366
height=749
width=596
height=396
sinkInputType=0
sourceOutputType=1
sinkType=0
sourceType=0
showVolumeMeters=1

View File

@ -0,0 +1 @@
../../.local/bin/i3scripts/start-polybar

2
.fehbg
View File

@ -1,2 +0,0 @@
#!/bin/sh
feh --no-fehbg --bg-tile '/home/kapper/screens/use_your_illusion.png'

2
.local/bin/i3scripts/fehbg Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
feh --no-fehbg --bg-tile '/home/kapper/Pictures/backgrounds/use_your_illusion.png'

5
.local/bin/i3scripts/fix-vbox Executable file
View File

@ -0,0 +1,5 @@
# A fix for a common issue found in virtual box
# https://forums.linuxmint.com/viewtopic.php?t=247850
# https://askubuntu.com/questions/1014172/virtualbox-unresponsive-area-on-desktop
#################################################################################
ps aux www |grep 'VBoxClient --draganddrop' | awk '{print $2}' | xargs kill

621
.vim/colors/darcula.vim Normal file
View File

@ -0,0 +1,621 @@
" This Source Code Form is subject to the terms of the Mozilla Public
" License, v. 2.0. If a copy of the MPL was not distributed with this
" file, You can obtain one at https://mozilla.org/MPL/2.0/.
if exists("g:darcula")
finish
endif
let g:darcula = 1
highlight clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name='darcula'
let s:p={
\ 'null': ['NONE', 'NONE'],
\ 'bg': ['#2B2B2B', 235],
\ 'fg': ['#A9B7C6', 145],
\ 'cursor': ['#BBBBBB', 250],
\ 'identifierUnderCaret': ['#344134', 237],
\ 'identifierUnderCaretWrite': ['#40332B', 58],
\ 'gutter': ['#313335', 236],
\ 'selection': ['#214283', 24],
\ 'cursorLine': ['#323232', 236],
\ 'cursorLineNr': ['#A4A3A3', 248],
\ 'errorMsg': ['#CC666E', 174],
\ 'error': ['#BC3F3C', 131],
\ 'warning': ['#A9B7C6', 145],
\ 'muted': ['#606060', 241],
\ 'link': ['#287BDE', 32],
\ 'stdOutput': ['#BBBBBB', 250],
\ 'lineNumber': ['#606366', 241],
\ 'matchBraceFg': ['#FFEF28', 220],
\ 'matchBraceBg': ['#3B514D', 59],
\ 'todo': ['#A8C023', 142],
\ 'search': ['#32593D', 23],
\ 'incSearch': ['#155221', 22],
\ 'foldedFg': ['#8C8C8C', 245],
\ 'foldedBg': ['#3A3A3A', 237],
\ 'constant': ['#9876AA', 103],
\ 'keyword': ['#CC7832', 172],
\ 'comment': ['#808080', 244],
\ 'docComment': ['#629755', 65],
\ 'string': ['#6A8759', 101],
\ 'number': ['#6897BB', 103],
\ 'delimiter': ['#CC7832', 172],
\ 'specialComment': ['#8A653B', 95],
\ 'function': ['#FFC66D', 216],
\ 'diffAdd': ['#294436', 23],
\ 'diffText': ['#385570', 60],
\ 'diffDelete': ['#484A4A', 239],
\ 'diffChange': ['#303C47', 23],
\ 'addStripe': ['#384C38', 66],
\ 'stripeWhiteSpace': ['#4C4638', 59],
\ 'changeStripe': ['#374752', 60],
\ 'deleteStripe': ['#656E76', 242],
\ 'typo': ['#659C6B', 72],
\ 'metaData': ['#BBB529', 142],
\ 'macroName': ['#908B25', 100],
\ 'cDataStructure': ['#B5B6E3', 146],
\ 'cStructField': ['#9373A5', 103],
\ 'debug': ['#666D75', 102],
\ 'codeError': ['#532B2E', 52],
\ 'codeWarning': ['#52503A', 59],
\ 'errorStripe': ['#9E2927', 124],
\ 'warnStripe': ['#BE9117', 136],
\ 'infoStripe': ['#756D56', 101],
\ 'hintStripe': ['#6c7176', 242],
\ 'typeDef': ['#B9BCD1', 146],
\ 'menu': ['#46484A', 238],
\ 'menuFg': ['#BBBBBB', 250],
\ 'menuSel': ['#113A5C', 23],
\ 'menuSBar': ['#616263', 241],
\ 'tag': ['#E8BF6A', 180],
\ 'entity': ['#6D9CBE', 109],
\ 'htmlAttribute': ['#BABABA', 250],
\ 'htmlString': ['#A5C261', 143],
\ 'tsObject': ['#507874', 66],
\ 'statusLine': ['#3C3F41', 237],
\ 'statusLineFg': ['#BBBBBB', 250],
\ 'statusLineNC': ['#787878', 243],
\ 'tabLineSel': ['#4E5254', 239],
\ 'shCommand': ['#C57633', 137],
\ 'templateLanguage': ['#232525', 235],
\ 'rustMacro': ['#4EADE5', 74],
\ 'rustLifetime': ['#20999D', 37],
\ 'duplicateFromServer': ['#5E5339', 59],
\ 'hintBg': ['#3B3B3B', 237],
\ 'hintFg': ['#787878', 243],
\ 'wrapGuide': ['#2F2F2F', 236],
\ 'UIBorder': ['#616161', 241],
\ 'UISelection': ['#0D293E', 17],
\ 'ANSIBlack': ['#FFFFFF', 231],
\ 'ANSIRed': ['#FF6B68', 210],
\ 'ANSIGreen': ['#A8C023', 142],
\ 'ANSIYellow': ['#D6BF55', 179],
\ 'ANSIBlue': ['#5394EC', 68],
\ 'ANSIMagenta': ['#AE8ABE', 139],
\ 'ANSICyan': ['#299999', 37],
\ 'ANSIGray': ['#999999', 247],
\ 'ANSIDarkGray': ['#555555', 240],
\ 'ANSIBrightRed': ['#FF8785', 210],
\ 'ANSIBrightGreen': ['#A8C023', 142],
\ 'ANSIBrightYellow': ['#FFFF00', 226],
\ 'ANSIBrightBlue': ['#7EAEF1', 110],
\ 'ANSIBrightMagenta': ['#FF99FF', 219],
\ 'ANSIBrightCyan': ['#6CDADA', 116],
\ 'ANSIWhite': ['#1F1F1F', 234],
\ 'UIBlue': ['#3592C4', 67],
\ 'UIGreen': ['#499C54', 71],
\ 'UIRed': ['#C75450', 131],
\ 'UIBrown': ['#93896C', 102]
\ }
" expose the palette
let darcula#palette=s:p
" helper function
function s:Hi(group, fg, ...)
" arguments: group, fg, bg, style
if a:0 >= 1
let bg=a:1
else
let bg=s:p.null
endif
if a:0 >= 2 && strlen(a:2)
let style=a:2
else
let style='NONE'
endif
let hiList = [
\ 'hi', a:group,
\ 'ctermfg=' . a:fg[1],
\ 'guifg=' . a:fg[0],
\ 'ctermbg=' . bg[1],
\ 'guibg=' . bg[0],
\ 'cterm=' . style,
\ 'gui=' . style
\ ]
execute join(hiList)
endfunction
" expose that function
function darcula#Hi(group, fg, ...)
if a:0 >= 2
call s:Hi(a:group, a:fg, a:1, a:2)
elseif a:0 == 1
call s:Hi(a:group, a:fg, a:1)
else
call s:Hi(a:group, a:fg)
endif
endfunction
call s:Hi('Normal', s:p.fg, s:p.bg)
call s:Hi('ColorColumn', s:p.null, s:p.wrapGuide)
call s:Hi('Conceal', s:p.muted, s:p.bg)
call s:Hi('Cursor', s:p.cursor)
hi! link lCursor Cursor
hi! link CursorIM Cursor
hi! link CursorColumn CursorLine
call s:Hi('CursorLine', s:p.null, s:p.cursorLine, 'NONE')
call s:Hi('DiffAdd', s:p.null, s:p.diffAdd)
call s:Hi('DiffChange', s:p.null, s:p.diffChange)
call s:Hi('DiffDelete', s:p.null, s:p.diffDelete)
call s:Hi('DiffText', s:p.null, s:p.diffText)
hi! link Directory NormalFg
hi! link EndOfBuffer NonText
call s:Hi('ErrorMsg', s:p.errorMsg)
call s:Hi('Error', s:p.error)
call s:Hi('VertSplit', s:p.muted)
call s:Hi('Folded', s:p.foldedFg, s:p.foldedBg)
hi! link FoldColumn Folded
call s:Hi('SignColumn', s:p.null, s:p.gutter)
call s:Hi('LineNr', s:p.lineNumber, s:p.gutter)
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
call s:Hi('CursorLineNr', s:p.cursorLineNr, s:p.cursorLine)
call s:Hi('MatchParen', s:p.matchBraceFg, s:p.matchBraceBg, 'bold')
call s:Hi('ModeMsg', s:p.stdOutput)
hi! link MoreMsg NormalFg
call s:Hi('NonText', s:p.muted)
call s:Hi('Pmenu', s:p.menuFg, s:p.menu)
call s:Hi('PmenuSel', s:p.menuFg, s:p.menuSel)
call s:Hi('PmenuSbar', s:p.menu, s:p.menu)
call s:Hi('PmenuThumb', s:p.menuSBar, s:p.menuSBar)
hi! link Question NormalFg
hi! link QuickFixLine NormalFg
call s:Hi('Search', s:p.null, s:p.search)
call s:Hi('IncSearch', s:p.null, s:p.incSearch)
hi! link SpecialKey NonText
call s:Hi('SpellBad', s:p.typo, s:p.null, 'underline')
hi! link SpellCap SpellBad
hi! link SpellLocal SpellBad
hi! link SpellRare SpellBad
call s:Hi('StatusLine', s:p.statusLineFg, s:p.statusLine)
call s:Hi('StatusLineNC', s:p.statusLineNC, s:p.statusLine)
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
call s:Hi('TabLine', s:p.statusLineFg, s:p.statusLine)
call s:Hi('TabLineFill', s:p.statusLine, s:p.statusLine)
call s:Hi('TabLineSel', s:p.fg, s:p.tabLineSel)
call s:Hi('Terminal', s:p.stdOutput, s:p.bg)
hi! link Title Special
call s:Hi('Visual', s:p.null, s:p.selection)
hi! link VisualNOS Visual
call s:Hi('WarningMsg', s:p.warning)
hi! link WildMenu PmenuSel
call s:Hi('Comment', s:p.comment)
hi! link Identifier NormalFg
hi! link Type Keyword
call s:Hi('Typedef', s:p.typeDef)
call s:Hi('Todo', s:p.todo, s:p.null, 'italic')
hi! link Special PreProc
call s:Hi('Constant', s:p.constant, s:p.null, 'italic')
call s:Hi('String', s:p.string)
hi! link Character String
call s:Hi('Number', s:p.number)
call s:Hi('Delimiter', s:p.delimiter)
call s:Hi('SpecialComment', s:p.specialComment, s:p.null, 'italic')
hi! link Statement Keyword
call s:Hi('Keyword', s:p.keyword)
call s:Hi('Underlined', s:p.fg, s:p.null, 'underline')
call s:Hi('PreProc', s:p.metaData)
hi! link Tag Keyword
call s:Hi('Debug', s:p.debug, s:p.null, 'italic')
call s:Hi('Function', s:p.function)
" helper groups
call s:Hi('docComment', s:p.docComment, s:p.null, 'italic')
call s:Hi('NormalFg', s:p.fg)
call s:Hi('GitAddStripe', s:p.addStripe, s:p.addStripe)
call s:Hi('GitChangeStripe', s:p.changeStripe, s:p.changeStripe)
call s:Hi('GitDeleteStripe', s:p.deleteStripe, s:p.gutter)
call s:Hi('CodeError', s:p.null, s:p.codeError)
call s:Hi('CodeWarning', s:p.null, s:p.codeWarning)
call s:Hi('CodeInfo', s:p.null, s:p.infoStripe)
call s:Hi('CodeHint', s:p.hintFg, s:p.hintBg)
call s:Hi('ErrorSign', s:p.errorStripe, s:p.gutter)
call s:Hi('WarningSign', s:p.warnStripe, s:p.gutter)
call s:Hi('InfoSign', s:p.infoStripe, s:p.gutter)
call s:Hi('HintSign', s:p.hintStripe, s:p.gutter)
call s:Hi('IdentifierUnderCaret', s:p.null, s:p.identifierUnderCaret)
call s:Hi('IdentifierUnderCaretWrite', s:p.null, s:p.identifierUnderCaretWrite)
call s:Hi('InstanceField', s:p.constant)
call s:Hi('UIDialog', s:p.fg, s:p.statusLine)