Add home/.config/ncmpcpp/config
Add home/.config/ncmpcpp/osd.sh
This commit is contained in:
parent
5339338cf3
commit
7d388c3b8d
538
home/dot_config/ncmpcpp/config
Normal file
538
home/dot_config/ncmpcpp/config
Normal file
@ -0,0 +1,538 @@
|
||||
##############################################################
|
||||
## 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 = ~/.ncmpcpp
|
||||
#
|
||||
##
|
||||
## Directory for storing downloaded lyrics. It
|
||||
## defaults to ~/.lyrics since other MPD clients
|
||||
## (eg. ncmpc) also use that location.
|
||||
##
|
||||
#
|
||||
lyrics_directory = ~/Musique/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 = ~/Musique
|
||||
#
|
||||
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_data_source = /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 = "visualisation_fifo"
|
||||
#
|
||||
##
|
||||
## If you set format to 44100:16:2, make it 'yes'.
|
||||
##
|
||||
visualizer_in_stereo = yes
|
||||
#
|
||||
##
|
||||
## Multiply received samples by given value. Very
|
||||
## useful for proper visualization of quiet music.
|
||||
##
|
||||
#visualizer_sample_multiplier = 1
|
||||
#
|
||||
##
|
||||
## 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 = wave
|
||||
#
|
||||
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 = 5
|
||||
#
|
||||
##### 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 = {%a - }{%t}|{$8%f$9}$R{$3(%l)$9}
|
||||
#song_list_format = {{$3[%l]$9} {$5%a$9} {$6%t$9} %y %n {$5%b$9}}
|
||||
song_list_format = "$8%a$9 ✖ $2%t$9"
|
||||
#
|
||||
#song_status_format = {{%a{ "%b"{ (%y)}} - }{%t}}|{%f}
|
||||
#
|
||||
#song_library_format = {%n - }{%t}|{%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}
|
||||
#
|
||||
now_playing_prefix = "$2$9$2"
|
||||
# now_playing_prefix = " $2♫$9$2"
|
||||
#
|
||||
#now_playing_suffix = $/b
|
||||
now_playing_suffix = "$9"
|
||||
#
|
||||
#browser_playlist_prefix = "$2playlist$9 "
|
||||
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}
|
||||
song_columns_list_format = (4)[]{: } (20)[]{a:Artiste} (50)[white]{t|f:Titre} (6f)[white]{nE:Piste} (20)[white]{b} (7f)[red]{l:Durée}
|
||||
#
|
||||
##### various settings #####
|
||||
#
|
||||
##
|
||||
## Note: Custom command that will be executed each
|
||||
## time song changes. Useful for notifications etc.
|
||||
##
|
||||
# execute_on_song_change = ~/.config/ncmpcpp/osd.sh
|
||||
execute_on_song_change = notify-send "Là, vous écoutez" "$(mpc --format '%title% \n%artist% - %album%' current)"
|
||||
#
|
||||
#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 = classic
|
||||
browser_display_mode = classic
|
||||
#
|
||||
#search_engine_display_mode = classic
|
||||
#
|
||||
#playlist_editor_display_mode = classic
|
||||
#
|
||||
#discard_colors_if_item_is_selected = yes
|
||||
#
|
||||
#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 = artist
|
||||
#
|
||||
## 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
|
||||
#
|
||||
follow_now_playing_lyrics = yes
|
||||
#
|
||||
fetch_lyrics_for_current_song_in_background = yes
|
||||
#
|
||||
store_lyrics_in_song_dir = yes
|
||||
#
|
||||
generate_win32_compatible_filenames = yes
|
||||
#
|
||||
allow_for_physical_item_deletion = yes
|
||||
#
|
||||
##
|
||||
## 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 = fr
|
||||
#
|
||||
#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.
|
||||
##
|
||||
#screen_switcher_mode = playlist, browser
|
||||
#
|
||||
##
|
||||
## Note: You can define startup screen
|
||||
## by choosing screen from the list above.
|
||||
##
|
||||
#startup_screen = playlist
|
||||
#
|
||||
##
|
||||
## 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 = yes
|
||||
#
|
||||
#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 = 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 = nano
|
||||
#
|
||||
## 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.
|
||||
##
|
||||
## Note: due to technical limitations of ncurses, if 256 colors
|
||||
## are used, it is possible to either use only the colors with
|
||||
## default background color, or all pairs from 1_1 up to 254_127,
|
||||
## depending on the ncurses version used.
|
||||
##
|
||||
#
|
||||
colors_enabled = yes
|
||||
#
|
||||
empty_tag_color = white
|
||||
#
|
||||
#header_window_color = default
|
||||
#
|
||||
#volume_color = default
|
||||
#
|
||||
#state_line_color = default
|
||||
#
|
||||
#state_flags_color = default
|
||||
#
|
||||
main_window_color = white
|
||||
#
|
||||
#color1 = white
|
||||
#
|
||||
#color2 = green
|
||||
#
|
||||
current_item_prefix = "$(white)$r"
|
||||
current_item_suffix = "$/r$(end)"
|
||||
#main_window_highlight_color = white
|
||||
#
|
||||
progressbar_color = black
|
||||
#
|
||||
progressbar_elapsed_color = red
|
||||
#
|
||||
#statusbar_color = default
|
||||
#
|
||||
#alternative_ui_separator_color = black
|
||||
#
|
||||
#active_column_color = red
|
||||
#
|
||||
#window_border_color = green
|
||||
#
|
||||
# active_window_border = red
|
||||
#
|
42
home/dot_config/ncmpcpp/executable_osd.sh
Normal file
42
home/dot_config/ncmpcpp/executable_osd.sh
Normal file
@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
# File : osd.sh
|
||||
# Author : Jeff LANCE <email@jefflance.me>
|
||||
# Date : 27.04.2020
|
||||
# Last Modified Date: 27.04.2020
|
||||
# Last Modified By : Jeff LANCE <email@jefflance.me>
|
||||
MUSIC_DIR=${HOME}/Musique #path to your music dir
|
||||
COVER=/tmp/cover.jpg
|
||||
|
||||
title="$(mpc -p 6600 --format %title% current)"
|
||||
artist="$(mpc -p 6600 --format %artist% current)"
|
||||
album="$(mpc -p 6600 --format %album% current)"
|
||||
|
||||
text="\n<b>${title}</b>\n<i>${album}</i>"
|
||||
|
||||
get_cover
|
||||
|
||||
# notify-send -t 30000 -i "${HOME}/.icons/Shadow/64x64/apps/mplayer.svg" "${artist}" "${text}"
|
||||
notify-send -t 10000 -i "${COVER}" "${artist}" "${text}"
|
||||
|
||||
function get_cover {
|
||||
file="$(mpc -p 6600 --format %file% current | awk -F: '{print $3}' | sed 's/%20/ /g')"
|
||||
album_dir="${file%/*}"
|
||||
[[ -z "$album_dir" ]] && exit 1
|
||||
album_dir="$MUSIC_DIR/$album_dir"
|
||||
|
||||
covers="$(find "$album_dir" -type d -exec find {} -maxdepth 1 -type f -iregex ".*/.*\(${album}\|cover\|folder\|artwork\|front\).*[.]\(jpe?g\|png\|gif\|bmp\)" \; )"
|
||||
src="$(echo -n "$covers" | head -n1)"
|
||||
rm -f "$COVER"
|
||||
if [[ -n "$src" ]] ; then
|
||||
#resize the image's width to 300px
|
||||
convert "$src" -resize 300x "$COVER"
|
||||
if [[ -f "$COVER" ]] ; then
|
||||
#scale down the cover to 30% of the original
|
||||
printf "\e]20;${COVER};50x50+0+00:op=keep-aspect\a"
|
||||
else
|
||||
reset_background
|
||||
fi
|
||||
else
|
||||
reset_background
|
||||
fi
|
||||
}
|
Loading…
Reference in New Issue
Block a user