├── .config ├── X11 │ ├── Xresources │ ├── colors │ │ ├── ashes │ │ ├── badwolf │ │ ├── cellia │ │ ├── chalk │ │ ├── dracula │ │ ├── eighties │ │ ├── espresso │ │ ├── fantome │ │ ├── gruvbox-dark │ │ ├── iceberg │ │ ├── liontin │ │ ├── mocha │ │ ├── monokai │ │ ├── mostly-bright │ │ ├── nord │ │ ├── ocean │ │ ├── sharp │ │ ├── tomorrow │ │ ├── violla │ │ └── vluvy │ └── xinitrc ├── bsp-layout │ └── layoutrc ├── bspwm │ └── bspwmrc ├── dunst │ └── dunstrc ├── dwm │ ├── autostart.sh │ ├── bar │ └── blocks │ │ ├── backlight │ │ ├── battery │ │ ├── date │ │ ├── net │ │ ├── spotify │ │ ├── time │ │ └── volume ├── git │ └── config ├── gtk-2.0 │ └── gtkrc-2.0 ├── gtk-3.0 │ └── settings.ini ├── lf │ ├── cleaner │ ├── icons │ ├── lfrc │ └── scope ├── mpv │ └── mpv.conf ├── nvim │ ├── coc-settings.json │ └── init.vim ├── picom │ └── picom.conf ├── polybar │ └── config ├── search │ └── engine ├── suckless │ ├── dmenu │ │ └── config.h │ ├── dwm │ │ └── config.h │ ├── dwmblocks │ │ └── blocks.h │ ├── slock │ │ └── config.h │ ├── st │ │ └── config.h │ └── tabbed │ │ └── config.h ├── sxhkd │ └── sxhkdrc ├── wget │ └── wgetrc └── zsh │ ├── .dircolors │ ├── .zaliases │ ├── .zfunctions │ ├── .zprompt │ └── .zshrc ├── .local ├── bin │ ├── bri │ ├── bspwmbar │ ├── color │ ├── dimensions │ ├── dmn_clip │ ├── dmn_pass │ ├── dmn_power │ ├── dmn_run │ ├── dmn_scr │ ├── dmn_search │ ├── dmn_sudo │ ├── dmn_web │ ├── dotsinit │ ├── dotsinstall │ ├── fetch │ ├── lfub │ ├── lock │ ├── pacbac │ ├── pfetch │ ├── pipes │ ├── rotdir │ ├── setwall │ ├── swallow │ ├── unix │ └── vol └── share │ └── fonts │ ├── Crisp.ttf │ ├── siji.ttf │ └── tewimedium.ttf ├── .zprofile ├── LICENSE ├── Pictures ├── header.png └── screenshots │ └── 2020-04-23-203052_1366x1536_scrot.png └── README.md /.config/X11/Xresources: -------------------------------------------------------------------------------- 1 | !------------ 2 | ! Xft config 3 | !------------ 4 | 5 | Xft.dpi: 96 6 | Xft.antialias: true 7 | Xft.hinting: true 8 | Xft.rgba: rgb 9 | Xft.autohint: true 10 | Xft.hintstyle: hintslight 11 | Xft.lcdfilter: lcdfilter 12 | 13 | !-------------- 14 | ! Color Scheme 15 | !-------------- 16 | 17 | #include "colors/gruvbox-dark" 18 | 19 | !----------- 20 | ! st config 21 | !----------- 22 | 23 | st*font: JetBrains Mono:size=9:antialias=true:autohint=true 24 | st*fontalt0: Symbols Nerd Font:size=9:antialias=true:autohint=true 25 | st*fontalt1: Symbola:size=9:antialias=true:autohint=true 26 | st*borderpx: 10 27 | -------------------------------------------------------------------------------- /.config/X11/colors/ashes: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #565e65 3 | *.background: #f3f4f5 4 | *.cursorColor: #565e65 5 | 6 | ! black 7 | *.color0: #1c2023 8 | *.color8: #747c84 9 | 10 | ! red 11 | *.color1: #c7ae95 12 | *.color9: #c7ae95 13 | 14 | ! green 15 | *.color2: #95c7ae 16 | *.color10: #95c7ae 17 | 18 | ! yellow 19 | *.color3: #aec795 20 | *.color11: #aec795 21 | 22 | ! blue 23 | *.color4: #ae95c7 24 | *.color12: #ae95c7 25 | 26 | ! magenta 27 | *.color5: #c795ae 28 | *.color13: #c795ae 29 | 30 | ! cyan 31 | *.color6: #95aec7 32 | *.color14: #95aec7 33 | 34 | ! white 35 | *.color7: #c7ccd1 36 | *.color15: #f3f4f5 37 | -------------------------------------------------------------------------------- /.config/X11/colors/badwolf: -------------------------------------------------------------------------------- 1 | ! X11 colors pieced together by Dmitry Medvinsky. 2 | ! Based on Vim colorscheme "badwolf" pieced together by Steve Losh. 3 | 4 | ! Colors definition 5 | #define plain #f8f6f2 6 | #define snow #ffffff 7 | #define coal #000000 8 | 9 | #define brightgravel #d9cec3 10 | #define lightgravel #998f84 11 | #define gravel #857f78 12 | #define mediumgravel #666462 13 | #define deepgravel #45413b 14 | #define deepergravel #35322d 15 | #define darkgravel #242321 16 | #define blackgravel #1c1b1a 17 | #define blackestgravel #141413 18 | 19 | #define dalespale #fade3e 20 | #define dirtyblonde #f4cf86 21 | #define taffy #ff2c4b 22 | #define saltwatertaffy #8cffba 23 | #define tardis #0a9dff 24 | #define orange #ffa724 25 | #define lime #aeee00 26 | #define dress #ff9eb8 27 | #define toffee #b88853 28 | #define coffee #c7915b 29 | #define darkroast #88633f 30 | 31 | ! Resourses 32 | *background: blackgravel 33 | *foreground: plain 34 | *cursorColor: lime 35 | *scrollColor: deepgravel 36 | *fadeColor: snow 37 | *fading: 20 38 | 39 | ! black 40 | *color0: blackestgravel 41 | *color8: coal 42 | ! red 43 | *color1: taffy 44 | *color9: taffy 45 | ! green 46 | *color2: lime 47 | *color10: lime 48 | ! yellow 49 | *color3: dalespale 50 | *color11: orange 51 | ! blue 52 | *color4: tardis 53 | *color12: tardis 54 | ! magenta 55 | *color5: dress 56 | *color13: dress 57 | ! cyan 58 | *color6: saltwatertaffy 59 | *color14: saltwatertaffy 60 | ! white 61 | *color7: brightgravel 62 | *color15: snow 63 | -------------------------------------------------------------------------------- /.config/X11/colors/cellia: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #e0e0e0 3 | *.background: #343c48 4 | *.cursorColor: #ea80fc 5 | 6 | ! black 7 | *.color0: #616161 8 | *.color8: #757575 9 | 10 | ! red 11 | *.color1: #f06292 12 | *.color9: #f48fb1 13 | 14 | ! green 15 | *.color2: #c5e1a5 16 | *.color10: #dcedc8 17 | 18 | ! yellow 19 | *.color3: #ffe0b2 20 | *.color11: #fff3e0 21 | 22 | ! blue 23 | *.color4: #80cbc4 24 | *.color12: #b2dfdb 25 | 26 | ! magenta 27 | *.color5: #ce93d8 28 | *.color13: #e1bee7 29 | 30 | ! cyan 31 | *.color6: #80deea 32 | *.color14: #b2ebf2 33 | 34 | ! white 35 | *.color7: #bdbdbd 36 | *.color15: #e0e0e0 37 | -------------------------------------------------------------------------------- /.config/X11/colors/chalk: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #303030 3 | *.background: #f5f5f5 4 | *.cursorColor: #303030 5 | 6 | ! black 7 | *.color0: #151515 8 | *.color8: #505050 9 | 10 | ! red 11 | *.color1: #fb9fb1 12 | *.color9: #fb9fb1 13 | 14 | ! green 15 | *.color2: #acc267 16 | *.color10: #acc267 17 | 18 | ! yellow 19 | *.color3: #ddb26f 20 | *.color11: #ddb26f 21 | 22 | ! blue 23 | *.color4: #6fc2ef 24 | *.color12: #6fc2ef 25 | 26 | ! magenta 27 | *.color5: #e1a3ee 28 | *.color13: #e1a3ee 29 | 30 | ! cyan 31 | *.color6: #12cfc0 32 | *.color14: #12cfc0 33 | 34 | ! white 35 | *.color7: #d0d0d0 36 | *.color15: #f5f5f5 37 | -------------------------------------------------------------------------------- /.config/X11/colors/dracula: -------------------------------------------------------------------------------- 1 | ! Dracula Xresources palette 2 | *.foreground: #F8F8F2 3 | *.background: #282A36 4 | *.color0: #000000 5 | *.color8: #4D4D4D 6 | *.color1: #FF5555 7 | *.color9: #FF6E67 8 | *.color2: #50FA7B 9 | *.color10: #5AF78E 10 | *.color3: #F1FA8C 11 | *.color11: #F4F99D 12 | *.color4: #BD93F9 13 | *.color12: #CAA9FA 14 | *.color5: #FF79C6 15 | *.color13: #FF92D0 16 | *.color6: #8BE9FD 17 | *.color14: #9AEDFE 18 | *.color7: #BFBFBF 19 | *.color15: #E6E6E6 20 | -------------------------------------------------------------------------------- /.config/X11/colors/eighties: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #d3d0c8 3 | *.background: #2d2d2d 4 | *.cursorColor: #d3d0c8 5 | 6 | ! black 7 | *.color0: #2d2d2d 8 | *.color8: #747369 9 | 10 | ! red 11 | *.color1: #f2777a 12 | *.color9: #f2777a 13 | 14 | ! green 15 | *.color2: #99cc99 16 | *.color10: #99cc99 17 | 18 | ! yellow 19 | *.color3: #ffcc66 20 | *.color11: #ffcc66 21 | 22 | ! blue 23 | *.color4: #6699cc 24 | *.color12: #6699cc 25 | 26 | ! magenta 27 | *.color5: #cc99cc 28 | *.color13: #cc99cc 29 | 30 | ! cyan 31 | *.color6: #66cccc 32 | *.color14: #66cccc 33 | 34 | ! white 35 | *.color7: #d3d0c8 36 | *.color15: #f2f0ec 37 | -------------------------------------------------------------------------------- /.config/X11/colors/espresso: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #606060 3 | *.background: #ffffff 4 | *.cursorColor: #645240 5 | 6 | ! black 7 | *.color0 : #736060 8 | *.color8 : #5b4848 9 | 10 | ! red 11 | *.color1 : #e3788f 12 | *.color9 : #cb6077 13 | 14 | ! green 15 | *.color2 : #d6ed73 16 | *.color10 : #bec55b 17 | 18 | ! yellow 19 | *.color3 : #fcd49f 20 | *.color11 : #e4bc87 21 | 22 | ! blue 23 | *.color4 : #a2cbed 24 | *.color12 : #8ab3d5 25 | 26 | ! magenta 27 | *.color5 : #c0b3d1 28 | *.color13 : #a89bb9 29 | 30 | ! cyan 31 | *.color6 : #93e5cc 32 | *.color14 : #7bcdb4 33 | 34 | ! white 35 | *.color7 : #e0d8d6 36 | *.color15 : #c8c0be 37 | 38 | -------------------------------------------------------------------------------- /.config/X11/colors/fantome: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #d8dee8 3 | *.background: #2f343f 4 | *.cursorColor: #b48ead 5 | 6 | ! black 7 | *.color0 : #4b5262 8 | *.color8 : #434a5a 9 | 10 | ! red 11 | *.color1 : #bf616a 12 | *.color9 : #b3555e 13 | 14 | ! green 15 | *.color2 : #a3be8c 16 | *.color10 : #93ae7c 17 | 18 | ! yellow 19 | *.color3 : #ebcb8b 20 | *.color11 : #dbbb7b 21 | 22 | ! blue 23 | *.color4 : #81a1c1 24 | *.color12 : #7191b1 25 | 26 | ! magenta 27 | *.color5 : #b48ead 28 | *.color13 : #a6809f 29 | 30 | ! cyan 31 | *.color6 : #93e5cc 32 | *.color14 : #7bcdb4 33 | 34 | ! white 35 | *.color7 : #e5e9f0 36 | *.color15 : #d1d5dc 37 | 38 | ! rofi 39 | rofi.color-window: #2f343f, #2f343f, #2f343f 40 | rofi.color-normal: #2f343f, #d8dee8, #2f343f, #2f343f, #bf616a 41 | rofi.color-active: #2f343f, #b48ead, #2f343f, #2f343f, #93e5cc 42 | rofi.color-urgent: #2f343f, #ebcb8b, #2f343f, #2f343f, #ebcb8b -------------------------------------------------------------------------------- /.config/X11/colors/gruvbox-dark: -------------------------------------------------------------------------------- 1 | ! ----------------------------------------------------------------------------- 2 | ! File: gruvbox-dark.xresources 3 | ! Description: Retro groove colorscheme generalized 4 | ! Author: morhetz 5 | ! Source: https://github.com/morhetz/gruvbox-generalized 6 | ! Last Modified: 6 Sep 2014 7 | ! ----------------------------------------------------------------------------- 8 | 9 | ! hard contrast: *background: #1d2021 10 | *background: #282828 11 | ! soft contrast: *background: #32302f 12 | *foreground: #ebdbb2 13 | *cursorColor: #ebdbb2 14 | ! Black + DarkGrey 15 | *color0: #282828 16 | *color8: #928374 17 | ! DarkRed + Red 18 | *color1: #cc241d 19 | *color9: #fb4934 20 | ! DarkGreen + Green 21 | *color2: #98971a 22 | *color10: #b8bb26 23 | ! DarkYellow + Yellow 24 | *color3: #d79921 25 | *color11: #fabd2f 26 | ! DarkBlue + Blue 27 | *color4: #458588 28 | *color12: #83a598 29 | ! DarkMagenta + Magenta 30 | *color5: #b16286 31 | *color13: #d3869b 32 | ! DarkCyan + Cyan 33 | *color6: #689d6a 34 | *color14: #8ec07c 35 | ! LightGrey + White 36 | *color7: #a89984 37 | *color15: #ebdbb2 38 | -------------------------------------------------------------------------------- /.config/X11/colors/iceberg: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #c6c8d1 3 | *.background: #161821 4 | *.cursorColor: #c6c8d1 5 | 6 | ! black 7 | *.color0: #161821 8 | *.color8: #6b7089 9 | 10 | ! red 11 | *.color1: #e27878 12 | *.color9: #e98989 13 | 14 | ! green 15 | *.color2: #b4be82 16 | *.color10: #c0ca8e 17 | 18 | ! yellow 19 | *.color3: #e2a478 20 | *.color11: #e9b189 21 | 22 | ! blue 23 | *.color4: #84a0c6 24 | *.color12: #91acd1 25 | 26 | ! magenta 27 | *.color5: #a093c7 28 | *.color13: #ada0d3 29 | 30 | ! cyan 31 | *.color6: #89b8c2 32 | *.color14: #95c4ce 33 | 34 | ! white 35 | *.color7: #c6c8d1 36 | *.color15: #d2d4de 37 | -------------------------------------------------------------------------------- /.config/X11/colors/liontin: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #f5f5f0 3 | *.background: #263238 4 | *.cursorColor: #ce93d8 5 | 6 | ! black 7 | *.color0: #4d5066 8 | *.color8: #555870 9 | 10 | ! red 11 | *.color1: #e91e63 12 | *.color9: #ec407a 13 | 14 | ! green 15 | *.color2: #8bc34a 16 | *.color10: #9ccc65 17 | 18 | ! yellow 19 | *.color3: #ff7043 20 | *.color11: #ff8a65 21 | 22 | ! blue 23 | *.color4: #ba68c8 24 | *.color12: #ce93d8 25 | 26 | ! magenta 27 | *.color5: #f48fb1 28 | *.color13: #f8bbd0 29 | 30 | ! cyan 31 | *.color6: #29b6f6 32 | *.color14: #4fc3f7 33 | 34 | ! white 35 | *.color7: #e5e5e5 36 | *.color15: #f0f0f0 37 | -------------------------------------------------------------------------------- /.config/X11/colors/mocha: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #847260 3 | *.background: #ffffff 4 | *.cursorColor: #a89bb9 5 | 6 | ! black 7 | *.color0: #5b4848 8 | *.color8: #4b3838 9 | 10 | ! red 11 | *.color1: #cb6077 12 | *.color9: #bb5067 13 | 14 | ! green 15 | *.color2: #beb55b 16 | *.color10: #aea54b 17 | 18 | ! yellow 19 | *.color3: #f4bc87 20 | *.color11: #e4ac77 21 | 22 | ! blue 23 | *.color4: #8ab3b5 24 | *.color12: #7aa3a5 25 | 26 | ! magenta 27 | *.color5: #a89bb9 28 | *.color13: #988ba9 29 | 30 | ! cyan 31 | *.color6: #7bbda4 32 | *.color14: #6bad94 33 | 34 | ! white 35 | *.color7: #d0c8c6 36 | *.color15: #c0b8b6 37 | -------------------------------------------------------------------------------- /.config/X11/colors/monokai: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #f8f8f2 3 | *.background: #272822 4 | *.cursorColor: #f8f8f2 5 | 6 | ! black 7 | *.color0: #272822 8 | *.color8: #75715e 9 | 10 | ! red 11 | *.color1: #f92672 12 | *.color9: #f92672 13 | 14 | ! green 15 | *.color2: #a6e22e 16 | *.color10: #a6e22e 17 | 18 | ! yellow 19 | *.color3: #f4bf75 20 | *.color11: #f4bf75 21 | 22 | ! blue 23 | *.color4: #66d9ef 24 | *.color12: #66d9ef 25 | 26 | ! magenta 27 | *.color5: #ae81ff 28 | *.color13: #ae81ff 29 | 30 | ! cyan 31 | *.color6: #a1efe4 32 | *.color14: #a1efe4 33 | 34 | ! white 35 | *.color7: #f8f8f2 36 | *.color15: #f9f8f5 37 | -------------------------------------------------------------------------------- /.config/X11/colors/mostly-bright: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #474c57 3 | *.background: #ffffff 4 | *.cursorColor: #fec7cd 5 | 6 | ! black 7 | *.color0 : #737a8a 8 | *.color8 : #636a7a 9 | 10 | ! red 11 | *.color1 : #ef6b7b 12 | *.color9 : #e76373 13 | 14 | ! green 15 | *.color2 : #a1d569 16 | *.color10 : #99cd61 17 | 18 | ! yellow 19 | *.color3 : #f59335 20 | *.color11 : #ed8b2d 21 | 22 | ! blue 23 | *.color4 : #4ec2e8 24 | *.color12 : #46bae0 25 | 26 | ! magenta 27 | *.color5 : #fec7cd 28 | *.color13 : #f6bfc5 29 | 30 | ! cyan 31 | *.color6 : #95c1c0 32 | *.color14 : #8db9b8 33 | 34 | ! white 35 | *.color7 : #dde1e8 36 | *.color15 : #d5d9e0 37 | -------------------------------------------------------------------------------- /.config/X11/colors/nord: -------------------------------------------------------------------------------- 1 | ! Copyright (c) 2016-present Arctic Ice Studio 2 | ! Copyright (c) 2016-present Sven Greb 3 | 4 | ! Project: Nord XResources 5 | ! Version: 0.1.0 6 | ! Repository: https://github.com/arcticicestudio/nord-xresources 7 | ! License: MIT 8 | 9 | #define nord0 #2E3440 10 | #define nord1 #3B4252 11 | #define nord2 #434C5E 12 | #define nord3 #4C566A 13 | #define nord4 #D8DEE9 14 | #define nord5 #E5E9F0 15 | #define nord6 #ECEFF4 16 | #define nord7 #8FBCBB 17 | #define nord8 #88C0D0 18 | #define nord9 #81A1C1 19 | #define nord10 #5E81AC 20 | #define nord11 #BF616A 21 | #define nord12 #D08770 22 | #define nord13 #EBCB8B 23 | #define nord14 #A3BE8C 24 | #define nord15 #B48EAD 25 | 26 | ! Resources 27 | *.foreground: nord4 28 | *.background: nord0 29 | *.cursorColor: nord4 30 | *fading: 35 31 | *fadeColor: nord3 32 | 33 | ! Black 34 | *.color0: nord1 35 | *.color8: nord3 36 | ! Red 37 | *.color1: nord11 38 | *.color9: nord11 39 | ! Green 40 | *.color2: nord14 41 | *.color10: nord14 42 | ! Yellow 43 | *.color3: nord13 44 | *.color11: nord13 45 | ! Blue 46 | *.color4: nord9 47 | *.color12: nord9 48 | ! Magenta 49 | *.color5: nord15 50 | *.color13: nord15 51 | ! Cyan 52 | *.color6: nord8 53 | *.color14: nord7 54 | ! White 55 | *.color7: nord5 56 | *.color15: nord6 57 | -------------------------------------------------------------------------------- /.config/X11/colors/ocean: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #c0c5ce 3 | *.background: #2b303b 4 | *.cursorColor: #c0c5ce 5 | 6 | ! black 7 | *.color0: #2b303b 8 | *.color8: #65737e 9 | 10 | ! red 11 | *.color1: #bf616a 12 | *.color9: #bf616a 13 | 14 | ! green 15 | *.color2: #a3be8c 16 | *.color10: #a3be8c 17 | 18 | ! yellow 19 | *.color3: #ebcb8b 20 | *.color11: #ebcb8b 21 | 22 | ! blue 23 | *.color4: #8fa1b3 24 | *.color12: #8fa1b3 25 | 26 | ! magenta 27 | *.color5: #b48ead 28 | *.color13: #b48ead 29 | 30 | ! cyan 31 | *.color6: #96b5b4 32 | *.color14: #96b5b4 33 | 34 | ! white 35 | *.color7: #c0c5ce 36 | *.color15: #eff1f5 37 | -------------------------------------------------------------------------------- /.config/X11/colors/sharp: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #fafafa 3 | *.background: #212121 4 | *.cursorColor: #9575cd 5 | 6 | ! black 7 | *.color0: #616161 8 | *.color8: #757575 9 | 10 | ! red 11 | *.color1: #ff1744 12 | *.color9: #ff5252 13 | 14 | ! green 15 | *.color2: #388e3c 16 | *.color10: #43a047 17 | 18 | ! yellow 19 | *.color3: #e65100 20 | *.color11: #ef6c00 21 | 22 | ! blue 23 | *.color4: #2979ff 24 | *.color12: #448aff 25 | 26 | ! magenta 27 | *.color5: #d500f9 28 | *.color13: #e040fb 29 | 30 | ! cyan 31 | *.color6: #00838f 32 | *.color14: #0097a7 33 | 34 | ! white 35 | *.color7: #bdbdbd 36 | *.color15: #e0e0e0 37 | -------------------------------------------------------------------------------- /.config/X11/colors/tomorrow: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #c5c8c6 3 | *.background: #1d1f21 4 | *.cursorColor: #c5c8c6 5 | 6 | ! black 7 | *.color0: #1d1f21 8 | *.color8: #969896 9 | 10 | ! red 11 | *.color1: #cc6666 12 | *.color9: #cc6666 13 | 14 | ! green 15 | *.color2: #b5bd68 16 | *.color10: #b5bd68 17 | 18 | ! yellow 19 | *.color3: #f0c674 20 | *.color11: #f0c674 21 | 22 | ! blue 23 | *.color4: #81a2be 24 | *.color12: #81a2be 25 | 26 | ! magenta 27 | *.color5: #b294bb 28 | *.color13: #b294bb 29 | 30 | ! cyan 31 | *.color6: #8abeb7 32 | *.color14: #8abeb7 33 | 34 | ! white 35 | *.color7: #c5c8c6 36 | *.color15: #ffffff 37 | -------------------------------------------------------------------------------- /.config/X11/colors/violla: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #dee3e0 3 | *.background: #343c48 4 | *.cursorColor: #ce93d8 5 | 6 | ! black 7 | *.color0: #525d70 8 | *.color8: #59657a 9 | 10 | ! red 11 | *.color1: #ba5e50 12 | *.color9: #c46455 13 | 14 | ! green 15 | *.color2: #7cb342 16 | *.color10: #8bc34a 17 | 18 | ! yellow 19 | *.color3: #ffb74d 20 | *.color11: #ffc55a 21 | 22 | ! blue 23 | *.color4: #528580 24 | *.color12: #5a918c 25 | 26 | ! magenta 27 | *.color5: #b39ddb 28 | *.color13: #bca5e6 29 | 30 | ! cyan 31 | *.color6: #90caf9 32 | *.color14: #93d1ff 33 | 34 | ! white 35 | *.color7: #bdbdbd 36 | *.color15: #e0e0e0 37 | -------------------------------------------------------------------------------- /.config/X11/colors/vluvy: -------------------------------------------------------------------------------- 1 | ! special 2 | *.foreground: #fafafa 3 | *.background: #222d32 4 | *.cursorColor: #9575cd 5 | 6 | ! black 7 | *.color0: #4c4c4c 8 | *.color8: #6b6b6b 9 | 10 | ! red 11 | *.color1: #f50057 12 | *.color9: #ff4081 13 | 14 | ! green 15 | *.color2: #7cb342 16 | *.color10: #8bc34a 17 | 18 | ! yellow 19 | *.color3: #ffca28 20 | *.color11: #ffd54f 21 | 22 | ! blue 23 | *.color4: #42a5f5 24 | *.color12: #64b5f6 25 | 26 | ! magenta 27 | *.color5: #7986cb 28 | *.color13: #9fa8da 29 | 30 | ! cyan 31 | *.color6: #26a69a 32 | *.color14: #4db6ac 33 | 34 | ! white 35 | *.color7: #bdbdbd 36 | *.color15: #e0e0e0 37 | -------------------------------------------------------------------------------- /.config/X11/xinitrc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # merge xresources 4 | xrdb -merge ~/.config/X11/Xresources 5 | 6 | # remap caps to esc 7 | setxkbmap -option caps:escape 8 | 9 | # set cursor 10 | xsetroot -cursor_name left_ptr 11 | 12 | # increase key repeat rate 13 | xset r rate 250 30 14 | 15 | # set wallpaper 16 | setwall & 17 | 18 | # notification daemon 19 | dunst & 20 | 21 | # start compositor 22 | picom & 23 | 24 | # hide mouse when typing 25 | xbanish & 26 | 27 | # clipboard manager 28 | clipmenud & 29 | 30 | # start xautolock with slock 31 | xautolock -time 30 -locker slock & 32 | 33 | # dbus session 34 | if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then 35 | eval `dbus-launch --sh-syntax --exit-with-session` 36 | fi 37 | 38 | # start wm 39 | while true; do 40 | dwm 2> ~/.cache/dwm.log 41 | done 42 | -------------------------------------------------------------------------------- /.config/bsp-layout/layoutrc: -------------------------------------------------------------------------------- 1 | # Tall layout config 2 | TALL_RATIO=0.5; 3 | 4 | # Wide layout config 5 | WIDE_RATIO=0.5; 6 | -------------------------------------------------------------------------------- /.config/bspwm/bspwmrc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | sxhkd & 4 | bspwmbar & 5 | 6 | bspc monitor -d 1 2 3 4 5 6 7 8 9 7 | 8 | bspc config border_width 2 9 | bspc config window_gap 6 10 | bspc config top_padding 20 11 | bspc config bottom_padding 0 12 | bspc config left_padding 0 13 | bspc config right_padding 0 14 | bspc config split_ratio 0.50 15 | bspc config single_monocle true 16 | bspc config borderless_monocle true 17 | bspc config gapless_monocle true 18 | bspc config focus_follows_pointer true 19 | bspc config pointer_follows_focus true 20 | 21 | bspc config automatic_scheme alternate 22 | bspc config initial_polarity second_child 23 | 24 | bspc config normal_border_color "#32302f" 25 | bspc config focused_border_color "#458588" 26 | 27 | bspc rule -a floatst state=floating 28 | -------------------------------------------------------------------------------- /.config/dunst/dunstrc: -------------------------------------------------------------------------------- 1 | [global] 2 | monitor = 0 3 | follow = mouse 4 | width = 250 5 | height = 100 6 | origin = top-right 7 | offset = 10x32 8 | scale = 0 9 | notification_limit = 0 10 | progress_bar = true 11 | progress_bar_height = 10 12 | progress_bar_frame_width = 1 13 | progress_bar_min_width = 150 14 | progress_bar_max_width = 300 15 | indicate_hidden = yes 16 | transparency = 0 17 | separator_height = 2 18 | padding = 30 19 | horizontal_padding = 30 20 | text_icon_padding = 0 21 | frame_width = 1 22 | frame_color = "#aaaaaa" 23 | separator_color = frame 24 | sort = yes 25 | idle_threshold = 120 26 | font = JetBrains Mono 9 27 | line_height = 0 28 | markup = full 29 | format = "%s\n%b" 30 | alignment = left 31 | vertical_alignment = center 32 | show_age_threshold = 60 33 | ellipsize = middle 34 | ignore_newline = no 35 | stack_duplicates = true 36 | hide_duplicate_count = false 37 | show_indicators = yes 38 | icon_position = left 39 | min_icon_size = 0 40 | max_icon_size = 32 41 | icon_path = /usr/share/icons/Papirus/16x16/status/:/usr/share/icons/Papirus/16x16/devices/:/usr/share/icons/Papirus/16x16/apps/ 42 | sticky_history = yes 43 | history_length = 20 44 | dmenu = /usr/bin/dmenu -p dunst: 45 | browser = /usr/bin/xdg-open 46 | always_run_script = true 47 | title = Dunst 48 | class = Dunst 49 | corner_radius = 0 50 | ignore_dbusclose = false 51 | # layer = top 52 | force_xwayland = false 53 | force_xinerama = false 54 | mouse_left_click = close_current 55 | mouse_middle_click = do_action, close_current 56 | mouse_right_click = close_all 57 | 58 | [experimental] 59 | per_monitor_dpi = false 60 | 61 | [urgency_low] 62 | background = "#282828" 63 | foreground = "#ebdbb2" 64 | frame_color = "#98971a" 65 | timeout = 10 66 | #default_icon = /path/to/icon 67 | 68 | [urgency_normal] 69 | background = "#282828" 70 | foreground = "#ebdbb2" 71 | frame_color = "#98971a" 72 | timeout = 10 73 | #default_icon = /path/to/icon 74 | 75 | [urgency_critical] 76 | background = "#cc241d" 77 | foreground = "#282828" 78 | frame_color = "#cc241d" 79 | timeout = 0 80 | #default_icon = /path/to/icon 81 | 82 | #[transient_disable] 83 | # match_transient = yes 84 | # set_transient = no 85 | 86 | #[transient_history_ignore] 87 | # match_transient = yes 88 | # history_ignore = yes 89 | 90 | #[fullscreen_delay_everything] 91 | # fullscreen = delay 92 | #[fullscreen_show_critical] 93 | # msg_urgency = critical 94 | # fullscreen = show 95 | 96 | #[espeak] 97 | # summary = "*" 98 | # script = dunst_espeak.sh 99 | 100 | #[script-test] 101 | # summary = "*script*" 102 | # script = dunst_test.sh 103 | 104 | #[ignore] 105 | # summary = "foobar" 106 | # skip_display = true 107 | 108 | #[history-ignore] 109 | # summary = "foobar" 110 | # history_ignore = yes 111 | 112 | #[skip-display] 113 | # summary = "foobar" 114 | # skip_display = yes 115 | 116 | #[signed_on] 117 | # appname = Pidgin 118 | # summary = "*signed on*" 119 | # urgency = low 120 | 121 | #[signed_off] 122 | # appname = Pidgin 123 | # summary = *signed off* 124 | # urgency = low 125 | 126 | #[says] 127 | # appname = Pidgin 128 | # summary = *says* 129 | # urgency = critical 130 | 131 | #[twitter] 132 | # appname = Pidgin 133 | # summary = *twitter.com* 134 | # urgency = normal 135 | 136 | #[stack-volumes] 137 | # appname = "some_volume_notifiers" 138 | # set_stack_tag = "volume" 139 | 140 | vim: ft=cfg 141 | -------------------------------------------------------------------------------- /.config/dwm/autostart.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | pidof -s dwmblocks >/dev/null || dwmblocks & 4 | -------------------------------------------------------------------------------- /.config/dwm/bar: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | print_power() { 4 | status="$(cat /sys/class/power_supply/AC/online)" 5 | battery="$(cat /sys/class/power_supply/BAT0/capacity)" 6 | timer="$(acpi -b | grep "Battery" | awk '{print $5}' | cut -c 1-5)" 7 | if [ "${status}" == 1 ]; then 8 | echo -ne "^c#EBCB8B^ ^d^${battery}%" 9 | else 10 | echo -ne "^c#EBCB8B^ ^d^${battery}%" 11 | fi 12 | } 13 | 14 | print_backlight() { 15 | bl="$(xbacklight | sed 's/\..*//')" 16 | echo -ne "^c#81A1C1^ ^d^${bl}%" 17 | } 18 | 19 | print_wifi() { 20 | wifissid="$(nmcli -t -f NAME connection show --active)" 21 | wifiperc="$(grep "^\s*w" /proc/net/wireless | awk '{ print int($3 * 100 / 70) "%" }')" 22 | echo -ne "^c#B48EAD^ ^d^${wifiperc} ${wifissid}" 23 | } 24 | 25 | print_volume() { 26 | mix=`amixer get Master | tail -1` 27 | vol="$(amixer get Master | tail -n1 | sed -r 's/.*\[(.*)%\].*/\1/')" 28 | if [[ $mix == *\[off\]* ]]; then 29 | echo -ne "^c#8FBCBB^ ^d^Muted" 30 | elif [[ $mix == *\[on\]* ]]; then 31 | echo -ne "^c#88C0D0^ ^d^${vol}%" 32 | fi 33 | } 34 | 35 | print_date() { 36 | date="$(LC_ALL=C date "+%a %d %b")" 37 | echo -ne "^c#BF616A^ ^d^${date}" 38 | } 39 | 40 | print_time() { 41 | time="$(date "+%H:%M")" 42 | echo -ne "^c#A3BE8C^ ^d^${time}" 43 | } 44 | 45 | print_spotify() { 46 | if ! pgrep -x spotify >/dev/null; then 47 | echo ""; exit 48 | fi 49 | 50 | cmd="org.freedesktop.DBus.Properties.Get" 51 | domain="org.mpris.MediaPlayer2" 52 | path="/org/mpris/MediaPlayer2" 53 | 54 | meta=$(dbus-send --print-reply --dest=${domain}.spotify \ 55 | /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:${domain}.Player string:Metadata) 56 | 57 | artist=$(echo "$meta" | sed -nr '/xesam:artist"/,+2s/^ +string "(.*)"$/\1/p' | tail -1 | sed "s/\&/+/g") 58 | album=$(echo "$meta" | sed -nr '/xesam:album"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1) 59 | title=$(echo "$meta" | sed -nr '/xesam:title"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1 | sed "s/\&/+/g") 60 | 61 | echo -ne "^c#A3BE8C^ ^d^${*:-%artist% - %title%}" | sed "s/%artist%/$artist/g;s/%title%/$title/g;s/%album%/$album/g"i | sed 's/&/\\&/g' 62 | } 63 | 64 | print_wttr() { 65 | loc="Jülich" 66 | wttr="$(curl -s v2.wttr.in/${loc} | grep -e "Weather" | sed 's/C,.*/C/g; s/+//g; s/.*\[0m.//g; s/.//2')" 67 | echo -ne "${wttr}" 68 | } 69 | 70 | while true; do 71 | xsetroot -name " $(print_spotify) $(print_wifi) $(print_power) $(print_backlight) $(print_volume) $(print_date) $(print_time) " 72 | sleep 1 73 | done 74 | -------------------------------------------------------------------------------- /.config/dwm/blocks/backlight: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | backlight="$(xbacklight | sed 's/\..*//')" 4 | 5 | printf "%s%%\n" "^c#83a598^ ^d^$backlight" 6 | -------------------------------------------------------------------------------- /.config/dwm/blocks/battery: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | status="$(cat /sys/class/power_supply/AC/online)" 4 | battery="$(cat /sys/class/power_supply/BAT0/capacity)" 5 | 6 | if [ $status = "1" ]; then 7 | case ${battery%?} in 8 | 10) i='' ;; 9 | 9) i='' ;; 10 | 8) i='' ;; 11 | [6-7]) i='' ;; 12 | [4-5]) i='' ;; 13 | 3) i='' ;; 14 | [1-2]) i='' ;; 15 | *) i='' 16 | esac 17 | else 18 | case ${battery%?} in 19 | 9|10) i='' ;; 20 | 8) i='' ;; 21 | 7) i='' ;; 22 | 6) i='' ;; 23 | 5) i='' ;; 24 | 4) i='' ;; 25 | 3) i='' ;; 26 | 2) i='' ;; 27 | 1) i='' ;; 28 | *) i='' 29 | esac 30 | fi 31 | 32 | printf "%s%%\n" "^c#d79921^$i^d^ $battery" 33 | -------------------------------------------------------------------------------- /.config/dwm/blocks/date: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | date="$(LC_ALL=C date "+%a %d %b")" 4 | 5 | printf "%s\n" "^c#cc241d^ ^d^$date" 6 | -------------------------------------------------------------------------------- /.config/dwm/blocks/net: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ethstatus="$(cat /sys/class/net/enp0s25/operstate)" 4 | wifistatus="$(cat /sys/class/net/wlp3s0/operstate)" 5 | wifissid="$(nmcli -t -f NAME connection show --active)" 6 | wifiperc="$(grep "^\s*w" /proc/net/wireless | awk '{ print int($3 * 100 / 70) "%" }')" 7 | 8 | if [ $ethstatus = "up" ]; then 9 | netstatus="^c#b16286^ ^d^Ether" 10 | elif [ $wifistatus = "up" ]; then 11 | netstatus="^c#b16286^直 ^d^$wifiperc" 12 | else 13 | netstatus="^c#b16286^睊 ^d^Down" 14 | fi 15 | 16 | printf "%s\n" "$netstatus" 17 | -------------------------------------------------------------------------------- /.config/dwm/blocks/spotify: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import dbus 4 | 5 | try: 6 | bus = dbus.SessionBus() 7 | spotify = bus.get_object("org.mpris.MediaPlayer2.spotify", "/org/mpris/MediaPlayer2") 8 | spotify_iface = dbus.Interface(spotify, 'org.freedesktop.DBus.Properties') 9 | props = spotify_iface.Get('org.mpris.MediaPlayer2.Player', 'Metadata') 10 | print("^c#b8bb26^ ^d^" + str(props['xesam:artist'][0]) + " - " + str(props['xesam:title'])) 11 | except dbus.exceptions.DBusException: 12 | exit 13 | -------------------------------------------------------------------------------- /.config/dwm/blocks/time: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | time="$(date "+%H:%M")" 4 | 5 | printf "%s\n" "^c#98971a^ ^d^$time" 6 | -------------------------------------------------------------------------------- /.config/dwm/blocks/volume: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | mute="$(pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}')" 4 | vol="$(pactl get-sink-volume @DEFAULT_SINK@ | awk '{print $5}' | sed 's/\%//g')" 5 | 6 | if [ $mute == yes ]; then 7 | printf "^c#8ec07c^婢 ^d^Muted" 8 | else 9 | case ${vol%?} in 10 | [6-9]|10) i='' ;; 11 | [3-5]) i='墳' ;; 12 | *) i='' 13 | esac 14 | printf "%s%%\n" "^c#689d6a^$i^d^ $vol" 15 | fi 16 | -------------------------------------------------------------------------------- /.config/git/config: -------------------------------------------------------------------------------- 1 | [core] 2 | editor = $EDITOR 3 | pager = $PAGER 4 | [user] 5 | signingkey = 313858BD269FBEC7 6 | name = crian 7 | email = crian84@gmail.com 8 | [push] 9 | default = simple 10 | [color] 11 | ui = auto 12 | [commit] 13 | gpgsign = true 14 | [format] 15 | signoff = true 16 | [credential] 17 | helper = cache --timeout=3000 18 | [alias] 19 | a = add 20 | aa = add -A 21 | c = commit 22 | ca = commit --amend 23 | cs = commit -s 24 | cp = cherry-pick 25 | cpa = cherry-pick --abort 26 | cpc = cherry-pick --continue 27 | cpe = cherry-pick --edit 28 | d = diff 29 | rh = reset --hard 30 | m = merge --signoff 31 | ma = merge --abort 32 | mc = merge --continue 33 | p = push 34 | pf = push --force 35 | pr = pull --rebase 36 | s = status 37 | [http] 38 | postBuffer = 524288000 39 | -------------------------------------------------------------------------------- /.config/gtk-2.0/gtkrc-2.0: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT! This file will be overwritten by LXAppearance. 2 | # Any customization should be done in ~/.gtkrc-2.0.mine instead. 3 | 4 | include "/home/crian/.gtkrc-2.0.mine" 5 | gtk-theme-name="Arc-Gruvbox" 6 | gtk-icon-theme-name="Papirus-Dark" 7 | gtk-font-name="Cantarell 9" 8 | gtk-cursor-theme-name="Adwaita" 9 | gtk-cursor-theme-size=0 10 | gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ 11 | gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR 12 | gtk-button-images=0 13 | gtk-menu-images=0 14 | gtk-enable-event-sounds=1 15 | gtk-enable-input-feedback-sounds=1 16 | gtk-xft-antialias=1 17 | gtk-xft-hinting=1 18 | gtk-xft-hintstyle="hintslight" 19 | gtk-xft-rgba="rgb" 20 | -------------------------------------------------------------------------------- /.config/gtk-3.0/settings.ini: -------------------------------------------------------------------------------- 1 | [Settings] 2 | gtk-theme-name=Arc-Gruvbox 3 | gtk-icon-theme-name=Papirus-Dark 4 | gtk-font-name=Cantarell 9 5 | gtk-cursor-theme-name=Adwaita 6 | gtk-cursor-theme-size=0 7 | gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ 8 | gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR 9 | gtk-button-images=0 10 | gtk-menu-images=0 11 | gtk-enable-event-sounds=1 12 | gtk-enable-input-feedback-sounds=1 13 | gtk-xft-antialias=1 14 | gtk-xft-hinting=1 15 | gtk-xft-hintstyle=hintslight 16 | gtk-xft-rgba=rgb 17 | -------------------------------------------------------------------------------- /.config/lf/cleaner: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -n "$FIFO_UEBERZUG" ]; then 4 | printf '{"action": "remove", "identifier": "PREVIEW"}\n' > "$FIFO_UEBERZUG" 5 | fi -------------------------------------------------------------------------------- /.config/lf/icons: -------------------------------------------------------------------------------- 1 | export LF_ICONS="\ 2 | di=:\ 3 | fi=:\ 4 | ln=:\ 5 | or=:\ 6 | ex=:\ 7 | *.vimrc=:\ 8 | *.viminfo=:\ 9 | *.gitignore=:\ 10 | *.c=:\ 11 | *.cc=:\ 12 | *.clj=:\ 13 | *.coffee=:\ 14 | *.cpp=:\ 15 | *.css=:\ 16 | *.d=:\ 17 | *.dart=:\ 18 | *.erl=:\ 19 | *.exs=:\ 20 | *.fs=:\ 21 | *.go=:\ 22 | *.h=:\ 23 | *.hh=:\ 24 | *.hpp=:\ 25 | *.hs=:\ 26 | *.html=:\ 27 | *.java=:\ 28 | *.jl=:\ 29 | *.js=:\ 30 | *.json=:\ 31 | *.lua=:\ 32 | *.md=:\ 33 | *.php=:\ 34 | *.pl=:\ 35 | *.pro=:\ 36 | *.py=:\ 37 | *.rb=:\ 38 | *.rs=:\ 39 | *.scala=:\ 40 | *.ts=:\ 41 | *.vim=:\ 42 | *.cmd=:\ 43 | *.ps1=:\ 44 | *.sh=:\ 45 | *.bash=:\ 46 | *.zsh=:\ 47 | *.fish=:\ 48 | *.tar=:\ 49 | *.tgz=:\ 50 | *.arc=:\ 51 | *.arj=:\ 52 | *.taz=:\ 53 | *.lha=:\ 54 | *.lz4=:\ 55 | *.lzh=:\ 56 | *.lzma=:\ 57 | *.tlz=:\ 58 | *.txz=:\ 59 | *.tzo=:\ 60 | *.t7z=:\ 61 | *.zip=:\ 62 | *.z=:\ 63 | *.dz=:\ 64 | *.gz=:\ 65 | *.lrz=:\ 66 | *.lz=:\ 67 | *.lzo=:\ 68 | *.xz=:\ 69 | *.zst=:\ 70 | *.tzst=:\ 71 | *.bz2=:\ 72 | *.bz=:\ 73 | *.tbz=:\ 74 | *.tbz2=:\ 75 | *.tz=:\ 76 | *.deb=:\ 77 | *.rpm=:\ 78 | *.jar=:\ 79 | *.war=:\ 80 | *.ear=:\ 81 | *.sar=:\ 82 | *.rar=:\ 83 | *.alz=:\ 84 | *.ace=:\ 85 | *.zoo=:\ 86 | *.cpio=:\ 87 | *.7z=:\ 88 | *.rz=:\ 89 | *.cab=:\ 90 | *.wim=:\ 91 | *.swm=:\ 92 | *.dwm=:\ 93 | *.esd=:\ 94 | *.jpg=:\ 95 | *.jpeg=:\ 96 | *.mjpg=:\ 97 | *.mjpeg=:\ 98 | *.gif=:\ 99 | *.bmp=:\ 100 | *.pbm=:\ 101 | *.pgm=:\ 102 | *.ppm=:\ 103 | *.tga=:\ 104 | *.xbm=:\ 105 | *.xpm=:\ 106 | *.tif=:\ 107 | *.tiff=:\ 108 | *.png=:\ 109 | *.svg=:\ 110 | *.svgz=:\ 111 | *.mng=:\ 112 | *.pcx=:\ 113 | *.mov=:\ 114 | *.mpg=:\ 115 | *.mpeg=:\ 116 | *.m2v=:\ 117 | *.mkv=:\ 118 | *.webm=:\ 119 | *.ogm=:\ 120 | *.mp4=:\ 121 | *.m4v=:\ 122 | *.mp4v=:\ 123 | *.vob=:\ 124 | *.qt=:\ 125 | *.nuv=:\ 126 | *.wmv=:\ 127 | *.asf=:\ 128 | *.rm=:\ 129 | *.rmvb=:\ 130 | *.flc=:\ 131 | *.avi=:\ 132 | *.fli=:\ 133 | *.flv=:\ 134 | *.gl=:\ 135 | *.dl=:\ 136 | *.xcf=:\ 137 | *.xwd=:\ 138 | *.yuv=:\ 139 | *.cgm=:\ 140 | *.emf=:\ 141 | *.ogv=:\ 142 | *.ogx=:\ 143 | *.aac=:\ 144 | *.au=:\ 145 | *.flac=:\ 146 | *.m4a=:\ 147 | *.mid=:\ 148 | *.midi=:\ 149 | *.mka=:\ 150 | *.mp3=:\ 151 | *.mpc=:\ 152 | *.ogg=:\ 153 | *.ra=:\ 154 | *.wav=:\ 155 | *.oga=:\ 156 | *.opus=:\ 157 | *.spx=:\ 158 | *.xspf=:\ 159 | *.pdf=:\ 160 | *.nix=:\ 161 | " 162 | -------------------------------------------------------------------------------- /.config/lf/lfrc: -------------------------------------------------------------------------------- 1 | # Basic vars 2 | set cleaner ~/.config/lf/cleaner 3 | set previewer ~/.config/lf/scope 4 | set shellopts '-eu' 5 | set ifs "\n" 6 | set scrolloff 10 7 | set icons 8 | set hidden 9 | set drawbox 10 | set period 1 11 | set autoquit on 12 | 13 | # cmds/functions 14 | cmd open ${{ 15 | case $(file --mime-type "$(readlink -f $f)" -b) in 16 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet) localc $fx ;; 17 | image/vnd.djvu|application/pdf|application/octet-stream|application/postscript) setsid -f zathura $fx >/dev/null 2>&1 ;; 18 | text/*|application/json|inode/x-empty) $EDITOR $fx;; 19 | image/x-xcf) setsid -f gimp $f >/dev/null 2>&1 ;; 20 | image/svg+xml) display -- $f ;; 21 | image/*) rotdir $f | grep -i "\.\(png\|jpg\|jpeg\|gif\|webp\|tif\|ico\)\(_large\)*$" | 22 | setsid -f sxiv -aio 2>/dev/null | while read -r file; do 23 | [ -z "$file" ] && continue 24 | lf -remote "send select \"$file\"" 25 | lf -remote "send toggle" 26 | done & 27 | ;; 28 | audio/*) mpv --audio-display=no $f ;; 29 | video/*) setsid -f mpv $f -quiet >/dev/null 2>&1 ;; 30 | application/pdf|application/vnd*|application/epub*) setsid -f zathura $fx >/dev/null 2>&1 ;; 31 | application/pgp-encrypted) $EDITOR $fx ;; 32 | application/vnd.openxmlformats-officedocument.wordprocessingml.document|application/vnd.oasis.opendocument.text) setsid -f lowriter $fx >/dev/null 2>&1 ;; 33 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet|application/octet-stream|application/vnd.oasis.opendocument.spreadsheet|application/vnd.oasis.opendocument.spreadsheet-template) setsid -f localc $fx >/dev/null 2>&1 ;; 34 | application/vnd.openxmlformats-officedocument.presentationml.presentation|application/vnd.oasis.opendocument.presentation-template|application/vnd.oasis.opendocument.presentation|application/vnd.ms-powerpoint) setsid -f loimpress $fx >/dev/null 2>&1 ;; 35 | application/vnd.oasis.opendocument.graphics|application/vnd.oasis.opendocument.graphics-template) setsid -f lodraw $fx >/dev/null 2>&1 ;; 36 | application/vnd.oasis.opendocument.formula) setsid -f lomath $fx >/dev/null 2>&1 ;; 37 | application/vnd.oasis.opendocument.database) setsid -f lobase $fx >/dev/null 2>&1 ;; 38 | *) for f in $fx; do setsid -f $OPENER $f >/dev/null 2>&1; done;; 39 | esac 40 | }} 41 | 42 | cmd moveto ${{ 43 | dest="$(cd $HOME && fd -a -H -t d | fzf --header='Move to where?' --preview '')" && 44 | mv -iv $fx $dest && 45 | notify-send "File(s) moved to $dest" 46 | }} 47 | 48 | cmd copyto ${{ 49 | dest="$(cd $HOME && fd -a -H -t d | fzf --header='Copy to where?' --preview '')" && 50 | cp -ivr $fx $dest && 51 | notify-send "File(s) copied to $dest" 52 | }} 53 | 54 | cmd mkdir $mkdir -p "$(echo $* | tr ' ' '\ ')" 55 | 56 | cmd mkfile $touch "$(echo $* | tr ' ' '\ ')" 57 | 58 | cmd chmod $chmod "$@" "$fx" 59 | 60 | cmd trash ${{ 61 | files=$(printf "$fx" | tr '\n' ';') 62 | while [ "$files" ]; do 63 | file=${files%%;*} 64 | trash-put "$(basename "$file")" 65 | if [ "$files" = "$file" ]; then 66 | files='' 67 | else 68 | files="${files#*;}" 69 | fi 70 | done 71 | notify-send "$file moved to trash" 72 | }} 73 | 74 | cmd trashclear ${{ 75 | printf "Clear trash?[y/N]" 76 | read ans 77 | [ $ans = "y" ] && trash-empty && 78 | notify-send "Cleared trash" 79 | }} 80 | 81 | cmd trashrestore ${{ 82 | trash-restore && 83 | notify-send "Restored from trash" 84 | }} 85 | 86 | cmd trashopen ${{ 87 | lf -remote "send $id cd ~/.local/share/Trash/files" 88 | }} 89 | 90 | cmd rename %[ -e $1 ] && printf "File exists" || mv $f $1 91 | 92 | cmd setwp %setwall "$f" 93 | 94 | cmd term ${{ 95 | setsid -f $TERMINAL >/dev/null 2>&1 & 96 | }} 97 | 98 | # Bindings 99 | map m 100 | map c 101 | map R reload 102 | map T term 103 | map J jumptodir 104 | map C copyto 105 | map M moveto 106 | map md push :mkdir 107 | map mf push :mkfile 108 | map cm push :chmod 109 | map to trashopen 110 | map td trash 111 | map tc trashclear 112 | map tr trashrestore 113 | map w setwp 114 | map r push :rename 115 | map shell 116 | map g top 117 | map x cut 118 | map d delete 119 | map X !$f 120 | map o $mimeopen --ask "$f" 121 | -------------------------------------------------------------------------------- /.config/lf/scope: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # File preview handler for lf. 4 | 5 | set -C -f 6 | IFS="$(printf '%b_' '\n')"; IFS="${IFS%_}" 7 | 8 | image() { 9 | if [ -f "$1" ] && [ -n "$DISPLAY" ] && [ -z "$WAYLAND_DISPLAY" ] && command -V ueberzug >/dev/null 2>&1; then 10 | printf '{"action": "add", "identifier": "PREVIEW", "x": "%s", "y": "%s", "width": "%s", "height": "%s", "scaler": "contain", "path": "%s"}\n' "$4" "$5" "$(($2-1))" "$(($3-1))" "$1" > "$FIFO_UEBERZUG" 11 | else 12 | mediainfo "$6" 13 | fi 14 | } 15 | 16 | ifub() { 17 | [ -n "$DISPLAY" ] && [ -z "$WAYLAND_DISPLAY" ] && command -V ueberzug >/dev/null 2>&1 18 | } 19 | 20 | # Note that the cache file name is a function of file information, meaning if 21 | # an image appears in multiple places across the machine, it will not have to 22 | # be regenerated once seen. 23 | 24 | case "$(file --dereference --brief --mime-type -- "$1")" in 25 | image/*) image "$1" "$2" "$3" "$4" "$5" "$1" ;; 26 | text/html) lynx -width="$4" -display_charset=utf-8 -dump "$1" ;; 27 | text/troff) man ./ "$1" | col -b ;; 28 | text/* | */xml | application/json) bat --terminal-width "$(($4-2))" -f "$1" ;; 29 | application/zip) atool --list -- "$1" ;; 30 | audio/* | application/octet-stream) mediainfo "$1" || exit 1 ;; 31 | video/* ) 32 | CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/lf/thumb.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | cut -d' ' -f1)" 33 | [ ! -f "$CACHE" ] && ffmpegthumbnailer -i "$1" -o "$CACHE" -s 0 34 | image "$CACHE" "$2" "$3" "$4" "$5" "$1" 35 | ;; 36 | */pdf) 37 | CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/lf/thumb.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | cut -d' ' -f1)" 38 | [ ! -f "$CACHE.jpg" ] && pdftoppm -jpeg -f 1 -singlefile "$1" "$CACHE" 39 | image "$CACHE.jpg" "$2" "$3" "$4" "$5" "$1" 40 | ;; 41 | *opendocument*) odt2txt "$1" ;; 42 | application/pgp-encrypted) gpg -d -- "$1" ;; 43 | esac 44 | exit 1 -------------------------------------------------------------------------------- /.config/mpv/mpv.conf: -------------------------------------------------------------------------------- 1 | # Use hardware decoding 2 | hwdec=auto 3 | -------------------------------------------------------------------------------- /.config/nvim/coc-settings.json: -------------------------------------------------------------------------------- 1 | { 2 | // preferences 3 | "coc.preferences.colorSupport": true, 4 | "coc.preferences.snippetStatusText": "Ⓢ ", 5 | // suggest 6 | "suggest.noselect": false, 7 | "suggest.detailField": "abbr", 8 | "suggest.snippetIndicator": "", 9 | "suggest.removeDuplicateItems": true, 10 | "suggest.triggerAfterInsertEnter": true, 11 | "suggest.timeout": 2000, 12 | "suggest.minTriggerInputLength": 1, 13 | "suggest.completionItemKindLabels": { 14 | "function": "\uf794", 15 | "method": "\uf6a6", 16 | "variable": "\uf71b", 17 | "constant": "\uf8ff", 18 | "struct": "\ufb44", 19 | "class": "\uf0e8", 20 | "interface": "\ufa52", 21 | "text": "\ue612", 22 | "enum": "\uf435", 23 | "enumMember": "\uf02b", 24 | "module": "\uf668", 25 | "color": "\ue22b", 26 | "property": "\ufab6", 27 | "field": "\uf93d", 28 | "unit": "\uf475", 29 | "file": "\uf471", 30 | "value": "\uf8a3", 31 | "event": "\ufacd", 32 | "folder": "\uf115", 33 | "keyword": "\uf893", 34 | "snippet": "\uf64d", 35 | "operator": "\uf915", 36 | "reference": "\uf87a", 37 | "typeParameter": "\uf278", 38 | "default": "\uf29c" 39 | }, 40 | // diagnostic 41 | "diagnostic.displayByAle": false, 42 | "diagnostic.refreshOnInsertMode": true, 43 | "diagnostic.errorSign": "✘", 44 | "diagnostic.warningSign": "⚠", 45 | "diagnostic.infoSign": "", 46 | "diagnostic.hintSign": "ஐ", 47 | "diagnostic.refreshAfterSave": true, 48 | "diagnostic.checkCurrentLine": true, 49 | "diagnostic.virtualTextPrefix": " ❯❯❯ ", 50 | "diagnostic.virtualText": true, 51 | "diagnostic.enableMessage": "never", 52 | // list 53 | "list.source.grep.command": "rg", 54 | // git 55 | "git.signOffset": 9999999, 56 | "git.topRemovedSign.text": "▌", 57 | "git.changeRemovedSign.text": "▌", 58 | "git.removedSign.text": "▌", 59 | "git.addedSign.text": "▌", 60 | "git.changedSign.text": "▌" 61 | } 62 | -------------------------------------------------------------------------------- /.config/nvim/init.vim: -------------------------------------------------------------------------------- 1 | "---------------- 2 | " Plugin Manager 3 | "---------------- 4 | 5 | " Vim-Plug 6 | let vimplug_exists=expand('~/.config/nvim/autoload/plug.vim') 7 | 8 | if !filereadable(vimplug_exists) 9 | if !executable("curl") 10 | echoerr "You have to install curl or first install vim-plug yourself!" 11 | execute "q!" 12 | endif 13 | echo "Installing Vim-Plug..." 14 | echo "" 15 | silent exec "!\curl -fLo " . vimplug_exists . " --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" 16 | let g:not_finish_vimplug = "yes" 17 | autocmd VimEnter * PlugInstall 18 | endif 19 | 20 | " Plugins 21 | call plug#begin(expand('~/.config/nvim/plugged')) 22 | Plug 'gruvbox-community/gruvbox' 23 | Plug 'vim-airline/vim-airline' 24 | Plug 'vim-airline/vim-airline-themes' 25 | Plug 'ryanoasis/vim-devicons' 26 | Plug 'junegunn/goyo.vim' 27 | Plug 'neoclide/coc.nvim', {'branch': 'release'} 28 | Plug 'junegunn/fzf.vim' 29 | Plug 'honza/vim-snippets' 30 | Plug 'SirVer/ultisnips' 31 | Plug 'Yggdroot/indentLine' 32 | Plug 'jiangmiao/auto-pairs' 33 | Plug 'mhinz/vim-startify' 34 | Plug 'sheerun/vim-polyglot' 35 | Plug 'tpope/vim-fugitive' 36 | Plug 'airblade/vim-gitgutter' 37 | Plug 'jreybert/vimagit' 38 | Plug 'psliwka/vim-smoothie' 39 | Plug 'tpope/vim-eunuch' 40 | Plug 'norcalli/nvim-colorizer.lua' 41 | Plug 'lambdalisue/suda.vim' 42 | Plug 'luochen1990/rainbow' 43 | call plug#end() 44 | 45 | "------------------ 46 | " General settings 47 | "------------------ 48 | 49 | set termguicolors " Opaque Background 50 | set mouse=a " enable mouse scrolling 51 | set clipboard+=unnamedplus " use system clipboard by default 52 | filetype plugin indent on " enable indentations 53 | set tabstop=4 softtabstop=4 shiftwidth=4 autoindent " tab key actions 54 | set expandtab " convert tabs to spaces 55 | set incsearch ignorecase smartcase hlsearch " highlight text while searching 56 | set list listchars=trail:»,tab:»- " use tab to navigate in list mode 57 | set fillchars+=vert:\▏ " requires a patched nerd font 58 | set wrap breakindent " wrap long lines to the width set by tw 59 | set tw=90 " auto wrap lines that are longer than that 60 | set encoding=utf-8 " text encoding 61 | set number " enable numbers on the left 62 | set relativenumber " current line is 0 63 | set noshowmode " disable showing modes 64 | set noshowcmd " to get rid of display of last command 65 | set title " tab title as file file 66 | set conceallevel=2 " set this so we wont break indentation plugin 67 | set splitright " open vertical split to the right 68 | set splitbelow " open horizontal split to the bottom 69 | set emoji " enable emojis 70 | au BufEnter * set fo-=c fo-=r fo-=o " stop annoying auto commenting on new lines 71 | set history=1000 " history limit 72 | set backspace=indent,eol,start " sensible backspacing 73 | set undofile " enable persistent undo 74 | set undodir=/tmp " undo temp file directory 75 | set foldlevel=0 " open all folds by default 76 | set inccommand=nosplit " visual feedback while substituting 77 | set showtabline=2 " always show tabline 78 | set grepprg=rg\ --vimgrep " use rg as default grepper 79 | set autoread " re-read file if changed outside vim 80 | set lazyredraw " no redraw wihle executing macros,... 81 | set redrawtime=10000 " redraw time 82 | set synmaxcol=180 " avoid very slow redrawing 83 | set nocursorline 84 | set nocursorcolumn 85 | set scrolljump=5 86 | set re=1 87 | " required by coc 88 | set hidden " hide buffer when abandoned 89 | set nobackup " no backup file 90 | set nowritebackup " no backup before overwriting file 91 | set cmdheight=1 " number of lines for command-line 92 | set updatetime=300 " milliseconds before writing swap 93 | set shortmess+=c " don't give |ins-completion-menu| messages 94 | set signcolumn=yes " always draw signcolumn 95 | 96 | " Colors 97 | set background=dark 98 | colorscheme gruvbox 99 | hi Comment gui=italic cterm=italic " italic comments 100 | hi Search guibg=#b16286 guifg=#ebdbb2 gui=NONE " search string highlight color 101 | hi NonText guifg=bg " mask ~ on empty lines 102 | hi clear CursorLineNr " use the theme color for relative number 103 | hi CursorLineNr gui=bold " make relative number bold 104 | hi SpellBad guifg=NONE gui=bold,undercurl " misspelled words 105 | " colors for git (especially the gutter) 106 | hi DiffAdd guibg=#1d2021 guifg=#98971a 107 | hi DiffChange guibg=#1d2021 guifg=#d79921 108 | hi DiffRemoved guibg=#1d2021 guifg=#cc241d 109 | " coc multi cursor highlight color 110 | hi CocCursorRange guibg=#b16286 guifg=#ebdbb2 111 | 112 | "----------------- 113 | " Plugin settings 114 | "----------------- 115 | 116 | " built in plugins 117 | let g:loaded_netrw = 0 " disable netew 118 | let g:omni_sql_no_default_maps = 1 " disable sql omni completion 119 | let g:loaded_python_provider = 0 120 | let g:loaded_perl_provider = 0 121 | let g:loaded_ruby_provider = 0 122 | let g:python3_host_prog = expand('/usr/bin/python3') 123 | 124 | " Airline 125 | let g:airline_theme='gruvbox' 126 | let g:airline_skip_empty_sections = 1 127 | let g:airline_section_warning = '' 128 | let g:airline_section_x='' 129 | let g:airline_section_z = airline#section#create(['%3p%% ', 'linenr', ':%c']) 130 | let g:airline#parts#ffenc#skip_expected_string='utf-8[unix]' 131 | let g:airline#extensions#tabline#enabled = 1 132 | let g:airline#extensions#tabline#buffer_min_count = 2 " show tabline only if there is more than 1 buffer 133 | let g:airline#extensions#tabline#fnamemod = ':t' " show only file name on tabs 134 | let airline#extensions#coc#error_symbol = '✘:' 135 | let airline#extensions#coc#warning_symbol = '⚠:' 136 | if !exists('g:airline_symbols') 137 | let g:airline_symbols = {} 138 | endif 139 | let g:airline_symbols.linenr = '' 140 | let g:airline_symbols.branch = '⎇ ' 141 | let g:airline_symbols.dirty= '' 142 | 143 | "" Conquer of Completion 144 | " Navigate snippet placeholders using tab 145 | let g:coc_snippet_next = '' 146 | let g:coc_snippet_prev = '' 147 | 148 | " list of the extensions required 149 | let g:coc_global_extensions = [ 150 | \'coc-yank', 151 | \'coc-json', 152 | \'coc-lists', 153 | \'coc-syntax', 154 | \'coc-git', 155 | \'coc-snippets', 156 | \'coc-ultisnips', 157 | \'coc-actions', 158 | \'coc-highlight', 159 | \] 160 | 161 | " indentLine 162 | let g:indentLine_char_list = ['|', '¦', '┆', '┊'] 163 | let g:indentLine_setColors = 0 164 | let g:indentLine_setConceal = 0 " actually fix the annoying markdown links conversion 165 | let g:indentLine_fileTypeExclude = ['startify'] 166 | 167 | "" startify 168 | let g:startify_padding_left = 10 169 | let g:startify_session_persistence = 1 170 | let g:startify_enable_special = 0 171 | let g:startify_change_to_vcs_root = 1 172 | let g:startify_lists = [ 173 | \ { 'type': 'dir' }, 174 | \ { 'type': 'files' }, 175 | \ { 'type': 'sessions' }, 176 | \ { 'type': 'bookmarks' }, 177 | \ { 'type': 'commands' }, 178 | \ ] 179 | " bookmark examples 180 | let g:startify_bookmarks = [ 181 | \ {'v': '~/.config/nvim/init.vim'}, 182 | \ ] 183 | " custom commands 184 | let g:startify_commands = [ 185 | \ {'ch': ['Health Check', ':checkhealth']}, 186 | \ {'ps': ['Plugins status', ':PlugStatus']}, 187 | \ {'up': ['Update vim plugins',':PlugUpdate | PlugUpgrade']}, 188 | \ {'uc': ['Update coc Plugins', ':CocUpdate']}, 189 | \ {'h': ['Help', ':help']}, 190 | \ ] 191 | " custom banner 192 | let g:startify_custom_header = [ 193 | \ '', 194 | \ ' ▟▙ ', 195 | \ ' ▝▘ ', 196 | \ ' ██▃▅▇█▆▖ ▗▟████▙▖ ▄████▄ ██▄ ▄██ ██ ▗▟█▆▄▄▆█▙▖', 197 | \ ' ██▛▔ ▝██ ██▄▄▄▄██ ██▛▔▔▜██ ▝██ ██▘ ██ ██▛▜██▛▜██', 198 | \ ' ██ ██ ██▀▀▀▀▀▘ ██▖ ▗██ ▜█▙▟█▛ ██ ██ ██ ██', 199 | \ ' ██ ██ ▜█▙▄▄▄▟▊ ▀██▙▟██▀ ▝████▘ ██ ██ ██ ██', 200 | \ ' ▀▀ ▀▀ ▝▀▀▀▀▀ ▀▀▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀', 201 | \ '', 202 | \ '', 203 | \ '', 204 | \] 205 | 206 | " rainbow brackets 207 | let g:rainbow_active = 1 208 | 209 | "" FZF 210 | let g:fzf_action = { 211 | \ 'ctrl-t': 'tab split', 212 | \ 'ctrl-x': 'split', 213 | \ 'ctrl-v': 'vsplit' } 214 | let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'border': 'sharp' } } 215 | let g:fzf_tags_command = 'ctags -R' 216 | let $FZF_DEFAULT_OPTS = '--layout=reverse --inline-info' 217 | let $FZF_DEFAULT_COMMAND = "rg --files --hidden --glob '!.git/**'" 218 | 219 | " Colorizer 220 | lua require'colorizer'.setup() 221 | 222 | " Suda 223 | let g:suda_smart_edit = 1 224 | 225 | " Auto Pairs 226 | let g:AutoPairsMultilineClose = 0 227 | 228 | " Gitgutter 229 | let g:gitgutter_enabled = 1 230 | let g:gitgutter_grep='' 231 | 232 | "--------------- 233 | " Commands 234 | "--------------- 235 | 236 | au BufEnter * set fo-=c fo-=r fo-=o " stop annoying auto commenting on new lines 237 | au FileType help wincmd L " open help in vertical split 238 | au BufWritePre * :%s/\s\+$//e " remove trailing whitespaces before saving 239 | au CursorHold * silent call CocActionAsync('highlight') " highlight match on cursor hold 240 | 241 | " enable spell only if file type is normal text 242 | let spellable = ['markdown', 'gitcommit', 'txt', 'text'] 243 | autocmd BufEnter * if index(spellable, &ft) < 0 | set nospell | else | set spell | endif 244 | 245 | " coc completion popup 246 | autocmd! CompleteDone * if pumvisible() == 0 | pclose | endif 247 | 248 | " startify if no passed argument or all buffers are closed 249 | augroup noargs 250 | " startify when there is no open buffer left 251 | autocmd BufDelete * if empty(filter(tabpagebuflist(), '!buflisted(v:val)')) | Startify | endif 252 | 253 | " open startify on start if no argument was passed 254 | autocmd VimEnter * if argc() == 0 | Startify | endif 255 | augroup END 256 | 257 | " fzf if passed argument is a folder 258 | augroup folderarg 259 | " change working directory to passed directory 260 | autocmd VimEnter * if argc() != 0 && isdirectory(argv()[0]) | execute 'cd' fnameescape(argv()[0]) | endif 261 | 262 | " start startify (fallback if fzf is closed) 263 | autocmd VimEnter * if argc() != 0 && isdirectory(argv()[0]) | Startify | endif 264 | 265 | " start fzf on passed directory 266 | autocmd VimEnter * if argc() != 0 && isdirectory(argv()[0]) | execute 'Files ' fnameescape(argv()[0]) | endif 267 | augroup END 268 | 269 | " Return to last edit position when opening files 270 | autocmd BufReadPost * 271 | \ if line("'\"") > 0 && line("'\"") <= line("$") | 272 | \ exe "normal! g`\"" | 273 | \ endif 274 | 275 | " format with available file format formatter 276 | command! -nargs=0 Format :call CocAction('format') 277 | 278 | " organize imports 279 | command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') 280 | 281 | " files in fzf 282 | command! -bang -nargs=? -complete=dir Files 283 | \ call fzf#vim#files(, fzf#vim#with_preview({'options': ['--layout=reverse', '--inline-info']}), 0) 284 | 285 | " advanced grep 286 | command! -nargs=* -bang Rg call RipgrepFzf(, 0) 287 | 288 | " relative numbers on normal mode only 289 | augroup numbertoggle 290 | autocmd! 291 | autocmd InsertLeave * set relativenumber 292 | autocmd InsertEnter * set norelativenumber 293 | augroup END 294 | 295 | "----------- 296 | " Functions 297 | "----------- 298 | 299 | " advanced grep(faster with preview) 300 | function! RipgrepFzf(query, fullscreen) 301 | let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' 302 | let initial_command = printf(command_fmt, shellescape(a:query)) 303 | let reload_command = printf(command_fmt, '{q}') 304 | let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} 305 | call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) 306 | endfunction 307 | 308 | " startify file icons 309 | function! StartifyEntryFormat() 310 | return 'WebDevIconsGetFileTypeSymbol(absolute_path) ." ". entry_path' 311 | endfunction 312 | 313 | " check if last inserted char is a backspace (used by coc pmenu) 314 | function! s:check_back_space() abort 315 | let col = col('.') - 1 316 | return !col || getline('.')[col - 1] =~# '\s' 317 | endfunction 318 | 319 | " show docs on things with K 320 | function! s:show_documentation() 321 | if (index(['vim','help'], &filetype) >= 0) 322 | execute 'h '.expand('') 323 | else 324 | call CocAction('doHover') 325 | endif 326 | endfunction 327 | 328 | " Toggle Tabs/Spaces 329 | function! TabToggle() 330 | if &expandtab 331 | set shiftwidth=4 332 | set softtabstop=0 333 | set noexpandtab 334 | else 335 | set shiftwidth=4 336 | set softtabstop=4 337 | set expandtab 338 | endif 339 | endfunction 340 | 341 | "---------- 342 | " Mappings 343 | "---------- 344 | 345 | " general 346 | let mapleader="," 347 | nnoremap ; : 348 | nmap w :w 349 | nmap wq :wq 350 | noremap :q! 351 | nmap q :bd 352 | nmap \ q 353 | noremap e :PlugInstall 354 | nmap r :so ~/.config/nvim/init.vim 355 | nmap :bnext 356 | nmap :bprevious 357 | map :Startify 358 | nmap g :Goyo 359 | nmap mz:execute TabToggle()'z 360 | 361 | " new line in normal mode and back 362 | map o 363 | map O 364 | 365 | " use a different buffer for dd 366 | nnoremap d "_d 367 | vnoremap d "_d 368 | vnoremap p "_dP 369 | nnoremap x "_x 370 | 371 | " emulate windows copy/cut behavior 372 | vnoremap "+y 373 | vnoremap "+d 374 | 375 | " switch between splits using ctrl + {h,j,k,l} 376 | tnoremap h 377 | tnoremap j 378 | tnoremap k 379 | tnoremap l 380 | inoremap h 381 | inoremap j 382 | inoremap k 383 | inoremap l 384 | nnoremap h 385 | noremap j 386 | nnoremap k 387 | nnoremap l 388 | 389 | " disable hl with 2 esc 390 | noremap :noh 391 | 392 | " trim white spaces 393 | nnoremap :let _s=@/:%s/\s\+$//e:let @/=_s 394 | 395 | "" FZF 396 | nnoremap f :Files 397 | nmap b :Buffers 398 | nmap c :Commands 399 | nmap t :BTags 400 | nmap / :Rg 401 | nmap gc :Commits 402 | nmap gs :GFiles? 403 | nmap sh :History/ 404 | " show mapping on all modes with F1 405 | nmap (fzf-maps-n) 406 | imap (fzf-maps-i) 407 | vmap (fzf-maps-x) 408 | 409 | "" coc 410 | " use tab to navigate snippet placeholders 411 | inoremap 412 | \ pumvisible() ? "\" : 413 | \ check_back_space() ? "\" : 414 | \ coc#refresh() 415 | inoremap pumvisible() ? "\" : "\" 416 | " Use enter to accept snippet expansion 417 | inoremap pumvisible() ? "\" : "\" 418 | " multi cursor shortcuts 419 | nmap (coc-cursors-word) 420 | xmap (coc-cursors-range) 421 | " Use `[g` and `]g` to navigate diagnostics 422 | nmap [g (coc-diagnostic-prev) 423 | nmap ]g (coc-diagnostic-next) 424 | " other stuff 425 | nmap rn (coc-rename) 426 | nmap o :OR 427 | " jump stuff 428 | nmap jd (coc-definition) 429 | nmap jy (coc-type-definition) 430 | nmap ji (coc-implementation) 431 | nmap jr (coc-references) 432 | " other coc actions 433 | xmap a :execute 'CocCommand actions.open ' . visualmode() 434 | nmap a :CocCommand actions.open 435 | nnoremap K :call show_documentation() 436 | 437 | " fugitive 438 | nmap gd :Gdiffsplit 439 | nmap gb :Gblame 440 | 441 | " vimagit 442 | map m :Magit 443 | -------------------------------------------------------------------------------- /.config/picom/picom.conf: -------------------------------------------------------------------------------- 1 | ################################# 2 | # Shadows # 3 | ################################# 4 | 5 | 6 | # Enabled client-side shadows on windows. Note desktop windows 7 | # (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, 8 | # unless explicitly requested using the wintypes option. 9 | # 10 | # shadow = false 11 | shadow = true; 12 | 13 | # The blur radius for shadows, in pixels. (defaults to 12) 14 | # shadow-radius = 12 15 | shadow-radius = 2; 16 | 17 | # The opacity of shadows. (0.0 - 1.0, defaults to 0.75) 18 | shadow-opacity = 0.4; 19 | 20 | # The left offset for shadows, in pixels. (defaults to -15) 21 | # shadow-offset-x = -15 22 | shadow-offset-x = 2; 23 | 24 | # The top offset for shadows, in pixels. (defaults to -15) 25 | # shadow-offset-y = -15 26 | shadow-offset-y = 2; 27 | 28 | # Avoid drawing shadows on dock/panel windows. This option is deprecated, 29 | # you should use the *wintypes* option in your config file instead. 30 | # 31 | # no-dock-shadow = false 32 | 33 | # Don't draw shadows on drag-and-drop windows. This option is deprecated, 34 | # you should use the *wintypes* option in your config file instead. 35 | # 36 | # no-dnd-shadow = false 37 | 38 | # Red color value of shadow (0.0 - 1.0, defaults to 0). 39 | # shadow-red = 0 40 | 41 | # Green color value of shadow (0.0 - 1.0, defaults to 0). 42 | # shadow-green = 0 43 | 44 | # Blue color value of shadow (0.0 - 1.0, defaults to 0). 45 | # shadow-blue = 0 46 | 47 | # Do not paint shadows on shaped windows. Note shaped windows 48 | # here means windows setting its shape through X Shape extension. 49 | # Those using ARGB background is beyond our control. 50 | # Deprecated, use 51 | # shadow-exclude = 'bounding_shaped' 52 | # or 53 | # shadow-exclude = 'bounding_shaped && !rounded_corners' 54 | # instead. 55 | # 56 | # shadow-ignore-shaped = '' 57 | 58 | # Specify a list of conditions of windows that should have no shadow. 59 | # 60 | # examples: 61 | # shadow-exclude = "n:e:Notification"; 62 | # 63 | # shadow-exclude = [] 64 | shadow-exclude = [ 65 | "! name~=''", 66 | "name = 'Notification'", 67 | "class_g = 'Polybar'", 68 | "class_g = 'lemonbar'", 69 | "class_g = 'Bar'", 70 | "_GTK_FRAME_EXTENTS@:c", 71 | "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'", 72 | "override_redirect = 1 && !WM_CLASS@:s" 73 | ]; 74 | 75 | # Specify a X geometry that describes the region in which shadow should not 76 | # be painted in, such as a dock window region. Use 77 | # shadow-exclude-reg = "x10+0+0" 78 | # for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. 79 | # 80 | # shadow-exclude-reg = "" 81 | 82 | # Crop shadow of a window fully on a particular Xinerama screen to the screen. 83 | # xinerama-shadow-crop = false 84 | 85 | 86 | ################################# 87 | # Fading # 88 | ################################# 89 | 90 | 91 | # Fade windows in/out when opening/closing and when opacity changes, 92 | # unless no-fading-openclose is used. 93 | # fading = false 94 | fading = true; 95 | 96 | # Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) 97 | # fade-in-step = 0.028 98 | fade-in-step = 0.03; 99 | 100 | # Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) 101 | # fade-out-step = 0.03 102 | fade-out-step = 0.03; 103 | 104 | # The time between steps in fade step, in milliseconds. (> 0, defaults to 10) 105 | fade-delta = 4; 106 | 107 | # Specify a list of conditions of windows that should not be faded. 108 | # fade-exclude = [] 109 | 110 | # Do not fade on window open/close. 111 | # no-fading-openclose = false 112 | 113 | # Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. 114 | # no-fading-destroyed-argb = false 115 | 116 | 117 | ################################# 118 | # Transparency / Opacity # 119 | ################################# 120 | 121 | 122 | # Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) 123 | # inactive-opacity = 1 124 | inactive-opacity = 0.8; 125 | 126 | # Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) 127 | # frame-opacity = 1.0 128 | frame-opacity = 0.7; 129 | 130 | # Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0) 131 | #menu-opacity = 1.0; 132 | 133 | # Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. 134 | # inactive-opacity-override = true 135 | inactive-opacity-override = false; 136 | 137 | # Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) 138 | active-opacity = 1.0; 139 | 140 | # Dim inactive windows. (0.0 - 1.0, defaults to 0.0) 141 | inactive-dim = 0.0; 142 | 143 | # Specify a list of conditions of windows that should always be considered focused. 144 | # focus-exclude = [] 145 | focus-exclude = [ "class_g = 'Cairo-clock'" ]; 146 | 147 | # Use fixed inactive dim value, instead of adjusting according to window opacity. 148 | # inactive-dim-fixed = 1.0 149 | 150 | # Specify a list of opacity rules, in the format `PERCENT:PATTERN`, 151 | # like `50:name *= "Firefox"`. picom-trans is recommended over this. 152 | # Note we don't make any guarantee about possible conflicts with other 153 | # programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. 154 | # example: 155 | # opacity-rule = [ "80:class_g = 'URxvt'" ]; 156 | # 157 | # opacity-rule = [] 158 | 159 | 160 | ################################# 161 | # Background-Blurring # 162 | ################################# 163 | 164 | 165 | # Parameters for background blurring, see the *BLUR* section for more information. 166 | # blur-method = 167 | # blur-size = 12 168 | # 169 | # blur-deviation = false 170 | 171 | # Blur background of semi-transparent / ARGB windows. 172 | # Bad in performance, with driver-dependent behavior. 173 | # The name of the switch may change without prior notifications. 174 | # 175 | # blur-background = false 176 | 177 | # Blur background of windows when the window frame is not opaque. 178 | # Implies: 179 | # blur-background 180 | # Bad in performance, with driver-dependent behavior. The name may change. 181 | # 182 | # blur-background-frame = false 183 | 184 | 185 | # Use fixed blur strength rather than adjusting according to window opacity. 186 | # blur-background-fixed = false 187 | 188 | 189 | # Specify the blur convolution kernel, with the following format: 190 | # example: 191 | # blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; 192 | # 193 | # blur-kern = '' 194 | blur-kern = "3x3box"; 195 | 196 | 197 | # Exclude conditions for background blur. 198 | # blur-background-exclude = [] 199 | blur-background-exclude = [ 200 | "window_type = 'dock'", 201 | "window_type = 'desktop'", 202 | "_GTK_FRAME_EXTENTS@:c" 203 | ]; 204 | 205 | ################################# 206 | # General Settings # 207 | ################################# 208 | 209 | # Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. 210 | # daemon = false 211 | 212 | # Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. 213 | # `xrender` is the default one. 214 | # 215 | # backend = 'glx' 216 | backend = "glx"; 217 | 218 | # Enable/disable VSync. 219 | # vsync = false 220 | vsync = true; 221 | 222 | # Enable remote control via D-Bus. See the *D-BUS API* section below for more details. 223 | # dbus = false 224 | 225 | # Try to detect WM windows (a non-override-redirect window with no 226 | # child that has 'WM_STATE') and mark them as active. 227 | # 228 | # mark-wmwin-focused = false 229 | mark-wmwin-focused = true; 230 | 231 | # Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. 232 | # mark-ovredir-focused = false 233 | mark-ovredir-focused = true; 234 | 235 | # Try to detect windows with rounded corners and don't consider them 236 | # shaped windows. The accuracy is not very high, unfortunately. 237 | # 238 | # detect-rounded-corners = false 239 | detect-rounded-corners = true; 240 | 241 | # Detect '_NET_WM_OPACITY' on client windows, useful for window managers 242 | # not passing '_NET_WM_OPACITY' of client windows to frame windows. 243 | # 244 | # detect-client-opacity = false 245 | detect-client-opacity = true; 246 | 247 | # Specify refresh rate of the screen. If not specified or 0, picom will 248 | # try detecting this with X RandR extension. 249 | # 250 | # refresh-rate = 60 251 | refresh-rate = 0; 252 | 253 | # Limit picom to repaint at most once every 1 / 'refresh_rate' second to 254 | # boost performance. This should not be used with 255 | # vsync drm/opengl/opengl-oml 256 | # as they essentially does sw-opti's job already, 257 | # unless you wish to specify a lower refresh rate than the actual value. 258 | # 259 | # sw-opti = 260 | 261 | # Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, 262 | # rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, 263 | # provided that the WM supports it. 264 | # 265 | # use-ewmh-active-win = false 266 | 267 | # Unredirect all windows if a full-screen opaque window is detected, 268 | # to maximize performance for full-screen windows. Known to cause flickering 269 | # when redirecting/unredirecting windows. 270 | # 271 | # unredir-if-possible = false 272 | 273 | # Delay before unredirecting the window, in milliseconds. Defaults to 0. 274 | # unredir-if-possible-delay = 0 275 | 276 | # Conditions of windows that shouldn't be considered full-screen for unredirecting screen. 277 | # unredir-if-possible-exclude = [] 278 | 279 | # Use 'WM_TRANSIENT_FOR' to group windows, and consider windows 280 | # in the same group focused at the same time. 281 | # 282 | # detect-transient = false 283 | detect-transient = true; 284 | 285 | # Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same 286 | # group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if 287 | # detect-transient is enabled, too. 288 | # 289 | # detect-client-leader = false 290 | detect-client-leader = true; 291 | 292 | # Resize damaged region by a specific number of pixels. 293 | # A positive value enlarges it while a negative one shrinks it. 294 | # If the value is positive, those additional pixels will not be actually painted 295 | # to screen, only used in blur calculation, and such. (Due to technical limitations, 296 | # with use-damage, those pixels will still be incorrectly painted to screen.) 297 | # Primarily used to fix the line corruption issues of blur, 298 | # in which case you should use the blur radius value here 299 | # (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, 300 | # with a 5x5 one you use `--resize-damage 2`, and so on). 301 | # May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. 302 | # 303 | # resize-damage = 1 304 | 305 | # Specify a list of conditions of windows that should be painted with inverted color. 306 | # Resource-hogging, and is not well tested. 307 | # 308 | # invert-color-include = [] 309 | 310 | # GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. 311 | # Might cause incorrect opacity when rendering transparent content (but never 312 | # practically happened) and may not work with blur-background. 313 | # My tests show a 15% performance boost. Recommended. 314 | # 315 | glx-no-stencil = true; 316 | 317 | # GLX backend: Avoid rebinding pixmap on window damage. 318 | # Probably could improve performance on rapid window content changes, 319 | # but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). 320 | # Recommended if it works. 321 | # 322 | # glx-no-rebind-pixmap = false 323 | 324 | # Disable the use of damage information. 325 | # This cause the whole screen to be redrawn everytime, instead of the part of the screen 326 | # has actually changed. Potentially degrades the performance, but might fix some artifacts. 327 | # The opposing option is use-damage 328 | # 329 | # no-use-damage = false 330 | use-damage = true; 331 | 332 | # Use X Sync fence to sync clients' draw calls, to make sure all draw 333 | # calls are finished before picom starts drawing. Needed on nvidia-drivers 334 | # with GLX backend for some users. 335 | # 336 | # xrender-sync-fence = false 337 | 338 | # GLX backend: Use specified GLSL fragment shader for rendering window contents. 339 | # See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` 340 | # in the source tree for examples. 341 | # 342 | # glx-fshader-win = '' 343 | 344 | # Force all windows to be painted with blending. Useful if you 345 | # have a glx-fshader-win that could turn opaque pixels transparent. 346 | # 347 | # force-win-blend = false 348 | 349 | # Do not use EWMH to detect fullscreen windows. 350 | # Reverts to checking if a window is fullscreen based only on its size and coordinates. 351 | # 352 | # no-ewmh-fullscreen = false 353 | 354 | # Dimming bright windows so their brightness doesn't exceed this set value. 355 | # Brightness of a window is estimated by averaging all pixels in the window, 356 | # so this could comes with a performance hit. 357 | # Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) 358 | # 359 | # max-brightness = 1.0 360 | 361 | # Make transparent windows clip other windows like non-transparent windows do, 362 | # instead of blending on top of them. 363 | # 364 | # transparent-clipping = false 365 | 366 | # Set the log level. Possible values are: 367 | # "trace", "debug", "info", "warn", "error" 368 | # in increasing level of importance. Case doesn't matter. 369 | # If using the "TRACE" log level, it's better to log into a file 370 | # using *--log-file*, since it can generate a huge stream of logs. 371 | # 372 | # log-level = "debug" 373 | log-level = "warn"; 374 | 375 | # Set the log file. 376 | # If *--log-file* is never specified, logs will be written to stderr. 377 | # Otherwise, logs will to written to the given file, though some of the early 378 | # logs might still be written to the stderr. 379 | # When setting this option from the config file, it is recommended to use an absolute path. 380 | # 381 | # log-file = '/path/to/your/log/file' 382 | 383 | # Show all X errors (for debugging) 384 | # show-all-xerrors = false 385 | 386 | # Write process ID to a file. 387 | # write-pid-path = '/path/to/your/log/file' 388 | 389 | # Window type settings 390 | # 391 | # 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: 392 | # "unknown", "desktop", "dock", "toolbar", "menu", "utility", 393 | # "splash", "dialog", "normal", "dropdown_menu", "popup_menu", 394 | # "tooltip", "notification", "combo", and "dnd". 395 | # 396 | # Following per window-type options are available: :: 397 | # 398 | # fade, shadow::: 399 | # Controls window-type-specific shadow and fade settings. 400 | # 401 | # opacity::: 402 | # Controls default opacity of the window type. 403 | # 404 | # focus::: 405 | # Controls whether the window of this type is to be always considered focused. 406 | # (By default, all window types except "normal" and "dialog" has this on.) 407 | # 408 | # full-shadow::: 409 | # Controls whether shadow is drawn under the parts of the window that you 410 | # normally won't be able to see. Useful when the window has parts of it 411 | # transparent, and you want shadows in those areas. 412 | # 413 | # redir-ignore::: 414 | # Controls whether this type of windows should cause screen to become 415 | # redirected again after been unredirected. If you have unredir-if-possible 416 | # set, and doesn't want certain window to cause unnecessary screen redirection, 417 | # you can set this to `true`. 418 | # 419 | wintypes: 420 | { 421 | tooltip = { fade = true; shadow = true; opacity = 1; focus = true; full-shadow = false; }; 422 | dock = { shadow = false; }; 423 | dnd = { shadow = false; }; 424 | popup_menu = { opacity = 1; }; 425 | dropdown_menu = { opacity = 1; }; 426 | fullscreen = { fade = true; shadow = false; opacity = 1; focus = true; }; 427 | }; 428 | -------------------------------------------------------------------------------- /.config/polybar/config: -------------------------------------------------------------------------------- 1 | [colors] 2 | bg = ${xrdb:background} 3 | fg = ${xrdb:foreground} 4 | black = ${xrdb:color0} 5 | black-alt = ${xrdb:color8} 6 | red = ${xrdb:color1} 7 | red-alt = ${xrdb:color9} 8 | green = ${xrdb:color2} 9 | green-alt = ${xrdb:color10} 10 | yellow = ${xrdb:color3} 11 | yellow-alt = ${xrdb:color11} 12 | blue = ${xrdb:color4} 13 | blue-alt = ${xrdb:color12} 14 | magenta = ${xrdb:color5} 15 | magenta-alt = ${xrdb:color13} 16 | cyan = ${xrdb:color6} 17 | cyan-alt = ${xrdb:color14} 18 | white = ${xrdb:color7} 19 | white-alt = ${xrdb:color15} 20 | bg-alt = #32302f 21 | 22 | [fonts] 23 | font-0 = "JetBrains Mono:size=9:antialias=true:autohint=false;2" 24 | font-1 = "Symbols Nerd Font:size=9:antialias=true:autohint=false;2" 25 | font-2 = "siji:size=11:antialias=true:autohint=true;2" 26 | 27 | 28 | [bar/bspwmbar] 29 | monitor = ${env:MONITOR:} 30 | width = 100% 31 | height = 22 32 | fixed-center = true 33 | 34 | background = ${colors.bg} 35 | foreground = ${colors.fg} 36 | 37 | overline-size = 2 38 | 39 | padding-left = 0 40 | padding-right = 0 41 | 42 | module-margin-left = 0 43 | module-margin-right = 0 44 | 45 | inherit = fonts 46 | 47 | modules-left = bspwm xwindow 48 | modules-center = 49 | modules-right = network battery xbacklight volume date time 50 | 51 | wm-restack = bspwm 52 | 53 | scroll-up = bspwm-desknext 54 | scroll-down = bspwm-deskprev 55 | 56 | cursor-click = pointer 57 | cursor-scroll = ns-resize 58 | 59 | enable-ipc = false 60 | 61 | 62 | [module/bspwm] 63 | type = internal/bspwm 64 | 65 | pin-workspaces = true 66 | inline-mode = false 67 | enable-click = true 68 | enable-scroll = false 69 | reverse-scroll = false 70 | fuzzy-match = true 71 | 72 | ws-icon-0 = 1; 73 | ws-icon-1 = 2; 74 | ws-icon-2 = 3; 75 | ws-icon-3 = 4; 76 | ws-icon-4 = 5; 77 | ws-icon-5 = 6; 78 | ws-icon-6 = 7; 79 | ws-icon-7 = 8; 80 | ws-icon-8 = 9; 81 | ws-icon-9 = 10; 82 | ws-icon-default = 83 | 84 | format = 85 | 86 | label-focused = %icon% 87 | label-focused-padding = 1 88 | label-focused-foreground = ${colors.blue} 89 | label-focused-background = ${colors.bg-alt} 90 | label-focused-overline = ${colors.blue} 91 | 92 | label-occupied = %icon% 93 | label-occupied-padding = 1 94 | label-occupied-background = ${colors.bg} 95 | label-occupied-foreground = ${colors.blue} 96 | 97 | label-urgent = %icon% 98 | label-urgent-padding = 1 99 | label-urgent-background = ${colors.bg} 100 | label-urgent-foreground = ${colors.red-alt} 101 | 102 | label-empty = %icon% 103 | label-empty-padding = 1 104 | label-empty-background = ${colors.bg} 105 | label-empty-foreground = ${colors.fg} 106 | 107 | 108 | [module/xwindow] 109 | type = internal/xwindow 110 | label = %title:0:60:...% 111 | format-foreground = ${colors.green} 112 | format-padding = 1 113 | 114 | 115 | [module/xbacklight] 116 | type = internal/xbacklight 117 | format =