From 7ed13932d36c9a8204cf7cc8f2a1f9a46e4d06e2 Mon Sep 17 00:00:00 2001 From: Mark Date: Sat, 24 Apr 2021 17:30:03 -0700 Subject: [PATCH] Initial commit --- feh/README.md | 3 + feh/buttons | 3 + feh/themes | 1 + fish/README.md | 3 + fish/config.fish | 17 ++ fish/fish_variables | 33 +++ kitty/README.md | 20 ++ kitty/colors.conf | 51 ++++ kitty/fonts.conf | 10 + kitty/keys.conf | 47 ++++ kitty/kitty.conf | 68 +++++ mpd/README.md | 3 + mpd/mpd.conf | 330 ++++++++++++++++++++++++ ncmpcpp/README.md | 3 + ncmpcpp/bindings | 608 ++++++++++++++++++++++++++++++++++++++++++++ ncmpcpp/config | 464 +++++++++++++++++++++++++++++++++ ranger/README.md | 17 ++ ranger/rc.conf | 85 +++++++ 18 files changed, 1766 insertions(+) create mode 100644 feh/README.md create mode 100644 feh/buttons create mode 100644 feh/themes create mode 100644 fish/README.md create mode 100755 fish/config.fish create mode 100644 fish/fish_variables create mode 100644 kitty/README.md create mode 100644 kitty/colors.conf create mode 100644 kitty/fonts.conf create mode 100644 kitty/keys.conf create mode 100644 kitty/kitty.conf create mode 100644 mpd/README.md create mode 100644 mpd/mpd.conf create mode 100644 ncmpcpp/README.md create mode 100644 ncmpcpp/bindings create mode 100644 ncmpcpp/config create mode 100644 ranger/README.md create mode 100644 ranger/rc.conf diff --git a/feh/README.md b/feh/README.md new file mode 100644 index 0000000..87836db --- /dev/null +++ b/feh/README.md @@ -0,0 +1,3 @@ +**FEH config** + +These files go in `~/.config/feh` diff --git a/feh/buttons b/feh/buttons new file mode 100644 index 0000000..6a25d0d --- /dev/null +++ b/feh/buttons @@ -0,0 +1,3 @@ +zoom +blur +zoom [C+1] diff --git a/feh/themes b/feh/themes new file mode 100644 index 0000000..48c5e4c --- /dev/null +++ b/feh/themes @@ -0,0 +1 @@ +feh --auto-reload --draw-tinted --draw-filename --scale-down --limit-height 200 --limit-width 200 --auto-zoom diff --git a/fish/README.md b/fish/README.md new file mode 100644 index 0000000..d984b43 --- /dev/null +++ b/fish/README.md @@ -0,0 +1,3 @@ +**Fish shell config** + +These files go in `~/.config/fish` diff --git a/fish/config.fish b/fish/config.fish new file mode 100755 index 0000000..4770820 --- /dev/null +++ b/fish/config.fish @@ -0,0 +1,17 @@ +#!/usr/bin/fish + +alias gclon "git clone (xclip -o)" +alias gpull "git pull origin master" +alias gpush "git push --all origin" +alias glog "git log --oneline --all --graph" + +alias icat "kitty +kitten icat --align left" + + +# Enable kitty command completion +kitty + complete setup fish | source + +alias notbg "kitty --override background_opacity=1 --detach && exit" + +set cfg $HOME/.config +set mnt /mnt/mark diff --git a/fish/fish_variables b/fish/fish_variables new file mode 100644 index 0000000..d41d088 --- /dev/null +++ b/fish/fish_variables @@ -0,0 +1,33 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR __fish_initialized:3100 +SETUVAR fish_color_autosuggestion:555\x1ebrblack +SETUVAR fish_color_cancel:\x2dr +SETUVAR fish_color_command:005fd7 +SETUVAR fish_color_comment:990000 +SETUVAR fish_color_cwd:green +SETUVAR fish_color_cwd_root:red +SETUVAR fish_color_end:009900 +SETUVAR fish_color_error:ff0000 +SETUVAR fish_color_escape:00a6b2 +SETUVAR fish_color_history_current:\x2d\x2dbold +SETUVAR fish_color_host:normal +SETUVAR fish_color_host_remote:yellow +SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue +SETUVAR fish_color_normal:normal +SETUVAR fish_color_operator:00a6b2 +SETUVAR fish_color_param:00afff +SETUVAR fish_color_quote:999900 +SETUVAR fish_color_redirection:00afff +SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_status:red +SETUVAR fish_color_user:brgreen +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_greeting: +SETUVAR fish_key_bindings:fish_default_key_bindings +SETUVAR fish_pager_color_completion:\x1d +SETUVAR fish_pager_color_description:B3A06D\x1eyellow +SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline +SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan +SETUVAR fish_user_paths:/home/mark/\x2egem/ruby/2\x2e7\x2e0/bin/ diff --git a/kitty/README.md b/kitty/README.md new file mode 100644 index 0000000..4f75f35 --- /dev/null +++ b/kitty/README.md @@ -0,0 +1,20 @@ +**Kitty terminal configuration** + + +These files go in `~/.config/kitty`. + + + + +If sudo doesn't want to handle control chars: + +Put `{ Defaults env_keep += "TERM TERMINFO" }` in visudo + +`export TERMINFO=/home/mark/.terminfo` + + + + +If SSH doesn't want to handle control chars: + +`kitty +kitten ssh ` diff --git a/kitty/colors.conf b/kitty/colors.conf new file mode 100644 index 0000000..742f975 --- /dev/null +++ b/kitty/colors.conf @@ -0,0 +1,51 @@ +background #1D1F21 +foreground #F8F8F2 +cursor #F8F8F2 + +# Black +color0 #282828 +color8 #555555 + +# Red +color1 #FF6600 +color9 #FFAA00 + +# Green +color2 #B4EC85 +color10 #A8FF60 + +# Yellow +color3 #FFFFB6 +color11 #F1FF52 + +# Blue +color4 #0087AF +color12 #87DFFF + +# Magenta +color5 #BD99FF +color13 #985EFF + +# Cyan +color6 #87DFEB +color14 #24D1E7 + +# White +color7 #F8F8F2 +color15 #D0D0D0 + + +selection_foreground #F1FF52 +selection_background #383838 + +active_border_color #3D4C5D + +inactive_border_color #282828 + +url_color #6498EF + + +active_tab_foreground #F8F8F2 +active_tab_background #24D1E7 +inactive_tab_foreground #F8F8F2 +inactive_tab_background #3D4C5F diff --git a/kitty/fonts.conf b/kitty/fonts.conf new file mode 100644 index 0000000..278afc6 --- /dev/null +++ b/kitty/fonts.conf @@ -0,0 +1,10 @@ +# Fonts +font_family MesloLGS Nerd Font Mono +italic_font MesloLGS Nerd Font Mono +bold_font MesloLGS Nerd Font Mono +bold_italic_font MesloLGS Nerd Font Mono +font_size 12.0 + +adjust_line_height 0 +adjust_column_width 0 +box_drawing_scale 0.001, 1, 1.5, 2 diff --git a/kitty/keys.conf b/kitty/keys.conf new file mode 100644 index 0000000..35c0183 --- /dev/null +++ b/kitty/keys.conf @@ -0,0 +1,47 @@ +map ctrl+shift+v paste_from_clipboard +map ctrl+shift+s paste_from_selection +map ctrl+shift+c copy_to_clipboard +map shift+insert paste_from_selection + +map ctrl+shift+up scroll_line_up +map ctrl+shift+down scroll_line_down +map ctrl+shift+k scroll_line_up +map ctrl+shift+j scroll_line_down +map ctrl+shift+page_up scroll_page_up +map ctrl+shift+page_down scroll_page_down +map ctrl+shift+home scroll_home +map ctrl+shift+end scroll_end +map ctrl+shift+h show_scrollback + +map ctrl+shift+enter new_window +map ctrl+shift+n new_os_window +map ctrl+shift+w close_window +map ctrl+shift+] next_window +map ctrl+shift+[ previous_window +map ctrl+shift+f move_window_forward +map ctrl+shift+b move_window_backward +map ctrl+shift+` move_window_to_top +map ctrl+shift+1 first_window +map ctrl+shift+2 second_window +map ctrl+shift+3 third_window +map ctrl+shift+4 fourth_window +map ctrl+shift+5 fifth_window +map ctrl+shift+6 sixth_window +map ctrl+shift+7 seventh_window +map ctrl+shift+8 eighth_window +map ctrl+shift+9 ninth_window +map ctrl+shift+0 tenth_window + +map ctrl+shift+right next_tab +map ctrl+shift+left previous_tab +map ctrl+shift+t new_tab +map ctrl+shift+q close_tab +map ctrl+shift+l next_layout +map ctrl+shift+. move_tab_forward +map ctrl+shift+, move_tab_backward +map ctrl+shift+alt+t set_tab_title + +map ctrl+shift+equal increase_font_size +map ctrl+shift+minus decrease_font_size +map ctrl+shift+backspace restore_font_size +map ctrl+shift+f6 set_font_size 16.0 diff --git a/kitty/kitty.conf b/kitty/kitty.conf new file mode 100644 index 0000000..d7197dd --- /dev/null +++ b/kitty/kitty.conf @@ -0,0 +1,68 @@ +include colors.conf +include fonts.conf + +include keys.conf + +# Cursor +cursor_shape block +cursor_blink_interval -1 +cursor_stop_blinking_after 15.0 + +# Scrollback +scrollback_lines 10000 +scrollback_pager /usr/bin/less +wheel_scroll_multiplier 5.0 + +# URLs +url_style double +open_url_modifier ctrl+shift +open_url_with default +copy_on_select yes + +# Selection +rectangle_select_modifiers ctrl+shift +select_by_word_characters :@-./_~?&=%+# + +# Mouse +click_interval 0.5 +mouse_hide_wait 0 +focus_follows_mouse no + +# Performance +repaint_delay 20 +input_delay 2 +sync_to_monitor no + +# Bell +visual_bell_duration 0.0 +enable_audio_bell no +bell_on_tab no + +# Window +remember_window_size no +initial_window_width 1000 +initial_window_height 500 +window_border_width 0 +window_margin_width 8 +window_padding_width 8 +inactive_text_alpha 1.0 +background_opacity 0.7 +placement_strategy center +hide_window_decorations yes + +# Layouts +enabled_layouts splits,tall + +# Tabs +tab_bar_edge bottom +tab_bar_style powerline +tab_bar_margin_width 0.0 +tab_separator " ┇ " +active_tab_font_style bold +inactive_tab_font_style normal + +# Shell +#shell fish +close_on_child_death yes +allow_remote_control yes +term xterm-kitty diff --git a/mpd/README.md b/mpd/README.md new file mode 100644 index 0000000..ce8c713 --- /dev/null +++ b/mpd/README.md @@ -0,0 +1,3 @@ +**MPD config** + +These files go in `~/.mpd` diff --git a/mpd/mpd.conf b/mpd/mpd.conf new file mode 100644 index 0000000..36ac2c1 --- /dev/null +++ b/mpd/mpd.conf @@ -0,0 +1,330 @@ +# An example configuration file for MPD. +# Read the user manual for documentation: http://www.musicpd.org/doc/user/ + +# Don't play music on start +restore_paused "yes" + +# Files and directories ####################################################### +# +# This setting controls the top directory which MPD will search to discover the +# available audio files and add them to the daemon's online database. This +# setting defaults to the XDG directory, otherwise the music directory will be +# be disabled and audio files will only be accepted over ipc socket (using +# file:// protocol) or streaming files over an accepted protocol. +# +music_directory "~/Music" + +# This setting sets the MPD internal playlist directory. The purpose of this +# directory is storage for playlists created by MPD. The server will use +# playlist files not created by the server but only if they are in the MPD +# format. This setting defaults to playlist saving being disabled. +# +playlist_directory "~/.mpd/playlists" +# +# This setting sets the location of the MPD database. This file is used to +# load the database at server start up and store the database while the +# server is not up. This setting defaults to disabled which will allow +# MPD to accept files over ipc socket (using file:// protocol) or streaming +# files over an accepted protocol. +# +db_file "~/.mpd/database" +# +# These settings are the locations for the daemon log files for the daemon. +# These logs are great for troubleshooting, depending on your log_level +# settings. +# +# The special value "syslog" makes MPD use the local syslog daemon. This +# setting defaults to logging to syslog. +# +log_file "~/.mpd/log" +# +# This setting sets the location of the file which stores the process ID +# for use of mpd --kill and some init scripts. This setting is disabled by +# default and the pid file will not be stored. +# +pid_file "~/.mpd/pid" +# +# This setting sets the location of the file which contains information about +# most variables to get MPD back into the same general shape it was in before +# it was brought down. This setting is disabled by default and the server +# state will be reset on server start up. +# +state_file "~/.mpd/state" +# +# The location of the sticker database. This is a database which +# manages dynamic information attached to songs. +# +sticker_file "~/.mpd/sticker.sql" +# +############################################################################### + + +# General music daemon options ################################################ +# +# This setting specifies the user that MPD will run as. MPD should never run as +# root and you may use this setting to make MPD change its user ID after +# initialization. This setting is disabled by default and MPD is run as the +# current user. +# +user "mark" +# +# This setting specifies the group that MPD will run as. If not specified +# primary group of user specified with "user" setting will be used (if set). +# This is useful if MPD needs to be a member of group such as "audio" to +# have permission to use sound card. +# +#group "nogroup" +# +# This setting sets the address for the daemon to listen on. Careful attention +# should be paid if this is assigned to anything other then the default, any. +# This setting can deny access to control of the daemon. Not effective if +# systemd socket activiation is in use. +# +# For network +#bind_to_address "any" +# +# And for Unix Socket +#bind_to_address "~/.mpd/socket" +# +# This setting is the TCP port that is desired for the daemon to get assigned +# to. +# +port "6600" +# +# This setting controls the type of information which is logged. Available +# setting arguments are "default", "secure" or "verbose". The "verbose" setting +# argument is recommended for troubleshooting, though can quickly stretch +# available resources on limited hardware storage. +# +#log_level "default" +# +# Setting "restore_paused" to "yes" puts MPD into pause mode instead +# of starting playback after startup. +# +#restore_paused "no" +# +# This setting enables MPD to create playlists in a format usable by other +# music players. +# +#save_absolute_paths_in_playlists "no" +# +# This setting defines a list of tag types that will be extracted during the +# audio file discovery process. The complete list of possible values can be +# found in the user manual. +metadata_to_use "artist,album,title,track,name,genre,date,comment" +# +# This example just enables the "comment" tag without disabling all +# the other supported tags: +#metadata_to_use "+comment" +# +# This setting enables automatic update of MPD's database when files in +# music_directory are changed. +# +auto_update "yes" +# +# Limit the depth of the directories being watched, 0 means only watch +# the music directory itself. There is no limit by default. +# +#auto_update_depth "3" +# +############################################################################### + + +# Symbolic link behavior ###################################################### +# +# If this setting is set to "yes", MPD will discover audio files by following +# symbolic links outside of the configured music_directory. +# +#follow_outside_symlinks "yes" +# +# If this setting is set to "yes", MPD will discover audio files by following +# symbolic links inside of the configured music_directory. +# +#follow_inside_symlinks "yes" +# +############################################################################### + + +# Zeroconf / Avahi Service Discovery ########################################## +# +# If this setting is set to "yes", service information will be published with +# Zeroconf / Avahi. +# +#zeroconf_enabled "yes" +# +# The argument to this setting will be the Zeroconf / Avahi unique name for +# this MPD server on the network. %h will be replaced with the hostname. +# +#zeroconf_name "Music Player @ %h" +# +############################################################################### + + +# Permissions ################################################################# +# +# If this setting is set, MPD will require password authorization. The password +# setting can be specified multiple times for different password profiles. +# +#password "password@read,add,control,admin" +# +# This setting specifies the permissions a user has who has not yet logged in. +# +#default_permissions "read,add,control,admin" +# +############################################################################### + + +# Database ####################################################################### +# + +#music_directory " +#database { +# plugin "proxy" +# host "172.16.11.17" +# port "6600" +#} + +# Input ####################################################################### +# + +input { + plugin "curl" +# proxy "proxy.isp.com:8080" +# proxy_user "user" +# proxy_password "password" +} + +# +############################################################################### + +# Audio Output ################################################################ +# +# MPD supports various audio output types, as well as playing through multiple +# audio outputs at the same time, through multiple audio_output settings +# blocks. Setting this block is optional, though the server will only attempt +# autodetection for one sound card. + +# Pulse output +audio_output { + type "pulse" + name "pulse audio" +} + +# FIFO output for visualization +audio_output { + type "fifo" + name "fifo" + path "/tmp/mpd.fifo" + format "44100:16:2" +} + +# Disable tidal and qobuz to prevent excess logging +input { + plugin "tidal" + enabled "no" +} + +input { + plugin "qobuz" + enabled "no" +} + +# A example of an ALSA output: +# +#audio_output { +# type "alsa" +# name "My ALSA Device" +## device "hw:0,0" # optional +## mixer_type "hardware" # optional +## mixer_device "default" # optional +## mixer_control "PCM" # optional +## mixer_index "0" # optional +#} + +## An example of a httpd output (built-in HTTP streaming server): +# +#audio_output { +# type "httpd" +# name "My HTTP Stream" +# encoder "vorbis" # optional, vorbis or lame +# port "8000" +# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6 +## quality "5.0" # do not define if bitrate is defined +# bitrate "128" # do not define if quality is defined +# format "44100:16:1" +# max_clients "0" # optional 0=no limit +#} + +## An example of a pulseaudio output (streaming to a remote pulseaudio server) +# +#audio_output { +# type "pulse" +# name "My Pulse Output" +## server "remote_server" # optional +## sink "remote_server_sink" # optional +#} +# + +## An example of a null output (for no audio output): +# +#audio_output { +# type "null" +# name "My Null Output" +# mixer_type "none" # optional +#} + +decoder { + plugin "wildmidi" + enabled "no" +} + +# +############################################################################### + + +# Normalization automatic volume adjustments ################################## +# +# This setting specifies the type of ReplayGain to use. This setting can have +# the argument "off", "album", "track" or "auto". "auto" is a special mode that +# chooses between "track" and "album" depending on the current state of +# random playback. If random playback is enabled then "track" mode is used. +# See for more details about ReplayGain. +# This setting is off by default. +# +#replaygain "album" +# +# This setting sets the pre-amp used for files that have ReplayGain tags. By +# default this setting is disabled. +# +#replaygain_preamp "0" +# +# This setting sets the pre-amp used for files that do NOT have ReplayGain tags. +# By default this setting is disabled. +# +#replaygain_missing_preamp "0" +# +# This setting enables or disables ReplayGain limiting. +# MPD calculates actual amplification based on the ReplayGain tags +# and replaygain_preamp / replaygain_missing_preamp setting. +# If replaygain_limit is enabled MPD will never amplify audio signal +# above its original level. If replaygain_limit is disabled such amplification +# might occur. By default this setting is enabled. +# +#replaygain_limit "yes" +# +# This setting enables on-the-fly normalization volume adjustment. This will +# result in the volume of all playing audio to be adjusted so the output has +# equal "loudness". This setting is disabled by default. +# +#volume_normalization "no" +# +############################################################################### + +# Character Encoding ########################################################## +# +# If file or directory names do not display correctly for your locale then you +# may need to modify this setting. +# +#filesystem_charset "UTF-8" +# +############################################################################### diff --git a/ncmpcpp/README.md b/ncmpcpp/README.md new file mode 100644 index 0000000..0c42c25 --- /dev/null +++ b/ncmpcpp/README.md @@ -0,0 +1,3 @@ +**NCMPCPP config** + +These files go in `~/.ncmpcpp` diff --git a/ncmpcpp/bindings b/ncmpcpp/bindings new file mode 100644 index 0000000..740b680 --- /dev/null +++ b/ncmpcpp/bindings @@ -0,0 +1,608 @@ +# Delete +def_key "x" + delete_playlist_items +def_key "x" + delete_browser_items +def_key "x" + delete_stored_playlist + + + +# Navigation +def_key "k" + scroll_up +def_key "j" + scroll_down + +def_key "ctrl-u" + page_up +def_key "ctrl-d" + page_down + +def_key "K" + select_item + scroll_up +def_key "J" + select_item + scroll_down + +def_key "h" + previous_column +def_key "l" + next_column + +def_key "k" + scroll_up +def_key "j" + scroll_down + +def_key "a" + select_item +def_key "A" + add_selected_items +def_key "shift-enter" + add + + +# Search +def_key "n" + next_found_item +def_key "N" + previous_found_item + + + +# Switch + and = keys. +# Nobody wants to press shift to increase volume +def_key "+" + show_clock +def_key "=" + volume_up + + + +# Better seek keys +def_key "." + seek_forward +def_key "," + seek_backward + + +def_key "L" + show_lyrics + + +##### General rules ##### +## +## 1) Because each action has runtime checks whether it's +## ok to run it, a few actions can be bound to one key. +## Actions will be bound in order given in configuration +## file. When a key is pressed, first action in order +## will test itself whether it's possible to run it. If +## test succeeds, action is executed and other actions +## bound to this key are ignored. If it doesn't, next +## action in order tests itself etc. +## +## 2) It's possible to bind more that one action at once +## to a key. It can be done using the following syntax: +## +## def_key "key" +## action1 +## action2 +## ... +## +## This creates a chain of actions. When such chain is +## executed, each action in chain is run until the end of +## chain is reached or one of its actions fails to execute +## due to its requirements not being met. If multiple actions +## and/or chains are bound to the same key, they will be +## consecutively run until one of them gets fully executed. +## +## 3) When ncmpcpp starts, bindings configuration file is +## parsed and then ncmpcpp provides "missing pieces" +## of default keybindings. If you want to disable some +## bindings, there is a special action called 'dummy' +## for that purpose. Eg. if you want to disable ability +## to crop playlists, you need to put the following +## into configuration file: +## +## def_key "C" +## dummy +## +## After that ncmpcpp will not bind any default action +## to this key. +## +## 4) To let you write simple macros, the following special +## actions are provided: +## +## - push_character "character" - pushes given special +## character into input queue, so it will be immediately +## picked by ncmpcpp upon next call to readKey function. +## Accepted values: mouse, up, down, page_up, page_down, +## home, end, space, enter, insert, delete, left, right, +## tab, ctrl-a, ctrl-b, ..., ctrl-z, ctrl-[, ctrl-\\, +## ctrl-], ctrl-^, ctrl-_, f1, f2, ..., f12, backspace. +## In addition, most of these names can be prefixed with +## alt-/ctrl-/shift- to be recognized with the appropriate +## modifier key(s). +## +## - push_characters "string" - pushes given string into +## input queue. +## +## - require_runnable "action" - checks whether given action +## is runnable and fails if it isn't. This is especially +## useful when mixed with previous two functions. Consider +## the following macro definition: +## +## def_key "key" +## push_characters "custom_filter" +## apply_filter +## +## If apply_filter can't be currently run, we end up with +## sequence of characters in input queue which will be +## treated just as we typed them. This may lead to unexpected +## results (in this case 'c' will most likely clear current +## playlist, 'u' will trigger database update, 's' will stop +## playback etc.). To prevent such thing from happening, we +## need to change above definition to this one: +## +## def_key "key" +## require_runnable "apply_filter" +## push_characters "custom_filter" +## apply_filter +## +## Here, first we test whether apply_filter can be actually run +## before we stuff characters into input queue, so if condition +## is not met, whole chain is aborted and we're fine. +## +## - require_screen "screen" - checks whether given screen is +## currently active. accepted values: browser, clock, help, +## media_library, outputs, playlist, playlist_editor, +## search_engine, tag_editor, visualizer, last_fm, lyrics, +## selected_items_adder, server_info, song_info, +## sort_playlist_dialog, tiny_tag_editor. +## +## - run_external_command "command" - runs given command using +## system() function. +## +## 5) In addition to binding to a key, you can also bind actions +## or chains of actions to a command. If it comes to commands, +## syntax is very similar to defining keys. Here goes example +## definition of a command: +## +## def_command "quit" [deferred] +## stop +## quit +## +## If you execute the above command (which can be done by +## invoking action execute_command, typing 'quit' and pressing +## enter), ncmpcpp will stop the player and then quit. Note the +## presence of word 'deferred' enclosed in square brackets. It +## tells ncmpcpp to wait for confirmation (ie. pressing enter) +## after you typed quit. Instead of 'deferred', 'immediate' +## could be used. Then ncmpcpp will not wait for confirmation +## (enter) and will execute the command the moment it sees it. +## +## Note: while command chains are executed, internal environment +## update (which includes current window refresh and mpd status +## update) is not performed for performance reasons. However, it +## may be desirable to do so in some situration. Therefore it's +## possible to invoke by hand by performing 'update enviroment' +## action. +## +## Note: There is a difference between: +## +## def_key "key" +## action1 +## +## def_key "key" +## action2 +## +## and +## +## def_key "key" +## action1 +## action2 +## +## First one binds two single actions to the same key whilst +## second one defines a chain of actions. The behavior of +## these two is different and is described in (1) and (2). +## +## Note: Function def_key accepts non-ascii characters. +## +##### List of unbound actions ##### +## +## The following actions are not bound to any key/command: +## +## - set_volume +## +# +#def_key "mouse" +# mouse_event +# +#def_key "up" +# scroll_up +# +#def_key "shift-up" +# select_item +# scroll_up +# +#def_key "down" +# scroll_down +# +#def_key "shift-down" +# select_item +# scroll_down +# +#def_key "[" +# scroll_up_album +# +#def_key "]" +# scroll_down_album +# +#def_key "{" +# scroll_up_artist +# +#def_key "}" +# scroll_down_artist +# +#def_key "page_up" +# page_up +# +#def_key "page_down" +# page_down +# +#def_key "home" +# move_home +# +#def_key "end" +# move_end +# +#def_key "insert" +# select_item +# +#def_key "enter" +# enter_directory +# +#def_key "enter" +# toggle_output +# +#def_key "enter" +# run_action +# +#def_key "enter" +# play_item +# +#def_key "space" +# add_item_to_playlist +# +#def_key "space" +# toggle_lyrics_update_on_song_change +# +#def_key "space" +# toggle_visualization_type +# +#def_key "delete" +# delete_playlist_items +# +#def_key "delete" +# delete_browser_items +# +#def_key "delete" +# delete_stored_playlist +# +#def_key "right" +# next_column +# +#def_key "right" +# slave_screen +# +#def_key "right" +# volume_up +# +#def_key "+" +# volume_up +# +#def_key "left" +# previous_column +# +#def_key "left" +# master_screen +# +#def_key "left" +# volume_down +# +#def_key "-" +# volume_down +# +#def_key ":" +# execute_command +# +#def_key "tab" +# next_screen +# +#def_key "shift-tab" +# previous_screen +# +#def_key "f1" +# show_help +# +#def_key "1" +# show_playlist +# +#def_key "2" +# show_browser +# +#def_key "2" +# change_browse_mode +# +#def_key "3" +# show_search_engine +# +#def_key "3" +# reset_search_engine +# +#def_key "4" +# show_media_library +# +#def_key "4" +# toggle_media_library_columns_mode +# +#def_key "5" +# show_playlist_editor +# +#def_key "6" +# show_tag_editor +# +#def_key "7" +# show_outputs +# +#def_key "8" +# show_visualizer +# +#def_key "=" +# show_clock +# +#def_key "@" +# show_server_info +# +#def_key "s" +# stop +# +#def_key "p" +# pause +# +#def_key ">" +# next +# +#def_key "<" +# previous +# +#def_key "ctrl-h" +# jump_to_parent_directory +# +#def_key "ctrl-h" +# replay_song +# +#def_key "backspace" +# jump_to_parent_directory +# +#def_key "backspace" +# replay_song +# +#def_key "f" +# seek_forward +# +#def_key "b" +# seek_backward +# +#def_key "r" +# toggle_repeat +# +#def_key "z" +# toggle_random +# +#def_key "y" +# save_tag_changes +# +#def_key "y" +# start_searching +# +#def_key "y" +# toggle_single +# +#def_key "R" +# toggle_consume +# +#def_key "Y" +# toggle_replay_gain_mode +# +#def_key "T" +# toggle_add_mode +# +#def_key "|" +# toggle_mouse +# +#def_key "#" +# toggle_bitrate_visibility +# +#def_key "Z" +# shuffle +# +#def_key "x" +# toggle_crossfade +# +#def_key "X" +# set_crossfade +# +#def_key "u" +# update_database +# +#def_key "ctrl-s" +# sort_playlist +# +#def_key "ctrl-s" +# toggle_browser_sort_mode +# +#def_key "ctrl-s" +# toggle_media_library_sort_mode +# +#def_key "ctrl-r" +# reverse_playlist +# +#def_key "ctrl-_" +# select_found_items +# +#def_key "/" +# find +# +#def_key "/" +# find_item_forward +# +#def_key "?" +# find +# +#def_key "?" +# find_item_backward +# +#def_key "." +# next_found_item +# +#def_key "," +# previous_found_item +# +#def_key "w" +# toggle_find_mode +# +#def_key "e" +# edit_song +# +#def_key "e" +# edit_library_tag +# +#def_key "e" +# edit_library_album +# +#def_key "e" +# edit_directory_name +# +#def_key "e" +# edit_playlist_name +# +#def_key "e" +# edit_lyrics +# +#def_key "i" +# show_song_info +# +#def_key "I" +# show_artist_info +# +#def_key "g" +# jump_to_position_in_song +# +#def_key "l" +# show_lyrics +# +#def_key "ctrl-v" +# select_range +# +#def_key "v" +# reverse_selection +# +#def_key "V" +# remove_selection +# +#def_key "B" +# select_album +# +#def_key "a" +# add_selected_items +# +#def_key "c" +# clear_playlist +# +#def_key "c" +# clear_main_playlist +# +#def_key "C" +# crop_playlist +# +#def_key "C" +# crop_main_playlist +# +#def_key "m" +# move_sort_order_up +# +#def_key "m" +# move_selected_items_up +# +#def_key "m" +# set_visualizer_sample_multiplier +# +#def_key "n" +# move_sort_order_down +# +#def_key "n" +# move_selected_items_down +# +#def_key "M" +# move_selected_items_to +# +#def_key "A" +# add +# +#def_key "S" +# save_playlist +# +#def_key "o" +# jump_to_playing_song +# +#def_key "G" +# jump_to_browser +# +#def_key "G" +# jump_to_playlist_editor +# +#def_key "~" +# jump_to_media_library +# +#def_key "E" +# jump_to_tag_editor +# +#def_key "U" +# toggle_playing_song_centering +# +#def_key "P" +# toggle_display_mode +# +#def_key "\\" +# toggle_interface +# +#def_key "!" +# toggle_separators_between_albums +# +#def_key "L" +# toggle_lyrics_fetcher +# +#def_key "F" +# toggle_fetching_lyrics_in_background +# +#def_key "ctrl-l" +# toggle_screen_lock +# +#def_key "`" +# toggle_library_tag_type +# +#def_key "`" +# refetch_lyrics +# +#def_key "`" +# add_random_items +# +#def_key "ctrl-p" +# set_selected_items_priority +# +#def_key "q" +# quit +# diff --git a/ncmpcpp/config b/ncmpcpp/config new file mode 100644 index 0000000..2cb4486 --- /dev/null +++ b/ncmpcpp/config @@ -0,0 +1,464 @@ +# __ __ ___ ___ ___ +# | \/ | _ \ \ / __| ___ _ ___ _____ _ _ +# | |\/| | _/ |) | \__ \/ -_) '_\ V / -_) '_| +# |_| |_|_| |___/ |___/\___|_| \_/\___|_| +# + +mpd_host =localhost +mpd_port = 6600 +mpd_connection_timeout = 5 + + + + +# ___ _ _ _ +# | __(_) |___ ____ _ __| |_ ___ _ __ +# | _|| | / -_|_-< || (_-< _/ -_) ' \ +# |_| |_|_\___/__/\_, /__/\__\___|_|_|_| +# |__/ + +ncmpcpp_directory = ~/.config/ncmpcpp +lyrics_directory = ~/.config/ncmpcpp/lyrics +mpd_music_dir = ~/Music + +#random_exclude_pattern = "^(temp|midi_songs).*" +show_hidden_files_in_local_browser = no + +generate_win32_compatible_filenames = yes +allow_for_physical_item_deletion = no + +ignore_leading_the = no +ignore_diacritics = yes + + + + +# _ _ +# | | _ _ _ _(_)__ ___ +# | |_| || | '_| / _(_-< +# |____\_, |_| |_\__/__/ +# |__/ + +lyrics_fetchers = azlyrics, genius, metrolyrics +follow_now_playing_lyrics = no +fetch_lyrics_for_current_song_in_background = yes +store_lyrics_in_song_dir = no + + + + +# __ ___ _ _ +# \ \ / (_)____ _ __ _| (_)______ _ _ +# \ V /| (_-< || / _` | | |_ / -_) '_| +# \_/ |_/__/\_,_\__,_|_|_/__\___|_| +# + +visualizer_data_source = /tmp/mpd.fifo +visualizer_output_name = Visualizer feed +visualizer_in_stereo = yes + + + + + +# ___ _ __ +# |_ _|_ _| |_ ___ _ _ / _|__ _ __ ___ +# | || ' \ _/ -_) '_| _/ _` / _/ -_) +# |___|_||_\__\___|_| |_| \__,_\__\___| +# + +jump_to_now_playing_song_at_start = yes +ask_before_clearing_playlists = yes + +mouse_support = no +mouse_list_scroll_whole_page = yes + +cyclic_scrolling = no +lines_scrolled = 2 + +playlist_disable_highlight_delay = 5 +message_delay_time = 5 + +autocenter_mode = yes +centered_cursor = yes + +incremental_seeking = yes +seek_time = 1 +volume_change_step = 2 + + + + + +# ___ _ +# / __|_ _ __| |_ ___ _ __ +# \__ \ || (_-< _/ -_) ' \ +# |___/\_, /__/\__\___|_|_|_| +# |__/ + +external_editor = vim +use_console_editor = yes + +execute_on_song_change = "" +execute_on_player_state_change = "" + +# Available values: none, basic, extended, perl. +regular_expressions = perl + + +show_duplicate_tags = yes + +# ncmpcpp will try to get info from last.fm in the +# language you set and if it fails, it will fall back +# to english. Otherwise it +lastfm_preferred_language = ru + + + + +# _ _ _ +# | | (_) |__ _ _ __ _ _ _ _ _ +# | |__| | '_ \ '_/ _` | '_| || | +# |____|_|_.__/_| \__,_|_| \_, | +# |__/ + +# Available values: artist, album_artist, date, genre, composer, performer. +media_library_primary_tag = artist +media_library_albums_split_by_date = yes + +# Available values: database, playlist. +default_place_to_search_in = database + +# Available values: wrapped, normal. +default_find_mode = wrapped + +# 1 - mpd search (no regex, pattern matching) +# 2 - ncmpcpp search (pattern matching, regex, needs to download remote database) +# 3 - exact values (mpd search in database, local search in current playlist) +search_engine_default_search_mode = 1 + +# Available values: name, mtime, format and noop +browser_sort_mode = name + +block_search_constraints_change_if_items_found = yes + +media_library_sort_by_mtime = no + + + + +# __ __ _ +# | \/ (_)___ __ +# | |\/| | (_- +tags_separator = " | " +tag_editor_extended_numeration = no + + + +enable_window_title = yes +clock_display_seconds = no +display_volume_level = yes +display_bitrate = no +display_remaining_time = no + +# Available values: spectrum, wave, wave_filled, ellipse. +visualizer_type = wave +visualizer_look = "●▮" +visualizer_color = blue, cyan, green, yellow, magenta, red +# Alternative color set for 256-color terminals +#visualizer_color = 41, 83, 119, 155, 185, 215, 209, 203, 197, 161 + + +# Tag format strings: +# %l length +# %f filename +# %D directory +# %a artist +# %A album artist +# %t title +# %b album +# %y date +# %n track number (01/12 -> 01) +# %N full track info (01/12 -> 01/12) +# %g genre +# %c composer +# %p performer +# %d disc +# %C comment +# %P priority + + +# Colors: +# $0 default window color (discards all other colors) +# $1 black +# $2 red +# $3 green +# $4 yellow +# $5 blue +# $6 magenta +# $7 cyan +# $8 white +# $9 end of current color + + +# Formatting: +# $b bold text +# $u underline text +# $r reverse colors +# $a use alternative character set +# $R right-align + +# If you want to make sure that a part of the format is displayed only when +# certain tags are present, you can archieve it by grouping them with brackets, +# e.g. '{%a - %t}' will be evaluated to 'ARTIST - TITLE' if both tags are +# present or '' otherwise. It is also possible to define a list of +# alternatives by providing several groups and separating them with '|', +# e.g. '{%t}|{%f}' will be evaluated to 'TITLE' or 'FILENAME' if the former is +# not present. +## +## Note: If you want to set limit on maximal length of a tag, just put the +## appropriate number between % and character that defines tag type, e.g. to +## make album take max. 20 terminal cells, use '%20b'. +## +## In addition, formats support markers used for text attributes. They are +## followed by character '$'. After that you can put: +## +# +## If you don't want to use a non-color attribute anymore, just put it again, +## but this time insert character '/' between '$' and attribute character, +## e.g. {$b%t$/b}|{$r%f$/r} will display bolded title tag or filename with +## reversed colors. +## +## If you want to use 256 colors and/or background colors in formats (the naming +## scheme is described below in section about color definitions), it can be done +## with the syntax $(COLOR), e.g. to set the artist tag to one of the +## non-standard colors and make it have yellow background, you need to write +## $(197_yellow)%a$(end). Note that for standard colors this is interchangable +## with attributes listed above. +## +## Note: colors can be nested. +## +# +song_list_format = {%a - }{%t}|{$8%f$9}$R{$3(%l)$9} +song_status_format = {{%a{ "%b"{ (%y)}} - }{%t}}|{%f} +song_library_format = {%n - }{%t}|{%f} + + +# ___ _ _ _ _ +# | _ \ |__ _ _ _| (_)__| |_ +# | _/ / _` | || | | (_-< _| +# |_| |_\__,_|\_, |_|_/__/\__| +# |__/ + +# Possible values: columns, classic +playlist_display_mode = columns + +playlist_show_mpd_host = no +playlist_show_remaining_time = no +playlist_shorten_total_times = no +playlist_separate_albums = no + +# Alternative layout +alternative_header_first_line_format = "$5$aqqu$/a$9 $b{%t}|{%f}$/b $5$atqq$/a$9" +#alternative_header_second_line_format = "{$8%a - $7%b}" +alternative_header_second_line_format = "{$8%a}" + +progressbar_color = white +progressbar_elapsed_color = blue +progressbar_look = "▀▀▀" +# Other possible values: +# "⠒⠒⠐" +# "•••" +# "---" +# "▀▀ " +# "╼·" +# "━━━" +# "━━─" +# "─╼─" +# "◾◾◽" + + +# Column format +# +# Each column is defined as follows: +# (width)[color]{content} +# +# Width can both relative and absolute: +# (10) Take 10% of the screen's width +# (10f) A fixed width of 10 characters +# +# If the color field is empty, the default one is used. +# +# Content is formatted with the tag format strings +# listed above. Use them without the leading "%". +# +# Options: +# (Placed after content string) +# +# r right-aligh column +# E Don't display empty tag marker +# +# +# Column names can also be defined: +# {lr:Length} creates a right aligned column named "Length" +# +# Multiple tag optons can be given: +# {a|c|p:Owner} creates a tag named owner that tries to +# display the artist tag, defaulting to composer +# and performer if the previous tag is unavaliable. + +song_columns_list_format = "(20)[yellow]{a} (50)[white]{t|f} (20)[cyan]{bE} (6f)[white]{l}" + + +current_item_prefix = $(yellow)$r +current_item_suffix = $/r$(end) + +current_item_inactive_column_prefix = $(white)$r +current_item_inactive_column_suffix = $/r$(end) + +now_playing_prefix = $b +now_playing_suffix = $/b + +browser_playlist_prefix = "$2playlist$9 " + +selected_item_prefix = $6 +selected_item_suffix = $9 +modified_item_prefix = $3> $9 + + +# Attributes are not supported here +song_window_title_format = {%a - }{%t}|{%f} + + + +# ___ _ +# / __|___| |___ _ _ ___ +# | (__/ _ \ / _ \ '_(_-< +# \___\___/_\___/_| /__/ +# + +# +# It is possible to set a background color by setting a color value +# "_", e.g. red_black will set foregound color to red +# and background color to black. +# +# In addition, for terminals that support 256 colors it is possible to set one +# of them by using a number in range [1, 256] instead of color name, +# e.g. numerical value corresponding to red_black is 2_1. To find out if the +# terminal supports 256 colors, run ncmpcpp and check out the bottom of the +# help screen for list of available colors and their numerical values. +# +# What is more, there are two special values for the background color: +# "transparent" and "current". The first one explicitly sets the background to +# be transparent, while the second one allows you to preserve current +# background color and change only the foreground one. It's used implicitly +# when background color is not specified. +# +# Moreover, it is possible to attach format information to selected color +# variables by appending to their end a colon followed by one or more format +# flags, e.g. black:b or red:ur. The following variables support this syntax: +# visualizer_color, color1, color2, empty_tag_color, volume_color, +# state_line_color, state_flags_color, progressbar_color, +# progressbar_elapsed_color, player_state_color, statusbar_time_color, +# alternative_ui_separator_color. +# +# Note: due to technical limitations of older ncurses version, if 256 colors +# are used there is a possibility that you'll be able to use only colors with +# transparent background. +# +colors_enabled = yes + +empty_tag_color = cyan + +header_window_color = default + +volume_color = white +state_line_color = green +state_flags_color = white:b + +main_window_color = yellow + +color1 = white +color2 = green + +statusbar_color = default + +statusbar_time_color = default:b + +player_state_color = default:b + +alternative_ui_separator_color = white + +window_border_color = white + +active_window_border = red + diff --git a/ranger/README.md b/ranger/README.md new file mode 100644 index 0000000..900e0f6 --- /dev/null +++ b/ranger/README.md @@ -0,0 +1,17 @@ +**Ranger file browser config** + +These files go in `~/.config/ranger` + + + +# Notes from ranger + + - Please note that configuration files may change as ranger evolves. +It's completely up to you to keep them up to date. + + - To stop ranger from loading both the default and your custom `rc.conf`, +please set the environment variable `RANGER_LOAD_DEFAULT_RC` to FALSE. + + + +To get full config, use `ranger --copy-config=all` diff --git a/ranger/rc.conf b/ranger/rc.conf new file mode 100644 index 0000000..e742478 --- /dev/null +++ b/ranger/rc.conf @@ -0,0 +1,85 @@ +set preview_images true +set preview_images_method kitty + +set vcs_aware true +set vcs_backend_git enabled +set vcs_backend_hg disabled +set vcs_backend_bzr disabled +set vcs_backend_svn disabled + +set unicode_ellipsis true + + +# Preview files on the rightmost column? +# And collapse (shrink) the last column if there is nothing to preview? +set preview_files true +set preview_directories true +set collapse_preview true + + +# Display the directory name in tabs? +set dirname_in_tabs false + +# Enable the mouse support? +set mouse_enabled true + +# Display the free disk space in the status bar? +set display_free_space_in_status_bar false + + +# Show hostname in titlebar? +set hostname_in_titlebar true + +# Abbreviate $HOME with ~ in the titlebar (first line) of ranger? +set tilde_in_titlebar true + +# One of: size, natural, basename, atime, ctime, mtime, type, random +set sort natural + +# Additional sorting options +set sort_reverse false +set sort_case_insensitive true +set sort_directories_first true +set sort_unicode false + + +# Use fuzzy tab completion with the "cd" command. For example, +# ":cd /u/lo/b" expands to ":cd /usr/local/bin". +set cd_tab_fuzzy false + +# Avoid previewing files larger than this size, in bytes. Use a value of 0 to +# disable this feature. +set preview_max_size 0 + + +# Add the highlighted file to the path in the titlebar +set show_selection_in_titlebar true + +# The delay that ranger idly waits for user input, in milliseconds, with a +# resolution of 100ms. Lower delay reduces lag between directory updates but +# increases CPU load. +set idle_delay 2000 + + +# Disable displaying line numbers in main column. +# Possible values: false, absolute, relative. +set line_numbers false + +# When line_numbers=relative show the absolute line number in the +# current line. +set relative_current_zero false + +# Enable scroll wrapping - moving down while on the last item will wrap around to +# the top and vice versa. +set wrap_scroll false + +# =================================================================== +# == Local Options +# =================================================================== +# You can set local options that only affect a single directory. + +# Examples: +# setlocal path=~/downloads sort mtime + +map console delete +