@ -0,0 +1 @@ |
|||||
|
.profile |
||||
@ -0,0 +1,152 @@ |
|||||
|
[global] |
||||
|
monitor = 0 |
||||
|
follow = keyboard |
||||
|
geometry = "350x5-0+24" |
||||
|
indicate_hidden = yes |
||||
|
shrink = yes |
||||
|
transparency = 20 |
||||
|
notification_height = 0 |
||||
|
separator_height = 2 |
||||
|
padding = 0 |
||||
|
horizontal_padding = 8 |
||||
|
frame_width = 3 |
||||
|
frame_color = "#282828" |
||||
|
|
||||
|
# Define a color for the separator. |
||||
|
# possible values are: |
||||
|
# * auto: dunst tries to find a color fitting to the background; |
||||
|
# * foreground: use the same color as the foreground; |
||||
|
# * frame: use the same color as the frame; |
||||
|
# * anything else will be interpreted as a X color. |
||||
|
separator_color = frame |
||||
|
|
||||
|
# Sort messages by urgency. |
||||
|
sort = yes |
||||
|
|
||||
|
idle_threshold = 120 |
||||
|
font = Monospace 14 |
||||
|
line_height = 0 |
||||
|
markup = full |
||||
|
|
||||
|
# The format of the message. Possible variables are: |
||||
|
# %a appname |
||||
|
# %s summary |
||||
|
# %b body |
||||
|
# %i iconname (including its path) |
||||
|
# %I iconname (without its path) |
||||
|
# %p progress value if set ([ 0%] to [100%]) or nothing |
||||
|
# %n progress value if set without any extra characters |
||||
|
# %% Literal % |
||||
|
# Markup is allowed |
||||
|
format = "<b>%s</b>\n%b" |
||||
|
|
||||
|
alignment = left |
||||
|
show_age_threshold = 60 |
||||
|
word_wrap = yes |
||||
|
ellipsize = middle |
||||
|
ignore_newline = no |
||||
|
stack_duplicates = true |
||||
|
hide_duplicate_count = true |
||||
|
show_indicators = yes |
||||
|
icon_position = left |
||||
|
max_icon_size = 40 |
||||
|
#icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/:/usr/share/icons/Adwaita/256x256/status/ |
||||
|
sticky_history = yes |
||||
|
history_length = 20 |
||||
|
dmenu = /usr/bin/dmenu -p dunst: |
||||
|
browser = /usr/bin/firefox -new-tab |
||||
|
|
||||
|
# Always run rule-defined scripts, even if the notification is suppressed |
||||
|
always_run_script = true |
||||
|
|
||||
|
title = Dunst |
||||
|
class = Dunst |
||||
|
startup_notification = false |
||||
|
force_xinerama = false |
||||
|
[experimental] |
||||
|
per_monitor_dpi = false |
||||
|
|
||||
|
[shortcuts] |
||||
|
close = ctrl+space |
||||
|
close_all = ctrl+shift+space |
||||
|
history = ctrl+grave |
||||
|
context = ctrl+shift+period |
||||
|
|
||||
|
[urgency_low] |
||||
|
# IMPORTANT: colors have to be defined in quotation marks. |
||||
|
# Otherwise the "#" and following would be interpreted as a comment. |
||||
|
background = "#282828" |
||||
|
foreground = "#928374" |
||||
|
timeout = 5 |
||||
|
# Icon for notifications with low urgency, uncomment to enable |
||||
|
#icon = /path/to/icon |
||||
|
|
||||
|
[urgency_normal] |
||||
|
background = "#458588" |
||||
|
foreground = "#ebdbb2" |
||||
|
timeout = 5 |
||||
|
|
||||
|
[urgency_critical] |
||||
|
background = "#cc2421" |
||||
|
foreground = "#ebdbb2" |
||||
|
frame_color = "#fabd2f" |
||||
|
timeout = 0 |
||||
|
|
||||
|
# Every section that isn't one of the above is interpreted as a rules to |
||||
|
# override settings for certain messages. |
||||
|
# Messages can be matched by "appname", "summary", "body", "icon", "category", |
||||
|
# "msg_urgency" and you can override the "timeout", "urgency", "foreground", |
||||
|
# "background", "new_icon" and "format". |
||||
|
# Shell-like globbing will get expanded. |
||||
|
# |
||||
|
# SCRIPTING |
||||
|
# You can specify a script that gets run when the rule matches by |
||||
|
# setting the "script" option. |
||||
|
# The script will be called as follows: |
||||
|
# script appname summary body icon urgency |
||||
|
# where urgency can be "LOW", "NORMAL" or "CRITICAL". |
||||
|
# |
||||
|
# NOTE: if you don't want a notification to be displayed, set the format |
||||
|
# to "". |
||||
|
# NOTE: It might be helpful to run dunst -print in a terminal in order |
||||
|
# to find fitting options for rules. |
||||
|
|
||||
|
#[espeak] |
||||
|
# summary = "*" |
||||
|
# script = dunst_espeak.sh |
||||
|
|
||||
|
#[script-test] |
||||
|
# summary = "*script*" |
||||
|
# script = dunst_test.sh |
||||
|
|
||||
|
#[ignore] |
||||
|
# # This notification will not be displayed |
||||
|
# summary = "foobar" |
||||
|
# format = "" |
||||
|
|
||||
|
#[history-ignore] |
||||
|
# # This notification will not be saved in history |
||||
|
# summary = "foobar" |
||||
|
# history_ignore = yes |
||||
|
|
||||
|
#[signed_on] |
||||
|
# appname = Pidgin |
||||
|
# summary = "*signed on*" |
||||
|
# urgency = low |
||||
|
# |
||||
|
#[signed_off] |
||||
|
# appname = Pidgin |
||||
|
# summary = *signed off* |
||||
|
# urgency = low |
||||
|
# |
||||
|
#[says] |
||||
|
# appname = Pidgin |
||||
|
# summary = *says* |
||||
|
# urgency = critical |
||||
|
# |
||||
|
#[twitter] |
||||
|
# appname = Pidgin |
||||
|
# summary = *twitter.com* |
||||
|
# urgency = normal |
||||
|
# |
||||
|
# vim: ft=cfg |
||||
@ -0,0 +1,30 @@ |
|||||
|
<?xml version='1.0'?> |
||||
|
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> |
||||
|
<fontconfig> |
||||
|
|
||||
|
<alias> |
||||
|
<family>serif</family> |
||||
|
<prefer><family>Linux Libertine</family></prefer> |
||||
|
</alias> |
||||
|
<alias> |
||||
|
<family>sans-serif</family> |
||||
|
<prefer><family>Linux Biolinum</family></prefer> |
||||
|
</alias> |
||||
|
<alias> |
||||
|
<family>sans</family> |
||||
|
<prefer><family>Linux Biolinum</family></prefer> |
||||
|
</alias> |
||||
|
<alias> |
||||
|
<family>monospace</family> |
||||
|
<prefer><family>Inconsolata</family></prefer> |
||||
|
</alias> |
||||
|
|
||||
|
<!-- This sets Symbola as the final fallback font for the monospace font family. --> |
||||
|
<match target="pattern"> |
||||
|
<test name="family"><string>monospace</string></test> |
||||
|
<edit name="family" mode="append"><string>Symbola</string></edit> |
||||
|
</match> |
||||
|
|
||||
|
</fontconfig> |
||||
|
|
||||
|
|
||||
@ -0,0 +1,19 @@ |
|||||
|
# DO NOT EDIT! This file will be overwritten by LXAppearance. |
||||
|
# Any customization should be done in ~/.gtkrc-2.0.mine instead. |
||||
|
|
||||
|
include "/home/luke/.gtkrc-2.0.mine" |
||||
|
gtk-theme-name="Arc-Gruvbox" |
||||
|
gtk-icon-theme-name="Adwaita" |
||||
|
gtk-font-name="Sans 10" |
||||
|
gtk-cursor-theme-name="Adwaita" |
||||
|
gtk-cursor-theme-size=0 |
||||
|
gtk-toolbar-style=GTK_TOOLBAR_TEXT |
||||
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR |
||||
|
gtk-button-images=0 |
||||
|
gtk-menu-images=1 |
||||
|
gtk-enable-event-sounds=1 |
||||
|
gtk-enable-input-feedback-sounds=1 |
||||
|
gtk-xft-antialias=1 |
||||
|
gtk-xft-hinting=1 |
||||
|
gtk-xft-hintstyle="hintfull" |
||||
|
gtk-xft-rgba="rgb" |
||||
@ -0,0 +1,16 @@ |
|||||
|
[Settings] |
||||
|
gtk-theme-name=Arc-Gruvbox |
||||
|
gtk-icon-theme-name=Adwaita |
||||
|
gtk-font-name=Sans 10 |
||||
|
gtk-cursor-theme-size=0 |
||||
|
gtk-toolbar-style=GTK_TOOLBAR_TEXT |
||||
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR |
||||
|
gtk-button-images=0 |
||||
|
gtk-menu-images=1 |
||||
|
gtk-enable-event-sounds=1 |
||||
|
gtk-enable-input-feedback-sounds=1 |
||||
|
gtk-xft-antialias=1 |
||||
|
gtk-xft-hinting=1 |
||||
|
gtk-xft-hintstyle=hintfull |
||||
|
gtk-xft-rgba=rgb |
||||
|
gtk-cursor-theme-name=Adwaita |
||||
@ -0,0 +1,10 @@ |
|||||
|
[Default Applications] |
||||
|
x-scheme-handler/magnet=torrent.desktop; |
||||
|
x-scheme-handler/mailto=mail.desktop; |
||||
|
text/plain=text.desktop; |
||||
|
text/x-shellscript=text.desktop; |
||||
|
application/pdf=pdf.desktop; |
||||
|
image/png=img.desktop; |
||||
|
image/jpeg=img.desktop; |
||||
|
image/gif=img.desktop; |
||||
|
application/rss+xml=rss.desktop |
||||
@ -0,0 +1,10 @@ |
|||||
|
Sep 10 10:49 : exception: RTIOThread could not get realtime scheduling, continuing anyway: sched_setscheduler failed: Operation not permitted |
||||
|
Sep 10 10:49 : exception: Failed to open '/home/tiynger/.config/mpd/state': No such file or directory |
||||
|
Sep 10 10:49 : exception: inotify_add_watch() has failed: No such file or directory |
||||
|
Sep 10 10:49 : exception: Failed to access /home/tiynger/Music: No such file or directory |
||||
|
Sep 10 10:50 : exception: RTIOThread could not get realtime scheduling, continuing anyway: sched_setscheduler failed: Operation not permitted |
||||
|
Sep 10 10:50 : exception: inotify_add_watch() has failed: No such file or directory |
||||
|
Sep 10 10:50 : client: [0] opened from 127.0.0.1:46428 |
||||
|
Sep 10 11:18 : exception: RTIOThread could not get realtime scheduling, continuing anyway: sched_setscheduler failed: Operation not permitted |
||||
|
Sep 10 11:18 : exception: inotify_add_watch() has failed: No such file or directory |
||||
|
Sep 10 11:18 : client: [0] opened from 127.0.0.1:47254 |
||||
@ -0,0 +1,26 @@ |
|||||
|
db_file "~/.config/mpd/database" |
||||
|
log_file "~/.config/mpd/log" |
||||
|
music_directory "~/Music" |
||||
|
playlist_directory "~/.config/mpd/playlists" |
||||
|
pid_file "~/.config/mpd/pid" |
||||
|
state_file "~/.config/mpd/state" |
||||
|
sticker_file "~/.config/mpd/sticker.sql" |
||||
|
|
||||
|
auto_update "yes" |
||||
|
|
||||
|
bind_to_address "127.0.0.1" |
||||
|
restore_paused "yes" |
||||
|
max_output_buffer_size "16384" |
||||
|
|
||||
|
audio_output { |
||||
|
type "pulse" |
||||
|
name "pulse audio" |
||||
|
mixer_type "software" |
||||
|
} |
||||
|
|
||||
|
audio_output { |
||||
|
type "fifo" |
||||
|
name "toggle_visualizer" |
||||
|
path "/tmp/mpd.fifo" |
||||
|
format "44100:16:2" |
||||
|
} |
||||
@ -0,0 +1,13 @@ |
|||||
|
sw_volume: 100 |
||||
|
audio_device_state:1:pulse audio |
||||
|
audio_device_state:1:toggle_visualizer |
||||
|
state: stop |
||||
|
random: 0 |
||||
|
repeat: 0 |
||||
|
single: 0 |
||||
|
consume: 0 |
||||
|
crossfade: 0 |
||||
|
mixrampdb: 0.000000 |
||||
|
mixrampdelay: -1.000000 |
||||
|
playlist_begin |
||||
|
playlist_end |
||||
@ -0,0 +1,199 @@ |
|||||
|
# mpv keybindings |
||||
|
# |
||||
|
# Location of user-defined bindings: ~/.config/mpv/input.conf |
||||
|
# |
||||
|
# Lines starting with # are comments. Use SHARP to assign the # key. |
||||
|
# Copy this file and uncomment and edit the bindings you want to change. |
||||
|
# |
||||
|
# List of commands and further details: DOCS/man/input.rst |
||||
|
# List of special keys: --input-keylist |
||||
|
# Keybindings testing mode: mpv --input-test --force-window --idle |
||||
|
# |
||||
|
# Use 'ignore' to unbind a key fully (e.g. 'ctrl+a ignore'). |
||||
|
# |
||||
|
# Strings need to be quoted and escaped: |
||||
|
# KEY show-text "This is a single backslash: \\ and a quote: \" !" |
||||
|
# |
||||
|
# You can use modifier-key combinations like Shift+Left or Ctrl+Alt+x with |
||||
|
# the modifiers Shift, Ctrl, Alt and Meta (may not work on the terminal). |
||||
|
# |
||||
|
# The default keybindings are hardcoded into the mpv binary. |
||||
|
# You can disable them completely with: --no-input-default-bindings |
||||
|
|
||||
|
# Developer note: |
||||
|
# On compilation, this file is baked into the mpv binary, and all lines are |
||||
|
# uncommented (unless '#' is followed by a space) - thus this file defines the |
||||
|
# default key bindings. |
||||
|
|
||||
|
# If this is enabled, treat all the following bindings as default. |
||||
|
#default-bindings start |
||||
|
|
||||
|
#MOUSE_BTN0 ignore # don't do anything |
||||
|
#MOUSE_BTN0_DBL cycle fullscreen # toggle fullscreen on/off |
||||
|
#MOUSE_BTN2 cycle pause # toggle pause on/off |
||||
|
#MOUSE_BTN3 seek 10 |
||||
|
#MOUSE_BTN4 seek -10 |
||||
|
#MOUSE_BTN5 add volume -2 |
||||
|
#MOUSE_BTN6 add volume 2 |
||||
|
|
||||
|
# Mouse wheels, touchpad or other input devices that have axes |
||||
|
# if the input devices supports precise scrolling it will also scale the |
||||
|
# numeric value accordingly |
||||
|
#AXIS_UP seek 10 |
||||
|
#AXIS_DOWN seek -10 |
||||
|
#AXIS_LEFT seek 5 |
||||
|
#AXIS_RIGHT seek -5 |
||||
|
|
||||
|
## Seek units are in seconds, but note that these are limited by keyframes |
||||
|
#RIGHT seek 5 |
||||
|
#LEFT seek -5 |
||||
|
#UP seek 60 |
||||
|
#DOWN seek -60 |
||||
|
# Do smaller, always exact (non-keyframe-limited), seeks with shift. |
||||
|
# Don't show them on the OSD (no-osd). |
||||
|
#Shift+RIGHT no-osd seek 1 exact |
||||
|
#Shift+LEFT no-osd seek -1 exact |
||||
|
#Shift+UP no-osd seek 5 exact |
||||
|
#Shift+DOWN no-osd seek -5 exact |
||||
|
# Skip to previous/next subtitle (subject to some restrictions; see manpage) |
||||
|
#Ctrl+LEFT no-osd sub-seek -1 |
||||
|
#Ctrl+RIGHT no-osd sub-seek 1 |
||||
|
#PGUP add chapter 1 # skip to next chapter |
||||
|
#PGDWN add chapter -1 # skip to previous chapter |
||||
|
#Shift+PGUP seek 600 |
||||
|
#Shift+PGDWN seek -600 |
||||
|
#[ multiply speed 0.9091 # scale playback speed |
||||
|
#] multiply speed 1.1 |
||||
|
#{ multiply speed 0.5 |
||||
|
#} multiply speed 2.0 |
||||
|
#BS set speed 1.0 # reset speed to normal |
||||
|
#q quit |
||||
|
#Q quit-watch-later |
||||
|
#q {encode} quit 4 |
||||
|
#ESC set fullscreen no |
||||
|
#ESC {encode} quit 4 |
||||
|
#p cycle pause # toggle pause/playback mode |
||||
|
#. frame-step # advance one frame and pause |
||||
|
#, frame-back-step # go back by one frame and pause |
||||
|
#SPACE cycle pause |
||||
|
#> playlist-next # skip to next file |
||||
|
#ENTER playlist-next # skip to next file |
||||
|
#< playlist-prev # skip to previous file |
||||
|
#O no-osd cycle-values osd-level 3 1 # cycle through OSD mode |
||||
|
#o show-progress |
||||
|
#P show-progress |
||||
|
#I show-text "${filename}" # display filename in osd |
||||
|
#z add sub-delay -0.1 # subtract 100 ms delay from subs |
||||
|
#x add sub-delay +0.1 # add |
||||
|
#ctrl++ add audio-delay 0.100 # this changes audio/video sync |
||||
|
#ctrl+- add audio-delay -0.100 |
||||
|
#9 add volume -2 |
||||
|
#/ add volume -2 |
||||
|
#0 add volume 2 |
||||
|
#* add volume 2 |
||||
|
#m cycle mute |
||||
|
#1 add contrast -1 |
||||
|
#2 add contrast 1 |
||||
|
#3 add brightness -1 |
||||
|
#4 add brightness 1 |
||||
|
#5 add gamma -1 |
||||
|
#6 add gamma 1 |
||||
|
#7 add saturation -1 |
||||
|
#8 add saturation 1 |
||||
|
#Alt+0 set window-scale 0.5 |
||||
|
#Alt+1 set window-scale 1.0 |
||||
|
#Alt+2 set window-scale 2.0 |
||||
|
# toggle deinterlacer (automatically inserts or removes required filter) |
||||
|
#d cycle deinterlace |
||||
|
#r add sub-pos -1 # move subtitles up |
||||
|
#t add sub-pos +1 # down |
||||
|
#v cycle sub-visibility |
||||
|
# stretch SSA/ASS subtitles with anamorphic videos to match historical |
||||
|
#V cycle sub-ass-vsfilter-aspect-compat |
||||
|
# switch between applying no style overrides to SSA/ASS subtitles, and |
||||
|
# overriding them almost completely with the normal subtitle style |
||||
|
#u cycle-values sub-ass-style-override "force" "no" |
||||
|
#j cycle sub # cycle through subtitles |
||||
|
#J cycle sub down # ...backwards |
||||
|
#SHARP cycle audio # switch audio streams |
||||
|
#_ cycle video |
||||
|
#T cycle ontop # toggle video window ontop of other windows |
||||
|
#f cycle fullscreen # toggle fullscreen |
||||
|
#s screenshot # take a screenshot |
||||
|
#S screenshot video # ...without subtitles |
||||
|
#Ctrl+s screenshot window # ...with subtitles and OSD, and scaled |
||||
|
#Alt+s screenshot each-frame # automatically screenshot every frame |
||||
|
#w add panscan -0.1 # zoom out with -panscan 0 -fs |
||||
|
#e add panscan +0.1 # in |
||||
|
# cycle video aspect ratios; "-1" is the container aspect |
||||
|
#A cycle-values video-aspect "16:9" "4:3" "2.35:1" "-1" |
||||
|
#POWER quit |
||||
|
#PLAY cycle pause |
||||
|
#PAUSE cycle pause |
||||
|
#PLAYPAUSE cycle pause |
||||
|
#STOP quit |
||||
|
#FORWARD seek 60 |
||||
|
#REWIND seek -60 |
||||
|
#NEXT playlist-next |
||||
|
#PREV playlist-prev |
||||
|
#VOLUME_UP add volume 2 |
||||
|
#VOLUME_DOWN add volume -2 |
||||
|
#MUTE cycle mute |
||||
|
#CLOSE_WIN quit |
||||
|
#CLOSE_WIN {encode} quit 4 |
||||
|
#E cycle edition # next edition |
||||
|
#l ab-loop # Set/clear A-B loop points |
||||
|
#L cycle-values loop "inf" "no" # toggle infinite looping |
||||
|
#ctrl+c quit 4 |
||||
|
|
||||
|
# Apple Remote section |
||||
|
#AR_PLAY cycle pause |
||||
|
#AR_PLAY_HOLD quit |
||||
|
#AR_CENTER cycle pause |
||||
|
#AR_CENTER_HOLD quit |
||||
|
#AR_NEXT seek 10 |
||||
|
#AR_NEXT_HOLD seek 120 |
||||
|
#AR_PREV seek -10 |
||||
|
#AR_PREV_HOLD seek -120 |
||||
|
#AR_MENU show-progress |
||||
|
#AR_MENU_HOLD cycle mute |
||||
|
#AR_VUP add volume 2 |
||||
|
#AR_VUP_HOLD add chapter 1 |
||||
|
#AR_VDOWN add volume -2 |
||||
|
#AR_VDOWN_HOLD add chapter -1 |
||||
|
|
||||
|
# For tv:// |
||||
|
#h cycle tv-channel -1 # previous channel |
||||
|
#k cycle tv-channel +1 # next channel |
||||
|
|
||||
|
# For dvb:// |
||||
|
#H cycle dvb-channel-name -1 # previous channel |
||||
|
#K cycle dvb-channel-name +1 # next channel |
||||
|
|
||||
|
# |
||||
|
# Legacy bindings (may or may not be removed in the future) |
||||
|
# |
||||
|
#! add chapter -1 # skip to previous chapter |
||||
|
#@ add chapter 1 # next |
||||
|
|
||||
|
# |
||||
|
# Not assigned by default |
||||
|
# (not an exhaustive list of unbound commands) |
||||
|
# |
||||
|
|
||||
|
# ? add sub-scale +0.1 # increase subtitle font size |
||||
|
# ? add sub-scale -0.1 # decrease subtitle font size |
||||
|
# ? sub-step -1 # immediately display next subtitle |
||||
|
# ? sub-step +1 # previous |
||||
|
# ? cycle angle # switch DVD/Bluray angle |
||||
|
# ? add balance -0.1 # adjust audio balance in favor of left |
||||
|
# ? add balance 0.1 # right |
||||
|
# ? cycle sub-forced-only # toggle DVD forced subs |
||||
|
# ? cycle program # cycle transport stream programs |
||||
|
# ? stop # stop playback (quit or enter idle mode) |
||||
|
|
||||
|
l seek 5 |
||||
|
h seek -5 |
||||
|
j seek -60 |
||||
|
k seek 60 |
||||
|
S cycle sub |
||||
@ -0,0 +1,624 @@ |
|||||
|
############################################################## |
||||
|
## This is the example bindings file. Copy it to ## |
||||
|
## ~/.ncmpcpp/bindings or $XDG_CONFIG_HOME/ncmpcpp/bindings ## |
||||
|
## and set up your preferences ## |
||||
|
############################################################## |
||||
|
## |
||||
|
##### 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-f" |
||||
|
# apply_filter |
||||
|
# |
||||
|
#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 "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" |
||||
|
# fetch_lyrics_in_background |
||||
|
# |
||||
|
#def_key "alt-l" |
||||
|
# 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 |
||||
|
# |
||||
|
# |
||||
|
#def_key "f" |
||||
|
# find |
||||
|
#def_key "f" |
||||
|
# find_item_forward |
||||
|
|
||||
|
def_key "+" |
||||
|
show_clock |
||||
|
def_key "=" |
||||
|
volume_up |
||||
|
|
||||
|
def_key "j" |
||||
|
scroll_down |
||||
|
def_key "k" |
||||
|
scroll_up |
||||
|
|
||||
|
def_key "ctrl-u" |
||||
|
page_up |
||||
|
#push_characters "kkkkkkkkkkkkkkk" |
||||
|
def_key "ctrl-d" |
||||
|
page_down |
||||
|
#push_characters "jjjjjjjjjjjjjjj" |
||||
|
def_key "u" |
||||
|
page_up |
||||
|
#push_characters "kkkkkkkkkkkkkkk" |
||||
|
def_key "d" |
||||
|
page_down |
||||
|
#push_characters "jjjjjjjjjjjjjjj" |
||||
|
def_key "h" |
||||
|
previous_column |
||||
|
def_key "l" |
||||
|
next_column |
||||
|
|
||||
|
def_key "." |
||||
|
show_lyrics |
||||
|
|
||||
|
def_key "n" |
||||
|
next_found_item |
||||
|
def_key "N" |
||||
|
previous_found_item |
||||
|
|
||||
|
# not used but bound |
||||
|
def_key "J" |
||||
|
move_sort_order_down |
||||
|
def_key "K" |
||||
|
move_sort_order_up |
||||
|
def_key "h" |
||||
|
jump_to_parent_directory |
||||
|
def_key "l" |
||||
|
enter_directory |
||||
|
def_key "l" |
||||
|
run_action |
||||
|
def_key "l" |
||||
|
play_item |
||||
|
def_key "m" |
||||
|
show_media_library |
||||
|
def_key "m" |
||||
|
toggle_media_library_columns_mode |
||||
|
def_key "t" |
||||
|
show_tag_editor |
||||
|
def_key "v" |
||||
|
show_visualizer |
||||
|
def_key "G" |
||||
|
move_end |
||||
|
def_key "g" |
||||
|
move_home |
||||
|
#jump_to_position_in_song |
||||
|
def_key "U" |
||||
|
update_database |
||||
|
def_key "s" |
||||
|
reset_search_engine |
||||
|
def_key "s" |
||||
|
show_search_engine |
||||
|
def_key "f" |
||||
|
show_browser |
||||
|
def_key "f" |
||||
|
change_browse_mode |
||||
|
def_key "x" |
||||
|
delete_playlist_items |
||||
|
def_key "P" |
||||
|
show_playlist |
||||
@ -0,0 +1,545 @@ |
|||||
|
############################################################################## |
||||
|
## This is the example configuration file. Copy it to $HOME/.ncmpcpp/config ## |
||||
|
## or $XDG_CONFIG_HOME/ncmpcpp/config and set up your preferences. ## |
||||
|
############################################################################## |
||||
|
# |
||||
|
##### directories ###### |
||||
|
## |
||||
|
## Directory for storing ncmpcpp related files. Changing it is useful if you |
||||
|
## want to store everything somewhere else and provide command line setting for |
||||
|
## alternative location to config file which defines that while launching |
||||
|
## ncmpcpp. |
||||
|
## |
||||
|
# |
||||
|
ncmpcpp_directory = ~/.config/ncmpcpp |
||||
|
# |
||||
|
## |
||||
|
## Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other |
||||
|
## MPD clients (eg. ncmpc) also use that location. |
||||
|
## |
||||
|
# |
||||
|
lyrics_directory = ~/.config/lyrics |
||||
|
# |
||||
|
##### connection settings ##### |
||||
|
# |
||||
|
#mpd_host = localhost |
||||
|
# |
||||
|
#mpd_port = 6600 |
||||
|
# |
||||
|
#mpd_connection_timeout = 5 |
||||
|
# |
||||
|
## Needed for tag editor and file operations to work. |
||||
|
## |
||||
|
mpd_music_dir = "~/Music" |
||||
|
# |
||||
|
#mpd_crossfade_time = 5 |
||||
|
# |
||||
|
##### music visualizer ##### |
||||
|
## |
||||
|
## Note: In order to make music visualizer work you'll need to use mpd fifo |
||||
|
## output, whose format parameter has to be set to 44100:16:1 for mono |
||||
|
## visualization or 44100:16:2 for stereo visualization. Example configuration |
||||
|
## (it has to be put into mpd.conf): |
||||
|
## |
||||
|
## audio_output { |
||||
|
## type "fifo" |
||||
|
## name "Visualizer feed" |
||||
|
## path "/tmp/mpd.fifo" |
||||
|
## format "44100:16:2" |
||||
|
## } |
||||
|
## |
||||
|
# |
||||
|
#visualizer_fifo_path = /tmp/mpd.fifo |
||||
|
# |
||||
|
## |
||||
|
## Note: Below parameter is needed for ncmpcpp to determine which output |
||||
|
## provides data for visualizer and thus allow syncing between visualization and |
||||
|
## sound as currently there are some problems with it. |
||||
|
## |
||||
|
# |
||||
|
#visualizer_output_name = Visualizer feed |
||||
|
# |
||||
|
## |
||||
|
## If you set format to 44100:16:2, make it 'yes'. |
||||
|
## |
||||
|
#visualizer_in_stereo = yes |
||||
|
# |
||||
|
## |
||||
|
## Note: Below parameter defines how often ncmpcpp has to "synchronize" |
||||
|
## visualizer and audio outputs. 30 seconds is optimal value, but if you |
||||
|
## experience synchronization problems, set it to lower value. Keep in mind |
||||
|
## that sane values start with >=10. |
||||
|
## |
||||
|
# |
||||
|
#visualizer_sync_interval = 30 |
||||
|
# |
||||
|
## |
||||
|
## Note: To enable spectrum frequency visualization you need to compile ncmpcpp |
||||
|
## with fftw3 support. |
||||
|
## |
||||
|
# |
||||
|
## Available values: spectrum, wave, wave_filled, ellipse. |
||||
|
## |
||||
|
visualizer_type = spectrum |
||||
|
# |
||||
|
#visualizer_look = ●卐 |
||||
|
#visualizer_look = 卐 |
||||
|
# |
||||
|
#visualizer_color = blue, cyan, green, yellow, magenta, red |
||||
|
# |
||||
|
## Alternative subset of 256 colors for terminals that support it. |
||||
|
## |
||||
|
#visualizer_color = 41, 83, 119, 155, 185, 215, 209, 203, 197, 161 |
||||
|
# |
||||
|
##### system encoding ##### |
||||
|
## |
||||
|
## ncmpcpp should detect your charset encoding but if it failed to do so, you |
||||
|
## can specify charset encoding you are using here. |
||||
|
## |
||||
|
## Note: You can see whether your ncmpcpp build supports charset detection by |
||||
|
## checking output of `ncmpcpp --version`. |
||||
|
## |
||||
|
## Note: Since MPD uses UTF-8 by default, setting this option makes sense only |
||||
|
## if your encoding is different. |
||||
|
## |
||||
|
# |
||||
|
#system_encoding = "" |
||||
|
# |
||||
|
##### delays ##### |
||||
|
# |
||||
|
## Time of inactivity (in seconds) after playlist highlighting will be disabled |
||||
|
## (0 = always on). |
||||
|
## |
||||
|
#playlist_disable_highlight_delay = 5 |
||||
|
# |
||||
|
## Defines how long messages are supposed to be visible. |
||||
|
## |
||||
|
message_delay_time = 1 |
||||
|
# |
||||
|
##### song format ##### |
||||
|
## |
||||
|
## For a song format you can use: |
||||
|
## |
||||
|
## %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 |
||||
|
## $R - begin right alignment |
||||
|
## |
||||
|
## 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: |
||||
|
## |
||||
|
## - 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 |
||||
|
## - b - bold text |
||||
|
## - u - underline text |
||||
|
## - r - reverse colors |
||||
|
## - a - use alternative character set |
||||
|
## |
||||
|
## 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 = {$4%a - }{%t}|{$8%f$9}$R{$3(%l)$9} |
||||
|
# |
||||
|
song_status_format = $b{{$8"%t"}} $3by {$4%a{ $3in $7%b{ (%y)}} $3}|{$8%f} |
||||
|
# |
||||
|
song_library_format = {%n - }{%t}|{%f} |
||||
|
# |
||||
|
alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b |
||||
|
# |
||||
|
alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D} |
||||
|
# |
||||
|
current_item_prefix = $(cyan)$r$b |
||||
|
# |
||||
|
current_item_suffix = $/r$(end)$/b |
||||
|
# |
||||
|
current_item_inactive_column_prefix = $(magenta)$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 |
||||
|
# |
||||
|
## |
||||
|
## Note: attributes are not supported for the following variables. |
||||
|
## |
||||
|
#song_window_title_format = {%a - }{%t}|{%f} |
||||
|
## |
||||
|
## Note: Below variables are used for sorting songs in browser. The sort mode |
||||
|
## determines how songs are sorted, and can be used in combination with a sort |
||||
|
## format to specify a custom sorting format. Available values for |
||||
|
## browser_sort_mode are "name", "mtime", "format" and "noop". |
||||
|
## |
||||
|
# |
||||
|
#browser_sort_mode = name |
||||
|
# |
||||
|
#browser_sort_format = {%a - }{%t}|{%f} {(%l)} |
||||
|
# |
||||
|
##### columns settings ##### |
||||
|
## |
||||
|
## syntax of song columns list format is "column column etc." |
||||
|
## |
||||
|
## - syntax for each column is: |
||||
|
## |
||||
|
## (width of the column)[color of the column]{displayed tag} |
||||
|
## |
||||
|
## Note: Width is by default in %, if you want a column to have fixed size, add |
||||
|
## 'f' after the value, e.g. (10)[white]{a} will be the column that take 10% of |
||||
|
## screen (so the real width will depend on actual screen size), whereas |
||||
|
## (10f)[white]{a} will take 10 terminal cells, no matter how wide the screen |
||||
|
## is. |
||||
|
## |
||||
|
## - color is optional (if you want the default one, leave the field empty). |
||||
|
## |
||||
|
## Note: You can give a column additional attributes by putting appropriate |
||||
|
## character after displayed tag character. Available attributes are: |
||||
|
## |
||||
|
## - r - column will be right aligned |
||||
|
## - E - if tag is empty, empty tag marker won't be displayed |
||||
|
## |
||||
|
## You can also: |
||||
|
## |
||||
|
## - give a column custom name by putting it after attributes, separated with |
||||
|
## character ':', e.g. {lr:Length} gives you right aligned column of lengths |
||||
|
## named "Length". |
||||
|
## |
||||
|
## - define sequence of tags, that have to be displayed in case predecessor is |
||||
|
## empty in a way similar to the one in classic song format, i.e. using '|' |
||||
|
## character, e.g. {a|c|p:Owner} creates column named "Owner" that tries to |
||||
|
## display artist tag and then composer and performer if previous ones are not |
||||
|
## available. |
||||
|
## |
||||
|
# |
||||
|
#song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l} |
||||
|
# |
||||
|
##### various settings ##### |
||||
|
# |
||||
|
## |
||||
|
## Note: Custom command that will be executed each time song changes. Useful for |
||||
|
## notifications etc. |
||||
|
## |
||||
|
#execute_on_song_change = "" |
||||
|
# |
||||
|
## |
||||
|
## Note: Custom command that will be executed each time player state |
||||
|
## changes. The environment variable MPD_PLAYER_STATE is set to the current |
||||
|
## state (either unknown, play, pause, or stop) for its duration. |
||||
|
## |
||||
|
# |
||||
|
#execute_on_player_state_change = "" |
||||
|
# |
||||
|
#playlist_show_mpd_host = no |
||||
|
# |
||||
|
#playlist_show_remaining_time = no |
||||
|
# |
||||
|
#playlist_shorten_total_times = no |
||||
|
# |
||||
|
#playlist_separate_albums = no |
||||
|
# |
||||
|
## |
||||
|
## Note: Possible display modes: classic, columns. |
||||
|
## |
||||
|
playlist_display_mode = columns |
||||
|
# |
||||
|
browser_display_mode = columns |
||||
|
# |
||||
|
#search_engine_display_mode = classic |
||||
|
# |
||||
|
#playlist_editor_display_mode = classic |
||||
|
# |
||||
|
#discard_colors_if_item_is_selected = yes |
||||
|
# |
||||
|
#show_duplicate_tags = true |
||||
|
# |
||||
|
#incremental_seeking = yes |
||||
|
# |
||||
|
#seek_time = 1 |
||||
|
# |
||||
|
#volume_change_step = 2 |
||||
|
# |
||||
|
#autocenter_mode = no |
||||
|
# |
||||
|
#centered_cursor = no |
||||
|
# |
||||
|
## |
||||
|
## Note: You can specify third character which will be used to build 'empty' |
||||
|
## part of progressbar. |
||||
|
## |
||||
|
progressbar_look = -> |
||||
|
# |
||||
|
## Available values: database, playlist. |
||||
|
## |
||||
|
#default_place_to_search_in = database |
||||
|
# |
||||
|
## Available values: classic, alternative. |
||||
|
## |
||||
|
#user_interface = classic |
||||
|
# |
||||
|
#data_fetching_delay = yes |
||||
|
# |
||||
|
## Available values: artist, album_artist, date, genre, composer, performer. |
||||
|
## |
||||
|
media_library_primary_tag = album_artist |
||||
|
# |
||||
|
media_library_albums_split_by_date = no |
||||
|
# |
||||
|
## Available values: wrapped, normal. |
||||
|
## |
||||
|
#default_find_mode = wrapped |
||||
|
# |
||||
|
#default_tag_editor_pattern = %n - %t |
||||
|
# |
||||
|
#header_visibility = yes |
||||
|
# |
||||
|
#statusbar_visibility = yes |
||||
|
# |
||||
|
#titles_visibility = yes |
||||
|
# |
||||
|
#header_text_scrolling = yes |
||||
|
# |
||||
|
#cyclic_scrolling = no |
||||
|
# |
||||
|
#lines_scrolled = 2 |
||||
|
# |
||||
|
#lyrics_fetchers = lyricwiki, azlyrics, genius, sing365, lyricsmania, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, internet |
||||
|
# |
||||
|
#follow_now_playing_lyrics = no |
||||
|
# |
||||
|
#fetch_lyrics_for_current_song_in_background = no |
||||
|
# |
||||
|
#store_lyrics_in_song_dir = no |
||||
|
# |
||||
|
#generate_win32_compatible_filenames = yes |
||||
|
# |
||||
|
#allow_for_physical_item_deletion = no |
||||
|
# |
||||
|
## |
||||
|
## Note: If you set this variable, ncmpcpp will try to get info from last.fm in |
||||
|
## language you set and if it fails, it will fall back to english. Otherwise it |
||||
|
## will use english the first time. |
||||
|
## |
||||
|
## Note: Language has to be expressed as an ISO 639 alpha-2 code. |
||||
|
## |
||||
|
#lastfm_preferred_language = en |
||||
|
# |
||||
|
#space_add_mode = add_remove |
||||
|
# |
||||
|
#show_hidden_files_in_local_browser = no |
||||
|
# |
||||
|
## |
||||
|
## How shall screen switcher work? |
||||
|
## |
||||
|
## - "previous" - switch between the current and previous screen. |
||||
|
## - "screen1,...,screenN" - switch between given sequence of screens. |
||||
|
## |
||||
|
## Screens available for use: help, playlist, browser, search_engine, |
||||
|
## media_library, playlist_editor, tag_editor, outputs, visualizer, clock, |
||||
|
## lyrics, last_fm. |
||||
|
## |
||||
|
#screen_switcher_mode = playlist, browser |
||||
|
# |
||||
|
## |
||||
|
## Note: You can define startup screen by choosing screen from the list above. |
||||
|
## |
||||
|
startup_screen = media_library |
||||
|
# |
||||
|
## |
||||
|
## Note: You can define startup slave screen by choosing screen from the list |
||||
|
## above or an empty value for no slave screen. |
||||
|
## |
||||
|
#startup_slave_screen = "" |
||||
|
# |
||||
|
#startup_slave_screen_focus = no |
||||
|
# |
||||
|
## |
||||
|
## Default width of locked screen (in %). Acceptable values are from 20 to 80. |
||||
|
## |
||||
|
# |
||||
|
#locked_screen_width_part = 50 |
||||
|
# |
||||
|
#ask_for_locked_screen_width_part = yes |
||||
|
# |
||||
|
#jump_to_now_playing_song_at_start = yes |
||||
|
# |
||||
|
#ask_before_clearing_playlists = yes |
||||
|
# |
||||
|
#clock_display_seconds = no |
||||
|
# |
||||
|
display_volume_level = no |
||||
|
# |
||||
|
#display_bitrate = no |
||||
|
# |
||||
|
#display_remaining_time = no |
||||
|
# |
||||
|
## Available values: none, basic, extended, perl. |
||||
|
## |
||||
|
#regular_expressions = perl |
||||
|
# |
||||
|
## |
||||
|
## Note: if below is enabled, ncmpcpp will ignore leading "The" word while |
||||
|
## sorting items in browser, tags in media library, etc. |
||||
|
## |
||||
|
ignore_leading_the = yes |
||||
|
# |
||||
|
## |
||||
|
## Note: if below is enabled, ncmpcpp will ignore diacritics while searching and |
||||
|
## filtering lists. This takes an effect only if boost was compiled with ICU |
||||
|
## support. |
||||
|
## |
||||
|
#ignore_diacritics = no |
||||
|
# |
||||
|
#block_search_constraints_change_if_items_found = yes |
||||
|
# |
||||
|
#mouse_support = yes |
||||
|
# |
||||
|
#mouse_list_scroll_whole_page = yes |
||||
|
# |
||||
|
#empty_tag_marker = <empty> |
||||
|
# |
||||
|
#tags_separator = " | " |
||||
|
# |
||||
|
#tag_editor_extended_numeration = no |
||||
|
# |
||||
|
#media_library_sort_by_mtime = no |
||||
|
# |
||||
|
#enable_window_title = yes |
||||
|
# |
||||
|
## |
||||
|
## Note: You can choose default search mode for search engine. Available modes |
||||
|
## are: |
||||
|
## |
||||
|
## - 1 - use mpd built-in searching (no regexes, pattern matching) |
||||
|
## |
||||
|
## - 2 - use ncmpcpp searching (pattern matching with support for regexes, but |
||||
|
## if your mpd is on a remote machine, downloading big database to process |
||||
|
## it can take a while |
||||
|
## |
||||
|
## - 3 - match only exact values (this mode uses mpd function for searching in |
||||
|
## database and local one for searching in current playlist) |
||||
|
## |
||||
|
# |
||||
|
#search_engine_default_search_mode = 1 |
||||
|
# |
||||
|
external_editor = vim |
||||
|
# |
||||
|
## Note: set to yes if external editor is a console application. |
||||
|
## |
||||
|
use_console_editor = yes |
||||
|
# |
||||
|
##### colors definitions ##### |
||||
|
## |
||||
|
## It is possible to set a background color by setting a color value |
||||
|
## "<foreground>_<background>", 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 = magenta |
||||
|
# |
||||
|
#header_window_color = magenta |
||||
|
# |
||||
|
#volume_color = default |
||||
|
# |
||||
|
#state_line_color = default |
||||
|
# |
||||
|
#state_flags_color = default:b |
||||
|
# |
||||
|
main_window_color = white |
||||
|
# |
||||
|
#color1 = white |
||||
|
# |
||||
|
#color2 = green |
||||
|
# |
||||
|
progressbar_color = black:b |
||||
|
# |
||||
|
progressbar_elapsed_color = blue:b |
||||
|
# |
||||
|
statusbar_color = red |
||||
|
# |
||||
|
statusbar_time_color = cyan:b |
||||
|
# |
||||
|
#player_state_color = default:b |
||||
|
# |
||||
|
#alternative_ui_separator_color = black:b |
||||
|
# |
||||
|
#window_border_color = green |
||||
|
# |
||||
|
#active_window_border = red |
||||
|
# |
||||
@ -0,0 +1,40 @@ |
|||||
|
#show-read-feeds no |
||||
|
auto-reload yes |
||||
|
|
||||
|
external-url-viewer "urlscan -dc -r 'linkhandler {}'" |
||||
|
|
||||
|
bind-key j down |
||||
|
bind-key k up |
||||
|
bind-key j next articlelist |
||||
|
bind-key k prev articlelist |
||||
|
bind-key J next-feed articlelist |
||||
|
bind-key K prev-feed articlelist |
||||
|
bind-key G end |
||||
|
bind-key g home |
||||
|
bind-key d pagedown |
||||
|
bind-key u pageup |
||||
|
bind-key l open |
||||
|
bind-key h quit |
||||
|
bind-key a toggle-article-read |
||||
|
bind-key n next-unread |
||||
|
bind-key N prev-unread |
||||
|
bind-key D pb-download |
||||
|
bind-key U show-urls |
||||
|
bind-key x pb-delete |
||||
|
bind-key ^t next-unread |
||||
|
|
||||
|
color listnormal cyan default |
||||
|
color listfocus black yellow standout bold |
||||
|
color listnormal_unread blue default |
||||
|
color listfocus_unread yellow default bold |
||||
|
color info red black bold |
||||
|
color article cyan default |
||||
|
|
||||
|
browser linkhandler |
||||
|
macro , open-in-browser |
||||
|
macro t set browser "tsp youtube-dl --add-metadata -ic"; open-in-browser ; set browser linkhandler |
||||
|
macro a set browser "tsp youtube-dl --add-metadata -xic -f bestaudio/best"; open-in-browser ; set browser linkhandler |
||||
|
macro v set browser "setsid nohup mpv"; open-in-browser ; set browser linkhandler |
||||
|
macro w set browser "w3m"; open-in-browser ; set browser linkhandler |
||||
|
macro p set browser "dmenuhandler"; open-in-browser ; set browser linkhandler |
||||
|
macro c set browser "xsel -b <<<" ; open-in-browser ; set browser linkhandler |
||||
@ -0,0 +1,4 @@ |
|||||
|
http://lukesmith.xyz/rss.xml |
||||
|
https://notrelated.libsyn.com/rss |
||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "~Luke Smith (YouTube)" |
||||
|
https://www.archlinux.org/feeds/news/ "tech" |
||||
@ -0,0 +1,32 @@ |
|||||
|
#!/bin/sh |
||||
|
while read file |
||||
|
do |
||||
|
case "$1" in |
||||
|
"w") setbg "$file" & ;; |
||||
|
"c") |
||||
|
[ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ~/.config/bmdirs | awk '{print $2}' | dmenu -l 20 -i -p "Copy file(s) to where?" | sed "s|~|$HOME|g")" |
||||
|
[ -z "$destdir" ] && exit |
||||
|
cp "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file copied to $destdir." & |
||||
|
;; |
||||
|
"m") |
||||
|
[ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ~/.config/bmdirs | awk '{print $2}' | dmenu -l 20 -i -p "Move file(s) to where?" | sed "s|~|$HOME|g")" |
||||
|
[ -z "$destdir" ] && exit |
||||
|
mv "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file moved to $destdir." & |
||||
|
;; |
||||
|
"r") |
||||
|
convert -rotate 90 "$file" "$file" ;; |
||||
|
"R") |
||||
|
convert -rotate -90 "$file" "$file" ;; |
||||
|
"f") |
||||
|
convert -flop "$file" "$file" ;; |
||||
|
"y") |
||||
|
echo -n "$file" | xclip -selection clipboard && |
||||
|
notify-send "$file copied to clipboard" & ;; |
||||
|
"Y") |
||||
|
echo -n "$(readlink -f "$file")" | xclip -selection clipboard && |
||||
|
notify-send "$(readlink -f "$file") copied to clipboard" & ;; |
||||
|
"d") |
||||
|
[ "$(printf "No\\nYes" | dmenu -i -p "Really delete $file?")" = "Yes" ] && rm "$file" && notify-send "$file deleted." ;; |
||||
|
"g") ifinstalled gimp && gimp "$file" & ;; |
||||
|
esac |
||||
|
done |
||||
@ -0,0 +1 @@ |
|||||
|
XDG_DESKTOP_DIR="$HOME/" |
||||
@ -0,0 +1,12 @@ |
|||||
|
set statusbar-h-padding 0 |
||||
|
set statusbar-v-padding 0 |
||||
|
set page-padding 1 |
||||
|
map u scroll half-up |
||||
|
map d scroll half-down |
||||
|
map D toggle_page_mode |
||||
|
map r reload |
||||
|
map R rotate |
||||
|
map K zoom in |
||||
|
map J zoom out |
||||
|
map i recolor |
||||
|
map p print |
||||
@ -0,0 +1,19 @@ |
|||||
|
$include /etc/inputrc |
||||
|
set editing-mode vi |
||||
|
$if mode=vi |
||||
|
|
||||
|
set show-mode-in-prompt on |
||||
|
set vi-ins-mode-string \1\e[6 q\2 |
||||
|
set vi-cmd-mode-string \1\e[2 q\2 |
||||
|
|
||||
|
set keymap vi-command |
||||
|
# these are for vi-command mode |
||||
|
Control-l: clear-screen |
||||
|
Control-a: beginning-of-line |
||||
|
|
||||
|
set keymap vi-insert |
||||
|
# these are for vi-insert mode |
||||
|
Control-l: clear-screen |
||||
|
Control-a: beginning-of-line |
||||
|
|
||||
|
$endif |
||||
@ -0,0 +1,11 @@ |
|||||
|
# Important Note |
||||
|
|
||||
|
These cronjobs have components that require information about your current display to display notifications correctly. |
||||
|
|
||||
|
When you add them as cronjobs, I recommend you precede the command with commands as those below: |
||||
|
|
||||
|
``` |
||||
|
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus; export DISPLAY=:0; . $HOME/.profile; then_command_goes_here |
||||
|
``` |
||||
|
|
||||
|
This ensures that notifications will display, xdotool commands will function and environmental varialbes will work as well. |
||||
@ -0,0 +1,18 @@ |
|||||
|
#!/bin/sh |
||||
|
# Syncs repositories and downloads updates, meant to be run as a cronjob. |
||||
|
|
||||
|
ping -q -c 1 1.1.1.1 > /dev/null || exit |
||||
|
|
||||
|
notify-send "📦 Repository Sync" "Checking for package updates..." |
||||
|
|
||||
|
sudo pacman -Syyuw --noconfirm || notify-send "Error downloading updates. |
||||
|
|
||||
|
Check your internet connection, if pacman is already running, or run update manually to see errors." |
||||
|
pkill -RTMIN+8 i3blocks |
||||
|
|
||||
|
if pacman -Qu | grep -v "\[ignored\]" |
||||
|
then |
||||
|
notify-send "🎁 Repository Sync" "Updates available. Click statusbar icon (📦) for update." |
||||
|
else |
||||
|
notify-send "📦 Repository Sync" "Sync complete. No new packages for update." |
||||
|
fi |
||||
@ -0,0 +1,8 @@ |
|||||
|
#!/bin/sh |
||||
|
# Notify me with notify-send if my battery is below 25%. |
||||
|
# You can set this to run via cron. |
||||
|
|
||||
|
[ "$(cat /sys/class/power_supply/BAT0/status)" = "Charging" ] && exit |
||||
|
[ "$(cat /sys/class/power_supply/BAT0/capacity)" -lt 25 ] && |
||||
|
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus && |
||||
|
notify-send -u critical "Battery critically low." |
||||
@ -0,0 +1,5 @@ |
|||||
|
#!/bin/sh |
||||
|
# Toggles all cronjobs off/on. |
||||
|
# Stores disabled crontabs in ~/.consaved until restored. |
||||
|
|
||||
|
([ -f ~/.config/cronsaved ] && crontab - < ~/.config/cronsaved && rm ~/.config/cronsaved && notify-send "🕓 Cronjobs re-enabled.") || ( crontab -l > ~/.config/cronsaved && crontab -r && notify-send "🕓 Cronjobs saved and disabled.") |
||||
@ -0,0 +1,16 @@ |
|||||
|
#!/bin/sh |
||||
|
# Set as a cron job to check for new RSS entries for newsboat. |
||||
|
# If newsboat is open, sends it an "R" key to refresh. |
||||
|
|
||||
|
ping -q -c 1 1.1.1.1 > /dev/null || exit |
||||
|
|
||||
|
/usr/bin/notify-send "📰 Updating RSS feeds..." |
||||
|
|
||||
|
pgrep -x newsboat >/dev/null && /usr/bin/xdotool key --window "$(/usr/bin/xdotool search --name newsboat)" R && exit |
||||
|
|
||||
|
echo 🔃 > /tmp/newsupdate |
||||
|
pkill -RTMIN+6 i3blocks |
||||
|
/usr/bin/newsboat -x reload |
||||
|
rm -f /tmp/newsupdate |
||||
|
pkill -RTMIN+6 i3blocks |
||||
|
/usr/bin/notify-send "📰 RSS feed update complete." |
||||
@ -0,0 +1,38 @@ |
|||||
|
#!/bin/sh |
||||
|
|
||||
|
# This script will compile or run another finishing operation on a document. I |
||||
|
# have this script run via vim. |
||||
|
# |
||||
|
# Compiles .tex. groff (.mom, .ms), .rmd, .md. Opens .sent files as sent |
||||
|
# presentations. Runs scripts based on extention or shebang |
||||
|
|
||||
|
file=$(readlink -f "$1") |
||||
|
dir=$(dirname "$file") |
||||
|
base="${file%.*}" |
||||
|
|
||||
|
cd "$dir" || exit |
||||
|
|
||||
|
textype() { \ |
||||
|
command="pdflatex" |
||||
|
( sed 5q "$file" | grep -i -q 'xelatex' ) && command="xelatex" |
||||
|
$command --output-directory="$dir" "$base" && |
||||
|
grep -i addbibresource "$file" >/dev/null && |
||||
|
biber --input-directory "$dir" "$base" && |
||||
|
$command --output-directory="$dir" "$base" && |
||||
|
$command --output-directory="$dir" "$base" |
||||
|
} |
||||
|
|
||||
|
case "$file" in |
||||
|
*\.ms) refer -PS -e "$file" | groff -me -ms -kept -T pdf > "$base".pdf ;; |
||||
|
*\.mom) refer -PS -e "$file" | groff -mom -kept -T pdf > "$base".pdf ;; |
||||
|
*\.[0-9]) refer -PS -e "$file" | groff -mandoc -T pdf > "$base".pdf ;; |
||||
|
*\.rmd) echo "require(rmarkdown); render('$file')" | R -q --vanilla ;; |
||||
|
*\.tex) textype "$file" ;; |
||||
|
*\.md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;; |
||||
|
*config.h) sudo make install ;; |
||||
|
*\.c) cc "$file" -o "$base" && "$base" ;; |
||||
|
*\.py) python "$file" ;; |
||||
|
*\.go) go run "$file" ;; |
||||
|
*\.sent) setsid sent "$file" 2>/dev/null & ;; |
||||
|
*) sed 1q "$file" | grep "^#!/" | sed "s/^#!//" | xargs -r -I % "$file" ;; |
||||
|
esac |
||||
@ -0,0 +1,15 @@ |
|||||
|
#!/bin/sh |
||||
|
# Feed this script a link and it will give dmenu |
||||
|
# some choice programs to use to open it. |
||||
|
|
||||
|
case "$(printf "copy url\\nmpv\\nmpv (loop)\\nqueue download\\n\\nqueue youtube-dl\\nfeh\\nbrowser\\nw3m\\nmpv (float)" | dmenu -i -p "Open link with what program?")" in |
||||
|
"copy url") echo "$1" | xclip -selection clipboard ;; |
||||
|
mpv) setsid mpv -quiet "$1" >/dev/null 2>&1 & ;; |
||||
|
"mpv (loop)") setsid mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) -quiet --loop "$1" >/dev/null 2>&1 & ;; |
||||
|
"queue download") tsp curl -LO "$1" >/dev/null 2>&1 ;; |
||||
|
"queue youtube-dl") tsp youtube-dl --write-metadata -ic "$1" >/dev/null 2>&1 ;; |
||||
|
browser) setsid "$BROWSER" "$1" >/dev/null 2>&1 & ;; |
||||
|
feh) setsid feh "$1" >/dev/null 2>&1 & ;; |
||||
|
w3m) w3m "$1" >/dev/null 2>&1 ;; |
||||
|
"mpv (float)") setsid mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) --geometry=+0-0 --autofit=30% --title="mpvfloat" "$1" >/dev/null 2>&1 & ;; |
||||
|
esac |
||||
@ -0,0 +1,2 @@ |
|||||
|
#!/bin/sh |
||||
|
dmenu -fn Monospace-18 -sb "#d79921" -sf "#1d2021" -nf "#000000" -nb "#000000" -p "$1" <&- && echo |
||||
@ -0,0 +1 @@ |
|||||
|
extract |
||||
@ -0,0 +1,41 @@ |
|||||
|
#!/bin/sh |
||||
|
# A general, all-purpose extraction script. |
||||
|
# |
||||
|
# Default behavior: Extract archive into new directory |
||||
|
# Behavior with `-c` option: Extract contents into current directory |
||||
|
|
||||
|
while getopts "hc" o; do case "${o}" in |
||||
|
c) extracthere="True" ;; |
||||
|
*) printf "Options:\\n -c: Extract archive into current directory rather than a new one.\\n" && exit ;; |
||||
|
esac done |
||||
|
|
||||
|
if [ -z "$extracthere" ]; then |
||||
|
archive="$(readlink -f "$*")" && |
||||
|
directory="$(echo "$archive" | sed 's/\.[^\/.]*$//')" && |
||||
|
mkdir -p "$directory" && |
||||
|
cd "$directory" || exit |
||||
|
else |
||||
|
archive="$(readlink -f "$(echo "$*" | cut -d' ' -f2)")" |
||||
|
fi |
||||
|
|
||||
|
[ "$archive" = "" ] && printf "Give archive to extract as argument.\\n" && exit |
||||
|
|
||||
|
if [ -f "$archive" ] ; then |
||||
|
case "$archive" in |
||||
|
*.tar.bz2|*.tar.xz|*.tbz2) tar xvjf "$archive" ;; |
||||
|
*.tar.gz|*.tgz) tar xvzf "$archive" ;; |
||||
|
*.lzma) unlzma "$archive" ;; |
||||
|
*.bz2) bunzip2 "$archive" ;; |
||||
|
*.rar) unrar x -ad "$archive" ;; |
||||
|
*.gz) gunzip "$archive" ;; |
||||
|
*.tar) tar xvf "$archive" ;; |
||||
|
*.zip) unzip "$archive" ;; |
||||
|
*.Z) uncompress "$archive" ;; |
||||
|
*.7z) 7z x "$archive" ;; |
||||
|
*.xz) unxz "$archive" ;; |
||||
|
*.exe) cabextract "$archive" ;; |
||||
|
*) printf "extract: '%s' - unknown archive method\\n" "$archive" ;; |
||||
|
esac |
||||
|
else |
||||
|
printf "File \"%s\" not found.\\n" "$archive" |
||||
|
fi |
||||
@ -0,0 +1,14 @@ |
|||||
|
#!/bin/sh |
||||
|
[ -z "$1" ] && echo "Give either a pdf file or a DOI as an argument." && exit |
||||
|
|
||||
|
if [ -f "$1" ]; then |
||||
|
# Try to get DOI from pdfinfo or pdftotext output. |
||||
|
doi=$(pdfinfo "$1" | grep -io "doi:.*") || |
||||
|
doi=$(pdftotext "$1" 2>/dev/null - | grep -io "doi:.*" -m 1) || |
||||
|
exit 1 |
||||
|
else |
||||
|
doi="$1" |
||||
|
fi |
||||
|
|
||||
|
# Check crossref.org for the bib citation. |
||||
|
curl -s "http://api.crossref.org/works/$doi/transform/application/x-bibtex" -w "\\n" |
||||
@ -0,0 +1,4 @@ |
|||||
|
#!/bin/sh |
||||
|
cat ~/.config/getkeys/"$1" 2>/dev/null && exit |
||||
|
echo "Run command with one of the following arguments for info about that program:" |
||||
|
ls ~/.config/getkeys |
||||
@ -0,0 +1,3 @@ |
|||||
|
#!/bin/sh |
||||
|
# If $1 command is not available, error code and notify. |
||||
|
command -v "$1" >/dev/null || { notify-send "📦 $1" "must be installed for this function." && exit 1 ;} |
||||
@ -0,0 +1,22 @@ |
|||||
|
#!/bin/sh |
||||
|
|
||||
|
# Feed script a url or file location. |
||||
|
# If an image, it will view in sxiv, |
||||
|
# if a video or gif, it will view in mpv |
||||
|
# if a music file or pdf, it will download, |
||||
|
# otherwise it opens link in browser. |
||||
|
|
||||
|
# If no url given. Opens browser. For using script as $BROWSER. |
||||
|
[ -z "$1" ] && { "$BROWSER"; exit; } |
||||
|
|
||||
|
case "$1" in |
||||
|
*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*hooktube.com*|*bitchute.com*) |
||||
|
setsid mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) -quiet "$1" >/dev/null 2>&1 & ;; |
||||
|
*png|*jpg|*jpe|*jpeg|*gif) |
||||
|
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///")" && sxiv -a "/tmp/$(echo "$1" | sed "s/.*\///")" >/dev/null 2>&1 & ;; |
||||
|
*mp3|*flac|*opus|*mp3?source*) |
||||
|
setsid tsp curl -LO "$1" >/dev/null 2>&1 & ;; |
||||
|
*) |
||||
|
if [ -f "$1" ]; then "$TERMINAL" -e "$EDITOR $1" |
||||
|
else setsid "$BROWSER" "$1" >/dev/null 2>&1 & fi ;; |
||||
|
esac |
||||
@ -0,0 +1,42 @@ |
|||||
|
#!/bin/sh |
||||
|
# A general audio interface for LARBS. |
||||
|
|
||||
|
[ -z "$2" ] && num="2" || num="$2" |
||||
|
|
||||
|
case "$1" in |
||||
|
u*) pulsemixer --change-volume +"$num" ;; |
||||
|
d*) pulsemixer --change-volume -"$num" ;; |
||||
|
m*) pulsemixer --toggle-mute ;; |
||||
|
truemute) pulsemixer --mute ;; |
||||
|
play) mpc play ;; |
||||
|
n*) mpc next ;; |
||||
|
prev) mpc prev ;; |
||||
|
t*) mpc toggle ;; |
||||
|
p*) mpc pause ; pauseallmpv ;; |
||||
|
f*) mpc seek +"$num" ;; |
||||
|
b*) mpc seek -"$num" ;; |
||||
|
r*) mpc seek 0% ;; |
||||
|
*) cat << EOF |
||||
|
lmc: cli music interface for mpd and pulse for those with divine intellect too |
||||
|
grand to remember the mpc/pamixer commands. |
||||
|
|
||||
|
Allowed options: |
||||
|
up NUM Increase volume (2 secs default) |
||||
|
down NUM Decrease volume (2 secs default) |
||||
|
mute Toggle mute |
||||
|
truemute Mute |
||||
|
next Next track |
||||
|
prev Previous track |
||||
|
toggle Toggle pause |
||||
|
truepause Pause |
||||
|
foward NUM Seek foward in song (2 secs default) |
||||
|
back NUM Seek back in song (2 secs default) |
||||
|
restart Restart current song |
||||
|
all else Print this message |
||||
|
|
||||
|
All of these commands, except for \`truemute\`, \`prev\` and \`play\` can be truncated, |
||||
|
i.e. \`lmc r\` for \`lmc restart\`. |
||||
|
EOF |
||||
|
esac |
||||
|
|
||||
|
pkill -RTMIN+10 i3blocks |
||||
@ -0,0 +1,11 @@ |
|||||
|
#!/bin/sh |
||||
|
# opout: "open output": A general handler for opening a file's intended output. |
||||
|
# I find this useful especially running from vim. |
||||
|
|
||||
|
basename="$(echo "$1" | sed 's/\.[^\/.]*$//')" |
||||
|
|
||||
|
case "$1" in |
||||
|
*.tex|*.md|*.rmd|*.ms|*.me|*.mom) setsid "$READER" "$basename".pdf >/dev/null 2>&1 & ;; |
||||
|
*.html) setsid "$BROWSER" --new-window "$basename".html >/dev/null 2>&1 & ;; |
||||
|
*.sent) setsid sent "$1" >/dev/null 2>&1 & ;; |
||||
|
esac |
||||
@ -0,0 +1,4 @@ |
|||||
|
#!/bin/sh |
||||
|
for i in $(ls /tmp/mpvsoc*); do |
||||
|
echo '{ "command": ["set_property", "pause", true] }' | socat - $i; |
||||
|
done |
||||
@ -0,0 +1,6 @@ |
|||||
|
#!/bin/sh |
||||
|
# entr command to run `queueandnotify` when newsboat queue is changed |
||||
|
|
||||
|
[ "$(pgrep -x $(basename $0) | wc -l)" -gt 2 ] && exit |
||||
|
|
||||
|
echo ~/.local/share/newsboat/queue | entr -p queueandnotify 2>/dev/null |
||||
@ -0,0 +1,11 @@ |
|||||
|
#!/bin/sh |
||||
|
# $1 is a url; $2 is a command |
||||
|
[ -z "$1" ] && exit |
||||
|
base="$(basename "$1")" |
||||
|
notify-send "⏳ Queuing $base..." |
||||
|
cmd="$2" |
||||
|
[ -z "$cmd" ] && cmd="youtube-dl --add-metadata" |
||||
|
idnum="$(tsp $cmd "$1")" |
||||
|
realname="$(echo "$base" | sed "s/?\(source\|dest\).*//;s/%20/ /g")" |
||||
|
tsp -D "$idnum" mv "$base" "$realname" |
||||
|
tsp -D "$idnum" notify-send "👍 $realname done." |
||||
@ -0,0 +1,13 @@ |
|||||
|
#!/bin/sh |
||||
|
# Podboat sucks. This script replaces it. |
||||
|
# It reads the newsboat queue, queuing downloads with taskspooler. |
||||
|
# It also removes the junk from extentions. |
||||
|
queuefile="$HOME/.local/share/newsboat/queue" |
||||
|
|
||||
|
while read -r line; do |
||||
|
[ -z "$line" ] && continue |
||||
|
url="$(echo "$line" | awk '{print $1}')" |
||||
|
qndl "$url" "curl -LO" |
||||
|
done < "$queuefile" |
||||
|
|
||||
|
echo > "$queuefile" |
||||
@ -0,0 +1,4 @@ |
|||||
|
#!/bin/sh |
||||
|
[ -z "$1" ] && echo "usage: rotdir regex 2>&1" && exit 1 |
||||
|
base="$(basename $1)" |
||||
|
ls "$PWD" | awk "BEGIN { lines = \"\"; m = 0; } /^$base$/ { m = 1; } { if (!m) { if (lines) { lines = lines\"\n\"; } lines = lines\"\"\$0; } else { print \$0; } } END { print lines; }" |
||||
@ -0,0 +1,9 @@ |
|||||
|
#!/bin/sh |
||||
|
! echo "$1" | grep "https*://\S\+\.[A-Za-z]\+\S*" >/dev/null && |
||||
|
notify-send "That doesn't look like a full URL." && exit |
||||
|
RSSFILE="$HOME/.config/newsboat/urls" |
||||
|
if awk '{print $1}' "$RSSFILE" | grep "^$1$" >/dev/null; then |
||||
|
notify-send "You already have this RSS feed." |
||||
|
else |
||||
|
echo "$1" >> "$RSSFILE" && notify-send "RSS feed added." |
||||
|
fi |
||||
@ -0,0 +1,4 @@ |
|||||
|
#!/bin/sh |
||||
|
# Sets the background. If given an argument, will set file as background. |
||||
|
[ ! -z "$1" ] && cp "$1" ~/.config/wall.png && notify-send -i "$HOME/.config/wall.png" "Wallpaper changed." |
||||
|
xwallpaper --zoom ~/.config/wall.png |
||||
@ -0,0 +1,26 @@ |
|||||
|
#!/bin/bash |
||||
|
# Output locations. Unactivated progs should go to /dev/null. |
||||
|
shell_shortcuts="$HOME/.config/shortcutrc" |
||||
|
ranger_shortcuts="/dev/null" |
||||
|
qute_shortcuts="/dev/null" |
||||
|
fish_shortcuts="/dev/null" |
||||
|
vifm_shortcuts="$HOME/.config/vifm/vifmshortcuts" |
||||
|
|
||||
|
# Remove, prepare files |
||||
|
rm -f "$ranger_shortcuts" "$qute_shortcuts" 2>/dev/null |
||||
|
printf "# vim: filetype=sh\\n" > "$fish_shortcuts" |
||||
|
printf "# vim: filetype=sh\\nalias " > "$shell_shortcuts" |
||||
|
printf "\" vim: filetype=vim\\n" > "$vifm_shortcuts" |
||||
|
|
||||
|
# Format the `bmdirs` file in the correct syntax and sent it to all three configs. |
||||
|
sed "s/\s*#.*$//;/^\s*$/d" "$HOME/.config/bmdirs" | tee >(awk '{print $1"=\"cd "$2" && ls -a\" \\"}' >> "$shell_shortcuts") \ |
||||
|
>(awk '{print "abbr", $1, "\"cd " $2 "; and ls -a\""}' >> "$fish_shortcuts") \ |
||||
|
>(awk '{print "map g" $1, ":cd", $2 "<CR>\nmap t" $1, "<tab>:cd", $2 "<CR><tab>\nmap M" $1, "<tab>:cd", $2 "<CR><tab>:mo<CR>\nmap Y" $1, "<tab>:cd", $2 "<CR><tab>:co<CR>" }' >> "$vifm_shortcuts") \ |
||||
|
>(awk '{print "config.bind(\";"$1"\", \"set downloads.location.directory "$2" ;; hint links download\")"}' >> "$qute_shortcuts") \ |
||||
|
| awk '{print "map g"$1" cd "$2"\nmap t"$1" tab_new "$2"\nmap m"$1" shell mv -v %s "$2"\nmap Y"$1" shell cp -rv %s "$2}' >> "$ranger_shortcuts" |
||||
|
|
||||
|
# Format the `configs` file in the correct syntax and sent it to both configs. |
||||
|
sed "s/\s*#.*$//;/^\s*$/d" "$HOME/.config/bmfiles" | tee >(awk '{print $1"=\"$EDITOR "$2"\" \\"}' >> "$shell_shortcuts") \ |
||||
|
>(awk '{print "abbr", $1, "\"$EDITOR "$2"\""}' >> "$fish_shortcuts") \ |
||||
|
>(awk '{print "map", $1, ":e", $2 "<CR>" }' >> "$vifm_shortcuts") \ |
||||
|
| awk '{print "map "$1" shell $EDITOR "$2}' >> "$ranger_shortcuts" |
||||
@ -0,0 +1,14 @@ |
|||||
|
#!/bin/sh |
||||
|
|
||||
|
# Clears the build files of a LaTeX/XeLaTeX build. |
||||
|
# I have vim run this file whenever I exit a .tex file. |
||||
|
|
||||
|
case "$1" in |
||||
|
*.tex) |
||||
|
file=$(readlink -f "$1") |
||||
|
dir=$(dirname "$file") |
||||
|
base="${file%.*}" |
||||
|
find "$dir" -maxdepth 1 -type f -regextype gnu-awk -regex "^$base\\.(4tc|xref|tmp|pyc|pyo|fls|vrb|fdb_latexmk|bak|swp|aux|log|synctex\\(busy\\)|lof|lot|maf|idx|mtc|mtc0|nav|out|snm|toc|bcf|run\\.xml|synctex\\.gz|blg|bbl)" -delete ;; |
||||
|
*) printf "Give .tex file as argument.\\n" ;; |
||||
|
esac |
||||
|
|
||||
@ -0,0 +1,9 @@ |
|||||
|
#!/bin/sh |
||||
|
|
||||
|
# Mimeapp script for adding torrent to transmission-daemon, but will also start the daemon first if not running. |
||||
|
|
||||
|
# transmission-daemon sometimes fails to take remote requests in its first moments. |
||||
|
|
||||
|
pgrep -x transmission-da || (transmission-daemon && notify-send "Starting transmission daemon..." && sleep 3 && pkill -RTMIN+7 i3blocks) |
||||
|
|
||||
|
transmission-remote -a "$@" && notify-send "🔽 Torrent added." |
||||
@ -0,0 +1,13 @@ |
|||||
|
#!/usr/bin/env bash |
||||
|
[ -z "$FIFO_UEBERZUG" ] && exit |
||||
|
|
||||
|
readonly ID_PREVIEW="preview" |
||||
|
|
||||
|
if [ "$1" = "draw" ]; then |
||||
|
declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" [x]="$2" [y]="$3" [max_width]="$4" [max_height]="$5" [path]="${PWD}/$6") > "$FIFO_UEBERZUG" |
||||
|
elif [ "$1" = "videopreview" ]; then |
||||
|
[ ! -f "/tmp/$6.png" ] && ffmpegthumbnailer -i "${PWD}/$6" -o "/tmp/$6.png" -s 0 -q 10 && |
||||
|
declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" [x]="$2" [y]="$3" [max_width]="$4" [max_height]="$5" [path]="/tmp/$6.png") > "$FIFO_UEBERZUG" |
||||
|
else |
||||
|
declare -p -A cmd=([action]=remove [identifier]="$ID_PREVIEW") > "$FIFO_UEBERZUG" |
||||
|
fi |
||||
@ -0,0 +1,15 @@ |
|||||
|
#!/usr/bin/env sh |
||||
|
export FIFO_UEBERZUG="/tmp/vifm-ueberzug-${PPID}" |
||||
|
|
||||
|
cleanup() { |
||||
|
rm "$FIFO_UEBERZUG" 2>/dev/null |
||||
|
pkill -P $$ 2>/dev/null |
||||
|
} |
||||
|
|
||||
|
rm "$FIFO_UEBERZUG" 2>/dev/null |
||||
|
mkfifo "$FIFO_UEBERZUG" |
||||
|
trap cleanup EXIT |
||||
|
tail --follow "$FIFO_UEBERZUG" | ueberzug layer --silent --parser bash & |
||||
|
|
||||
|
vifm |
||||
|
cleanup |
||||
@ -0,0 +1,56 @@ |
|||||
|
set -g prefix C-a |
||||
|
setw -g mode-keys vi |
||||
|
setw -g mode-style bg=black |
||||
|
set-option -g default-terminal "xterm-256color" |
||||
|
set-option -g pane-active-border-style fg=green |
||||
|
set-window-option -g xterm-keys on # for vim |
||||
|
set-window-option -g mode-keys vi # vi key |
||||
|
set-window-option -g monitor-activity on |
||||
|
set-window-option -g window-status-current-style fg=white |
||||
|
setw -g window-status-current-style reverse |
||||
|
setw -g automatic-rename |
||||
|
set -g mouse on |
||||
|
set -g history-limit 30000 |
||||
|
set -g terminal-overrides 'xterm*:smcup@:rmcup@' |
||||
|
set-option -g status-justify right |
||||
|
set-option -g status-bg black # colour213 # pink |
||||
|
set-option -g status-fg cyan |
||||
|
set-option -g status-interval 5 |
||||
|
set-option -g status-left-length 30 |
||||
|
set-option -g status-left '#[fg=magenta]» #[fg=blue,bold]#T#[default]' |
||||
|
set-option -g status-right '#[fg=red,bold][[ #(git branch) branch ]] #[fg=cyan]»» #[fg=blue,bold]###S #[fg=magenta]%R %m-%d#(acpi | cut -d ',' -f 2)#[default]' |
||||
|
set-option -g visual-activity on |
||||
|
set-option -g set-titles on |
||||
|
set-option -g set-titles-string '#H:#S.#I.#P #W #T' |
||||
|
unbind j |
||||
|
unbind C-b # unbind default leader key |
||||
|
unbind '"' # unbind horizontal split |
||||
|
unbind % # unbind vertical split |
||||
|
bind-key r source-file ~/.tmux.conf |
||||
|
bind-key c split-window -v # split pane horizontally |
||||
|
bind-key v split-window -h # split pane vertically |
||||
|
bind-key Space list-panes |
||||
|
bind-key Enter break-pane |
||||
|
bind-key Space command-prompt "joinp -t:%%" # %% = prompt for window.pane [-V|H] # vert|hor split |
||||
|
bind-key -n C-up prev |
||||
|
bind-key -n C-left prev |
||||
|
bind-key -n C-right next |
||||
|
bind-key -n C-down next |
||||
|
set-window-option -g window-status-current-style bg=red |
||||
|
bind C-j previous-window |
||||
|
bind C-k next-window |
||||
|
#bind-key C-a last-window # C-a C-a for last active window |
||||
|
bind A command-prompt "rename-window %%" |
||||
|
setw -g aggressive-resize on |
||||
|
bind-key h select-pane -L |
||||
|
bind-key j select-pane -D |
||||
|
bind-key k select-pane -U |
||||
|
bind-key l select-pane -R |
||||
|
bind-key -r C-h resize-pane -L |
||||
|
bind-key -r C-j resize-pane -D |
||||
|
bind-key -r C-k resize-pane -U |
||||
|
bind-key -r C-l resize-pane -R |
||||
|
bind o select-layout "active-only" |
||||
|
bind M-- select-layout "even-vertical" |
||||
|
bind M-| select-layout "even-horizontal" |
||||
|
bind M-r rotate-window |
||||
@ -0,0 +1 @@ |
|||||
|
.config/nvim/ |
||||
@ -0,0 +1 @@ |
|||||
|
.profile |
||||