diff --git a/.bash_profile b/.bash_profile index 07fef52..0aab0eb 100644 --- a/.bash_profile +++ b/.bash_profile @@ -14,6 +14,7 @@ export PATH=~/.gem/ruby/2.5.0/bin:~/.local/bin:$PATH #export LANG=fr_CA.UTF-8 #export LANGUAGE=fr_CA:fr_FR:fr:en export HASTE_SERVER="https://haste.breizh.me" +export MPD_HOST="$HOME/.mpd/socket" eval $(ssh-agent -s) diff --git a/.config/conky/conkyrc1 b/.config/conky/conkyrc1 index 37a2337..7310d21 100644 --- a/.config/conky/conkyrc1 +++ b/.config/conky/conkyrc1 @@ -33,7 +33,7 @@ conky.config = { template0 = [[${cpubar cpu\1 6,125}${goto 140}${cpubar cpu\2}]], template1 = [[${top pid \1} ${top name \1}$alignr${top cpu \1}%]], template2 = [[${top_io pid \1} ${top_io name \1}$alignr${top_io io_perc \1}%]], - template3 = [[${scroll wait 20 1 2 \2} ${goto 140}${if_match $fs_used_perc>85}${color F2777A}$else${if_match $fs_used_perc>70}${color FFCC66}$else${color 99CC99}$endif$endif${fs_bar \1}${color}\nUtilisé : ${fs_used \1}${goto 140}Libre: ${fs_free \1}\nTaux ut.: ${fs_used_perc \1}%${goto 140}Total: ${fs_size \1}]] + template3 = [[${scroll wait 20 1 2 \2} ${goto 140}${if_match ${fs_used_perc \1}>85}${color F2777A}$else${if_match ${fs_used_perc \1}>70}${color FFCC66}$else${color 99CC99}$endif$endif${fs_bar \1}${color}\nUtilisé : ${fs_used \1}${goto 140}Libre: ${fs_free \1}\nTaux ut.: ${fs_used_perc \1}%${goto 140}Total: ${fs_size \1}]] }; conky.text = [[ diff --git a/.config/conky/conkyrc2 b/.config/conky/conkyrc2 index a63efbd..79ecd39 100644 --- a/.config/conky/conkyrc2 +++ b/.config/conky/conkyrc2 @@ -72,10 +72,11 @@ Téléchargé ${totaldown tun0}${goto 140}Téléversé ${totalup tun0} $alignc${addrs tun0} $alignc${scroll left 39 2 1 ${v6addrs tun0 -n -s}} ${endif} -${color2}${font2}Températures $hr$font$color${voffset 2} +${color2}${font2}Capteurs $hr$font$color${voffset 2} Disque dur${goto 140}${if_match ${hddtemp /dev/sda}>50}${color F2777A}$endif${hddtemp /dev/sda}°C$color CPU${goto 140}${if_match ${execi 5 sensors -j | jq '."k10temp-pci-00c3"."Tdie"."temp1_input"'}>70}${color F2777A}$endif${execi 5 sensors -j | jq '."k10temp-pci-00c3"."Tdie"."temp1_input"' | cut -d. -f1}°C${color} GPU${goto 140}${if_match ${execi 5 sensors -j | jq '."amdgpu-pci-0900"."temp1"."temp1_input"'}>70}${color F2777A}$endif${execi 5 sensors -j | jq '."amdgpu-pci-0900"."temp1"."temp1_input"' | cut -d. -f1}°C${color} +GPU${goto 140}${if_match ${execi 5 sensors -j | jq '."amdgpu-pci-0900"."power1"."power1_average"'}>180}${color F2777A}$endif${execi 5 sensors -j | jq '."amdgpu-pci-0900"."power1"."power1_average"' | cut -d. -f1} W${color} ${color2}${font2}Système $hr$font$color${voffset 2} Kernel${goto 140}$kernel diff --git a/.config/fish/functions/cp.fish b/.config/fish/functions/cp.fish new file mode 100644 index 0000000..89c28a6 --- /dev/null +++ b/.config/fish/functions/cp.fish @@ -0,0 +1,4 @@ +function cp + command cp --reflink=auto $argv +end + diff --git a/.config/i3/config b/.config/i3/config index 5e87ba4..58a5b64 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -50,9 +50,9 @@ bindsym $mod+n border normal 1 # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. -font xft:xos4 Terminus 16px +# font xft:xos4 Terminus 16px # font xft:Linux Biolinum 11 -# font xft:IBM Plex Sans, DejaVu Sans 10 +font xft:IBM Plex Sans, DejaVu Sans 10 # Use Mouse+$mod to drag floating windows floating_modifier $mod @@ -87,7 +87,8 @@ bindsym $mod+Ctrl+d exec --no-startup-id dmenu_run -f -p "Execute:" -nb '#2d2d2d #exec --no-startup-id volumeicon #bindsym $mod+Ctrl+m exec i3-sensible-terminal -e 'alsamixer' -exec --no-startup-id sleep 10 && pulseaudio +exec --no-startup-id sleep 10 && pulseaudio && sleep 20 && pacmd load-module module-ladspa-sink sink_name=binaural master=alsa_output.pci-0000_0b_00.3.analog-stereo plugin=bs2b label=bs2b control=700,4.5 +#exec --no-startup-id sleep 10 && pulseaudio #exec --no-startup-id pa-applet bindsym $mod+Ctrl+m exec pavucontrol @@ -106,6 +107,13 @@ bindsym XF86AudioLowerVolume exec --no-startup-id BLOCK_BUTTON=5 ${HOME}/.i3bloc bindsym XF86AudioMute exec --no-startup-id BLOCK_BUTTON=2 ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks bindsym XF86AudioMicMute exec --no-startup-id BLOCK_BUTTON=2 BLOCK_INSTANCE=Capture ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks +# Media controls +bindsym XF86AudioNext exec --no-startup-id mocp -f +bindsym XF86AudioPrev exec --no-startup-id mocp -r +bindsym XF86AudioPlay exec --no-startup-id mocp -G +bindsym XF86AudioStop exec --no-startup-id mocp -s + + # LEDs controls bindsym --release Caps_Lock exec --no-startup-id pkill -SIGRTMIN+11 i3blocks bindsym --release Num_Lock exec --no-startup-id pkill -SIGRTMIN+12 i3blocks @@ -120,7 +128,7 @@ bindsym $mod+Ctrl+F3 exec pcmanfm bindsym $mod+F3 exec i3-sensible-terminal -e fish -c ranger bindsym $mod+F4 exec i3-sensible-terminal -e fish -c bashmount bindsym $mod+Shift+F3 exec gksu pcmanfm -bindsym $mod+F5 exec i3-sensible-terminal -e fish -c mocp +bindsym $mod+F5 exec i3-sensible-terminal -e fish -c ncmpcpp bindsym $mod+t exec --no-startup-id pkill compton bindsym $mod+Ctrl+t exec --no-startup-id compton -b bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'Dunst' 'Restarted'" @@ -256,6 +264,15 @@ bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 force_display_urgency_hint 2000 ms +workspace $ws1 output DisplayPort-1 +workspace $ws2 output HDMI-A-1 +workspace $ws3 output DisplayPort-1 +workspace $ws4 output HDMI-A-1 +workspace $ws5 output DisplayPort-1 +workspace $ws6 output HDMI-A-1 +workspace $ws7 output DisplayPort-1 +workspace $ws8 output HDMI-A-1 + # Open applications on specific workspaces #assign [class="Claws-mail"] $ws5 #assign [class="Surf"] $ws2 @@ -360,7 +377,7 @@ exec --no-startup-id xscreensaver -no-splash exec_always --no-startup-id setcursor exec claws-mail --online #exec claws-mail --alternate-config-dir $HOME/.claws-mail-cognix --online -#exec ring.cx -r +exec --no-startup-id jami-gnome -r exec --no-startup-id sleep 2 && urxvtc -e newsboat exec --no-startup-id sleep 5 && i3-msg '[title="newsboat"] move scratchpad' exec --no-startup-id variety @@ -373,13 +390,13 @@ exec --no-startup-id sudo radeontop -d /dev/shm/radeontop #exec --no-startup-id mpv ~/Vidéos/wallpapers/pirate_flag.mp4 --wid 0 --loop-file -quiet #exec --no-startup-id setxkbmap fr oss exec --no-startup-id nm-applet -exec --no-startup-id steam -silent +exec --no-startup-id steam-native -silent -language french #exec --no-startup-id sleep 5 && qbittorrent #exec --no-startup-id gdfs $HOME/.google_drive $HOME/Google_Drive/ #exec --no-startup-id transmission-gtk -m exec --no-startup-id play -q "$HOME/Musique/WELCOME BACK.wav" exec --no-startup-id syncthing-gtk -exec --no-startup-id check-kimsufi +exec --no-startup-id SVPManager # Start i3bar to display a workspace bar (plus the system information i3status if available) bar { @@ -394,7 +411,8 @@ bar { bindsym button4 nop bindsym button5 nop # font -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso10646-1 - # font xft:IBM Plex Mono, DejaVu Sans Mono 10 + font xft:IBM Plex Mono, DejaVu Sans Mono 11 + # font xft:Transponder AOE 12 strip_workspace_numbers yes colors { diff --git a/.config/mpd/mpd.conf b/.config/mpd/mpd.conf new file mode 100644 index 0000000..2a22770 --- /dev/null +++ b/.config/mpd/mpd.conf @@ -0,0 +1,391 @@ +# An example configuration file for MPD. +# Read the user manual for documentation: http://www.musicpd.org/doc/user/ + + +# Files and directories ####################################################### +# +# This setting controls the top directory which MPD will search to discover the +# available audio files and add them to the daemon's online database. This +# setting defaults to the XDG directory, otherwise the music directory will be +# be disabled and audio files will only be accepted over ipc socket (using +# file:// protocol) or streaming files over an accepted protocol. +# +music_directory "~/Musique" +# +# This setting sets the MPD internal playlist directory. The purpose of this +# directory is storage for playlists created by MPD. The server will use +# playlist files not created by the server but only if they are in the MPD +# format. This setting defaults to playlist saving being disabled. +# +playlist_directory "~/.mpd/playlists" +# +# This setting sets the location of the MPD database. This file is used to +# load the database at server start up and store the database while the +# server is not up. This setting defaults to disabled which will allow +# MPD to accept files over ipc socket (using file:// protocol) or streaming +# files over an accepted protocol. +# +db_file "~/.mpd/database" +# +# These settings are the locations for the daemon log files for the daemon. +# These logs are great for troubleshooting, depending on your log_level +# settings. +# +# The special value "syslog" makes MPD use the local syslog daemon. This +# setting defaults to logging to syslog. +# +log_file "~/.mpd/log" +# +# This setting sets the location of the file which stores the process ID +# for use of mpd --kill and some init scripts. This setting is disabled by +# default and the pid file will not be stored. +# +pid_file "~/.mpd/pid" +# +# This setting sets the location of the file which contains information about +# most variables to get MPD back into the same general shape it was in before +# it was brought down. This setting is disabled by default and the server +# state will be reset on server start up. +# +state_file "~/.mpd/state" +# +# The location of the sticker database. This is a database which +# manages dynamic information attached to songs. +# +sticker_file "~/.mpd/sticker.sql" +# +############################################################################### + + +# General music daemon options ################################################ +# +# This setting specifies the user that MPD will run as. MPD should never run as +# root and you may use this setting to make MPD change its user ID after +# initialization. This setting is disabled by default and MPD is run as the +# current user. +# +#user "nobody" +# +# This setting specifies the group that MPD will run as. If not specified +# primary group of user specified with "user" setting will be used (if set). +# This is useful if MPD needs to be a member of group such as "audio" to +# have permission to use sound card. +# +#group "nogroup" +# +# This setting sets the address for the daemon to listen on. Careful attention +# should be paid if this is assigned to anything other then the default, any. +# This setting can deny access to control of the daemon. Not effective if +# systemd socket activiation is in use. +# +# For network +#bind_to_address "any" +# +# And for Unix Socket +bind_to_address "~/.mpd/socket" +# +# This setting is the TCP port that is desired for the daemon to get assigned +# to. +# +#port "6600" +# +# This setting controls the type of information which is logged. Available +# setting arguments are "default", "secure" or "verbose". The "verbose" setting +# argument is recommended for troubleshooting, though can quickly stretch +# available resources on limited hardware storage. +# +#log_level "default" +# +# Setting "restore_paused" to "yes" puts MPD into pause mode instead +# of starting playback after startup. +# +#restore_paused "no" +# +# This setting enables MPD to create playlists in a format usable by other +# music players. +# +save_absolute_paths_in_playlists "yes" +# +# This setting defines a list of tag types that will be extracted during the +# audio file discovery process. The complete list of possible values can be +# found in the user manual. +metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" +# +# This example just enables the "comment" tag without disabling all +# the other supported tags: +#metadata_to_use "+comment" +# +# This setting enables automatic update of MPD's database when files in +# music_directory are changed. +# +auto_update "yes" +# +# Limit the depth of the directories being watched, 0 means only watch +# the music directory itself. There is no limit by default. +# +#auto_update_depth "3" +# +############################################################################### + + +# Symbolic link behavior ###################################################### +# +# If this setting is set to "yes", MPD will discover audio files by following +# symbolic links outside of the configured music_directory. +# +#follow_outside_symlinks "yes" +# +# If this setting is set to "yes", MPD will discover audio files by following +# symbolic links inside of the configured music_directory. +# +#follow_inside_symlinks "yes" +# +############################################################################### + + +# Zeroconf / Avahi Service Discovery ########################################## +# +# If this setting is set to "yes", service information will be published with +# Zeroconf / Avahi. +# +#zeroconf_enabled "yes" +# +# The argument to this setting will be the Zeroconf / Avahi unique name for +# this MPD server on the network. %h will be replaced with the hostname. +# +#zeroconf_name "Music Player @ %h" +# +############################################################################### + + +# Permissions ################################################################# +# +# If this setting is set, MPD will require password authorization. The password +# setting can be specified multiple times for different password profiles. +# +#password "password@read,add,control,admin" +# +# This setting specifies the permissions a user has who has not yet logged in. +# +#default_permissions "read,add,control,admin" +# +############################################################################### + + +# Database ####################################################################### +# + +#database { +# plugin "proxy" +# host "other.mpd.host" +# port "6600" +#} + +# Input ####################################################################### +# + +input { + plugin "curl" +# proxy "proxy.isp.com:8080" +# proxy_user "user" +# proxy_password "password" +} + +# +############################################################################### + +# Audio Output ################################################################ +# +# MPD supports various audio output types, as well as playing through multiple +# audio outputs at the same time, through multiple audio_output settings +# blocks. Setting this block is optional, though the server will only attempt +# autodetection for one sound card. +# +# An example of an ALSA output: +# +#audio_output { +# type "alsa" +# name "My ALSA Device" +## device "hw:0,0" # optional +## mixer_type "hardware" # optional +## mixer_device "default" # optional +## mixer_control "PCM" # optional +## mixer_index "0" # optional +#} +# +# An example of an OSS output: +# +#audio_output { +# type "oss" +# name "My OSS Device" +## device "/dev/dsp" # optional +## mixer_type "hardware" # optional +## mixer_device "/dev/mixer" # optional +## mixer_control "PCM" # optional +#} +# +# An example of a shout output (for streaming to Icecast): +# +#audio_output { +# type "shout" +# encoder "vorbis" # optional +# name "My Shout Stream" +# host "localhost" +# port "8000" +# mount "/mpd.ogg" +# password "hackme" +# quality "5.0" +# bitrate "128" +# format "44100:16:1" +## protocol "icecast2" # optional +## user "source" # optional +## description "My Stream Description" # optional +## url "http://example.com" # optional +## genre "jazz" # optional +## public "no" # optional +## timeout "2" # optional +## mixer_type "software" # optional +#} +# +# An example of a recorder output: +# +#audio_output { +# type "recorder" +# name "My recorder" +# encoder "vorbis" # optional, vorbis or lame +# path "/var/lib/mpd/recorder/mpd.ogg" +## quality "5.0" # do not define if bitrate is defined +# bitrate "128" # do not define if quality is defined +# format "44100:16:1" +#} +# +# An example of a httpd output (built-in HTTP streaming server): +# +#audio_output { +# type "httpd" +# name "My HTTP Stream" +# encoder "vorbis" # optional, vorbis or lame +# port "8000" +# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6 +## quality "5.0" # do not define if bitrate is defined +# bitrate "128" # do not define if quality is defined +# format "44100:16:1" +# max_clients "0" # optional 0=no limit +#} +# +# An example of a pulseaudio output (streaming to a remote pulseaudio server) + +audio_output { + type "pulse" + name "PulseAudio" +# server "remote_server" # optional +# sink "remote_server_sink" # optional +} + +# An example of a winmm output (Windows multimedia API). +# +#audio_output { +# type "winmm" +# name "My WinMM output" +## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional +# or +## device "0" # optional +## mixer_type "hardware" # optional +#} +# +# An example of an openal output. +# +#audio_output { +# type "openal" +# name "My OpenAL output" +## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional +#} +# +# An example of an sndio output. +# +#audio_output { +# type "sndio" +# name "sndio output" +# mixer_type "hardware" +#} +# +# An example of an OS X output: +# +#audio_output { +# type "osx" +# name "My OS X Device" +## device "Built-in Output" # optional +## channel_map "-1,-1,0,1" # optional +#} +# +## Example "pipe" output: +# +#audio_output { +# type "pipe" +# name "my pipe" +# command "aplay -f cd 2>/dev/null" +## Or if you're want to use AudioCompress +# command "AudioCompress -m | aplay -f cd 2>/dev/null" +## Or to send raw PCM stream through PCM: +# command "nc example.org 8765" +# format "44100:16:2" +#} +# +## An example of a null output (for no audio output): +# +#audio_output { +# type "null" +# name "My Null Output" +# mixer_type "none" # optional +#} +# +############################################################################### + + +# Normalization automatic volume adjustments ################################## +# +# This setting specifies the type of ReplayGain to use. This setting can have +# the argument "off", "album", "track" or "auto". "auto" is a special mode that +# chooses between "track" and "album" depending on the current state of +# random playback. If random playback is enabled then "track" mode is used. +# See for more details about ReplayGain. +# This setting is off by default. + +replaygain "auto" + +# This setting sets the pre-amp used for files that have ReplayGain tags. By +# default this setting is disabled. +# +#replaygain_preamp "0" +# +# This setting sets the pre-amp used for files that do NOT have ReplayGain tags. +# By default this setting is disabled. +# +#replaygain_missing_preamp "0" +# +# This setting enables or disables ReplayGain limiting. +# MPD calculates actual amplification based on the ReplayGain tags +# and replaygain_preamp / replaygain_missing_preamp setting. +# If replaygain_limit is enabled MPD will never amplify audio signal +# above its original level. If replaygain_limit is disabled such amplification +# might occur. By default this setting is enabled. +# +#replaygain_limit "yes" +# +# This setting enables on-the-fly normalization volume adjustment. This will +# result in the volume of all playing audio to be adjusted so the output has +# equal "loudness". This setting is disabled by default. +# +volume_normalization "yes" +# +############################################################################### + +# Character Encoding ########################################################## +# +# If file or directory names do not display correctly for your locale then you +# may need to modify this setting. +# +#filesystem_charset "UTF-8" +# +############################################################################### + diff --git a/.config/mpv/mpv.conf b/.config/mpv/mpv.conf index 7c138f4..f2a1e5c 100644 --- a/.config/mpv/mpv.conf +++ b/.config/mpv/mpv.conf @@ -1,15 +1,36 @@ -profile=opengl-hq +# Video +profile=gpu-hq +scale=ewa_lanczossharp +cscale=ewa_lanczossharp +video-sync=display-resample +interpolation +tscale=oversample + +# Misc cache-pause input-ipc-server=/tmp/mpvsocket +hr-seek-framedrop=yes + +# Subtitles sub-back-color=0.0/0.0/0.0/0.5 sub-use-margins +sub-file-paths=~/Sous-titres/ +sub-font=IBM Plex Sans + +# Codecs hwdec=auto-copy hwdec-codecs=all -hr-seek-framedrop=yes -audio-channels=stereo + +# Audio +#audio-channels=6 +#ad-lavc-downmix=no +#af=ladspa=/usr/lib/ladspa/bs2b.so:bs2b:[725,4.5] + +# Language alang=fr,fre,fra slang=fr,fre,fra + +# Network cache=262144 -sub-file-paths=~/Sous-titres/ demuxer-readahead-secs=20 ytdl-format="((bestvideo[container=webm][height=1080]/bestvideo[ext=webm][height=1080]/bestvideo[height=1080]/bestvideo[height>=?720]/bestvideo)+(bestaudio[container=webm]/bestaudio[ext=webm]/bestaudio))/best" diff --git a/.config/yay/config.json b/.config/yay/config.json index 95dcf34..be3eaeb 100644 --- a/.config/yay/config.json +++ b/.config/yay/config.json @@ -20,12 +20,12 @@ "mflags": "", "sortby": "name", "gitflags": "", - "removemake": "ask", + "removemake": "yes", "requestsplitn": 50, "sortmode": 0, "completionrefreshtime": 7, "sudoloop": true, - "timeupdate": true, + "timeupdate": false, "devel": false, "cleanAfter": false, "gitclone": true, @@ -33,8 +33,8 @@ "pgpfetch": true, "upgrademenu": true, "cleanmenu": true, - "diffmenu": true, - "editmenu": false, + "diffmenu": false, + "editmenu": true, "combinedupgrade": true, "useask": false } \ No newline at end of file diff --git a/.config/youtube-dl/config b/.config/youtube-dl/config index 8cb3444..069e318 100644 --- a/.config/youtube-dl/config +++ b/.config/youtube-dl/config @@ -1,4 +1,4 @@ --o %(upload_date)s_%(title)s.%(ext)s +-o %(title)s.%(ext)s --sub-lang fr,en --embed-subs --write-sub diff --git a/.i3blocks.conf b/.i3blocks.conf index 35eedee..616c6eb 100644 --- a/.i3blocks.conf +++ b/.i3blocks.conf @@ -168,7 +168,7 @@ interval=600 # # This displays "ARTIST - SONG" if a music is playing. # Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others. -[mocp] +[mpd] #instance=spotify interval=1 signal=13 diff --git a/.i3blocks/batterybar b/.i3blocks/batterybar index d7d1a79..d96a365 100755 --- a/.i3blocks/batterybar +++ b/.i3blocks/batterybar @@ -78,22 +78,22 @@ end=$(($battery_count - 1)) for i in $(seq 0 $end); do # if (( percentages[$i] > 0 && percentages[$i] < 20 )); then -# squares="◆" +# squares="■" # elif (( percentages[$i] >= 20 && percentages[$i] < 40 )); then -# squares="◆◆" +# squares="■■" # elif (( percentages[$i] >= 40 && percentages[$i] < 60 )); then -# squares="◆◆◆" +# squares="■■■" # elif (( percentages[$i] >= 60 && percentages[$i] < 80 )); then -# squares="◆◆◆◆" +# squares="■■■■" # elif (( percentages[$i] >=80 )); then -# squares="◆◆◆◆◆" +# squares="■■■■■" # fi percents[$i]=$(( percentages[$i] / 2 )) (( percents > 48 )) && percents=48 _full_squares=$(( percents[$i] /8 )) for t in $(seq 1 $_full_squares) do - squares+="◆" + squares+="■" done if [[ $(( percents[$i] - ( _full_squares * 8 ) )) -eq 7 ]] @@ -175,7 +175,7 @@ do _blanks=$(( 6 - ${#squares} )) for t in $(seq 1 $_blanks) do - squares+="◆" + squares+="■" done # Print Battery number if there is more than one if (( $end > 0 )) ; then diff --git a/.i3blocks/internet b/.i3blocks/internet index e245776..a2a57b3 100755 --- a/.i3blocks/internet +++ b/.i3blocks/internet @@ -28,4 +28,4 @@ else fi fi -echo "" +echo "" diff --git a/.i3blocks/keyindicator b/.i3blocks/keyindicator index 8dd5f5b..e842c75 100755 --- a/.i3blocks/keyindicator +++ b/.i3blocks/keyindicator @@ -63,8 +63,8 @@ my $indi = "N"; # Output if (($indicators{$indicator} || 0) & $mask) { - printf "", $color_on; + printf "", $color_on; } else { - printf "", $color_off; + printf "", $color_off; } exit 0 diff --git a/.i3blocks/load_average b/.i3blocks/load_average index 9539e5f..856700e 100755 --- a/.i3blocks/load_average +++ b/.i3blocks/load_average @@ -43,7 +43,7 @@ fi if [[ "$(echo "$load15 < 1 * $cpus" | bc)" = "1" ]] then color15="#99CC99" -elif [[ "$(echo "$load15 < 1.25 $cpus" | bc)" = "1" ]] +elif [[ "$(echo "$load15 < 1.25 * $cpus" | bc)" = "1" ]] then color15="#FFCC66" else diff --git a/.i3blocks/mocp b/.i3blocks/mocp index 426161a..636b0e9 100755 --- a/.i3blocks/mocp +++ b/.i3blocks/mocp @@ -17,11 +17,11 @@ case $BLOCK_BUTTON in 5) mocp -j $(($(mocp -Q "%cs") + 5))s ;; esac -status="" +status="" case $origstatus in - STOP ) status="" ;; - PAUSE ) status="" ;; - PLAY ) status="" ;; + STOP ) status="" ;; + PAUSE ) status="" ;; + PLAY ) status="" ;; esac if [[ "$origstatus" != "STOP" ]] diff --git a/.i3blocks/mpd b/.i3blocks/mpd new file mode 100755 index 0000000..f6e1fb1 --- /dev/null +++ b/.i3blocks/mpd @@ -0,0 +1,81 @@ +#!/bin/bash + +if ! systemctl --user is-active mpd &>/dev/null +then + origstatus='off' +else + origstatus="$(mpc status | sed -n '2p' | grep -Eo '^\[.*\]' | tr -d '[]')" + [[ -z "$origstatus" ]] && origstatus='stop' +fi + + +case $BLOCK_BUTTON in + 1) mpc -q prev ;; + 2) mpc -q toggle ;; + 3) mpc -q next ;; + 4) mpc -q seek +5 ;; + 5) mpc -q seek -5 ;; +esac + +status="" +case $origstatus in + stop ) status="" ;; + paused ) status="" ;; + playing ) status="" ;; + off ) status="" ;; +esac + +if [[ "$origstatus" != "stop" ]] && [[ "$origstatus" != "off" ]] +then + if [[ ! -f /dev/shm/mpd ]] + then + mpc -f '[[%artist%, ]%title%|[%file%]' current > /dev/shm/mpd + fi + + song=$( /dev/shm/mpd-scroll + fi + + alltime="$(mpc status | column -t -o ' ' | sed -n '2p' | cut -f3)" + elapsed_time="$(dateconv -f "%0H:%0M" "${alltime%/*}" || echo "--:--")" + total_time="$(dateconv -f "%0H:%0M" "${alltime#*/}" || echo "--:--")" + left_time="$(datediff -f "%0H:%0M" "$elapsed_time" "$total_time" || echo "--:--")" + + time="[$elapsed_time $left_time $total_time]" + shorttime="$elapsed_time $left_time" + + if [[ "$time" = "[ ]" ]] || [[ -z "$time" ]] + then + time="[--:-- --:-- --:--]" + fi + + if [[ -z "$shorttime" ]] || [[ "$shorttime" = " " ]] + then + shorttime="--:-- --:--" + fi + + if [[ "${#shorttime}" -eq 6 ]] + then + shorttime="${shorttime}--:--" + fi + + echo "${song:0:25} $status$time" + echo "${song:0:10} $status$shorttime" +else + [[ -f /dev/shm/mpd ]] && rm /dev/shm/mpd + [[ -f /dev/shm/mpd-scroll ]] && rm /dev/shm/mpd-scroll + echo "$status[--:-- --:-- --:--]" + echo "$status--:-- --:--" +fi + + diff --git a/.i3blocks/updates b/.i3blocks/updates index bf9047b..91fe44e 100755 --- a/.i3blocks/updates +++ b/.i3blocks/updates @@ -2,7 +2,7 @@ if [[ -f /dev/shm/claws_offline ]] then - echo "" + echo "" exit fi @@ -17,9 +17,9 @@ total=$((${#avail[@]} + ${#aur[@]})) if [[ $total -eq 0 ]] then - echo "" + echo "" else - echo "" + echo "" if [[ $(cat /dev/shm/updates) -ne $total ]] || [[ -n "$BLOCK_BUTTON" ]] then [[ $total -eq 1 ]] && notify-send "1 mise à jour disponible" "$(for item in ${avail[@]} ${aur[@]}; do echo -n $item; done)" diff --git a/.i3blocks/vpn b/.i3blocks/vpn index 626b583..0167832 100755 --- a/.i3blocks/vpn +++ b/.i3blocks/vpn @@ -2,10 +2,10 @@ if nmcli dev | grep tun0 | cut -f3 | grep " connecté" &>/dev/null then - echo "" + echo "" [[ ! -f /dev/shm/vpn ]] && echo 1 > /dev/shm/vpn else - echo "" + echo "" if [[ -f /dev/shm/vpn ]] then notify-send -u critical "VPN" "Déconnecté" diff --git a/.local/bin/SVPManager b/.local/bin/SVPManager new file mode 120000 index 0000000..8d38d71 --- /dev/null +++ b/.local/bin/SVPManager @@ -0,0 +1 @@ +/home/breizh/.local/opt/svp/SVPManager \ No newline at end of file diff --git a/.local/bin/check-kimsufi b/.local/bin/check-kimsufi new file mode 100755 index 0000000..2d53692 --- /dev/null +++ b/.local/bin/check-kimsufi @@ -0,0 +1,14 @@ +#!/bin/bash + +id=${1:-1801sk13} +name=${2:-KS-2} + +found=false + +while ! $found +do + sleep 10 + curl "https://www.ovh.com/engine/api/dedicated/server/availabilities?country=fr&hardware=${id}" 2>/dev/null | jq | grep -v '"availability": "unavailable"' | grep '"availability"' && found=true +done + +notify-send -u critical "Kimsufi" "${name} disponible !" diff --git a/.local/bin/conky_radeon b/.local/bin/conky_radeon new file mode 100755 index 0000000..693c39a --- /dev/null +++ b/.local/bin/conky_radeon @@ -0,0 +1,19 @@ +#!/bin/bash + +# Exemple (par défaut si aucun argument donné) +# ./conky_radeon gpu perc +# Autre exemple +# ./conky_radeon vram mb + +stats=$(sudo radeontop -d- -l1) +#stats=$(cat /dev/shm/radeontop | tail -n 1 | tr -d '\n') + +perc() { + echo "$stats" | grep -Eo "$1 [0-9.]{3,5}%" | cut -d' ' -f2 +} + +mb() { + echo "$stats" | grep -Eo "$1 [0-9.]{3,5}% [0-9.]+mb" | cut -d' ' -f3 | sed 's/mb/M/g' +} + +echo "$(${2:-perc} ${1:-gpu})" diff --git a/.local/bin/mpd-notif b/.local/bin/mpd-notif new file mode 100755 index 0000000..3f845ca --- /dev/null +++ b/.local/bin/mpd-notif @@ -0,0 +1,17 @@ +#!/bin/bash + +export MPD_HOST="$HOME/.mpd/socket" + +while true +do + systemctl --user is-active mpd.service || exit 1 + infos=$(mpc -w -f '[[%artist% - ]%title%[\n%album%]]|[%file%]' current) + mpc -f '[[%artist%, ]%title%|[%file%]' current > /dev/shm/mpd + cp /dev/shm/mpd /dev/shm/mpd-scroll + if [[ -z "$infos" ]] + then + infos="Arrêt" + fi + notify-send "MPD" "$infos" +# pidof cava && sleep 1 && pkill -USR1 cava +done diff --git a/.local/bin/testssl b/.local/bin/testssl new file mode 120000 index 0000000..0e422ee --- /dev/null +++ b/.local/bin/testssl @@ -0,0 +1 @@ +/home/breizh/git/testssl.sh/testssl.sh \ No newline at end of file diff --git a/.local/bin/video-to-audio b/.local/bin/video-to-audio new file mode 100755 index 0000000..cacacc2 --- /dev/null +++ b/.local/bin/video-to-audio @@ -0,0 +1,9 @@ +#!/bin/bash + +for src in * +do + if [[ "$(file -b --mime-type "$src")" =~ ^video ]] + then + ffmpeg -i "$src" -vn -acodec copy "$1/${src%.*}.mka" + fi +done diff --git a/.moc/config b/.moc/config index 49cbb44..6fb9de3 100644 --- a/.moc/config +++ b/.moc/config @@ -177,7 +177,7 @@ HideFileExtension = yes # Show file time in menu? Possible values: 'yes', 'no' and 'IfAvailable' # (meaning show the time only when it is already known, which often works # faster). -ShowTime = yes +ShowTime = IfAvailable # Show time played as a percentage in the time progress bar. ShowTimePercent = yes diff --git a/.moc/notif b/.moc/notif index 2a5b4cb..09a916a 100755 --- a/.moc/notif +++ b/.moc/notif @@ -2,8 +2,6 @@ pkill -SIGRTMIN+13 i3blocks -pidof cava && pkill -USR1 cava - [[ $# -eq 0 ]] && exit file="$1" @@ -31,3 +29,6 @@ else notify-send "Music On Console" "$string" echo "$title, $artist" > /dev/shm/mocp fi + +pidof cava && sleep 1 && pkill -USR1 cava + diff --git a/.moc/softmixer b/.moc/softmixer index 9a6a5be..ae858e1 100644 --- a/.moc/softmixer +++ b/.moc/softmixer @@ -1,4 +1,4 @@ -Active: 1 +Active: 0 Amplification: 100 Value: 100 Mono: 0