├── .config ├── ranger │ ├── tagged │ ├── bookmarks │ ├── history │ ├── scope.sh │ └── rc.conf ├── nvim │ ├── .netrwhist │ └── init.vim ├── gtk-3.0 │ └── settings.ini ├── bspwm │ └── bspwmrc ├── termite │ └── config ├── fontconfig │ └── fonts.conf ├── cava │ └── config ├── zathura │ └── zathurarc ├── compton │ └── compton.conf ├── sxhkd │ └── sxhkdrc ├── polybar │ └── config ├── dunst │ └── dunstrc └── mpd │ └── mpd.conf ├── .wallpaper └── bg.jpg ├── .screenshots ├── 1.png ├── 2.png ├── 3.png ├── 4.png ├── 5.png └── 6.png ├── .bin ├── toggkbl ├── bright_down └── bright_up ├── .xinitrc ├── .gtkrc-2.0 ├── README.md ├── .tmux.conf ├── .rtorrent.rc ├── .zshrc ├── .Xresources └── .ncmpcpp └── config /.config/ranger/tagged: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.config/ranger/bookmarks: -------------------------------------------------------------------------------- 1 | ':/home/a21v 2 | -------------------------------------------------------------------------------- /.config/ranger/history: -------------------------------------------------------------------------------- 1 | open_with 2 | 3 | -------------------------------------------------------------------------------- /.wallpaper/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abdullaev/dotfiles_old/HEAD/.wallpaper/bg.jpg -------------------------------------------------------------------------------- /.screenshots/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abdullaev/dotfiles_old/HEAD/.screenshots/1.png -------------------------------------------------------------------------------- /.screenshots/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abdullaev/dotfiles_old/HEAD/.screenshots/2.png -------------------------------------------------------------------------------- /.screenshots/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abdullaev/dotfiles_old/HEAD/.screenshots/3.png -------------------------------------------------------------------------------- /.screenshots/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abdullaev/dotfiles_old/HEAD/.screenshots/4.png -------------------------------------------------------------------------------- /.screenshots/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abdullaev/dotfiles_old/HEAD/.screenshots/5.png -------------------------------------------------------------------------------- /.screenshots/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abdullaev/dotfiles_old/HEAD/.screenshots/6.png -------------------------------------------------------------------------------- /.bin/toggkbl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | (setxkbmap -query | grep -q "layout:\s\+us") && setxkbmap ru || setxkbmap us 4 | -------------------------------------------------------------------------------- /.xinitrc: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | [[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources 4 | 5 | xsetroot -cursor_name left_ptr 6 | 7 | exec bspwm 8 | -------------------------------------------------------------------------------- /.config/nvim/.netrwhist: -------------------------------------------------------------------------------- 1 | let g:netrw_dirhistmax =10 2 | let g:netrw_dirhist_cnt =2 3 | let g:netrw_dirhist_1='/home/a21v' 4 | let g:netrw_dirhist_2='/home/a21v/.config/sxhkd' 5 | -------------------------------------------------------------------------------- /.bin/bright_down: -------------------------------------------------------------------------------- 1 | brightness=$(cat /sys/class/backlight/intel_backlight/brightness) 2 | 3 | if (($brightness > 0)); then 4 | let brightness=$brightness-61 5 | echo "echo $brightness > /sys/class/backlight/intel_backlight/brightness" | sudo zsh 6 | fi 7 | -------------------------------------------------------------------------------- /.bin/bright_up: -------------------------------------------------------------------------------- 1 | max_brightness=$(cat /sys/class/backlight/intel_backlight/max_brightness) 2 | brightness=$(cat /sys/class/backlight/intel_backlight/brightness) 3 | 4 | if (($brightness < $max_brightness)); then 5 | let brightness=$brightness+61 6 | echo "echo $brightness > /sys/class/backlight/intel_backlight/brightness" | sudo zsh 7 | fi 8 | -------------------------------------------------------------------------------- /.config/gtk-3.0/settings.ini: -------------------------------------------------------------------------------- 1 | [Settings] 2 | gtk-theme-name=Arc-Grey-Darker 3 | gtk-icon-theme-name=Paper 4 | gtk-font-name=Sans 10 5 | gtk-cursor-theme-name=Adwaita 6 | gtk-cursor-theme-size=0 7 | gtk-toolbar-style=GTK_TOOLBAR_TEXT 8 | gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR 9 | gtk-button-images=1 10 | gtk-menu-images=1 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 | -------------------------------------------------------------------------------- /.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/a21v/.gtkrc-2.0.mine" 5 | gtk-theme-name="Arc-Grey-Darker" 6 | gtk-icon-theme-name="Paper" 7 | gtk-font-name="Sans 10" 8 | gtk-cursor-theme-name="Adwaita" 9 | gtk-cursor-theme-size=0 10 | gtk-toolbar-style=GTK_TOOLBAR_TEXT 11 | gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR 12 | gtk-button-images=1 13 | gtk-menu-images=1 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/bspwm/bspwmrc: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | sxhkd & 4 | compton --config ~/.config/compton/compton.conf -b & 5 | polybar bar & 6 | feh --bg-scale ~/.wallpaper/bg.jpg & 7 | dunst & 8 | devmon --no-gui & 9 | mpd & 10 | 11 | bspc monitor -d 1 2 3 4 5 6 7 12 | 13 | bspc config border_width 2 14 | bspc config window_gap 11 15 | 16 | bspc config split_ratio 0.50 17 | bspc config borderless_monocle true 18 | bspc config gapless_monocle true 19 | bspc config focus_follows_pointer true 20 | bspc config focus_by_distance true 21 | 22 | bspc config normal_border_color '#928374' 23 | bspc config focused_border_color '#ebdbb2' 24 | bspc config presel_border_color '#d79921' 25 | bspc config normal_sticky_border_color '#4e4e4e' 26 | bspc config focused_sticky_border_color '#83a598' 27 | bspc config urgent_border_color '#fb4934' 28 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Dotfiles 2 | 3 | ## Screenshots 4 | 5 | ### Clean 6 | ![Clean](https://github.com/abdullaev/dotfiles/blob/master/.screenshots/1.png "Clean") 7 | 8 | ### Fake busy 9 | ![Fake busy](https://github.com/abdullaev/dotfiles/blob/master/.screenshots/3.png "Fake busy") 10 | 11 | ## Some installed software 12 | 13 | + **bspwm** - Window manager 14 | + **sxhkd** - Hotkey daemon 15 | + **compton** - Composite manager 16 | + **polybar** - Status bar 17 | + **termite** - Terminal emulator 18 | + **zsh + oh-my-zsh** - Shell 19 | + **rofi** - Dynamic menu 20 | + **mpd + ncmcpp** - Music player 21 | + **cava** - Audio visualizer 22 | + **ranger** - File manager 23 | + **zathura** - Document reader 24 | + **neovim** - Text editor 25 | + **rtorrent** - BitTorrent client 26 | 27 | ## GUI 28 | + **arc-grey-darker** - GTK theme 29 | + **paper** - Icon theme 30 | + **adwaita** - Cursor theme 31 | -------------------------------------------------------------------------------- /.config/termite/config: -------------------------------------------------------------------------------- 1 | [options] 2 | browser = google-chrome-unstable 3 | cursor_blink = off 4 | font = Monospace 8 5 | 6 | [colors] 7 | # hard contrast: background = #1d2021 8 | background = #262626 9 | # soft contrast: background = #32302f 10 | foreground = #ebdbb2 11 | foreground_bold = #ebdbb2 12 | 13 | # dark0 + gray 14 | color0 = #262626 15 | color8 = #928374 16 | 17 | # neutral_red + bright_red 18 | color1 = #cc241d 19 | color9 = #fb4934 20 | 21 | # neutral_green + bright_green 22 | color2 = #98971a 23 | color10 = #b8bb26 24 | 25 | # neutral_yellow + bright_yellow 26 | color3 = #d79921 27 | color11 = #fabd2f 28 | 29 | # neutral_blue + bright_blue 30 | color4 = #458588 31 | color12 = #83a598 32 | 33 | # neutral_purple + bright_purple 34 | color5 = #b16286 35 | color13 = #d3869b 36 | 37 | # neutral_aqua + faded_aqua 38 | color6 = #689d6a 39 | color14 = #8ec07c 40 | 41 | # light4 + light1 42 | color7 = #a89984 43 | color15 = #ebdbb2 44 | 45 | # vim: ft=dosini cms=#%s 46 | -------------------------------------------------------------------------------- /.config/fontconfig/fonts.conf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | serif 7 | Noto Serif 8 | 9 | 10 | sans-serif 11 | Noto Sans 12 | 13 | 14 | sans 15 | Noto Sans 16 | 17 | 18 | monospace 19 | Fira Mono 20 | fixed 21 | 22 | 23 | 24 | rgb 25 | 26 | 27 | 28 | 29 | false 30 | 31 | 32 | 33 | 34 | true 35 | 36 | 37 | 38 | 39 | hintslight 40 | 41 | 42 | 43 | 44 | true 45 | 46 | 47 | 48 | 49 | lcddefault 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /.config/cava/config: -------------------------------------------------------------------------------- 1 | ## Configuration file for CAVA. Default values are commented out. Use either ; or # for commenting. 2 | 3 | [general] 4 | ; mode = normal # defines smoothing mode, can be normal, scientific or waves. 5 | ; framerate = 60 # Default: 60. Accepts only non-negative values. 6 | sensitivity = 200 # is sensitivity %. Accepts only non-negative values. 7 | ; bars = 0 # defines the amount of bars. 0 sets it to auto (25 + fill up leftover space). 8 | 9 | [input] 10 | method = fifo # supported input methods are 'alsa' or 'fifo'. 11 | source = /tmp/mpd.fifo # ALSA device or FIFO path. 12 | 13 | [output] 14 | ; method = ncurses # may be ncurses, noncurses or circle. 15 | 16 | [color] 17 | # supported colors are: red, green, yellow, magenta, cyan, white, blue, black. 18 | ; background = black 19 | foreground = white 20 | 21 | [smoothing] 22 | integral = 0.5 # multiplier for the integral smoothing calculations. Takes values from 0 - 0.99. Higher values means smoother, but less precise. 0 to disable. 23 | ; monstercat = 1 # disables or enables the so-called "Monstercat smoothing". Default: 1. Set to 0 to disable. 24 | gravity = 1 # Set gravity multiplier for "drop off". Higher values means bars will drop faster. Accepts only non-negative values. 0.5 means half gravity, 2 means double. Set to 0 to disable "drop off". 25 | ; ignore = 0 # set bars with height lower than this to 0 26 | 27 | [eq] 28 | # This one is tricky. You can have as much keys as you want. More keys = more precision. Look at readme.md on github for further explanations and examples. 29 | 1 = 1.75 # bass 30 | 2 = 1.25 31 | 3 = 1 32 | 4 = 1.25 33 | 5 = 1.75 # treble 34 | -------------------------------------------------------------------------------- /.config/zathura/zathurarc: -------------------------------------------------------------------------------- 1 | set font "Fira Mono 8" 2 | set default-bg "#262626" #00 3 | set default-fg "#ebdbb2" #01 4 | 5 | set statusbar-fg "#ebdbb2" #04 6 | set statusbar-bg "#262626" #01 7 | 8 | set inputbar-bg "#262626" #00 currently not used 9 | set inputbar-fg "#ebdbb2" #02 10 | 11 | set notification-error-bg "#262626" #08 12 | set notification-error-fg "#cc241d" #00 13 | 14 | set notification-warning-bg "#262626" #08 15 | set notification-warning-fg "#d79921" #00 16 | 17 | set highlight-color "#262626" #0A 18 | set highlight-active-color "#ebdbb2" #0D 19 | 20 | set completion-highlight-fg "#4e4e4e" #02 21 | set completion-highlight-bg "#87afaf" #0C 22 | 23 | set completion-bg "#4e4e4e" #02 24 | set completion-fg "#ebdbb2" #0C 25 | 26 | set notification-bg "#262626" #0B 27 | set notification-fg "#458588" #00 28 | 29 | set recolor-lightcolor "#262626" #00 30 | set recolor-darkcolor "#ebdbb2" #06 31 | set recolor "true" 32 | 33 | # setting recolor-keep true will keep any color your pdf has. 34 | # if it is false, it'll just be black and white 35 | set recolor-keephue "false" 36 | 37 | set selection-clipboard "clipboard" 38 | 39 | # keybindings 40 | map [fullscreen] a adjust_window best-fit 41 | map [fullscreen] s adjust_window width 42 | map [fullscreen] f follow 43 | map [fullscreen] toggle_index 44 | map [fullscreen] j scroll down 45 | map [fullscreen] k scroll up 46 | map [fullscreen] h navigate previous 47 | map [fullscreen] l navigate next 48 | -------------------------------------------------------------------------------- /.tmux.conf: -------------------------------------------------------------------------------- 1 | # List of plugins 2 | set -g @plugin 'tmux-plugins/tpm' 3 | set -g @plugin 'tmux-plugins/tmux-sensible' 4 | set -g @plugin 'tmux-plugins/tmux-resurrect' 5 | 6 | # Other examples: 7 | # set -g @plugin 'github_username/plugin_name' 8 | # set -g @plugin 'git@github.com/user/plugin' 9 | # set -g @plugin 'git@bitbucket.com/user/plugin' 10 | 11 | set -g mouse on 12 | 13 | # remap prefix from 'C-b' to 'C-a' 14 | unbind C-b 15 | set-option -g prefix C-a 16 | bind-key C-a send-prefix 17 | 18 | # Start windows and panes at 1, not 0 19 | set -g base-index 1 20 | setw -g pane-base-index 1 21 | 22 | # reload config file (change file location to your the tmux.conf you want to use) 23 | bind r source-file ~/.tmux.conf 24 | 25 | # status-line 26 | set -g default-terminal "rxvt-unicode-256color" 27 | set -g status "on" 28 | setw -g window-status-separator "" 29 | set -g status-left "" 30 | set -g status-right "" 31 | # set -g status-left-length 20 32 | # set -g status-left " #($HOME/scripts/updates.sh)" 33 | # set -g status-right "#H" 34 | set -g status-justify centre # center align window list 35 | setw -g window-status-format " #W " 36 | setw -g window-status-current-format " #[bold]#W " 37 | 38 | # colours 39 | set-option -g status-bg default 40 | set-option -g status-fg "#ebdbb2" 41 | set-option -g status-left-fg brightblack 42 | set-option -g status-attr default 43 | 44 | # default window title colors 45 | set-window-option -g window-status-fg brightblack 46 | set-window-option -g window-status-bg default 47 | set-window-option -g window-status-attr dim 48 | 49 | # active window title colors 50 | set-window-option -g window-status-current-fg "#ebdbb2" 51 | set-window-option -g window-status-current-bg default 52 | 53 | # pane border 54 | set -g pane-border-fg colour237 55 | set -g pane-active-border-fg "#ebdbb2" 56 | 57 | # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) 58 | run '~/.tmux/plugins/tpm/tpm' 59 | -------------------------------------------------------------------------------- /.config/compton/compton.conf: -------------------------------------------------------------------------------- 1 | # Shadow 2 | shadow = true; 3 | no-dnd-shadow = true; 4 | no-dock-shadow = false; 5 | clear-shadow = true; 6 | shadow-radius = 7; 7 | shadow-offset-x = -7; 8 | shadow-offset-y = -7; 9 | shadow-opacity = 0.8; 10 | shadow-red = 0.0; 11 | shadow-green = 0.0; 12 | shadow-blue = 0.0; 13 | 14 | shadow-exclude = [ 15 | "class_g = 'Firefox' && argb", 16 | "class_i = 'Telegram' && argb" 17 | ]; 18 | 19 | # shadow-exclude = "n:e:Notification"; 20 | # shadow-exclude-reg = "x10+0+0"; 21 | # xinerama-shadow-crop = true; 22 | 23 | # Opacity 24 | menu-opacity = 0.9; 25 | #inactive-opacity = 0.8; 26 | #active-opacity = 0.8; 27 | #frame-opacity = 0.9; 28 | #inactive-opacity-override = false; 29 | #alpha-step = 0.06; 30 | # inactive-dim = 0.2; 31 | # inactive-dim-fixed = true; 32 | #blur-background = true; 33 | #blur-background-frame = true; 34 | #blur-kern = "3x3box" 35 | # 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" 36 | # blur-background-fixed = true; 37 | #blur-background-exclude = [ 38 | # "window_type = 'dock'", 39 | # "window_type = 'desktop'", 40 | # "_GTK_FRAME_EXTENTS@:c" 41 | #]; 42 | # opacity-rule = [ 43 | # "93:class_g = 'URxvt'", 44 | # "93:class_g= 'Zathura'", 45 | # "93:class_g= 'qutebrowser'", 46 | # "93:class_g= 'Firefox'", 47 | # "93:class_g= 'Pcmanfm'" 48 | # ]; 49 | 50 | # Fading 51 | fading = true; 52 | # fade-delta = 30; 53 | fade-in-step = 0.03; 54 | fade-out-step = 0.03; 55 | # no-fading-openclose = true; 56 | # no-fading-destroyed-argb = true; 57 | fade-exclude = [ ]; 58 | 59 | # Other 60 | #backend = "xrender" 61 | #mark-wmwin-focused = true; 62 | #mark-ovredir-focused = true; 63 | # use-ewmh-active-win = true; 64 | detect-rounded-corners = true; 65 | detect-client-opacity = true; 66 | refresh-rate = 0; 67 | vsync = "none"; 68 | dbe = false; 69 | paint-on-overlay = true; 70 | # sw-opti = true; 71 | # unredir-if-possible = true; 72 | # unredir-if-possible-delay = 5000; 73 | # unredir-if-possible-exclude = [ ]; 74 | #focus-exclude = [ "class_g = 'Cairo-clock'" ]; 75 | #detect-transient = true; 76 | #detect-client-leader = true; 77 | #invert-color-include = [ ]; 78 | # resize-damage = 1; 79 | 80 | # GLX backend 81 | # glx-no-stencil = true; 82 | #glx-copy-from-front = false; 83 | # glx-use-copysubbuffermesa = true; 84 | # glx-no-rebind-pixmap = true; 85 | #glx-swap-method = "undefined"; 86 | # glx-use-gpushader4 = true; 87 | # xrender-sync = true; 88 | # xrender-sync-fence = true; 89 | 90 | # Window type settings 91 | #wintypes: 92 | #{ 93 | # tooltip = { fade = true; shadow = true; opacity = 0.90; focus = true; }; 94 | #}; 95 | -------------------------------------------------------------------------------- /.rtorrent.rc: -------------------------------------------------------------------------------- 1 | # This is an example resource file for rTorrent. Copy to 2 | # ~/.rtorrent.rc and enable/modify the options as needed. Remember to 3 | # uncomment the options you wish to enable. 4 | 5 | # Maximum and minimum number of peers to connect to per torrent. 6 | # 7 | #throttle.min_peers.normal.set = 40 8 | #throttle.max_peers.normal.set = 100 9 | 10 | # Same as above but for seeding completed torrents (-1 = same as downloading) 11 | # 12 | #throttle.min_peers.seed.set = 10 13 | #throttle.max_peers.seed.set = 50 14 | 15 | # Maximum number of simultanious uploads per torrent. 16 | # 17 | #throttle.max_uploads.set = 15 18 | 19 | # Global upload and download rate in KiB. "0" for unlimited. 20 | # 21 | #throttle.global_down.max_rate.set_kb = 0 22 | #throttle.global_up.max_rate.set_kb = 0 23 | 24 | # Default directory to save the downloaded torrents. 25 | # 26 | directory.default.set = ~/Downloads 27 | 28 | # Default session directory. Make sure you don't run multiple instance 29 | # of rtorrent using the same session directory. Perhaps using a 30 | # relative path? 31 | # 32 | session.path.set = ~/.rtorrent.session 33 | 34 | # Watch a directory for new torrents, and stop those that have been 35 | # deleted. 36 | # 37 | #schedule2 = watch_directory,5,5,load.start=./watch/*.torrent 38 | #schedule2 = untied_directory,5,5,stop_untied= 39 | 40 | # Close torrents when diskspace is low. 41 | # 42 | #schedule2 = low_diskspace,5,60,close_low_diskspace=100M 43 | 44 | # The ip address reported to the tracker. 45 | # 46 | #network.local_address.set = 127.0.0.1 47 | #network.local_address.set = rakshasa.no 48 | 49 | # The ip address the listening socket and outgoing connections is 50 | # bound to. 51 | # 52 | #network.bind_address.set = 127.0.0.1 53 | #network.bind_address.set = rakshasa.no 54 | 55 | # Port range to use for listening. 56 | # 57 | network.port_range.set = 49164-49364 58 | 59 | # Start opening ports at a random position within the port range. 60 | # 61 | network.port_random.set = yes 62 | 63 | # Check hash for finished torrents. Might be usefull until the bug is 64 | # fixed that causes lack of diskspace not to be properly reported. 65 | # 66 | #pieces.hash.on_completion.set = no 67 | 68 | # Set whether the client should try to connect to UDP trackers. 69 | # 70 | #trackers.use_udp.set = yes 71 | 72 | # Alternative calls to bind and ip that should handle dynamic ip's. 73 | # 74 | #schedule2 = ip_tick,0,1800,ip=rakshasa 75 | #schedule2 = bind_tick,0,1800,bind=rakshasa 76 | 77 | # Encryption options, set to none (default) or any combination of the following: 78 | # allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext 79 | # 80 | # The example value allows incoming encrypted connections, starts unencrypted 81 | # outgoing connections but retries with encryption if they fail, preferring 82 | # plaintext to RC4 encryption after the encrypted handshake 83 | # 84 | protocol.encryption.set = allow_incoming,enable_retry,prefer_plaintext 85 | 86 | # Enable DHT support for trackerless torrents or when all trackers are down. 87 | # May be set to "disable" (completely disable DHT), "off" (do not start DHT), 88 | # "auto" (start and stop DHT as needed), or "on" (start DHT immediately). 89 | # The default is "off". For DHT to work, a session directory must be defined. 90 | # 91 | dht.mode.set = auto 92 | 93 | # UDP port to use for DHT. 94 | # 95 | dht.port.set = 6881 96 | 97 | # Enable peer exchange (for torrents not marked private) 98 | # 99 | protocol.pex.set = yes 100 | 101 | # Set downlad list layout style. ("full", "compact") 102 | # 103 | ui.torrent_list.layout.set = "compact" 104 | -------------------------------------------------------------------------------- /.config/sxhkd/sxhkdrc: -------------------------------------------------------------------------------- 1 | # 2 | # wm independent hotkeys 3 | # 4 | 5 | # terminal emulator 6 | super + Return 7 | termite 8 | 9 | # program launcher 10 | super + space 11 | rofi -show run 12 | 13 | # make sxhkd reload its configuration files: 14 | super + Escape 15 | pkill -USR1 -x sxhkd 16 | 17 | # 18 | # bspwm hotkeys 19 | # 20 | 21 | # quit bspwm normally 22 | super + alt + Escape 23 | bspc quit 24 | 25 | # close and kill 26 | super + {_,shift + }w 27 | bspc node -{c,k} 28 | 29 | # alternate between the tiled and monocle layout 30 | super + m 31 | bspc desktop -l next 32 | 33 | # if the current node is automatic, send it to the last manual, otherwise pull the last leaf 34 | super + y 35 | bspc query -N -n focused.automatic && bspc node -n last.!automatic || bspc node last.leaf -n focused 36 | 37 | # swap the current node and the biggest node 38 | super + g 39 | bspc node -s biggest 40 | 41 | # 42 | # state/flags 43 | # 44 | 45 | # set the window state 46 | super + {t,shift + t,s,f} 47 | bspc node -t {tiled,pseudo_tiled,floating,fullscreen} 48 | 49 | # set the node flags 50 | super + ctrl + {x,y,z} 51 | bspc node -g {locked,sticky,private} 52 | 53 | # 54 | # focus/swap 55 | # 56 | 57 | # focus the node in the given direction 58 | super + {_,shift + }{h,j,k,l} 59 | bspc node -{f,s} {west,south,north,east} 60 | 61 | # focus the node for the given path jump 62 | super + {p,b,comma,period} 63 | bspc node -f @{parent,brother,first,second} 64 | 65 | # focus the next/previous node 66 | super + {_,shift + }c 67 | bspc node -f {next,prev} 68 | 69 | # focus the next/previous desktop 70 | super + bracket{left,right} 71 | bspc desktop -f {prev,next} 72 | 73 | # focus the last node/desktop 74 | super + {grave,Tab} 75 | bspc {node,desktop} -f last 76 | 77 | # focus the older or newer node in the focus history 78 | super + {o,i} 79 | bspc wm -h off; \ 80 | bspc node {older,newer} -f; \ 81 | bspc wm -h on 82 | 83 | # focus or send to the given desktop 84 | super + {_,shift + }{1-9,0} 85 | bspc {desktop -f,node -d} '^{1-9,10}' 86 | 87 | # 88 | # preselect 89 | # 90 | 91 | # preselect the direction 92 | super + ctrl + {h,j,k,l} 93 | bspc node -p {west,south,north,east} 94 | 95 | # preselect the ratio 96 | super + ctrl + {1-9} 97 | bspc node -o 0.{1-9} 98 | 99 | # cancel the preselection for the focused node 100 | super + ctrl + space 101 | bspc node -p cancel 102 | 103 | # cancel the preselection for the focused desktop 104 | super + ctrl + shift + space 105 | bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel 106 | 107 | # 108 | # move/resize 109 | # 110 | 111 | # expand a window by moving one of its side outward 112 | super + alt + {h,j,k,l} 113 | bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} 114 | 115 | # contract a window by moving one of its side inward 116 | super + alt + shift + {h,j,k,l} 117 | bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} 118 | 119 | # move a floating window 120 | super + {Left,Down,Up,Right} 121 | bspc node -v {-20 0,0 20,0 -20,20 0} 122 | 123 | # 124 | # multimedia keys 125 | # 126 | 127 | # volume -/+ 128 | XF86Audio{LowerVolume,RaiseVolume} 129 | pactl set-sink-volume 0 {-1%,+1%} 130 | 131 | # mute 132 | XF86AudioMute 133 | pactl set-sink-mute 0 toggle 134 | 135 | # mpd 136 | XF86Audio{Prev,Next,Play,Stop} 137 | mpc {prev,next,toggle,stop} 138 | 139 | # brightness 140 | XF86MonBrightness{Down,Up} 141 | sudo ~/.bin/bright_{down,up} 142 | 143 | # 144 | # misc 145 | # 146 | 147 | # toggle keyboard layout 148 | alt + space 149 | ~/.bin/toggkbl 150 | 151 | # lock screen 152 | ctrl + shift + alt + l 153 | i3lock-fancy 154 | -------------------------------------------------------------------------------- /.zshrc: -------------------------------------------------------------------------------- 1 | # If you come from bash you might have to change your $PATH. 2 | # export PATH=$HOME/bin:/usr/local/bin:$PATH 3 | 4 | # Path to your oh-my-zsh installation. 5 | export ZSH=/home/a21v/.oh-my-zsh 6 | 7 | # Set name of the theme to load. Optionally, if you set this to "random" 8 | # it'll load a random theme each time that oh-my-zsh is loaded. 9 | # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes 10 | ZSH_THEME="cypher" 11 | 12 | # Uncomment the following line to use case-sensitive completion. 13 | # CASE_SENSITIVE="true" 14 | 15 | # Uncomment the following line to use hyphen-insensitive completion. Case 16 | # sensitive completion must be off. _ and - will be interchangeable. 17 | # HYPHEN_INSENSITIVE="true" 18 | 19 | # Uncomment the following line to disable bi-weekly auto-update checks. 20 | # DISABLE_AUTO_UPDATE="true" 21 | 22 | # Uncomment the following line to change how often to auto-update (in days). 23 | # export UPDATE_ZSH_DAYS=13 24 | 25 | # Uncomment the following line to disable colors in ls. 26 | # DISABLE_LS_COLORS="true" 27 | 28 | # Uncomment the following line to disable auto-setting terminal title. 29 | # DISABLE_AUTO_TITLE="true" 30 | 31 | # Uncomment the following line to enable command auto-correction. 32 | # ENABLE_CORRECTION="true" 33 | 34 | # Uncomment the following line to display red dots whilst waiting for completion. 35 | # COMPLETION_WAITING_DOTS="true" 36 | 37 | # Uncomment the following line if you want to disable marking untracked files 38 | # under VCS as dirty. This makes repository status check for large repositories 39 | # much, much faster. 40 | # DISABLE_UNTRACKED_FILES_DIRTY="true" 41 | 42 | # Uncomment the following line if you want to change the command execution time 43 | # stamp shown in the history command output. 44 | # The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" 45 | # HIST_STAMPS="mm/dd/yyyy" 46 | 47 | # Would you like to use another custom folder than $ZSH/custom? 48 | # ZSH_CUSTOM=/path/to/new-custom-folder 49 | 50 | # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) 51 | # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ 52 | # Example format: plugins=(rails git textmate ruby lighthouse) 53 | # Add wisely, as too many plugins slow down shell startup. 54 | plugins=(archlinux colored-man-pages fasd git zsh-autosuggestions zsh-users/zsh-completions zsh-history-substring-search zsh-syntax-highlighting) 55 | 56 | source $ZSH/oh-my-zsh.sh 57 | 58 | # User configuration 59 | 60 | export PATH="$HOME/.bin:$PATH" 61 | export PATH="$HOME/.local/bin:$PATH" 62 | export MANPATH="/usr/local/man:$MANPATH" 63 | 64 | # You may need to manually set your language environment 65 | export LANG=en_US.UTF-8 66 | 67 | # Preferred editor for local and remote sessions 68 | if [[ -n $SSH_CONNECTION ]]; then 69 | export EDITOR='vim' 70 | else 71 | export EDITOR='nvim' 72 | fi 73 | 74 | # Compilation flags 75 | export ARCHFLAGS="-arch x86_64" 76 | 77 | # ssh 78 | export SSH_KEY_PATH="~/.ssh/rsa_id" 79 | 80 | # rbenv 81 | export PATH="$HOME/.rbenv/bin:$PATH" 82 | eval "$(rbenv init -)" 83 | 84 | # rust 85 | export PATH="$HOME/.cargo/bin:$PATH" 86 | export RUST_SRC_PATH="$(rustc --print sysroot)/lib/rustlib/src/rust/src" 87 | 88 | # nvm 89 | export NVM_DIR="$HOME/.nvm" 90 | [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm 91 | 92 | # gvm 93 | [[ -s "/home/a21v/.gvm/scripts/gvm" ]] && source "/home/a21v/.gvm/scripts/gvm" 94 | 95 | # Set personal aliases, overriding those provided by oh-my-zsh libs, 96 | # plugins, and themes. Aliases can be placed here, though oh-my-zsh 97 | # users are encouraged to define aliases within the ZSH_CUSTOM folder. 98 | # For a full list of active aliases, run `alias`. 99 | # 100 | # Example aliases 101 | # alias zshconfig="mate ~/.zshrc" 102 | # alias ohmyzsh="mate ~/.oh-my-zsh" 103 | alias ghc="stack ghc" 104 | alias ghci="stack ghci" 105 | -------------------------------------------------------------------------------- /.Xresources: -------------------------------------------------------------------------------- 1 | Xft.lcdfilter: lcddefault 2 | Xft.antialias: true 3 | Xft.autohint: 0 4 | Xft.hinting: true 5 | Xft.hintstyle: hintslight 6 | Xft.rgba: rgb 7 | Xft.dpi: 96 8 | 9 | Xcursor*theme: Adwaita 10 | 11 | URxvt.perl-ext-common: default,resize-font,clipboard,vtwheel,matcher 12 | URxvt.url-launcher: /usr/bin/google-chrome-unstable 13 | URxvt.matcher.button: 1 14 | URxvt.matcher.rend.0: Uline Bold fg5 15 | 16 | URxvt.keysym.C-equal: resize-font:reset 17 | URxvt.resize-font.smaller: C-Down 18 | URxvt.resize-font.bigger: C-Up 19 | URxvt.iso14755: false 20 | URxvt.iso14755_52: false 21 | 22 | URxvt.keysym.Shift-Up: command:\033]720;1\007 23 | URxvt.keysym.Shift-Down: command:\033]721;1\007 24 | 25 | ! clean up urxvt, add keybinds 26 | URxvt.intensityStyles: false 27 | URxvt.scrollBar: false 28 | URxvt.letterSpace: -1 29 | 30 | ! font 31 | URxvt*font: xft:Fira Mono:size=8:antialias=true:hinting=true 32 | 33 | ! terminal padding 34 | URxvt.internalBorder: 16 35 | 36 | ! ----------------------------------------------------------------------------- 37 | ! File: gruvbox-dark.xresources 38 | ! Description: Retro groove colorscheme generalized 39 | ! Author: morhetz 40 | ! Source: https://github.com/morhetz/gruvbox-generalized 41 | ! Last Modified: 6 Sep 2014 42 | ! ----------------------------------------------------------------------------- 43 | 44 | ! hard contrast: *background: #1d2021 45 | *background: #262626 46 | ! soft contrast: *background: #32302f 47 | *foreground: #ebdbb2 48 | ! Black + DarkGrey 49 | *color0: #262626 50 | *color8: #928374 51 | ! DarkRed + Red 52 | *color1: #cc241d 53 | *color9: #fb4934 54 | ! DarkGreen + Green 55 | *color2: #98971a 56 | *color10: #b8bb26 57 | ! DarkYellow + Yellow 58 | *color3: #d79921 59 | *color11: #fabd2f 60 | ! DarkBlue + Blue 61 | *color4: #458588 62 | *color12: #83a598 63 | ! DarkMagenta + Magenta 64 | *color5: #b16286 65 | *color13: #d3869b 66 | ! DarkCyan + Cyan 67 | *color6: #689d6a 68 | *color14: #8ec07c 69 | ! LightGrey + White 70 | *color7: #a89984 71 | *color15: #ebdbb2 72 | 73 | ! ----------------------------------------------------------------------------- 74 | ! File: gruvbox-urxvt256.xresources 75 | ! Description: Retro groove colorscheme generalized 76 | ! Author: morhetz 77 | ! Source: https://github.com/morhetz/gruvbox-generalized 78 | ! Last Modified: 13 Dec 2013 79 | ! ----------------------------------------------------------------------------- 80 | 81 | URxvt.color24: #076678 82 | URxvt.color66: #427b58 83 | URxvt.color88: #9d0006 84 | URxvt.color96: #8f3f71 85 | URxvt.color100: #79740e 86 | URxvt.color108: #8ec07c 87 | URxvt.color109: #83a598 88 | URxvt.color130: #af3a03 89 | URxvt.color136: #b57614 90 | URxvt.color142: #b8bb26 91 | URxvt.color167: #fb4934 92 | URxvt.color175: #d3869b 93 | URxvt.color208: #fe8019 94 | URxvt.color214: #fabd2f 95 | URxvt.color223: #ebdbb2 96 | URxvt.color228: #f2e5bc 97 | URxvt.color229: #fbf1c7 98 | URxvt.color230: #f9f5d7 99 | URxvt.color234: #1d2021 100 | URxvt.color235: #282828 101 | URxvt.color236: #32302f 102 | URxvt.color237: #3c3836 103 | URxvt.color239: #504945 104 | URxvt.color241: #665c54 105 | URxvt.color243: #7c6f64 106 | URxvt.color244: #928374 107 | URxvt.color245: #928374 108 | URxvt.color246: #a89984 109 | URxvt.color248: #bdae93 110 | URxvt.color250: #d5c4a1 111 | 112 | ! rofi 113 | rofi.modi: run 114 | rofi.font: Fira Mono 12 115 | rofi.width: 60 116 | rofi.lines: 8 117 | rofi.columns: 1 118 | ! bg fg altbg hlbg hlfg 119 | rofi.color-normal: #262626, #ebdbb2, #262626, #ebdbb2, #262626 120 | rofi.color-urgent: #262626, #ebdbb2, #262626, #ebdbb2, #262626 121 | rofi.color-active: #262626, #ebdbb2, #262626, #ebdbb2, #262626 122 | rofi.color-window: #262626, #ebdbb2, #ebdbb2 123 | rofi.bw: 2 124 | ! location: 1 2 3 / 8 0 4 / 7 6 5 125 | rofi.location: 0 126 | rofi.padding: 10 127 | rofi.fuzzy: true 128 | rofi.separator-style: solid 129 | rofi.hide-scrollbar: true 130 | -------------------------------------------------------------------------------- /.config/ranger/scope.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -o noclobber -o noglob -o nounset -o pipefail 4 | IFS=$'\n' 5 | 6 | # If the option `use_preview_script` is set to `true`, 7 | # then this script will be called and its output will be displayed in ranger. 8 | # ANSI color codes are supported. 9 | # STDIN is disabled, so interactive scripts won't work properly 10 | 11 | # This script is considered a configuration file and must be updated manually. 12 | # It will be left untouched if you upgrade ranger. 13 | 14 | # Meanings of exit codes: 15 | # code | meaning | action of ranger 16 | # -----+------------+------------------------------------------- 17 | # 0 | success | Display stdout as preview 18 | # 1 | no preview | Display no preview at all 19 | # 2 | plain text | Display the plain content of the file 20 | # 3 | fix width | Don't reload when width changes 21 | # 4 | fix height | Don't reload when height changes 22 | # 5 | fix both | Don't ever reload 23 | # 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview 24 | # 7 | image | Display the file directly as an image 25 | 26 | # Script arguments 27 | FILE_PATH="${1}" # Full path of the highlighted file 28 | PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters) 29 | PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters) 30 | IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview 31 | PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise. 32 | 33 | FILE_EXTENSION="${FILE_PATH##*.}" 34 | FILE_EXTENSION_LOWER="${FILE_EXTENSION,,}" 35 | 36 | # Settings 37 | HIGHLIGHT_SIZE_MAX=262143 # 256KiB 38 | HIGHLIGHT_TABWIDTH=8 39 | HIGHLIGHT_STYLE='pablo' 40 | PYGMENTIZE_STYLE='autumn' 41 | 42 | 43 | handle_extension() { 44 | case "${FILE_EXTENSION_LOWER}" in 45 | # Archive 46 | a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ 47 | rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) 48 | atool --list -- "${FILE_PATH}" && exit 5 49 | bsdtar --list --file "${FILE_PATH}" && exit 5 50 | exit 1;; 51 | rar) 52 | # Avoid password prompt by providing empty password 53 | unrar lt -p- -- "${FILE_PATH}" && exit 5 54 | exit 1;; 55 | 7z) 56 | # Avoid password prompt by providing empty password 57 | 7z l -p -- "${FILE_PATH}" && exit 5 58 | exit 1;; 59 | 60 | # PDF 61 | pdf) 62 | # Preview as text conversion 63 | pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - && exit 5 64 | exiftool "${FILE_PATH}" && exit 5 65 | exit 1;; 66 | 67 | # BitTorrent 68 | torrent) 69 | transmission-show -- "${FILE_PATH}" && exit 5 70 | exit 1;; 71 | 72 | # OpenDocument 73 | odt|ods|odp|sxw) 74 | # Preview as text conversion 75 | odt2txt "${FILE_PATH}" && exit 5 76 | exit 1;; 77 | 78 | # HTML 79 | htm|html|xhtml) 80 | # Preview as text conversion 81 | w3m -dump "${FILE_PATH}" && exit 5 82 | lynx -dump -- "${FILE_PATH}" && exit 5 83 | elinks -dump "${FILE_PATH}" && exit 5 84 | ;; # Continue with next handler on failure 85 | esac 86 | } 87 | 88 | handle_image() { 89 | local mimetype="${1}" 90 | case "${mimetype}" in 91 | # SVG 92 | # image/svg+xml) 93 | # convert "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6 94 | # exit 1;; 95 | 96 | # Image 97 | image/*) 98 | # `w3mimgdisplay` will be called for all images (unless overriden as above), 99 | # but might fail for unsupported types. 100 | exit 7;; 101 | 102 | # Video 103 | # video/*) 104 | # # Thumbnail 105 | # ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6 106 | # exit 1;; 107 | esac 108 | } 109 | 110 | handle_mime() { 111 | local mimetype="${1}" 112 | case "${mimetype}" in 113 | # Text 114 | text/* | */xml) 115 | # Syntax highlight 116 | if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then 117 | exit 2 118 | fi 119 | if [[ "$( tput colors )" -ge 256 ]]; then 120 | local pygmentize_format='terminal256' 121 | local highlight_format='xterm256' 122 | else 123 | local pygmentize_format='terminal' 124 | local highlight_format='ansi' 125 | fi 126 | highlight --replace-tabs="${HIGHLIGHT_TABWIDTH}" --out-format="${highlight_format}" \ 127 | --style="${HIGHLIGHT_STYLE}" -- "${FILE_PATH}" && exit 5 128 | # pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}" -- "${FILE_PATH}" && exit 5 129 | exit 2;; 130 | 131 | # Image 132 | image/*) 133 | # Preview as text conversion 134 | # img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 135 | exiftool "${FILE_PATH}" && exit 5 136 | exit 1;; 137 | 138 | # Video and audio 139 | video/* | audio/*) 140 | mediainfo "${FILE_PATH}" && exit 5 141 | exiftool "${FILE_PATH}" && exit 5 142 | exit 1;; 143 | esac 144 | } 145 | 146 | handle_fallback() { 147 | echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5 148 | exit 1 149 | } 150 | 151 | 152 | handle_extension 153 | MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )" 154 | if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then 155 | handle_image "${MIMETYPE}" 156 | fi 157 | handle_mime "${MIMETYPE}" 158 | handle_fallback 159 | 160 | exit 1 161 | -------------------------------------------------------------------------------- /.config/polybar/config: -------------------------------------------------------------------------------- 1 | ;:set syn=dosini 2 | 3 | [global/wm] 4 | #margin-top = 8 5 | #margin-bottom = 8 6 | #margin-left = 8 7 | #margin-right = 8 8 | 9 | 10 | [colors] 11 | ;orange = #FF6200 12 | ;orange = #d65d0e 13 | darkgray = ${xrdb:color8} 14 | orange = ${xrdb:color9} 15 | white = #ebdbb2 16 | gray = #585858 17 | black = #090909 18 | red = #c795ae 19 | blue = #95aec7 20 | yellow = #c7ae95 21 | green = #aec795 22 | #background = #1f222d 23 | background = #262626 24 | background-alt = #4e4e4e 25 | #foreground = #dfdfdf 26 | foreground = ${xrdb:foreground} 27 | foreground-alt = #4e4e4e 28 | primary = #1f222d 29 | secondary = #FF6200 30 | alert = #fb4934 31 | 32 | [bar/bar] 33 | monitor = eDP-1 34 | bottom = true 35 | wm-restack = bspwm 36 | width = 1344 37 | height = 26 38 | offset-x = 11 39 | offset-y = 11 40 | 41 | locale = en_US.UTF-8 42 | 43 | enable-ipc = true 44 | 45 | padding-left = 0 46 | padding-right = 0 47 | 48 | module-margin-right = 0 49 | module-margin-left = 0 50 | 51 | modules-right = keyboard separator network separator volume separator date 52 | modules-center = mpd 53 | modules-left = bspwm 54 | 55 | background = ${colors.background} 56 | foreground = ${colors.foreground} 57 | 58 | underline-size = 0 59 | underline-color = ${colors.white} 60 | 61 | tray-detached = false 62 | tray-position = 63 | tray-offset-x = 0 64 | tray-offset-y = 0 65 | ;tray-maxsize = 16 66 | tray-padding = 0 67 | tray-transparent = false 68 | tray-scale = 1.0 69 | 70 | font-0 = "monospace:size=8;2" 71 | font-1 = "FontAwesome:size=8;2" 72 | 73 | 74 | [module/mpd] 75 | type = internal/mpd 76 | host = 127.0.0.1 77 | port = 6600 78 | format-online = 79 | format-online-underline = ${colors.white} 80 | format-online-padding = 1 81 | 82 | #label-song-font = 4 83 | label-song = %{A1:mpc toggle:}%artist% - %title%%{A} 84 | icon-play =  85 | icon-pause =  86 | icon-prev =  87 | icon-next =  88 | 89 | icon-prev-foreground = ${colors.darkgray} 90 | icon-next-foreground = ${colors.darkgray} 91 | 92 | icon-play-padding = 1 93 | icon-pause-padding = 1 94 | icon-prev-padding = 1 95 | icon-next-padding = 1 96 | label-song-padding = 1 97 | 98 | [module/bspwm] 99 | type = internal/bspwm 100 | format = 101 | 102 | label-focused = %icon% 103 | ;label-focused-font = 1 104 | label-focused-background = ${colors.background-alt} 105 | ;label-focused-underline= ${colors.primary} 106 | label-focused-underline= ${colors.white} 107 | label-focused-padding = 2 108 | 109 | label-occupied = %icon% 110 | label-occupied-foreground = ${colors.darkgray} 111 | label-occupied-padding = 2 112 | 113 | label-urgent = %icon%! 114 | label-urgent-background = ${colors.alert} 115 | label-urgent-padding = 2 116 | 117 | label-empty = %icon% 118 | label-empty-foreground = ${colors.foreground-alt} 119 | label-empty-padding = 2 120 | 121 | ws-icon-0 = 1; 122 | ws-icon-1 = 2; 123 | ws-icon-2 = 3; 124 | ws-icon-3 = 4; 125 | ws-icon-4 = 5; 126 | ws-icon-5 = 6; 127 | ws-icon-default =  128 | 129 | 130 | [module/date] 131 | type = internal/date 132 | #date-alt =  %A %H:%M 133 | date = %{F#928374}%{F-} %H:%M 134 | interval = 5 135 | format-underline = ${colors.white} 136 | ;format-background = ${colors.black} 137 | format-foreground = ${colors.foreground} 138 | format-padding = 2 139 | 140 | label-separator = | 141 | 142 | [module/volume] 143 | type = internal/volume 144 | 145 | format-volume = 146 | format-volume-padding = 2 147 | 148 | format-volume-underline = ${colors.white} 149 | 150 | label-volume = %{F#928374} %{F-}%percentage:3%% 151 | #label-volume-foreground = ${color.white} 152 | 153 | label-muted =%{F#928374} %{F-}mute 154 | format-muted = 155 | format-muted-underline = ${colors.white} 156 | format-muted-padding = 2 157 | #label-muted-foreground = ${colors.gray} 158 | 159 | format-padding = 2 160 | 161 | [module/keyboard] 162 | type = internal/xkeyboard 163 | 164 | ; Available tags: 165 | ; (default) 166 | ; (default) 167 | format = %{A1:~/.bin/toggkbl:}%{F#928374} %{F-} %{A} 168 | format-spacing = 0 169 | format-underline = ${colors.white} 170 | 171 | ; Available tokens: 172 | ; %layout% 173 | ; %name% 174 | ; %number% 175 | ; Default: %layout% 176 | label-layout = %layout% 177 | format-padding = 2 178 | 179 | ; Available tokens: 180 | ; %name% 181 | ; Default: %name% 182 | label-indicator = %name% 183 | label-indicator-padding = 0 184 | 185 | [module/network] 186 | type = internal/network 187 | interface = wlp3s0 188 | 189 | ; Seconds to sleep between updates 190 | ; Default: 1 191 | interval = 3.0 192 | 193 | ; Test connectivity every Nth update 194 | ; A value of 0 disables the feature 195 | ; NOTE: Experimental (needs more testing) 196 | ; Default: 0 197 | ;ping-interval = 3 198 | 199 | ; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%) 200 | ; Minimum output width of upload/download rate 201 | ; Default: 3 202 | 203 | ; Accumulate values from all interfaces 204 | ; when querying for up/downspeed rate 205 | ; Default: false 206 | accumulate-stats = true 207 | 208 | format-connected-padding = 2 209 | format-disconnected-padding = 2 210 | format-connected-underline = ${colors.white} 211 | format-disconnected-underline = ${colors.white} 212 | 213 | ; Available tags: 214 | ; (default) 215 | ; 216 | format-connected = %{F#928374} %{F-} 217 | 218 | ; Available tags: 219 | ; (default) 220 | format-disconnected = 221 | 222 | ; Available tags: 223 | ; (default) 224 | ; 225 | ; 226 | format-packetloss = 227 | 228 | ; Available tokens: 229 | ; %ifname% [wireless+wired] 230 | ; %local_ip% [wireless+wired] 231 | ; %essid% [wireless] 232 | ; %signal% [wireless] 233 | ; %upspeed% [wireless+wired] 234 | ; %downspeed% [wireless+wired] 235 | ; %linkspeed% [wired] 236 | ; Default: %ifname% %local_ip% 237 | label-connected = %signal:3%% 238 | 239 | ; Available tokens: 240 | ; %ifname% [wireless+wired] 241 | ; Default: (none) 242 | label-disconnected = %{F#928374} %{F-}none 243 | 244 | ; Available tokens: 245 | ; %ifname% [wireless+wired] 246 | ; %local_ip% [wireless+wired] 247 | ; %essid% [wireless] 248 | ; %signal% [wireless] 249 | ; %linkspeed% [wired] 250 | ; Default: (none) 251 | ;label-packetloss = %essid% 252 | ;label-packetloss-foreground = #eefafafa 253 | 254 | ; Only applies if is used 255 | animation-packetloss-0 = ⚠ 256 | animation-packetloss-1 = 📶 257 | ; Framerate in milliseconds 258 | animation-packetloss-framerate = 500 259 | 260 | [module/separator] 261 | type = custom/text 262 | content = | 263 | content-foreground = #4e4e4e 264 | 265 | ; vim:ft=dosini 266 | -------------------------------------------------------------------------------- /.config/nvim/init.vim: -------------------------------------------------------------------------------- 1 | "dein Scripts----------------------------- 2 | if &compatible 3 | set nocompatible " Be iMproved 4 | endif 5 | 6 | " Required: 7 | set runtimepath+=/home/a21v/.local/share/dein/repos/github.com/Shougo/dein.vim 8 | 9 | " Required: 10 | if dein#load_state('/home/a21v/.local/share/dein') 11 | call dein#begin('/home/a21v/.local/share/dein') 12 | 13 | " Let dein manage dein 14 | " Required: 15 | call dein#add('/home/a21v/.local/share/dein/repos/github.com/Shougo/dein.vim') 16 | 17 | " Add or remove your plugins here: 18 | call dein#add('Shougo/neosnippet.vim') 19 | call dein#add('Shougo/neosnippet-snippets') 20 | call dein#add('Shougo/denite.nvim') 21 | call dein#add('Shougo/deoplete.nvim') 22 | call dein#add('carlitux/deoplete-ternjs') 23 | call dein#add('kassio/neoterm') 24 | call dein#add('vim-airline/vim-airline') 25 | call dein#add('vim-airline/vim-airline-themes') 26 | call dein#add('tpope/vim-surround') 27 | call dein#add('ervandew/supertab') 28 | call dein#add('scrooloose/nerdcommenter') 29 | call dein#add('morhetz/gruvbox') 30 | call dein#add('scrooloose/nerdtree') 31 | call dein#add('vim-syntastic/syntastic') 32 | call dein#add('tpope/vim-fugitive') 33 | call dein#add('easymotion/vim-easymotion') 34 | call dein#add('tpope/vim-rails') 35 | call dein#add('tpope/vim-bundler') 36 | call dein#add('tpope/vim-rake') 37 | call dein#add('mattn/emmet-vim') 38 | call dein#add('vim-ruby/vim-ruby') 39 | call dein#add('jistr/vim-nerdtree-tabs') 40 | call dein#add('vim-javascript') 41 | call dein#add('tpope/vim-bundler') 42 | call dein#add('tpope/vim-endwise') 43 | call dein#add('terryma/vim-multiple-cursors') 44 | call dein#add('jiangmiao/auto-pairs') 45 | call dein#add('alvan/vim-closetag') 46 | call dein#add('godlygeek/tabular') 47 | call dein#add('eagletmt/ghcmod-vim') 48 | call dein#add('eagletmt/neco-ghc') 49 | call dein#add('Shougo/vimproc.vim', {'build' : 'make'}) 50 | call dein#add('Shougo/vimshell') 51 | call dein#add('airblade/vim-gitgutter') 52 | call dein#add('myusuf3/numbers.vim') 53 | call dein#add('sheerun/vim-polyglot') 54 | call dein#add('junegunn/limelight.vim') 55 | call dein#add('majutsushi/tagbar') 56 | call dein#add('racer-rust/vim-racer') 57 | call dein#add('rust-lang/rust.vim') 58 | call dein#add('mattn/gist-vim') 59 | call dein#add('mattn/webapi-vim') 60 | call dein#add('ryanoasis/vim-devicons') 61 | call dein#add('metakirby5/codi.vim') 62 | 63 | " Required: 64 | call dein#end() 65 | call dein#save_state() 66 | endif 67 | 68 | " Required: 69 | filetype plugin indent on 70 | syntax enable 71 | 72 | " If you want to install not installed plugins on startup. 73 | if dein#check_install() 74 | call dein#install() 75 | endif 76 | 77 | "End dein Scripts------------------------- 78 | 79 | let g:gruvbox_invert_selection=0 80 | let g:gruvbox_italic=1 81 | set background=dark 82 | colorscheme gruvbox 83 | 84 | let g:lightline = { 85 | \ 'colorscheme': 'gruvbox', 86 | \ } 87 | 88 | let g:airline#extensions#tabline#enabled = 1 89 | let g:airline_powerline_fonts = 1 90 | let g:airline_left_sep = '' 91 | let g:airline_right_sep = '' 92 | let g:airline_left_alt_sep = '|' 93 | let g:airline_right_alt_sep = '|' 94 | let g:airline#extensions#tabline#left_sep = ' ' 95 | let g:airline#extensions#tabline#left_alt_sep = '|' 96 | let g:airline#extensions#tabline#right_sep = ' ' 97 | let g:airline#extensions#tabline#right_alt_sep = '|' 98 | 99 | " Syntastic 100 | let g:syntastic_error_symbol = '●' 101 | let g:syntastic_style_error_symbol = '●' 102 | let g:syntastic_warning_symbol = '●' 103 | let g:syntastic_style_warning_symbol = '●' 104 | 105 | set cursorline 106 | let g:deoplete#enable_at_startup = 1 107 | set mouse=a 108 | let g:SuperTabDefaultCompletionType = "" 109 | 110 | hi VertSplit ctermfg=239 111 | " hi SignColumn ctermbg=235 112 | 113 | " Start NERDTree in minimal UI mode (No help lines) 114 | let NERDTreeMinimalUI=1 115 | 116 | set tabstop=2 117 | set softtabstop=2 118 | set shiftwidth=2 119 | set expandtab 120 | 121 | set list 122 | set listchars=tab:»\ ,extends:›,precedes:‹,nbsp:·,trail:·,eol:¬ 123 | 124 | set splitbelow 125 | set splitright 126 | 127 | set clipboard=unnamed 128 | 129 | let g:closetag_filenames = "*.html,*.xhtml,*.phtml,*.erb" 130 | 131 | let g:necoghc_enable_detailed_browse = 1 132 | 133 | " Keybindings 134 | let mapleader = "," 135 | 136 | map n :NERDTreeToggle 137 | map s :SyntasticToggleMode 138 | 139 | map tw :GhcModTypeInsert 140 | map ts :GhcModSplitFunCase 141 | map tq :GhcModType 142 | map te :GhcModTypeClear 143 | 144 | " haskell align 145 | let g:haskell_tabular = 1 146 | 147 | vmap a= :Tabularize /= 148 | vmap a; :Tabularize /:: 149 | vmap a- :Tabularize /-> 150 | 151 | map p :Denite file_rec 152 | map b :Denite buffer 153 | 154 | " Denite mappings 155 | call denite#custom#map( 156 | \ 'insert', 157 | \ '', 158 | \ '', 159 | \ 'noremap' 160 | \) 161 | call denite#custom#map( 162 | \ 'insert', 163 | \ '', 164 | \ '', 165 | \ 'noremap' 166 | \) 167 | 168 | autocmd FileType java setlocal shiftwidth=4 tabstop=4 softtabstop=4 expandtab 169 | 170 | let g:gitgutter_sign_column_always = 1 171 | set number 172 | 173 | " Color name (:help cterm-colors) or ANSI code 174 | let g:limelight_conceal_ctermfg = 'gray' 175 | let g:limelight_conceal_ctermfg = 240 176 | 177 | map l :Limelight!! 178 | 179 | nmap t :TagbarToggle 180 | 181 | " Highlight 182 | let g:go_highlight_functions = 1 183 | let g:go_highlight_methods = 1 184 | let g:go_highlight_structs = 1 185 | let g:go_highlight_operators = 1 186 | let g:go_highlight_build_constraints = 1 187 | let python_highlight_all = 1 188 | 189 | let g:tagbar_type_go = { 190 | \ 'ctagstype' : 'go', 191 | \ 'kinds' : [ 192 | \ 'p:package', 193 | \ 'i:imports:1', 194 | \ 'c:constants', 195 | \ 'v:variables', 196 | \ 't:types', 197 | \ 'n:interfaces', 198 | \ 'w:fields', 199 | \ 'e:embedded', 200 | \ 'm:methods', 201 | \ 'r:constructor', 202 | \ 'f:functions' 203 | \ ], 204 | \ 'sro' : '.', 205 | \ 'kind2scope' : { 206 | \ 't' : 'ctype', 207 | \ 'n' : 'ntype' 208 | \ }, 209 | \ 'scope2kind' : { 210 | \ 'ctype' : 't', 211 | \ 'ntype' : 'n' 212 | \ }, 213 | \ 'ctagsbin' : 'gotags', 214 | \ 'ctagsargs' : '-sort -silent' 215 | \ } 216 | 217 | 218 | let g:syntastic_check_on_open = 1 219 | let g:syntastic_check_on_wq = 0 220 | 221 | let g:syntastic_go_checkers = ['gometalinter'] 222 | let g:syntastic_javascript_checkers = ['eslint'] 223 | 224 | " Rust stuff 225 | " let g:rustfmt_autosave = 1 226 | let g:syntastic_rust_checkers = ['rustc'] 227 | 228 | " Plugin key-mappings. 229 | " Note: It must be "imap" and "smap". It uses mappings. 230 | imap (neosnippet_expand_or_jump) 231 | smap (neosnippet_expand_or_jump) 232 | xmap (neosnippet_expand_target) 233 | -------------------------------------------------------------------------------- /.config/dunst/dunstrc: -------------------------------------------------------------------------------- 1 | [global] 2 | font = Monospace 10 3 | 4 | # Possible values are: 5 | # full: Allow a small subset of html markup in notifications: 6 | # bold 7 | # italic 8 | # strikethrough 9 | # underline 10 | # 11 | # For a complete reference see 12 | # . 13 | # 14 | # strip: This setting is provided for compatibility with some broken 15 | # clients that send markup even though it's not enabled on the 16 | # server. Dunst will try to strip the markup but the parsing is 17 | # simplistic so using this option outside of matching rules for 18 | # specific applications *IS GREATLY DISCOURAGED*. 19 | # 20 | # no: Disable markup parsing, incoming notifications will be treated as 21 | # plain text. Dunst will not advertise that it has the body-markup 22 | # capability if this is set as a global setting. 23 | # 24 | # It's important to note that markup inside the format option will be parsed 25 | # regardless of what this is set to. 26 | markup = full 27 | 28 | # The format of the message. Possible variables are: 29 | # %a appname 30 | # %s summary 31 | # %b body 32 | # %i iconname (including its path) 33 | # %I iconname (without its path) 34 | # %p progress value if set ([ 0%] to [100%]) or nothing 35 | # Markup is allowed 36 | format = "%s\n%b" 37 | 38 | # Sort messages by urgency. 39 | sort = yes 40 | 41 | # Show how many messages are currently hidden (because of geometry). 42 | indicate_hidden = yes 43 | 44 | # Alignment of message text. 45 | # Possible values are "left", "center" and "right". 46 | alignment = center 47 | 48 | # The frequency with which text that is longer than the notification 49 | # window allows bounces back and forth. 50 | # This option conflicts with "word_wrap". 51 | # Set to 0 to disable. 52 | bounce_freq = 0 53 | 54 | # Show age of message if message is older than show_age_threshold 55 | # seconds. 56 | # Set to -1 to disable. 57 | show_age_threshold = 60 58 | 59 | # Split notifications into multiple lines if they don't fit into 60 | # geometry. 61 | word_wrap = yes 62 | 63 | # Ignore newlines '\n' in notifications. 64 | ignore_newline = no 65 | 66 | 67 | # The geometry of the window: 68 | # [{width}]x{height}[+/-{x}+/-{y}] 69 | # The geometry of the message window. 70 | # The height is measured in number of notifications everything else 71 | # in pixels. If the width is omitted but the height is given 72 | # ("-geometry x2"), the message window expands over the whole screen 73 | # (dmenu-like). If width is 0, the window expands to the longest 74 | # message displayed. A positive x is measured from the left, a 75 | # negative from the right side of the screen. Y is measured from 76 | # the top and down respectively. 77 | # The width can be negative. In this case the actual width is the 78 | # screen width minus the width defined in within the geometry option. 79 | geometry = "300x5-30+20" 80 | 81 | # Define the title of the windows spawned by dunst 82 | title = Dunst 83 | 84 | # Define the class of the windows spawned by dunst 85 | class = Dunst 86 | 87 | # Shrink window if it's smaller than the width. Will be ignored if 88 | # width is 0. 89 | shrink = no 90 | 91 | # The transparency of the window. Range: [0; 100]. 92 | # This option will only work if a compositing window manager is 93 | # present (e.g. xcompmgr, compiz, etc.). 94 | transparency = 0 95 | 96 | # Don't remove messages, if the user is idle (no mouse or keyboard input) 97 | # for longer than idle_threshold seconds. 98 | # Set to 0 to disable. 99 | idle_threshold = 120 100 | 101 | # Which monitor should the notifications be displayed on. 102 | monitor = 0 103 | 104 | # Display notification on focused monitor. Possible modes are: 105 | # mouse: follow mouse pointer 106 | # keyboard: follow window with keyboard focus 107 | # none: don't follow anything 108 | # 109 | # "keyboard" needs a window manager that exports the 110 | # _NET_ACTIVE_WINDOW property. 111 | # This should be the case for almost all modern window managers. 112 | # 113 | # If this option is set to mouse or keyboard, the monitor option 114 | # will be ignored. 115 | follow = mouse 116 | 117 | # Merge multiple notifications with the same content 118 | stack_duplicates = true 119 | 120 | # Hide the count of merged notifications with the same content 121 | hide_duplicate_count = false 122 | 123 | # Should a notification popped up from history be sticky or timeout 124 | # as if it would normally do. 125 | sticky_history = yes 126 | 127 | # Maximum amount of notifications kept in history 128 | history_length = 20 129 | 130 | # Display indicators for URLs (U) and actions (A). 131 | show_indicators = yes 132 | 133 | # The spacing between lines. If the height is smaller than the 134 | # font height, it will get raised to the font height. 135 | line_height = 0 136 | 137 | # The height of the entire notification. If the height is smaller 138 | # than the font height and padding combined, it will be raised 139 | # to the font height and padding. 140 | notification_height = 0 141 | 142 | # Draw a line of "separator_height" pixel height between two 143 | # notifications. 144 | # Set to 0 to disable. 145 | separator_height = 2 146 | 147 | # Padding between text and separator. 148 | padding = 8 149 | 150 | # Horizontal padding. 151 | horizontal_padding = 8 152 | 153 | # Define a color for the separator. 154 | # possible values are: 155 | # * auto: dunst tries to find a color fitting to the background; 156 | # * foreground: use the same color as the foreground; 157 | # * frame: use the same color as the frame; 158 | # * anything else will be interpreted as a X color. 159 | separator_color = frame 160 | 161 | # Print a notification on startup. 162 | # This is mainly for error detection, since dbus (re-)starts dunst 163 | # automatically after a crash. 164 | startup_notification = false 165 | 166 | # dmenu path. 167 | dmenu = /usr/bin/dmenu -p dunst: 168 | 169 | # Browser for opening urls in context menu. 170 | browser = /usr/bin/firefox-nightly -new-tab 171 | 172 | # Align icons left/right/off 173 | icon_position = off 174 | 175 | # Scale larger icons down to this size, set to 0 to disable 176 | max_icon_size = 32 177 | 178 | # Paths to default icons. 179 | icon_folders = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ 180 | 181 | # Always run rule-defined scripts, even if the notification is suppressed 182 | always_run_script = true 183 | 184 | # Experimental features that may or may not work correctly. Do not expect them 185 | # to have a consistent behaviour across releases. 186 | [experimental] 187 | # Calculate the dpi to use on a per-monitor basis. 188 | # Please note that this setting will not work if Xft.dpi X resource is set. 189 | per_monitor_dpi = false 190 | 191 | [frame] 192 | width = 2 193 | color = "#ebdbb2" 194 | 195 | [shortcuts] 196 | 197 | # Shortcuts are specified as [modifier+][modifier+]...key 198 | # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2", 199 | # "mod3" and "mod4" (windows-key). 200 | # Xev might be helpful to find names for keys. 201 | 202 | # Close notification. 203 | close = ctrl+space 204 | 205 | # Close all notifications. 206 | close_all = ctrl+alt+shift+space 207 | 208 | # Redisplay last message(s). 209 | # On the US keyboard layout "grave" is normally above TAB and left 210 | # of "1". Make sure this key actually exists on your keyboard layout, 211 | # e.g. check output of 'xmodmap -pke' 212 | history = ctrl+grave 213 | 214 | # Context menu. 215 | context = ctrl+shift+period 216 | 217 | [urgency_low] 218 | # IMPORTANT: colors have to be defined in quotation marks. 219 | # Otherwise the "#" and following would be interpreted as a comment. 220 | background = "#262626" 221 | foreground = "#928374" 222 | timeout = 4 223 | # Icon for notifications with low urgency, uncomment to enable 224 | #icon = /path/to/icon 225 | 226 | [urgency_normal] 227 | background = "#262626" 228 | foreground = "#ebdbb2" 229 | timeout = 4 230 | # Icon for notifications with normal urgency, uncomment to enable 231 | #icon = /path/to/icon 232 | 233 | [urgency_critical] 234 | background = "#262626" 235 | foreground = "#fb4934" 236 | timeout = 8 237 | # Icon for notifications with critical urgency, uncomment to enable 238 | #icon = /path/to/icon 239 | 240 | # Every section that isn't one of the above is interpreted as a rules to 241 | # override settings for certain messages. 242 | # Messages can be matched by "appname", "summary", "body", "icon", "category", 243 | # "msg_urgency" and you can override the "timeout", "urgency", "foreground", 244 | # "background", "new_icon" and "format". 245 | # Shell-like globbing will get expanded. 246 | # 247 | # SCRIPTING 248 | # You can specify a script that gets run when the rule matches by 249 | # setting the "script" option. 250 | # The script will be called as follows: 251 | # script appname summary body icon urgency 252 | # where urgency can be "LOW", "NORMAL" or "CRITICAL". 253 | # 254 | # NOTE: if you don't want a notification to be displayed, set the format 255 | # to "". 256 | # NOTE: It might be helpful to run dunst -print in a terminal in order 257 | # to find fitting options for rules. 258 | 259 | #[espeak] 260 | # summary = "*" 261 | # script = dunst_espeak.sh 262 | 263 | #[script-test] 264 | # summary = "*script*" 265 | # script = dunst_test.sh 266 | 267 | #[ignore] 268 | # # This notification will not be displayed 269 | # summary = "foobar" 270 | # format = "" 271 | 272 | #[history-ignore] 273 | # # This notification will not be saved in history 274 | # summary = "foobar" 275 | # history_ignore = yes 276 | 277 | #[signed_on] 278 | # appname = Pidgin 279 | # summary = "*signed on*" 280 | # urgency = low 281 | # 282 | #[signed_off] 283 | # appname = Pidgin 284 | # summary = *signed off* 285 | # urgency = low 286 | # 287 | #[says] 288 | # appname = Pidgin 289 | # summary = *says* 290 | # urgency = critical 291 | # 292 | #[twitter] 293 | # appname = Pidgin 294 | # summary = *twitter.com* 295 | # urgency = normal 296 | # 297 | # vim: ft=cfg 298 | -------------------------------------------------------------------------------- /.config/mpd/mpd.conf: -------------------------------------------------------------------------------- 1 | # Required files 2 | db_file "~/.config/mpd/database" 3 | log_file "~/.config/mpd/log" 4 | 5 | # Optional 6 | music_directory "~/Music" 7 | playlist_directory "~/.config/mpd/playlists" 8 | pid_file "~/.config/mpd/pid" 9 | state_file "~/.config/mpd/state" 10 | sticker_file "~/.config/mpd/sticker.sql" 11 | 12 | audio_output { 13 | type "fifo" 14 | name "mpdfifo" 15 | path "/tmp/mpd.fifo" 16 | format "44100:16:2" 17 | } 18 | 19 | #audio_output { 20 | # type "alsa" 21 | # name "HDA Intel PCH" 22 | ## device "hw:0,0" # optional 23 | ## mixer_type "hardware" # optional 24 | ## mixer_device "default" # optional 25 | ## mixer_control "PCM" # optional 26 | ## mixer_index "0" # optional 27 | #} 28 | 29 | # An example configuration file for MPD. 30 | # Read the user manual for documentation: http://www.musicpd.org/doc/user/ 31 | 32 | 33 | # Files and directories ####################################################### 34 | # 35 | # This setting controls the top directory which MPD will search to discover the 36 | # available audio files and add them to the daemon's online database. This 37 | # setting defaults to the XDG directory, otherwise the music directory will be 38 | # be disabled and audio files will only be accepted over ipc socket (using 39 | # file:// protocol) or streaming files over an accepted protocol. 40 | # 41 | #music_directory "~/music" 42 | # 43 | # This setting sets the MPD internal playlist directory. The purpose of this 44 | # directory is storage for playlists created by MPD. The server will use 45 | # playlist files not created by the server but only if they are in the MPD 46 | # format. This setting defaults to playlist saving being disabled. 47 | # 48 | #playlist_directory "~/.mpd/playlists" 49 | # 50 | # This setting sets the location of the MPD database. This file is used to 51 | # load the database at server start up and store the database while the 52 | # server is not up. This setting defaults to disabled which will allow 53 | # MPD to accept files over ipc socket (using file:// protocol) or streaming 54 | # files over an accepted protocol. 55 | # 56 | #db_file "~/.mpd/database" 57 | # 58 | # These settings are the locations for the daemon log files for the daemon. 59 | # These logs are great for troubleshooting, depending on your log_level 60 | # settings. 61 | # 62 | # The special value "syslog" makes MPD use the local syslog daemon. This 63 | # setting defaults to logging to syslog, otherwise logging is disabled. 64 | # 65 | #log_file "~/.mpd/log" 66 | # 67 | # This setting sets the location of the file which stores the process ID 68 | # for use of mpd --kill and some init scripts. This setting is disabled by 69 | # default and the pid file will not be stored. 70 | # 71 | #pid_file "~/.mpd/pid" 72 | # 73 | # This setting sets the location of the file which contains information about 74 | # most variables to get MPD back into the same general shape it was in before 75 | # it was brought down. This setting is disabled by default and the server 76 | # state will be reset on server start up. 77 | # 78 | #state_file "~/.mpd/state" 79 | # 80 | # The location of the sticker database. This is a database which 81 | # manages dynamic information attached to songs. 82 | # 83 | #sticker_file "~/.mpd/sticker.sql" 84 | # 85 | ############################################################################### 86 | 87 | 88 | # General music daemon options ################################################ 89 | # 90 | # This setting specifies the user that MPD will run as. MPD should never run as 91 | # root and you may use this setting to make MPD change its user ID after 92 | # initialization. This setting is disabled by default and MPD is run as the 93 | # current user. 94 | # 95 | #user "nobody" 96 | # 97 | # This setting specifies the group that MPD will run as. If not specified 98 | # primary group of user specified with "user" setting will be used (if set). 99 | # This is useful if MPD needs to be a member of group such as "audio" to 100 | # have permission to use sound card. 101 | # 102 | #group "nogroup" 103 | # 104 | # This setting sets the address for the daemon to listen on. Careful attention 105 | # should be paid if this is assigned to anything other then the default, any. 106 | # This setting can deny access to control of the daemon. Not effective if 107 | # systemd socket activiation is in use. 108 | # 109 | # For network 110 | #bind_to_address "any" 111 | # 112 | # And for Unix Socket 113 | #bind_to_address "~/.mpd/socket" 114 | # 115 | # This setting is the TCP port that is desired for the daemon to get assigned 116 | # to. 117 | # 118 | #port "6600" 119 | # 120 | # This setting controls the type of information which is logged. Available 121 | # setting arguments are "default", "secure" or "verbose". The "verbose" setting 122 | # argument is recommended for troubleshooting, though can quickly stretch 123 | # available resources on limited hardware storage. 124 | # 125 | #log_level "default" 126 | # 127 | # If you have a problem with your MP3s ending abruptly it is recommended that 128 | # you set this argument to "no" to attempt to fix the problem. If this solves 129 | # the problem, it is highly recommended to fix the MP3 files with vbrfix 130 | # (available from ), at which 131 | # point gapless MP3 playback can be enabled. 132 | # 133 | #gapless_mp3_playback "yes" 134 | # 135 | # Setting "restore_paused" to "yes" puts MPD into pause mode instead 136 | # of starting playback after startup. 137 | # 138 | #restore_paused "no" 139 | # 140 | # This setting enables MPD to create playlists in a format usable by other 141 | # music players. 142 | # 143 | #save_absolute_paths_in_playlists "no" 144 | # 145 | # This setting defines a list of tag types that will be extracted during the 146 | # audio file discovery process. The complete list of possible values can be 147 | # found in the user manual. 148 | #metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" 149 | # 150 | # This setting enables automatic update of MPD's database when files in 151 | # music_directory are changed. 152 | # 153 | #auto_update "yes" 154 | # 155 | # Limit the depth of the directories being watched, 0 means only watch 156 | # the music directory itself. There is no limit by default. 157 | # 158 | #auto_update_depth "3" 159 | # 160 | ############################################################################### 161 | 162 | 163 | # Symbolic link behavior ###################################################### 164 | # 165 | # If this setting is set to "yes", MPD will discover audio files by following 166 | # symbolic links outside of the configured music_directory. 167 | # 168 | #follow_outside_symlinks "yes" 169 | # 170 | # If this setting is set to "yes", MPD will discover audio files by following 171 | # symbolic links inside of the configured music_directory. 172 | # 173 | #follow_inside_symlinks "yes" 174 | # 175 | ############################################################################### 176 | 177 | 178 | # Zeroconf / Avahi Service Discovery ########################################## 179 | # 180 | # If this setting is set to "yes", service information will be published with 181 | # Zeroconf / Avahi. 182 | # 183 | #zeroconf_enabled "yes" 184 | # 185 | # The argument to this setting will be the Zeroconf / Avahi unique name for 186 | # this MPD server on the network. 187 | # 188 | #zeroconf_name "Music Player" 189 | # 190 | ############################################################################### 191 | 192 | 193 | # Permissions ################################################################# 194 | # 195 | # If this setting is set, MPD will require password authorization. The password 196 | # setting can be specified multiple times for different password profiles. 197 | # 198 | #password "password@read,add,control,admin" 199 | # 200 | # This setting specifies the permissions a user has who has not yet logged in. 201 | # 202 | #default_permissions "read,add,control,admin" 203 | # 204 | ############################################################################### 205 | 206 | 207 | # Database ####################################################################### 208 | # 209 | 210 | #database { 211 | # plugin "proxy" 212 | # host "other.mpd.host" 213 | # port "6600" 214 | #} 215 | 216 | # Input ####################################################################### 217 | # 218 | 219 | input { 220 | plugin "curl" 221 | # proxy "proxy.isp.com:8080" 222 | # proxy_user "user" 223 | # proxy_password "password" 224 | } 225 | 226 | # 227 | ############################################################################### 228 | 229 | # Audio Output ################################################################ 230 | # 231 | # MPD supports various audio output types, as well as playing through multiple 232 | # audio outputs at the same time, through multiple audio_output settings 233 | # blocks. Setting this block is optional, though the server will only attempt 234 | # autodetection for one sound card. 235 | # 236 | # An example of an ALSA output: 237 | # 238 | #audio_output { 239 | # type "alsa" 240 | # name "My ALSA Device" 241 | ## device "hw:0,0" # optional 242 | ## mixer_type "hardware" # optional 243 | ## mixer_device "default" # optional 244 | ## mixer_control "PCM" # optional 245 | ## mixer_index "0" # optional 246 | #} 247 | # 248 | # An example of an OSS output: 249 | # 250 | #audio_output { 251 | # type "oss" 252 | # name "My OSS Device" 253 | ## device "/dev/dsp" # optional 254 | ## mixer_type "hardware" # optional 255 | ## mixer_device "/dev/mixer" # optional 256 | ## mixer_control "PCM" # optional 257 | #} 258 | # 259 | # An example of a shout output (for streaming to Icecast): 260 | # 261 | #audio_output { 262 | # type "shout" 263 | # encoder "vorbis" # optional 264 | # name "My Shout Stream" 265 | # host "localhost" 266 | # port "8000" 267 | # mount "/mpd.ogg" 268 | # password "hackme" 269 | # quality "5.0" 270 | # bitrate "128" 271 | # format "44100:16:1" 272 | ## protocol "icecast2" # optional 273 | ## user "source" # optional 274 | ## description "My Stream Description" # optional 275 | ## url "http://example.com" # optional 276 | ## genre "jazz" # optional 277 | ## public "no" # optional 278 | ## timeout "2" # optional 279 | ## mixer_type "software" # optional 280 | #} 281 | # 282 | # An example of a recorder output: 283 | # 284 | #audio_output { 285 | # type "recorder" 286 | # name "My recorder" 287 | # encoder "vorbis" # optional, vorbis or lame 288 | # path "/var/lib/mpd/recorder/mpd.ogg" 289 | ## quality "5.0" # do not define if bitrate is defined 290 | # bitrate "128" # do not define if quality is defined 291 | # format "44100:16:1" 292 | #} 293 | # 294 | # An example of a httpd output (built-in HTTP streaming server): 295 | # 296 | #audio_output { 297 | # type "httpd" 298 | # name "My HTTP Stream" 299 | # encoder "vorbis" # optional, vorbis or lame 300 | # port "8000" 301 | # bind_to_address "0.0.0.0" # optional, IPv4 or IPv6 302 | ## quality "5.0" # do not define if bitrate is defined 303 | # bitrate "128" # do not define if quality is defined 304 | # format "44100:16:1" 305 | # max_clients "0" # optional 0=no limit 306 | #} 307 | # 308 | # An example of a pulseaudio output (streaming to a remote pulseaudio server) 309 | # 310 | audio_output { 311 | type "pulse" 312 | name "My Pulse Output" 313 | ## server "remote_server" # optional 314 | ## sink "remote_server_sink" # optional 315 | } 316 | # 317 | # An example of a winmm output (Windows multimedia API). 318 | # 319 | #audio_output { 320 | # type "winmm" 321 | # name "My WinMM output" 322 | ## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional 323 | # or 324 | ## device "0" # optional 325 | ## mixer_type "hardware" # optional 326 | #} 327 | # 328 | # An example of an openal output. 329 | # 330 | #audio_output { 331 | # type "openal" 332 | # name "My OpenAL output" 333 | ## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional 334 | #} 335 | # 336 | # An example of an sndio output. 337 | # 338 | #audio_output { 339 | # type "sndio" 340 | # name "sndio output" 341 | # mixer_type "software" 342 | #} 343 | # 344 | # An example of an OS X output: 345 | # 346 | #audio_output { 347 | # type "osx" 348 | # name "My OS X Device" 349 | ## device "Built-in Output" # optional 350 | ## channel_map "-1,-1,0,1" # optional 351 | #} 352 | # 353 | ## Example "pipe" output: 354 | # 355 | #audio_output { 356 | # type "pipe" 357 | # name "my pipe" 358 | # command "aplay -f cd 2>/dev/null" 359 | ## Or if you're want to use AudioCompress 360 | # command "AudioCompress -m | aplay -f cd 2>/dev/null" 361 | ## Or to send raw PCM stream through PCM: 362 | # command "nc example.org 8765" 363 | # format "44100:16:2" 364 | #} 365 | # 366 | ## An example of a null output (for no audio output): 367 | # 368 | #audio_output { 369 | # type "null" 370 | # name "My Null Output" 371 | # mixer_type "none" # optional 372 | #} 373 | # 374 | ############################################################################### 375 | 376 | 377 | # Normalization automatic volume adjustments ################################## 378 | # 379 | # This setting specifies the type of ReplayGain to use. This setting can have 380 | # the argument "off", "album", "track" or "auto". "auto" is a special mode that 381 | # chooses between "track" and "album" depending on the current state of 382 | # random playback. If random playback is enabled then "track" mode is used. 383 | # See for more details about ReplayGain. 384 | # This setting is off by default. 385 | # 386 | #replaygain "album" 387 | # 388 | # This setting sets the pre-amp used for files that have ReplayGain tags. By 389 | # default this setting is disabled. 390 | # 391 | #replaygain_preamp "0" 392 | # 393 | # This setting sets the pre-amp used for files that do NOT have ReplayGain tags. 394 | # By default this setting is disabled. 395 | # 396 | #replaygain_missing_preamp "0" 397 | # 398 | # This setting enables or disables ReplayGain limiting. 399 | # MPD calculates actual amplification based on the ReplayGain tags 400 | # and replaygain_preamp / replaygain_missing_preamp setting. 401 | # If replaygain_limit is enabled MPD will never amplify audio signal 402 | # above its original level. If replaygain_limit is disabled such amplification 403 | # might occur. By default this setting is enabled. 404 | # 405 | #replaygain_limit "yes" 406 | # 407 | # This setting enables on-the-fly normalization volume adjustment. This will 408 | # result in the volume of all playing audio to be adjusted so the output has 409 | # equal "loudness". This setting is disabled by default. 410 | # 411 | #volume_normalization "no" 412 | # 413 | ############################################################################### 414 | 415 | # Character Encoding ########################################################## 416 | # 417 | # If file or directory names do not display correctly for your locale then you 418 | # may need to modify this setting. 419 | # 420 | #filesystem_charset "UTF-8" 421 | # 422 | ############################################################################### 423 | -------------------------------------------------------------------------------- /.config/ranger/rc.conf: -------------------------------------------------------------------------------- 1 | # =================================================================== 2 | # This file contains the default startup commands for ranger. 3 | # To change them, it is recommended to create the file 4 | # ~/.config/ranger/rc.conf and add your custom commands there. 5 | # 6 | # If you copy this whole file there, you may want to set the environment 7 | # variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice. 8 | # 9 | # The purpose of this file is mainly to define keybindings and settings. 10 | # For running more complex python code, please create a plugin in "plugins/" or 11 | # a command in "commands.py". 12 | # 13 | # Each line is a command that will be run before the user interface 14 | # is initialized. As a result, you can not use commands which rely 15 | # on the UI such as :delete or :mark. 16 | # =================================================================== 17 | 18 | # =================================================================== 19 | # == Options 20 | # =================================================================== 21 | 22 | set draw_borders true 23 | 24 | # How many columns are there, and what are their relative widths? 25 | set column_ratios 1,1,1 26 | 27 | # Which files should be hidden? (regular expression) 28 | set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$ 29 | 30 | # Show hidden files? You can toggle this by typing 'zh' 31 | set show_hidden false 32 | 33 | # Ask for a confirmation when running the "delete" command? 34 | # Valid values are "always" (default), "never", "multiple" 35 | # With "multiple", ranger will ask only if you delete multiple files at once. 36 | set confirm_on_delete multiple 37 | 38 | # Which script is used to generate file previews? 39 | # ranger ships with scope.sh, a script that calls external programs (see 40 | # README for dependencies) to preview images, archives, etc. 41 | set preview_script ~/.config/ranger/scope.sh 42 | 43 | # Use the external preview script or display simple plain text previews? 44 | set use_preview_script true 45 | 46 | # Open all images in this directory when running certain image viewers 47 | # like feh or sxiv? You can still open selected files by marking them. 48 | set open_all_images true 49 | 50 | # Be aware of version control systems and display information. 51 | set vcs_aware false 52 | 53 | # State of the three backends git, hg, bzr. The possible states are 54 | # disabled, local (only show local info), enabled (show local and remote 55 | # information). 56 | set vcs_backend_git enabled 57 | set vcs_backend_hg disabled 58 | set vcs_backend_bzr disabled 59 | 60 | # Preview images in full color with the external command "w3mimgpreview"? 61 | # This requires the console web browser "w3m" and a supported terminal. 62 | # It has been successfully tested with "xterm" and "urxvt" without tmux. 63 | set preview_images false 64 | # set preview_images_method urxvt 65 | 66 | # Use a unicode "..." character to mark cut-off filenames? 67 | set unicode_ellipsis false 68 | 69 | # Show dotfiles in the bookmark preview box? 70 | set show_hidden_bookmarks true 71 | 72 | # Which colorscheme to use? These colorschemes are available by default: 73 | # default, jungle, snow 74 | set colorscheme default 75 | 76 | # Preview files on the rightmost column? 77 | # And collapse (shrink) the last column if there is nothing to preview? 78 | set preview_files true 79 | set preview_directories true 80 | set collapse_preview true 81 | 82 | # Save the console history on exit? 83 | set save_console_history true 84 | 85 | # Draw the status bar on top of the browser window (default: bottom) 86 | set status_bar_on_top false 87 | 88 | # Draw a progress bar in the status bar which displays the average state of all 89 | # currently running tasks which support progress bars? 90 | set draw_progress_bar_in_status_bar true 91 | 92 | # Display the directory name in tabs? 93 | set dirname_in_tabs false 94 | 95 | # Enable the mouse support? 96 | set mouse_enabled true 97 | 98 | # Display the file size in the main column or status bar? 99 | set display_size_in_main_column true 100 | set display_size_in_status_bar true 101 | 102 | # Display files tags in all columns or only in main column? 103 | set display_tags_in_all_columns true 104 | 105 | # Set a title for the window? 106 | set update_title false 107 | 108 | # Set the title to "ranger" in the tmux program? 109 | set update_tmux_title false 110 | 111 | # Shorten the title if it gets long? The number defines how many 112 | # directories are displayed at once, 0 turns off this feature. 113 | set shorten_title 3 114 | 115 | # Abbreviate $HOME with ~ in the titlebar (first line) of ranger? 116 | set tilde_in_titlebar true 117 | 118 | # How many directory-changes or console-commands should be kept in history? 119 | set max_history_size 20 120 | set max_console_history_size 50 121 | 122 | # Try to keep so much space between the top/bottom border when scrolling: 123 | set scroll_offset 8 124 | 125 | # Flush the input after each key hit? (Noticable when ranger lags) 126 | set flushinput true 127 | 128 | # Padding on the right when there's no preview? 129 | # This allows you to click into the space to run the file. 130 | set padding_right false 131 | 132 | # Save bookmarks (used with mX and `X) instantly? 133 | # This helps to synchronize bookmarks between multiple ranger 134 | # instances but leads to *slight* performance loss. 135 | # When false, bookmarks are saved when ranger is exited. 136 | set autosave_bookmarks true 137 | 138 | # You can display the "real" cumulative size of directories by using the 139 | # command :get_cumulative_size or typing "dc". The size is expensive to 140 | # calculate and will not be updated automatically. You can choose 141 | # to update it automatically though by turning on this option: 142 | set autoupdate_cumulative_size false 143 | 144 | # Turning this on makes sense for screen readers: 145 | set show_cursor false 146 | 147 | # One of: size, basename, mtime, type 148 | set sort natural 149 | 150 | # Additional sorting options 151 | set sort_reverse false 152 | set sort_case_insensitive true 153 | set sort_directories_first true 154 | 155 | # Enable this if key combinations with the Alt Key don't work for you. 156 | # (Especially on xterm) 157 | set xterm_alt_key false 158 | 159 | # =================================================================== 160 | # == Local Options 161 | # =================================================================== 162 | # You can set local options that only affect a single directory. 163 | 164 | # Examples: 165 | # setlocal path=~/downloads sort mtime 166 | 167 | # =================================================================== 168 | # == Command Aliases in the Console 169 | # =================================================================== 170 | 171 | alias e edit 172 | alias q quit 173 | alias q! quitall 174 | alias qall quitall 175 | alias setl setlocal 176 | 177 | alias filter scout -prt 178 | alias find scout -aet 179 | alias mark scout -mr 180 | alias unmark scout -Mr 181 | alias search scout -rs 182 | alias search_inc scout -rts 183 | alias travel scout -aefiklst 184 | 185 | # =================================================================== 186 | # == Define keys for the browser 187 | # =================================================================== 188 | 189 | # Basic 190 | map Q quit! 191 | map q quit 192 | copymap q ZZ ZQ 193 | 194 | map R reload_cwd 195 | map reset 196 | map redraw_window 197 | map abort 198 | map change_mode normal 199 | 200 | map i display_file 201 | map ? help 202 | map W display_log 203 | map w taskview_open 204 | map S shell $SHELL 205 | 206 | map : console 207 | map ; console 208 | map ! console shell 209 | map @ console -p6 shell %%s 210 | map # console shell -p 211 | map s console shell 212 | map r chain draw_possible_programs; console open_with 213 | map f console find 214 | map cd console cd 215 | 216 | # Tagging / Marking 217 | map t tag_toggle 218 | map ut tag_remove 219 | map " tag_toggle tag=%any 220 | map mark_files toggle=True 221 | map v mark_files all=True toggle=True 222 | map uv mark_files all=True val=False 223 | map V toggle_visual_mode 224 | map uV toggle_visual_mode reverse=True 225 | 226 | # For the nostalgics: Midnight Commander bindings 227 | map help 228 | map display_file 229 | map edit 230 | map copy 231 | map cut 232 | map console mkdir 233 | map console delete 234 | map exit 235 | 236 | # In case you work on a keyboard with dvorak layout 237 | map move up=1 238 | map move down=1 239 | map move left=1 240 | map move right=1 241 | map move to=0 242 | map move to=-1 243 | map move down=1 pages=True 244 | map move up=1 pages=True 245 | map move right=1 246 | map console delete 247 | map console touch 248 | 249 | # VIM-like 250 | copymap k 251 | copymap j 252 | copymap h 253 | copymap l 254 | copymap gg 255 | copymap G 256 | copymap 257 | copymap 258 | 259 | map J move down=0.5 pages=True 260 | map K move up=0.5 pages=True 261 | copymap J 262 | copymap K 263 | 264 | # Jumping around 265 | map H history_go -1 266 | map L history_go 1 267 | map ] move_parent 1 268 | map [ move_parent -1 269 | map } traverse 270 | 271 | map gh cd ~ 272 | map ge cd /etc 273 | map gu cd /usr 274 | map gd cd /dev 275 | map gl cd -r . 276 | map gL cd -r %f 277 | map go cd /opt 278 | map gv cd /var 279 | map gm cd /media 280 | map gM cd /mnt 281 | map gs cd /srv 282 | map gr cd / 283 | map gR eval fm.cd(ranger.RANGERDIR) 284 | map g/ cd / 285 | map g? cd /usr/share/doc/ranger 286 | 287 | # External Programs 288 | map E edit 289 | map du shell -p du --max-depth=1 -h --apparent-size 290 | map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh 291 | map yp shell -d echo -n %d/%f | xsel -i 292 | map yd shell -d echo -n %d | xsel -i 293 | map yn shell -d echo -n %f | xsel -i 294 | 295 | # Filesystem Operations 296 | map = chmod 297 | 298 | map cw console rename 299 | map A eval fm.open_console('rename ' + fm.thisfile.basename) 300 | map I eval fm.open_console('rename ' + fm.thisfile.basename, position=7) 301 | 302 | map pp paste 303 | map po paste overwrite=True 304 | map pl paste_symlink relative=False 305 | map pL paste_symlink relative=True 306 | map phl paste_hardlink 307 | map pht paste_hardlinked_subtree 308 | 309 | map dd cut 310 | map ud uncut 311 | map da cut mode=add 312 | map dr cut mode=remove 313 | 314 | map yy copy 315 | map uy uncut 316 | map ya copy mode=add 317 | map yr copy mode=remove 318 | 319 | # Temporary workarounds 320 | map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier) 321 | map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier) 322 | map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier) 323 | map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier) 324 | map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier) 325 | map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier) 326 | map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier) 327 | map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier) 328 | 329 | # Searching 330 | map / console search 331 | map n search_next 332 | map N search_next forward=False 333 | map ct search_next order=tag 334 | map cs search_next order=size 335 | map ci search_next order=mimetype 336 | map cc search_next order=ctime 337 | map cm search_next order=mtime 338 | map ca search_next order=atime 339 | 340 | # Tabs 341 | map tab_new ~ 342 | map tab_close 343 | map tab_move 1 344 | map tab_move -1 345 | map tab_move 1 346 | map tab_move -1 347 | map gt tab_move 1 348 | map gT tab_move -1 349 | map gn tab_new ~ 350 | map gc tab_close 351 | map uq tab_restore 352 | map tab_open 1 353 | map tab_open 2 354 | map tab_open 3 355 | map tab_open 4 356 | map tab_open 5 357 | map tab_open 6 358 | map tab_open 7 359 | map tab_open 8 360 | map tab_open 9 361 | 362 | # Sorting 363 | map or toggle_option sort_reverse 364 | map os chain set sort=size; set sort_reverse=False 365 | map ob chain set sort=basename; set sort_reverse=False 366 | map on chain set sort=natural; set sort_reverse=False 367 | map om chain set sort=mtime; set sort_reverse=False 368 | map oc chain set sort=ctime; set sort_reverse=False 369 | map oa chain set sort=atime; set sort_reverse=False 370 | map ot chain set sort=type; set sort_reverse=False 371 | 372 | map oS chain set sort=size; set sort_reverse=True 373 | map oB chain set sort=basename; set sort_reverse=True 374 | map oN chain set sort=natural; set sort_reverse=True 375 | map oM chain set sort=mtime; set sort_reverse=True 376 | map oC chain set sort=ctime; set sort_reverse=True 377 | map oA chain set sort=atime; set sort_reverse=True 378 | map oT chain set sort=type; set sort_reverse=True 379 | 380 | map dc get_cumulative_size 381 | 382 | # Settings 383 | map zc toggle_option collapse_preview 384 | map zd toggle_option sort_directories_first 385 | map zh toggle_option show_hidden 386 | map toggle_option show_hidden 387 | map zi toggle_option flushinput 388 | map zm toggle_option mouse_enabled 389 | map zp toggle_option preview_files 390 | map zP toggle_option preview_directories 391 | map zs toggle_option sort_case_insensitive 392 | map zu toggle_option autoupdate_cumulative_size 393 | map zv toggle_option use_preview_script 394 | map zf console filter 395 | 396 | # Bookmarks 397 | map ` enter_bookmark %any 398 | map ' enter_bookmark %any 399 | map m set_bookmark %any 400 | map um unset_bookmark %any 401 | 402 | map m draw_bookmarks 403 | copymap m um ` ' 404 | 405 | # Generate all the chmod bindings with some python help: 406 | eval for arg in "rwxXst": cmd("map +u{0} shell -d chmod u+{0} %s".format(arg)) 407 | eval for arg in "rwxXst": cmd("map +g{0} shell -d chmod g+{0} %s".format(arg)) 408 | eval for arg in "rwxXst": cmd("map +o{0} shell -d chmod o+{0} %s".format(arg)) 409 | eval for arg in "rwxXst": cmd("map +a{0} shell -d chmod a+{0} %s".format(arg)) 410 | eval for arg in "rwxXst": cmd("map +{0} shell -d chmod u+{0} %s".format(arg)) 411 | 412 | eval for arg in "rwxXst": cmd("map -u{0} shell -d chmod u-{0} %s".format(arg)) 413 | eval for arg in "rwxXst": cmd("map -g{0} shell -d chmod g-{0} %s".format(arg)) 414 | eval for arg in "rwxXst": cmd("map -o{0} shell -d chmod o-{0} %s".format(arg)) 415 | eval for arg in "rwxXst": cmd("map -a{0} shell -d chmod a-{0} %s".format(arg)) 416 | eval for arg in "rwxXst": cmd("map -{0} shell -d chmod u-{0} %s".format(arg)) 417 | 418 | # =================================================================== 419 | # == Define keys for the console 420 | # =================================================================== 421 | # Note: Unmapped keys are passed directly to the console. 422 | 423 | # Basic 424 | cmap eval fm.ui.console.tab() 425 | cmap eval fm.ui.console.tab(-1) 426 | cmap eval fm.ui.console.close() 427 | cmap eval fm.ui.console.execute() 428 | cmap redraw_window 429 | 430 | copycmap 431 | copycmap 432 | 433 | # Move around 434 | cmap eval fm.ui.console.history_move(-1) 435 | cmap eval fm.ui.console.history_move(1) 436 | cmap eval fm.ui.console.move(left=1) 437 | cmap eval fm.ui.console.move(right=1) 438 | cmap eval fm.ui.console.move(right=0, absolute=True) 439 | cmap eval fm.ui.console.move(right=-1, absolute=True) 440 | 441 | # Line Editing 442 | cmap eval fm.ui.console.delete(-1) 443 | cmap eval fm.ui.console.delete(0) 444 | cmap eval fm.ui.console.delete_word() 445 | cmap eval fm.ui.console.delete_rest(1) 446 | cmap eval fm.ui.console.delete_rest(-1) 447 | cmap eval fm.ui.console.paste() 448 | 449 | # And of course the emacs way 450 | copycmap 451 | copycmap 452 | copycmap 453 | copycmap 454 | copycmap 455 | copycmap 456 | copycmap 457 | copycmap 458 | 459 | # Note: There are multiple ways to express backspaces. (code 263) 460 | # and (code 127). To be sure, use both. 461 | copycmap 462 | 463 | # This special expression allows typing in numerals: 464 | cmap false 465 | 466 | # =================================================================== 467 | # == Pager Keybindings 468 | # =================================================================== 469 | 470 | # Movement 471 | pmap pager_move down=1 472 | pmap pager_move up=1 473 | pmap pager_move left=4 474 | pmap pager_move right=4 475 | pmap pager_move to=0 476 | pmap pager_move to=-1 477 | pmap pager_move down=1.0 pages=True 478 | pmap pager_move up=1.0 pages=True 479 | pmap pager_move down=0.5 pages=True 480 | pmap pager_move up=0.5 pages=True 481 | 482 | copypmap k 483 | copypmap j 484 | copypmap h 485 | copypmap l 486 | copypmap g 487 | copypmap G 488 | copypmap d 489 | copypmap u 490 | copypmap n f 491 | copypmap p b 492 | 493 | # Basic 494 | pmap pager_close 495 | copypmap q Q i 496 | pmap E edit_file 497 | 498 | # =================================================================== 499 | # == Taskview Keybindings 500 | # =================================================================== 501 | 502 | # Movement 503 | tmap taskview_move up=1 504 | tmap taskview_move down=1 505 | tmap taskview_move to=0 506 | tmap taskview_move to=-1 507 | tmap taskview_move down=1.0 pages=True 508 | tmap taskview_move up=1.0 pages=True 509 | tmap taskview_move down=0.5 pages=True 510 | tmap taskview_move up=0.5 pages=True 511 | 512 | copytmap k 513 | copytmap j 514 | copytmap g 515 | copytmap G 516 | copytmap u 517 | copytmap n f 518 | copytmap p b 519 | 520 | # Changing priority and deleting tasks 521 | tmap J eval -q fm.ui.taskview.task_move(-1) 522 | tmap K eval -q fm.ui.taskview.task_move(0) 523 | tmap dd eval -q fm.ui.taskview.task_remove() 524 | tmap eval -q fm.ui.taskview.task_move(-1) 525 | tmap eval -q fm.ui.taskview.task_move(0) 526 | tmap eval -q fm.ui.taskview.task_remove() 527 | 528 | # Basic 529 | tmap taskview_close 530 | copytmap q Q w 531 | -------------------------------------------------------------------------------- /.ncmpcpp/config: -------------------------------------------------------------------------------- 1 | visualizer_fifo_path = "/tmp/mpd.fifo" 2 | visualizer_output_name = "mpdfifo" 3 | visualizer_sync_interval = "30" 4 | visualizer_in_stereo = "yes" 5 | visualizer_type = "wave" (spectrum/wave) 6 | 7 | mpd_music_dir = "/home/a21v/Music" 8 | 9 | playlist_disable_highlight_delay = "3" 10 | message_delay_time = "8" 11 | song_list_format = "{$2%a$9} {$5%t$9} $R {$3%b$3} $9({$9%l$9})" 12 | song_library_format = "%n %t" 13 | song_status_format = "$b{$6%a$9 $1|$9} {$7%t$9} $1|$9 {$2%b$9} $1|$9 {$6%y$9} $1|$9" 14 | song_window_title_format = "{%a-%t}" 15 | song_columns_list_format = "(6)[yellow]{l} (34)[red]{a} (60)[blue]{t}" 16 | playlist_display_mode = "classic" 17 | browser_display_mode = "columns" 18 | titles_visibility = "no" 19 | incremental_seeking = "yes" 20 | autocenter_mode = "yes" 21 | header_visibility = "yes" 22 | statusbar_visibility = "yes" 23 | cyclic_scrolling = "no" 24 | display_bitrate = "yes" 25 | ignore_leading_the = "no" 26 | enable_window_title = "yes" 27 | progressbar_look = "─╼ " 28 | user_interface = "alternative" 29 | alternative_header_first_line_format = "{$b$2%a$9} {$5%t$9}" 30 | alternative_header_second_line_format = "{$3%b$9} {$4(%y)$9}" 31 | alternative_ui_separator_color = "blue" 32 | playlist_separate_albums = "no" 33 | colors_enabled = "yes" 34 | empty_tag_color = "blue" 35 | header_window_color = "white" 36 | display_volume_level = "yes" 37 | state_line_color = "cyan" 38 | state_flags_color = "red" 39 | main_window_color = "green" 40 | main_window_highlight_color = "blue" 41 | color1 = "white" 42 | color2 = "blue" 43 | progressbar_color = "yellow" 44 | statusbar_color = "cyan" 45 | active_column_color = "red" 46 | window_border_color = "red" 47 | active_window_border = "red" 48 | follow_now_playing_lyrics = "yes" 49 | 50 | #lyrics stuff 51 | store_lyrics_in_song_dir = "no" 52 | 53 | allow_for_physical_item_deletion = "yes" 54 | def_key "delete" 55 | delete_playlist_items 56 | def_key "delete" 57 | delete_browser_items 58 | def_key "delete" 59 | delete_stored_playlist 60 | 61 | 62 | ############################################################################## 63 | ## This is the example configuration file. Copy it to $HOME/.ncmpcpp/config ## 64 | ## or $XDG_CONFIG_HOME/ncmpcpp/config and set up your preferences. ## 65 | ############################################################################## 66 | # 67 | ##### directories ###### 68 | ## 69 | ## Directory for storing ncmpcpp related files. Changing it is useful if you 70 | ## want to store everything somewhere else and provide command line setting for 71 | ## alternative location to config file which defines that while launching 72 | ## ncmpcpp. 73 | ## 74 | # 75 | #ncmpcpp_directory = ~/.ncmpcpp 76 | # 77 | ## 78 | ## Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other 79 | ## MPD clients (eg. ncmpc) also use that location. 80 | ## 81 | # 82 | #lyrics_directory = ~/.lyrics 83 | # 84 | ##### connection settings ##### 85 | # 86 | #mpd_host = localhost 87 | # 88 | #mpd_port = 6600 89 | # 90 | #mpd_connection_timeout = 5 91 | # 92 | ## Needed for tag editor and file operations to work. 93 | ## 94 | #mpd_music_dir = ~/music 95 | # 96 | #mpd_crossfade_time = 5 97 | # 98 | ##### music visualizer ##### 99 | ## 100 | ## Note: In order to make music visualizer work you'll need to use mpd fifo 101 | ## output, whose format parameter has to be set to 44100:16:1 for mono 102 | ## visualization or 44100:16:2 for stereo visualization. Example configuration 103 | ## (it has to be put into mpd.conf): 104 | ## 105 | ## audio_output { 106 | ## type "fifo" 107 | ## name "Visualizer feed" 108 | ## path "/tmp/mpd.fifo" 109 | ## format "44100:16:2" 110 | ## } 111 | ## 112 | # 113 | #visualizer_fifo_path = /tmp/mpd.fifo 114 | # 115 | ## 116 | ## Note: Below parameter is needed for ncmpcpp to determine which output 117 | ## provides data for visualizer and thus allow syncing between visualization and 118 | ## sound as currently there are some problems with it. 119 | ## 120 | # 121 | #visualizer_output_name = Visualizer feed 122 | # 123 | ## 124 | ## If you set format to 44100:16:2, make it 'yes'. 125 | ## 126 | #visualizer_in_stereo = yes 127 | # 128 | ## 129 | ## Note: Below parameter defines how often ncmpcpp has to "synchronize" 130 | ## visualizer and audio outputs. 30 seconds is optimal value, but if you 131 | ## experience synchronization problems, set it to lower value. Keep in mind 132 | ## that sane values start with >=10. 133 | ## 134 | # 135 | #visualizer_sync_interval = 30 136 | # 137 | ## 138 | ## Note: To enable spectrum frequency visualization you need to compile ncmpcpp 139 | ## with fftw3 support. 140 | ## 141 | # 142 | ## Available values: spectrum, wave, wave_filled, ellipse. 143 | ## 144 | #visualizer_type = wave 145 | # 146 | #visualizer_look = ●▮ 147 | # 148 | #visualizer_color = blue, cyan, green, yellow, magenta, red 149 | # 150 | ## Alternative subset of 256 colors for terminals that support it. 151 | ## 152 | #visualizer_color = 41, 83, 119, 155, 185, 215, 209, 203, 197, 161 153 | # 154 | ##### system encoding ##### 155 | ## 156 | ## ncmpcpp should detect your charset encoding but if it failed to do so, you 157 | ## can specify charset encoding you are using here. 158 | ## 159 | ## Note: You can see whether your ncmpcpp build supports charset detection by 160 | ## checking output of `ncmpcpp --version`. 161 | ## 162 | ## Note: Since MPD uses UTF-8 by default, setting this option makes sense only 163 | ## if your encoding is different. 164 | ## 165 | # 166 | #system_encoding = "" 167 | # 168 | ##### delays ##### 169 | # 170 | ## Time of inactivity (in seconds) after playlist highlighting will be disabled 171 | ## (0 = always on). 172 | ## 173 | #playlist_disable_highlight_delay = 5 174 | # 175 | ## Defines how long messages are supposed to be visible. 176 | ## 177 | #message_delay_time = 5 178 | # 179 | ##### song format ##### 180 | ## 181 | ## For a song format you can use: 182 | ## 183 | ## %l - length 184 | ## %f - filename 185 | ## %D - directory 186 | ## %a - artist 187 | ## %A - album artist 188 | ## %t - title 189 | ## %b - album 190 | ## %y - date 191 | ## %n - track number (01/12 -> 01) 192 | ## %N - full track info (01/12 -> 01/12) 193 | ## %g - genre 194 | ## %c - composer 195 | ## %p - performer 196 | ## %d - disc 197 | ## %C - comment 198 | ## %P - priority 199 | ## $R - begin right alignment 200 | ## 201 | ## If you want to make sure that a part of the format is displayed only when 202 | ## certain tags are present, you can archieve it by grouping them with brackets, 203 | ## e.g. '{%a - %t}' will be evaluated to 'ARTIST - TITLE' if both tags are 204 | ## present or '' otherwise. It is also possible to define a list of 205 | ## alternatives by providing several groups and separating them with '|', 206 | ## e.g. '{%t}|{%f}' will be evaluated to 'TITLE' or 'FILENAME' if the former is 207 | ## not present. 208 | ## 209 | ## Note: If you want to set limit on maximal length of a tag, just put the 210 | ## appropriate number between % and character that defines tag type, e.g. to 211 | ## make album take max. 20 terminal cells, use '%20b'. 212 | ## 213 | ## In addition, formats support markers used for text attributes. They are 214 | ## followed by character '$'. After that you can put: 215 | ## 216 | ## - 0 - default window color (discards all other colors) 217 | ## - 1 - black 218 | ## - 2 - red 219 | ## - 3 - green 220 | ## - 4 - yellow 221 | ## - 5 - blue 222 | ## - 6 - magenta 223 | ## - 7 - cyan 224 | ## - 8 - white 225 | ## - 9 - end of current color 226 | ## - b - bold text 227 | ## - u - underline text 228 | ## - r - reverse colors 229 | ## - a - use alternative character set 230 | ## 231 | ## If you don't want to use a non-color attribute anymore, just put it again, 232 | ## but this time insert character '/' between '$' and attribute character, 233 | ## e.g. {$b%t$/b}|{$r%f$/r} will display bolded title tag or filename with 234 | ## reversed colors. 235 | ## 236 | ## If you want to use 256 colors and/or background colors in formats (the naming 237 | ## scheme is described below in section about color definitions), it can be done 238 | ## with the syntax $(COLOR), e.g. to set the artist tag to one of the 239 | ## non-standard colors and make it have yellow background, you need to write 240 | ## $(197_yellow)%a$(end). Note that for standard colors this is interchangable 241 | ## with attributes listed above. 242 | ## 243 | ## Note: colors can be nested. 244 | ## 245 | # 246 | #song_list_format = {%a - }{%t}|{$8%f$9}$R{$3(%l)$9} 247 | # 248 | #song_status_format = {{%a{ "%b"{ (%y)}} - }{%t}}|{%f} 249 | # 250 | #song_library_format = {%n - }{%t}|{%f} 251 | # 252 | # 253 | #alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b 254 | # 255 | #alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D} 256 | # 257 | #now_playing_prefix = $b 258 | # 259 | #now_playing_suffix = $/b 260 | # 261 | #browser_playlist_prefix = "$2playlist$9 " 262 | # 263 | #selected_item_prefix = $6 264 | # 265 | #selected_item_suffix = $9 266 | # 267 | #modified_item_prefix = $3> $9 268 | # 269 | ## 270 | ## Note: attributes are not supported for the following variables. 271 | ## 272 | #song_window_title_format = {%a - }{%t}|{%f} 273 | ## 274 | ## Note: Below variables are used for sorting songs in browser. The sort mode 275 | ## determines how songs are sorted, and can be used in combination with a sort 276 | ## format to specify a custom sorting format. Available values for 277 | ## browser_sort_mode are "name", "mtime", "format" and "noop". 278 | ## 279 | # 280 | #browser_sort_mode = name 281 | # 282 | #browser_sort_format = {%a - }{%t}|{%f} {(%l)} 283 | # 284 | ##### columns settings ##### 285 | ## 286 | ## syntax of song columns list format is "column column etc." 287 | ## 288 | ## - syntax for each column is: 289 | ## 290 | ## (width of the column)[color of the column]{displayed tag} 291 | ## 292 | ## Note: Width is by default in %, if you want a column to have fixed size, add 293 | ## 'f' after the value, e.g. (10)[white]{a} will be the column that take 10% of 294 | ## screen (so the real width will depend on actual screen size), whereas 295 | ## (10f)[white]{a} will take 10 terminal cells, no matter how wide the screen 296 | ## is. 297 | ## 298 | ## - color is optional (if you want the default one, leave the field empty). 299 | ## 300 | ## Note: You can give a column additional attributes by putting appropriate 301 | ## character after displayed tag character. Available attributes are: 302 | ## 303 | ## - r - column will be right aligned 304 | ## - E - if tag is empty, empty tag marker won't be displayed 305 | ## 306 | ## You can also: 307 | ## 308 | ## - give a column custom name by putting it after attributes, separated with 309 | ## character ':', e.g. {lr:Length} gives you right aligned column of lengths 310 | ## named "Length". 311 | ## 312 | ## - define sequence of tags, that have to be displayed in case predecessor is 313 | ## empty in a way similar to the one in classic song format, i.e. using '|' 314 | ## character, e.g. {a|c|p:Owner} creates column named "Owner" that tries to 315 | ## display artist tag and then composer and performer if previous ones are not 316 | ## available. 317 | ## 318 | # 319 | #song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l} 320 | # 321 | ##### various settings ##### 322 | # 323 | ## 324 | ## Note: Custom command that will be executed each time song changes. Useful for 325 | ## notifications etc. 326 | ## 327 | #execute_on_song_change = "" 328 | # 329 | ## 330 | ## Note: Custom command that will be executed each time player state 331 | ## changes. The environment variable MPD_PLAYER_STATE is set to the current 332 | ## state (either unknown, play, pause, or stop) for its duration. 333 | ## 334 | # 335 | #execute_on_player_state_change = "" 336 | # 337 | #playlist_show_mpd_host = no 338 | # 339 | #playlist_show_remaining_time = no 340 | # 341 | #playlist_shorten_total_times = no 342 | # 343 | #playlist_separate_albums = no 344 | # 345 | ## 346 | ## Note: Possible display modes: classic, columns. 347 | ## 348 | #playlist_display_mode = columns 349 | # 350 | #browser_display_mode = classic 351 | # 352 | #search_engine_display_mode = classic 353 | # 354 | #playlist_editor_display_mode = classic 355 | # 356 | #discard_colors_if_item_is_selected = yes 357 | # 358 | #show_duplicate_tags = true 359 | # 360 | #incremental_seeking = yes 361 | # 362 | #seek_time = 1 363 | # 364 | #volume_change_step = 2 365 | # 366 | #autocenter_mode = no 367 | # 368 | #centered_cursor = no 369 | # 370 | ## 371 | ## Note: You can specify third character which will be used to build 'empty' 372 | ## part of progressbar. 373 | ## 374 | #progressbar_look = => 375 | # 376 | ## Available values: database, playlist. 377 | ## 378 | #default_place_to_search_in = database 379 | # 380 | ## Available values: classic, alternative. 381 | ## 382 | #user_interface = classic 383 | # 384 | #data_fetching_delay = yes 385 | # 386 | ## Available values: artist, album_artist, date, genre, composer, performer. 387 | ## 388 | #media_library_primary_tag = artist 389 | # 390 | #media_library_albums_split_by_date = yes 391 | # 392 | ## Available values: wrapped, normal. 393 | ## 394 | #default_find_mode = wrapped 395 | # 396 | #default_tag_editor_pattern = %n - %t 397 | # 398 | #header_visibility = yes 399 | # 400 | #statusbar_visibility = yes 401 | # 402 | #titles_visibility = yes 403 | # 404 | #header_text_scrolling = yes 405 | # 406 | #cyclic_scrolling = no 407 | # 408 | #lines_scrolled = 2 409 | # 410 | #lyrics_fetchers = lyricwiki, azlyrics, genius, sing365, lyricsmania, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, internet 411 | # 412 | #follow_now_playing_lyrics = no 413 | # 414 | #fetch_lyrics_for_current_song_in_background = no 415 | # 416 | #store_lyrics_in_song_dir = no 417 | # 418 | #generate_win32_compatible_filenames = yes 419 | # 420 | #allow_for_physical_item_deletion = no 421 | # 422 | ## 423 | ## Note: If you set this variable, ncmpcpp will try to get info from last.fm in 424 | ## language you set and if it fails, it will fall back to english. Otherwise it 425 | ## will use english the first time. 426 | ## 427 | ## Note: Language has to be expressed as an ISO 639 alpha-2 code. 428 | ## 429 | #lastfm_preferred_language = en 430 | # 431 | #space_add_mode = add_remove 432 | # 433 | #show_hidden_files_in_local_browser = no 434 | # 435 | ## 436 | ## How shall screen switcher work? 437 | ## 438 | ## - "previous" - switch between the current and previous screen. 439 | ## - "screen1,...,screenN" - switch between given sequence of screens. 440 | ## 441 | ## Screens available for use: help, playlist, browser, search_engine, 442 | ## media_library, playlist_editor, tag_editor, outputs, visualizer, clock, 443 | ## lyrics, last_fm. 444 | ## 445 | #screen_switcher_mode = playlist, browser 446 | # 447 | ## 448 | ## Note: You can define startup screen by choosing screen from the list above. 449 | ## 450 | #startup_screen = playlist 451 | # 452 | ## 453 | ## Note: You can define startup slave screen by choosing screen from the list 454 | ## above or an empty value for no slave screen. 455 | ## 456 | #startup_slave_screen = "" 457 | # 458 | #startup_slave_screen_focus = no 459 | # 460 | ## 461 | ## Default width of locked screen (in %). Acceptable values are from 20 to 80. 462 | ## 463 | # 464 | #locked_screen_width_part = 50 465 | # 466 | #ask_for_locked_screen_width_part = yes 467 | # 468 | #jump_to_now_playing_song_at_start = yes 469 | # 470 | #ask_before_clearing_playlists = yes 471 | # 472 | #clock_display_seconds = no 473 | # 474 | #display_volume_level = yes 475 | # 476 | #display_bitrate = no 477 | # 478 | #display_remaining_time = no 479 | # 480 | ## Available values: none, basic, extended, perl. 481 | ## 482 | #regular_expressions = perl 483 | # 484 | ## 485 | ## Note: if below is enabled, ncmpcpp will ignore leading "The" word while 486 | ## sorting items in browser, tags in media library, etc. 487 | ## 488 | #ignore_leading_the = no 489 | # 490 | ## 491 | ## Note: if below is enabled, ncmpcpp will ignore diacritics while searching and 492 | ## filtering lists. This takes an effect only if boost was compiled with ICU 493 | ## support. 494 | ## 495 | #ignore_diacritics = no 496 | # 497 | #block_search_constraints_change_if_items_found = yes 498 | # 499 | #mouse_support = yes 500 | # 501 | #mouse_list_scroll_whole_page = yes 502 | # 503 | #empty_tag_marker = 504 | # 505 | #tags_separator = " | " 506 | # 507 | #tag_editor_extended_numeration = no 508 | # 509 | #media_library_sort_by_mtime = no 510 | # 511 | #enable_window_title = yes 512 | # 513 | ## 514 | ## Note: You can choose default search mode for search engine. Available modes 515 | ## are: 516 | ## 517 | ## - 1 - use mpd built-in searching (no regexes, pattern matching) 518 | ## 519 | ## - 2 - use ncmpcpp searching (pattern matching with support for regexes, but 520 | ## if your mpd is on a remote machine, downloading big database to process 521 | ## it can take a while 522 | ## 523 | ## - 3 - match only exact values (this mode uses mpd function for searching in 524 | ## database and local one for searching in current playlist) 525 | ## 526 | # 527 | #search_engine_default_search_mode = 1 528 | # 529 | #external_editor = nano 530 | # 531 | ## Note: set to yes if external editor is a console application. 532 | ## 533 | #use_console_editor = yes 534 | # 535 | ##### colors definitions ##### 536 | ## 537 | ## It is possible to set a background color by setting a color value 538 | ## "_", e.g. red_black will set foregound color to red 539 | ## and background color to black. 540 | ## 541 | ## In addition, for terminals that support 256 colors it is possible to set one 542 | ## of them by using a number in range [1, 256] instead of color name, 543 | ## e.g. numerical value corresponding to red_black is 2_1. To find out if the 544 | ## terminal supports 256 colors, run ncmpcpp and check out the bottom of the 545 | ## help screen for list of available colors and their numerical values. 546 | ## 547 | ## What is more, there are two special values for the background color: 548 | ## "transparent" and "current". The first one explicitly sets the background to 549 | ## be transparent, while the second one allows you to preserve current 550 | ## background color and change only the foreground one. It's used implicitly 551 | ## when background color is not specified. 552 | ## 553 | ## Moreover, it is possible to attach format information to selected color 554 | ## variables by appending to their end a colon followed by one or more format 555 | ## flags, e.g. black:b or red:ur. The following variables support this syntax: 556 | ## visualizer_color, color1, color2, empty_tag_color, volume_color, 557 | ## state_line_color, state_flags_color, progressbar_color, 558 | ## progressbar_elapsed_color, player_state_color, statusbar_time_color, 559 | ## alternative_ui_separator_color. 560 | ## 561 | ## Note: due to technical limitations of older ncurses version, if 256 colors 562 | ## are used there is a possibility that you'll be able to use only colors with 563 | ## transparent background. 564 | # 565 | #colors_enabled = yes 566 | # 567 | #empty_tag_color = cyan 568 | # 569 | #header_window_color = default 570 | # 571 | #volume_color = default 572 | # 573 | #state_line_color = default 574 | # 575 | #state_flags_color = default:b 576 | # 577 | #main_window_color = yellow 578 | # 579 | #color1 = white 580 | # 581 | #color2 = green 582 | # 583 | #main_window_highlight_color = yellow 584 | # 585 | #progressbar_color = black:b 586 | # 587 | #progressbar_elapsed_color = green:b 588 | # 589 | #statusbar_color = default 590 | # 591 | #statusbar_time_color = default:b 592 | # 593 | #player_state_color = default:b 594 | # 595 | #alternative_ui_separator_color = black:b 596 | # 597 | #active_column_color = red 598 | # 599 | #window_border_color = green 600 | # 601 | #active_window_border = red 602 | # 603 | --------------------------------------------------------------------------------