Compare commits

...

186 Commits

Author SHA1 Message Date
Breizh 231feb4c11 Mise à jour de Variety 2024-04-22 16:46:44 +02:00
Breizh 20b794e11d Merge branch 'master' of git.breizh.pm:Breizh/dotfiles 2024-04-03 01:02:50 +02:00
Breizh 7f337e1639 Mise à jour configuration cava 2024-04-03 01:02:28 +02:00
Breizh 527d0f17bb Actualiser .i3blocks/batterybar 2024-03-11 12:36:54 +01:00
Breizh aec05c139d Actualiser .i3blocks/batterybar 2024-03-08 23:18:57 +01:00
Breizh 43e2f54ace Actualiser .i3blocks/batterybar 2024-03-08 22:13:25 +01:00
Breizh f56a148735 Actualiser .i3blocks/batterybar 2024-03-08 21:48:38 +01:00
Breizh 692b8f065f modification du input.conf de mpv 2024-03-06 00:36:36 +01:00
Breizh 4f3e385e75 Màj diverses 2024-03-05 23:19:26 +01:00
Breizh ce6497a0d4 Reconfiguration yt-dlp 2024-02-08 12:09:26 +01:00
Breizh 10fc76f135 Changement interface MPV 2023-11-29 03:32:30 +01:00
Breizh c4a7122d86 Ajout du fichier music-sync 2023-11-04 02:40:02 +01:00
Breizh 70c4e3c4fc Xmodmap custom 2023-10-20 20:53:01 +02:00
Breizh b0677c95dd Migration de exa à eza 2023-09-15 02:13:08 +02:00
Breizh ba5be103f2 Mise à jour configuration cava 2023-09-15 02:12:54 +02:00
Breizh a78ef2fdc1 Correction italique man, ajout yt-dlp-playlist 2023-08-14 18:12:39 +02:00
Breizh 43b0755211 Correction script convert-video 2023-07-29 02:51:21 +02:00
Breizh 8f2b940c97 Refonte des scripts music-convert 2023-07-29 02:50:05 +02:00
Breizh f7a7007435 Optimisation de music-convert 2023-07-29 02:29:42 +02:00
Breizh 8e74e58450 Amélioration de la gestion des périfériques audio avec i3blocks 2023-07-16 04:49:25 +02:00
Breizh aadadd64bc Réécriture du music-convert 2023-06-17 11:56:49 +02:00
Breizh 603a0536c9 Wallpaper clock 2023-04-14 18:17:25 +02:00
Breizh 9a54e9ffb2 Màj diverses 2023-04-12 02:34:24 +02:00
Breizh 156327959f Script de conversion d’un lot d’image en un PDF 2023-02-22 00:18:00 +01:00
Breizh ec7c887e6b Màj sélecteur format yt-dlp 2023-02-20 19:06:03 +01:00
Breizh 286a47ba9a Màj sélecteur format yt-dlp 2023-02-19 21:50:53 +01:00
Breizh 9f12572e06 Mise à jour diverses 2023-02-05 23:49:47 +01:00
Breizh c778becc5e Mise à jour diverses 2022-12-04 20:44:55 +01:00
Breizh 8bf8ce7a1d Changement des flèches 2022-11-14 03:35:13 +01:00
Breizh e802653132 Mise à jour du gestionnaire de notifications MPD 2022-11-12 01:00:38 +01:00
Breizh 6eb3c51d03 Fix du titre envoyé au scrobbler 2022-11-10 02:30:19 +01:00
Breizh a785460823 Mise à jour du gestionnaire de notifications MPD 2022-11-10 01:14:44 +01:00
Breizh c19b2ee7d5 Mises à jour diverses 2022-11-10 00:55:04 +01:00
Breizh f59f15b9e8 Mise à jour du gestionnaire de notifications MPD 2022-11-10 00:54:47 +01:00
Breizh 90aa8ddad1 Gestion des liens symboliques dans music-convert 2022-10-18 01:34:52 +02:00
Breizh 0709e13d8c Diverses modifs 2022-09-24 18:10:37 +02:00
Breizh 5b24b274d9 Reconfiguration mpv 2022-09-19 22:15:38 +02:00
Breizh facc9b2a8f Reconfiguration mpv 2022-09-19 21:23:33 +02:00
Breizh 60116d5ded Meilleure gestion des morceaux sans artiste 2022-08-24 21:36:28 +02:00
Breizh 1592e3b1e9 Correction de la gestion des valeurs contenant « : » 2022-08-20 20:35:13 +02:00
Breizh 0ffe004dd4 Nettoyage du script 2022-08-20 20:29:38 +02:00
Breizh f4f2a3e263 Amélioration de la boucle de lecture du socket 2022-08-20 20:27:37 +02:00
Breizh 2f111c4013 Diverses modifs 2022-08-20 20:23:03 +02:00
Breizh 62004a2348 Correction du temps total pour des morceaux distants 2022-08-13 02:51:05 +02:00
Breizh 75f07dc001 Correction du cas sans scroll + esperluette 2022-08-13 02:46:12 +02:00
Breizh 1df325c1f8 Gestion du temps total à zéro (webradios) 2022-08-13 02:35:23 +02:00
Breizh 9e79da4fad Meilleure gestion des webradios 2022-08-13 02:28:54 +02:00
Breizh 17e09f4fd7 Nettoyage i3blocks 2022-08-13 02:06:15 +02:00
Breizh 6fd25ec5e0 Correction temps i3blocks/mpd 2022-08-13 01:59:25 +02:00
Breizh b36e848cee Nettoyage i3blocks/mpd 2022-08-13 01:38:52 +02:00
Breizh 2384a31bba Fix i3blocks/mpd 2022-08-13 01:17:28 +02:00
Breizh c068d09bbe Fix i3blocks/mpd 2022-08-13 01:13:37 +02:00
Breizh d3c14342b3 Fix i3blocks/mpd 2022-08-13 01:12:58 +02:00
Breizh f19e98e4c0 Suppression du débug de i3blocks/mpd 2022-08-13 00:57:01 +02:00
Breizh 55105cf12a Fix i3blocks/mpd 2022-08-13 00:54:00 +02:00
Breizh 0d6deedaef Fix i3blocks/mpd 2022-08-13 00:51:06 +02:00
Breizh 9a5a5d4f81 Fix i3blocks/mpd 2022-08-13 00:48:35 +02:00
Breizh 4802bb7b4d Fix i3blocks/mpd 2022-08-13 00:44:56 +02:00
Breizh 61465dc45a Nettoyage configuration vim 2022-08-13 00:34:09 +02:00
Breizh 8ce08fa228 Changement du script i3blocks/mpd 2022-08-10 18:37:33 +02:00
Breizh cc6f15e243 Amélioration script conversion et diverses màj 2022-07-23 02:26:09 +02:00
Breizh 5c56dcb71b Suppression .vim/.netrwhist 2022-05-19 23:33:03 +02:00
Breizh 686caf06d8 Fix script audio suite changement carte graphique 2022-05-19 23:31:52 +02:00
Breizh 4c83d74394 Mise à jour configuration NCMPCPP 2022-05-18 23:38:02 +02:00
Breizh 5cb1207b39 Mise à jour configuration MPD et NCMPCPP 2022-05-18 23:22:55 +02:00
Breizh fa9b71449a Màj diverses 2022-04-15 13:05:19 +02:00
Breizh 3649a90586 Fix décodage matériel Firefox + divers 2022-03-20 19:33:46 +01:00
Breizh b7cfb58c00 Meilleur suivi du temps MPD 2022-03-15 00:19:20 +01:00
Breizh c2f8030e58 Ajout redshift 2022-02-26 22:47:57 +01:00
Breizh 042918a6f3 Rollback sur i3 part 2 2022-02-26 22:43:20 +01:00
Breizh eb84f84306 Rollback sur i3 2022-02-26 22:34:40 +01:00
Breizh d3a71b3169 Màj diverses 2022-01-10 19:37:13 +01:00
Breizh 9cfcb89e06 Script pour le replaygain de masse 2021-12-11 21:37:40 +01:00
Breizh 3ff0a185f6 Màj diverses 2021-12-11 17:25:35 +01:00
Breizh edce6ff4c9 Ajout de yt-dlp 2021-10-21 18:27:57 +02:00
Breizh 557e477795 Mise à jour dunst 2021-10-21 18:27:25 +02:00
Breizh e7e95943d4 Mise à jour HTOP 2021-09-21 22:57:00 +02:00
Breizh e8347ae498 Mises à jour diverses 2021-09-09 01:46:43 +02:00
Breizh 7eb7099161 Passage à Wayland + Sway 2021-08-12 20:26:12 +02:00
Breizh 2fa561e7cd Mises à jour diverses 2021-08-02 20:02:32 +02:00
Breizh 4ed9147ca5 Mise à jour Conky et fonds d’écran 2021-07-31 20:51:55 +02:00
Breizh 2f8bce8c92 Mises à jour diverses 2021-07-31 17:04:25 +02:00
Breizh 4d7c913abe Fix youtube-dl configuration 2021-07-03 01:11:10 +02:00
Breizh 4915d82c8c Fix traitement du répertoire racine 2021-07-02 14:32:14 +02:00
Breizh 58fab3072d Correctifs script de conversion de musique 2021-07-02 14:26:57 +02:00
Breizh 1b295fd5de Script de conversion de Musique 2021-07-02 14:00:50 +02:00
Breizh 7268ca1f72 Configuration fontconfig + diverses màj 2021-06-28 00:29:06 +02:00
Breizh b4fe385d4f Tentative renouvellement block MPD 2021-06-05 22:49:18 +02:00
Breizh b9432c0932 Volume i3 2021-05-18 20:04:43 +02:00
Breizh 700b59e523 Mises à jour diverses 2021-05-18 19:13:45 +02:00
Breizh 3aeee05d65 Mises à jour diverses 2021-04-28 12:05:43 +02:00
Breizh 017308719c Mises à jour diverses et nouvelles confs 2021-04-15 21:16:57 +02:00
Breizh ce114c6292 Mises à jour diverses 2021-04-05 17:09:57 +02:00
Breizh 7bef308ade Change YTDL conf 2021-02-24 20:33:50 +01:00
Breizh 89798aa204 Fix notifs MPD for webradios 2021-02-22 01:28:33 +01:00
Breizh 513434de7f Màj conf MPD 2021-02-19 03:32:50 +01:00
Breizh 0e75b5f88c Mises à jour diverses 2021-02-19 02:13:20 +01:00
Breizh 58e4bbc6c6 Mises à jour diverses 2021-02-04 17:44:55 +01:00
Breizh 0b3976c9c4 Mises à jour diverses 2021-01-26 19:45:45 +01:00
Breizh b16bf69135 Update rgb-ocntrol 2021-01-16 00:27:10 +01:00
Breizh 5891b7367a renommage 2021-01-16 00:22:27 +01:00
Breizh 0078bd2948 Initation du script de notif 2021-01-16 00:20:54 +01:00
Breizh 35ce391edb hsv2rgb remove # 2021-01-15 22:14:51 +01:00
Breizh 2cf4db2800 màj diverses 2021-01-15 21:59:21 +01:00
Breizh 770a68512c màj diverses 2020-12-31 11:14:20 +01:00
Breizh ced9a0a44a fix i3blocks 2020-11-06 02:01:43 +01:00
Breizh ab471b32d7 Refonte i3blocks 2020-11-06 01:59:52 +01:00
Breizh b52a0c9014 pikaur 2020-10-21 02:05:43 +02:00
Breizh 1081e61563 pikaur conf 2020-10-21 01:54:34 +02:00
Breizh f0a2029df5 Màj diverses 2020-10-21 01:12:08 +02:00
Breizh c7d002a5b6 Màj diverses 2020-10-21 00:43:21 +02:00
Breizh 66c8ae283f Màj diverses 2020-10-04 00:16:04 +02:00
Breizh cd33c51a91 Merge branch 'master' of git.breizh.pm:Breizh/dotfiles into master 2020-09-15 02:51:14 +02:00
Breizh c9305a5776 Ajout de scripts 2020-09-15 02:50:48 +02:00
Breizh fbc6525efe Màj diverses 2020-09-15 02:45:25 +02:00
Breizh b9a8dea761 Correction du script dunst 2020-07-29 10:26:35 +02:00
Breizh 798917e698 Utilisation de dunstctl plutôt que de kill et d'un fichier témoin 2020-07-29 10:23:51 +02:00
Breizh a173f2c753 Màj .bashrc 2020-05-19 00:27:05 +02:00
Breizh 8c324ff1ab Modifications diverses 2020-05-17 20:29:45 +02:00
Breizh aff415aafe Ajout conf GTK2 2020-05-15 16:06:58 +02:00
Breizh 3315dddb73 Modifications diverses 2020-05-12 18:25:43 +02:00
Breizh a83a2c41b1 Fix fish config 2020-04-30 19:47:29 +02:00
Breizh cbd2fc7e1d Diverses modifs 2020-04-30 19:44:26 +02:00
Breizh 355ceb37d6 Màj 2020-04-18 02:14:55 +02:00
Breizh caea861d18 Ajout config ranger + màjs 2020-04-18 01:44:01 +02:00
Breizh ae0cb061b6 Merge branch 'master' of git.breizh.pm:Breizh/dotfiles 2020-03-03 21:09:43 +01:00
Breizh fa57449493 Màjs 2020-03-03 21:09:37 +01:00
Breizh c8f20c6f44 Mise à jour de '.i3blocks/dunst' 2020-02-24 14:26:41 +01:00
Breizh 86fe4882e9 Add dunst i3blocks script 2020-02-24 14:15:57 +01:00
Breizh 2213387892 Fix config neofetch 2020-02-06 01:39:55 +01:00
Breizh d34d1cb4b9 Fix config neofetch 2020-02-06 01:38:48 +01:00
Breizh 52bd7fde86 Fix config neofetch 2020-02-06 01:26:22 +01:00
Breizh f040dbbce7 Config neofetch 2020-02-06 01:24:53 +01:00
Breizh 8ef1d9c4d4 Ajout de configs 2020-02-05 19:42:02 +01:00
Breizh 0c233bf494 Ajout de scripts 2020-02-05 19:30:25 +01:00
Breizh 44d83419ec Mise à jour 2020-02-05 19:19:49 +01:00
Breizh 95157a2530 Mise à jour 2020-01-23 19:09:33 +01:00
Breizh 7f9e9a46ad Mise à jour de '.i3blocks/batterybar' 2020-01-16 18:03:20 +01:00
Breizh 8ca0171773 Mise à jour de '.config/youtube-dl/config' 2020-01-10 16:06:09 +01:00
Breizh 71e2ac2ef3 Mise à jour 2020-01-09 21:17:01 +01:00
Breizh 37d249b9d1 Màj conky 2019-12-11 00:49:58 +01:00
Breizh 447672d70c Màj conky 2019-12-11 00:44:07 +01:00
Breizh e9d6ecad70 Diverses modifs 2019-09-22 03:31:29 +02:00
Breizh dd6891a630 Correction du script load_average 2019-09-10 18:45:40 +02:00
Breizh c1d1f57386 Correction du script mpd 2019-09-09 20:18:01 +02:00
Breizh 4b71bae1e9 Adaptation des scripts i3blocks 2019-09-09 20:04:37 +02:00
Breizh a91448b547 Mises à jour diverses 2019-09-09 18:40:36 +02:00
Breizh fcd9d358be Changement police mode graphique vim 2019-07-20 00:16:43 +02:00
Breizh e0358972ee Mise à jouir de plusieurs fichiers 2019-07-19 23:11:53 +02:00
Breizh 99b61aee79 fixes MPD 2019-06-14 09:42:47 +02:00
Breizh e9773bfa93 MPD + màjs 2019-06-13 20:12:29 +02:00
Breizh 292d5fdb18 Diverses màj 2019-04-19 22:18:25 +02:00
Breizh ccdae9bc84 Changement conky 2019-02-17 18:22:29 +01:00
Breizh 4ef700933e Ajout conf fish et mise à jour du reste 2019-01-30 22:34:10 +01:00
Breizh c97a7cb542 Mises à jour 2019-01-21 08:16:41 +01:00
Breizh cd198fb3cf Conky 2019-01-10 23:42:52 +01:00
Breizh 237e903e77 Màj conf i3, MOC, Conky + Ajout HTOP 2019-01-10 23:28:52 +01:00
Breizh 895271871b Modifications de confs et ajout d'un script 2019-01-03 00:02:52 +01:00
Breizh e0a780117c Add Xmodmap 2019-01-03 00:01:39 +01:00
Breizh ca08214d1a Nouveau fichiers et modifs 2018-12-26 00:40:38 +01:00
Breizh a062faf925 Ajout de la conf Bash 2018-11-30 22:59:02 +01:00
Breizh 6a2cacc67a Noumbreuses màjs 2018-11-30 22:00:19 +01:00
Breizh 02f553eeb6 Modifs i3blocks 2018-11-10 05:22:08 +01:00
Breizh a67dd266b1 Màj confs 2018-07-29 15:08:47 +02:00
Breizh d2d3c6baae Modification conky 2018-06-05 22:31:01 +02:00
Breizh d91cf5de92 Ajout de configs 2018-06-02 00:15:47 +02:00
Breizh d211937c7c Ajout de configs 2018-06-02 00:14:44 +02:00
Breizh 7e24f38161 Ajout de configs 2018-06-02 00:13:25 +02:00
Breizh 38bad21137 Mise à jour de quelques fichiers de config 2018-06-02 00:09:39 +02:00
Breizh b3965ade25 Ajout de diverses confs 2018-05-15 22:30:13 +02:00
Breizh 482975c08f Ajout du Xresources 2018-05-07 23:39:47 +02:00
Breizh dfa441beb1 Ajout de la conf i3 déplacée 2018-05-06 12:30:17 +02:00
Breizh 4fa5674636 Diverses modifs 2018-05-02 22:48:01 +02:00
Breizh 3b685d8488 Mise à jour de plugins vim 2018-04-11 23:27:50 +02:00
Breizh 06ce1a7704 Modification i3blocks volume 2018-03-28 21:50:21 +02:00
Breizh d6605642be màj 2018-03-28 21:45:33 +02:00
Breizh 4b079121d3 Transparence de dunst 2018-03-28 18:26:31 +02:00
Breizh 7b303ff167 Transparence de dunst 2018-03-28 17:34:13 +02:00
Breizh 8a8867b2b4 Modifications cocnernant dunst 2018-03-28 17:32:59 +02:00
Breizh bcc3e33906 Mise à jour 2018-03-27 17:38:03 +02:00
Breizh ae2fbf5f3f Merge branch 'master' of ssh://git.breizh.me/dotfiles 2018-03-06 18:49:49 +01:00
Breizh 70c6a9d34b Ajout de confs i3blocks 2018-03-06 18:49:41 +01:00
Breizh 96ffcb6e7c Suppression de la conf SSH 2018-03-06 18:41:22 +01:00
Breizh a9f933eeff Ajout de confs i3blocks 2018-03-06 14:57:04 +01:00
Breizh 6357571c07 Ajout du conkyrc 2018-03-06 14:55:05 +01:00
Breizh df7b44ba80 Mise à jour de quelques fichiers de config 2018-03-06 14:47:28 +01:00
200 changed files with 14116 additions and 2447 deletions

273
.Xresources Normal file
View File

@ -0,0 +1,273 @@
!*background: #000000
!*foreground: #AAAAAA
!*fading: 15
!*fadeColor: black
!*cursorColor: #AAAAAA
!*pointerColorBackground:#2B2C2B
!*pointerColorForeground:#16A085
!! black dark/light
!*color0: #000000
!*color8: #555555
!! red dark/light
!*color1: #AA0000
!*color9: #FF5555
!! green dark/light
!*color2: #00AA00
!*color10: #55FF55
!! yellow dark/light
!*color3: #AA5500
!*color11: #FFFF55
!! blue dark/light
!*color4: #0000AA
!*color12: #5555FF
!! magenta dark/light
!*color5: #AA00AA
!*color13: #FF55FF
!! cyan dark/light
!*color6: #00AAAA
!*color14: #55FFFF
!! white dark/light
!*color7: #AAAAAA
!*color15: #FFFFFF
!Xft.dpi: 120
Xft.antialias: true
Xft.hinting: true
Xft.rgba: rgb
Xft.autohint: false
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault
Xft.dpi: 96
Xcursor.theme: Adwaita
Xcursor.size: 0
Xautolock.locker: i3lock-wrapper -e
!XTerm*background: #272827
!XTerm*foreground: #fdf6e3
XTerm*reverseVideo: on
XTerm*selectToClipboard: true
URxvt.font: xft:xos4 Terminus:pixelsize=16,xft:DejaVu Sans Mono:antialias=false:pixelsize=16,xft:Noto Sans Mono:pixelsize=16:antialias=false
!URxvt.boldFont:
!URxvt.italicFont:
!URxvt.boldItalicFont:
!URxvt.letterSpace: 0
!URxvt.depth: 32
!URxvt.background: [100]#000000
URxvt.iconFile: /usr/share/icons/Vertex-Icons/apps/symbolic/utilities-terminal-symbolic.svg
!URxvt.iconFile: /usr/share/icons/Adwaita/scalable/apps/utilities-terminal-symbolic.svg
!URxvt.iconFile: /usr/share/icons/gnome/16x16/apps/terminal.png
URxvt*scrollBar: true
URxvt*mouseWheelScrollPage: false
URxvt*cursorBlink: true
!URxvt*background: #2D2D2D
!URxvt*foreground: #AAAAAA
URxvt*saveLines: 0
! for 'fake' transparency (without Compton) uncomment the following three lines
URxvt*inheritPixmap: true
URxvt*transparent: true
URxvt*shading: 15
!URxvt*blurRadius: 24x24
! other possible settings:
! Rxvt.perl-ext-common: ...,clipboard
! URxvt.keysym.M-C-c: perl:clipboard:copy
! URxvt.keysym.M-v: perl:clipboard:paste
! URxvt.keysym.M-C-v: perl:clipboard:paste_escaped
! URxvt*termName: string
! URxvt*geometry: 80x24
! URxvt*chdir: string
! URxvt*reverseVideo: boolean
! URxvt*loginShell: boolean
! URxvt*multiClickTime: number
! URxvt*jumpScroll: boolean
! URxvt*skipScroll: boolean
! URxvt*pastableTabs: boolean
URxvt*scrollstyle: plain
URxvt*scrollBar_right: true
! URxvt*scrollBar_floating: true
! URxvt*scrollBar_align: mode
! URxvt*thickness: number
! URxvt*scrollTtyOutput: boolean
! URxvt*scrollTtyKeypress: boolean
! URxvt*scrollWithBuffer: boolean
! URxvt*tintColor: !7DA55
! URxvt*blurRadius: HxV
! URxvt*fading: number
! URxvt*fadeColor: color
! URxvt*utmpInhibit: boolean
URxvt*urgentOnBell: true
! URxvt*visualBell: true
! URxvt*mapAlert: boolean
! URxvt*meta8: boolean
! URxvt*tripleclickwords: boolean
! URxvt*insecure: boolean
URxvt*cursorUnderline: true
! URxvt*pointerBlank: boolean
! URxvt*color0: color
! URxvt*color1: color
! URxvt*color2: color
! URxvt*color3: color
! URxvt*color4: color
! URxvt*color5: color
! URxvt*color6: color
! URxvt*color7: color
! URxvt*color8: color
! URxvt*color9: color
! URxvt*color10: color
! URxvt*color11: color
! URxvt*color12: color
! URxvt*color13: color
! URxvt*color14: color
! URxvt*color15: color
! URxvt*colorBD: color
! URxvt*colorIT: color
! URxvt*colorUL: color
! URxvt*colorRV: color
! URxvt*underlineColor: color
! URxvt*scrollColor: color
! URxvt*troughColor: color
! URxvt*highlightColor: color
! URxvt*highlightTextColor: color
! URxvt*cursorColor: color
! URxvt*cursorColor2: color
! URxvt*pointerColor: color
! URxvt*pointerColor2: color
! URxvt*borderColor: color
! URxvt*iconFile: file
! URxvt*font:
! URxvt*boldFont:
! URxvt*italicFont:
! URxvt*boldItalicFont:
! URxvt.letterSpace: -1
! URxvt*intensityStyles: true
! URxvt*inputMethod: name
! URxvt*preeditType: style
! URxvt*imLocale: string
! URxvt*imFont: fontname
! URxvt*title: string
! URxvt*iconName: string
! URxvt*buffered: false
! URxvt*depth: number
! URxvt*visual: number
! URxvt*transient-for: windowid
! URxvt*override-redirect: boolean
! URxvt*hold: boolean
! URxvt*externalBorder: number
! URxvt*internalBorder: number
! URxvt*borderLess: true
! URxvt*lineSpace: number
! URxvt*letterSpace: number
! URxvt*skipBuiltinGlyphs: boolean
! URxvt*pointerBlankDelay: number
! URxvt*backspacekey: string
! URxvt*deletekey: string
! URxvt*print-pipe: string
! URxvt*modifier: modifier
! URxvt*cutchars: string
! URxvt*answerbackString: string
URxvt*secondaryScreen: true
URxvt*secondaryScroll: false
! URxvt*perl-lib: string
! URxvt*perl-eval: perl-eval
URxvt*perl-ext-common: vtwheel,resize-font,searchable-scrollback,option-popup,selection
! URxvt*perl-ext: string
URxvt*iso14755: false
URxvt*iso14755_52: false
! URxvt*xrm: string
! URxvt*keysym.sym: keysym
! URxvt*background.border: boolean
! URxvt*background.expr: string
! URxvt*background.interval: seconds
! URxvt*bell-command: play /usr/share/sounds/freedesktop/stereo/bell.oga
! URxvt*kuake.hotkey: string
! URxvt*matcher.button: string
! URxvt*matcher.launcher: string
! URxvt*matcher.launcher.*: string
! URxvt*matcher.pattern.*: string
! URxvt*matcher.rend.*: string
! URxvt*remote-clipboard.fetch: string
! URxvt*remote-clipboard.store: string
! URxvt*searchable-scrollback: string
! URxvt*selection-autotransform.*: string
! URxvt*selection-pastebin.cmd: string
! URxvt*selection-pastebin.url: string
! URxvt*selection.pattern-0: string
! URxvt*tab-bg: colour
! URxvt*tab-fg: colour
! URxvt*tabbar-bg: colour
! URxvt*tabbar-fg: colour
! URxvt*url-launcher: string
URxvt.keysym.C-Down: resize-font:smaller
URxvt.keysym.C-Up: resize-font:bigger
URxvt.keysym.C-equal: resize-font:reset
URxvt.keysym.C-question: resize-font:show
URxvt.keysym.M-s: searchable-scrollback:start
URxvt.resize-font.step: 2
URxvt.refreshRate: 240
! Base16 Eighties
! Scheme: Chris Kempson (http://chriskempson.com)
#define base00 #2d2d2d
#define base01 #393939
#define base02 #515151
#define base03 #747369
#define base04 #a09f93
#define base05 #d3d0c8
#define base06 #e8e6df
#define base07 #f2f0ec
#define base08 #f2777a
#define base09 #f99157
#define base0A #ffcc66
#define base0B #99cc99
#define base0C #66cccc
#define base0D #6699cc
#define base0E #cc99cc
#define base0F #d27b53
*.foreground: base05
*.background: base00
*.cursorColor: base05
*.color0: base00
*.color1: base08
*.color2: base0B
*.color3: base0A
*.color4: base0D
*.color5: base0E
*.color6: base0C
*.color7: base05
*.color8: base03
*.color9: base08
*.color10: base0B
*.color11: base0A
*.color12: base0D
*.color13: base0E
*.color14: base0C
*.color15: base07
! Note: colors beyond 15 might not be loaded (e.g., xterm, urxvt),
! use 'shell' template to set these if necessary
*.color16: base09
*.color17: base0F
*.color18: base01
*.color19: base02
*.color20: base04
*.color21: base06
*.colorBD: base07

35
.bash_profile Normal file
View File

@ -0,0 +1,35 @@
#
# ~/.bash_profile
#
[[ -f ~/.extend.bash_profile ]] && . ~/.extend.bash_profile
[[ -f ~/.bashrc ]] && . ~/.bashrc
export VISUAL=vim
export EDITOR=vim
export PAGER=less
export PATH=~/.local/bin:$PATH
# Passe -P -i à groff, pour passer -i à grotty pour afficher du vrai italique
export MANROFFOPT="-P -i"
export HASTE_SERVER="https://haste.breizh.pm"
export MPD_HOST="$HOME/.mpd/socket"
export MAGICK_TMPDIR="$HOME/.cache/ImageMagick/"
export HIGHLIGHT_STYLE="base16/eighties"
eval $(ssh-agent -s)
if [ -z "$DISPLAY" ] && [ -n "$XDG_VTNR" ] && [ "$XDG_VTNR" -eq 1 ]; then
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
export QT_QPA_PLATFORMTHEME=qt5ct
export BROWSER="systemd-run --user --scope -p MemoryMax=3G firefox"
export TERMINAL=urxvtc
export XDG_CURRENT_DESKTOP=i3
# exec sway -d 2> $HOME/.sway.log
exec startx
elif [ "$XDG_VTNR" -ne 6 ]; then
export BROWSER=elinks
fish
logout
fi

299
.bashrc Normal file
View File

@ -0,0 +1,299 @@
#!/bin/bash
if [[ $- != *i* ]] ; then
# Shell is non-interactive. Be done now!
return
fi
xhost +local:root > /dev/null 2>&1
## git completion
source /usr/share/git/completion/git-prompt.sh
source /usr/share/git/completion/git-completion.bash
export GIT_PS1_SHOWDIRTYSTATE=1 GIT_PS1_SHOWSTASHSTATE=1 GIT_PS1_SHOWUNTRACKEDFILES=1
export GIT_PS1_SHOWUPSTREAM=verbose GIT_PS1_DESCRIBE_STYLE=branch
# Base16 Shell
if [[ -n "$DISPLAY" ]]
then
BASE16_SHELL="$HOME/.config/base16-shell/"
[ -n "$PS1" ] && \
[ -s "$BASE16_SHELL/profile_helper.sh" ] && \
eval "$("$BASE16_SHELL/profile_helper.sh")"
fi
## Reset
Text_Reset='\e[0m' # Text Reset
## Regular Colors
Black='\e[0;30m' # Black
Red='\e[0;31m' # Red
Green='\e[0;32m' # Green
Yellow='\e[0;33m' # Yellow
Blue='\e[0;34m' # Blue
Purple='\e[0;35m' # Purple
Cyan='\e[0;36m' # Cyan
White='\e[0;37m' # White
## Bold
BBlack='\e[1;30m' # Black
BRed='\e[1;31m' # Red
BGreen='\e[1;32m' # Green
BYellow='\e[1;33m' # Yellow
BBlue='\e[1;34m' # Blue
BPurple='\e[1;35m' # Purple
BCyan='\e[1;36m' # Cyan
BWhite='\e[1;37m' # White
## Underline
UBlack='\e[4;30m' # Black
URed='\e[4;31m' # Red
UGreen='\e[4;32m' # Green
UYellow='\e[4;33m' # Yellow
UBlue='\e[4;34m' # Blue
UPurple='\e[4;35m' # Purple
UCyan='\e[4;36m' # Cyan
UWhite='\e[4;37m' # White
## Background
On_Black='\e[40m' # Black
On_Red='\e[41m' # Red
On_Green='\e[42m' # Green
On_Yellow='\e[43m' # Yellow
On_Blue='\e[44m' # Blue
On_Purple='\e[45m' # Purple
On_Cyan='\e[46m' # Cyan
On_White='\e[47m' # White
## High Intensity
# IBlack='\e[0;90m' # Black
# IRed='\e[0;91m' # Red
# IGreen='\e[0;92m' # Green
# IYellow='\e[0;93m' # Yellow
# IBlue='\e[0;94m' # Blue
# IPurple='\e[0;95m' # Purple
# ICyan='\e[0;96m' # Cyan
# IWhite='\e[0;97m' # White
## Bold High Intensity
# BIBlack='\e[1;90m' # Black
# BIRed='\e[1;91m' # Red
# BIGreen='\e[1;92m' # Green
# BIYellow='\e[1;93m' # Yellow
# BIBlue='\e[1;94m' # Blue
# BIPurple='\e[1;95m' # Purple
# BICyan='\e[1;96m' # Cyan
# BIWhite='\e[1;97m' # White
## High Intensity backgrounds
# On_IBlack='\e[0;100m' # Black
# On_IRed='\e[0;101m' # Red
# On_IGreen='\e[0;102m' # Green
# On_IYellow='\e[0;103m' # Yellow
# On_IBlue='\e[0;104m' # Blue
# On_IPurple='\e[0;105m' # Purple
# On_ICyan='\e[0;106m' # Cyan
# On_IWhite='\e[0;107m' # White
# Less colors
#export LESS_TERMCAP_mb=$(tput blink)
#export LESS_TERMCAP_md=$(tput bold)
#export LESS_TERMCAP_me=$(tput sgr0)
#export LESS_TERMCAP_so=$(tput smso)
#export LESS_TERMCAP_se=$(tput rmso)
#export LESS_TERMCAP_us=$(tput smul)
#export LESS_TERMCAP_ZH=$(tput sitm)
#export LESS_TERMCAP_ue=$(tput sgr0)
export LESS="-RI"
use_color=true
prompt() {
error=$?
echo -ne "${BBlack}"
echo -n "$(date +%H:%M:%S) "
if [[ $error -eq 0 ]]
then
echo -ne "${Green}OK"
elif [[ $error -eq 127 ]]
then
echo -ne "${Yellow}Unknown command (error $error)"
else
echo -ne "${Red}Error $error"
fi
echo -ne "$Text_Reset"
__git_ps1
echo
}
PROMPT_COMMAND=prompt
# Set colorful PS1 only on colorful terminals.
# dircolors --print-database uses its own built-in database
# instead of using /etc/DIR_COLORS. Try to use the external file
# first to take advantage of user additions. Use internal bash
# globbing instead of external grep binary.
safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM
match_lhs=""
[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"
[[ -z ${match_lhs} ]] \
&& type -P dircolors >/dev/null \
&& match_lhs=$(dircolors --print-database)
[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true
if ${use_color} ; then
# Enable colors for ls, etc. Prefer ~/.dir_colors #64489
if type -P dircolors >/dev/null ; then
if [[ -f ~/.dir_colors ]] ; then
eval $(dircolors -b ~/.dir_colors)
elif [[ -f /etc/DIR_COLORS ]] ; then
eval $(dircolors -b /etc/DIR_COLORS)
fi
fi
if [[ ${EUID} == 0 ]] ; then
PS1='\[\033[01;31m\][\h\[\033[01;36m\] \w\[\033[01;31m\]]\n\$\[\033[00m\] '
else
PS1='\[\033[01;32m\][\u@\h\[\033[01;37m\] \w\[\033[01;32m\]]\n\$\[\033[00m\] '
fi
alias ls='ls --color=auto'
alias grep='grep --colour=auto'
alias egrep='egrep --colour=auto'
alias fgrep='fgrep --colour=auto'
else
if [[ ${EUID} == 0 ]] ; then
# show root@ when we don't have colors
PS1='\u@\h \W \$ '
else
PS1='\u@\h \w \$ '
fi
fi
unset use_color safe_term match_lhs sh
export PAGER=less
alias df='df -h' # human-readable sizes
alias free='free -m' # show sizes in MB
alias np='vim -w PKGBUILD'
#alias more=less
xhost +local:root > /dev/null 2>&1
complete -cf sudo
# Bash won't get SIGWINCH if another process is in the foreground.
# Enable checkwinsize so that bash will check the terminal size when
# it regains control. #65623
# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11)
shopt -s checkwinsize
shopt -s expand_aliases
# export QT_SELECT=4
# Enable history appending instead of overwriting. #139609
shopt -s histappend
#
# # ex - archive extractor
# # usage: ex <file>
ex ()
{
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
more() {
if [ $# -eq 1 ]; then if [ $1 = "ituri" ]; then
echo "te salutant"; return
fi; fi
\less "$@"
}
colors() {
local fgc bgc vals seq0
printf "Color escapes are %s\n" '\e[${value};...;${value}m'
printf "Values 30..37 are \e[33mforeground colors\e[m\n"
printf "Values 40..47 are \e[43mbackground colors\e[m\n"
printf "Value 1 gives a \e[1mbold-faced look\e[m\n\n"
# foreground colors
for fgc in {30..37}; do
# background colors
for bgc in {40..47}; do
fgc=${fgc#37} # white
bgc=${bgc#40} # black
vals="${fgc:+$fgc;}${bgc}"
vals=${vals%%;}
seq0="${vals:+\e[${vals}m}"
printf " %-9s" "${seq0:-(default)}"
printf " ${seq0}TEXT\e[m"
printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m"
done
echo; echo
done
}
# better yaourt colors
# export YAOURT_COLORS="nb=1:pkg=1:ver=1;32:lver=1;45:installed=1;42:grp=1;34:od=1;41;5:votes=1;44:dsc=0:other=1;35"
export EDITOR=vim
# Debug
export PS4='+ ${BASH_SOURCE:-}:${FUNCNAME[0]:-}:L${LINENO:-}: '
# fix "xdg-open fork-bomb" export your preferred browser from here
alias conf='vim $HOME/.i3/config'
alias comp='vim $HOME/.config/compton.conf'
alias fixit='sudo rm -f /var/lib/pacman/db.lck'
alias inst='yaourt -S'
alias la='ls -la --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
alias ll='ls -l --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
alias l='ls -lAh'
alias rm='rm --preserve-root -I'
alias mirrors='sudo pacman-mirrors -g'
alias printer='system-config-printer'
alias update='yaourt -Syua'
alias mk='vim makefile'
alias n='vim'
alias diff='icdiff'
alias f='fuck'
#alias grep='rg'
alias news='newsbeuter'
#alias ssh-add='ssh-add -t 1800'
alias meteo='curl -H "Accept-Language: fr" wttr.in/Nantes'
alias moon='curl -H "Accept-Language: fr" wttr.in/Moon'
. /usr/share/doc/ranger/examples/shell_automatic_cd.sh
#eval $(thefuck --alias)
# change title
trap 'echo -ne "\e]0;$PWD > $BASH_COMMAND\007"' DEBUG

1
.config/base16-shell Submodule

@ -0,0 +1 @@
Subproject commit ec22dde8c80cf2ab23d600461eb7f32ec21a65d0

277
.config/cava/config Normal file
View File

@ -0,0 +1,277 @@
## Configuration file for CAVA.
# Remove the ; to change parameters.
[general]
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
; mode = normal
# Accepts only non-negative values.
; framerate = 60
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
# new as of 0.6.0 autosens of low values (dynamic range)
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
; autosens = 1
; overshoot = 20
# Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
# 200 means double height. Accepts only non-negative values.
; sensitivity = 100
# The number of bars (0-512). 0 sets it to auto (fill up console).
# Bars' width and space between bars in number of characters.
; bars = 0
; bar_width = 2
; bar_spacing = 1
# bar_height is only used for output in "noritake" format
; bar_height = 32
# For SDL width and space between bars is in pixels, defaults are:
; bar_width = 20
; bar_spacing = 5
# sdl_glsl have these default values, they are only used to calulate max number of bars.
; bar_width = 1
; bar_spacing = 0
# Lower and higher cutoff frequencies for lowest and highest bars
# the bandwidth of the visualizer.
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
# Cava will automatically increase the higher cutoff if a too low band is specified.
; lower_cutoff_freq = 50
; higher_cutoff_freq = 10000
# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
; sleep_timer = 0
[input]
# Audio capturing method. Possible methods are: 'fifo', 'portaudio', 'pipewire', 'alsa', 'pulse', 'sndio', 'oss', 'jack' or 'shmem'
# Defaults to 'oss', 'pipewire', 'sndio', 'jack', 'pulse', 'alsa', 'portaudio' or 'fifo', in that order, dependent on what support cava was built with.
# On Mac it defaults to 'portaudio' or 'fifo'
# On windows this is automatic and no input settings are needed.
#
# All input methods uses the same config variable 'source'
# to define where it should get the audio.
#
# For pulseaudio and pipewire 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
#
# For pipewire 'source' will be the object name or object.serial of the device to capture from.
# Both input and output devices are supported.
#
# For alsa 'source' will be the capture device.
# For fifo 'source' will be the path to fifo-file.
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
#
# For sndio 'source' will be a raw recording audio descriptor or a monitoring sub-device, e.g. 'rsnd/2' or 'snd/1'. Default: 'default'.
# README.md contains further information on how to setup CAVA for sndio.
#
# For oss 'source' will be the path to a audio device, e.g. '/dev/dsp2'. Default: '/dev/dsp', i.e. the default audio device.
# README.md contains further information on how to setup CAVA for OSS on FreeBSD.
#
# For jack 'source' will be the name of the JACK server to connect to, e.g. 'foobar'. Default: 'default'.
# README.md contains further information on how to setup CAVA for JACK.
#
; method = pulse
; source = auto
method = pipewire
source = auto
; method = alsa
; source = hw:Loopback,1
; method = fifo
; source = /tmp/mpd.fifo
; method = shmem
; source = /squeezelite-AA:BB:CC:DD:EE:FF
; method = portaudio
; source = auto
; method = sndio
; source = default
; method = oss
; source = /dev/dsp
; method = jack
; source = default
# The options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods:
# sample_rate: fifo, pipewire, sndio, oss
# sample_bits: fifo, pipewire, sndio, oss
# channels: sndio, oss, jack
# autoconnect: jack
# Other methods ignore these settings.
#
# For 'sndio' and 'oss' they are only preferred values, i.e. if the values are not supported
# by the chosen audio device, the device will use other supported values instead.
# Example: 48000, 32 and 2, but the device only supports 44100, 16 and 1, then it
# will use 44100, 16 and 1.
#
; sample_rate = 44100
; sample_bits = 16
; channels = 2
; autoconnect = 2
[output]
# Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl'
# or 'sdl_glsl'.
# 'noncurses' (default) uses a buffer and cursor movements to only print
# changes from frame to frame in the terminal. Uses less resources and is less
# prone to tearing (vsync issues) than 'ncurses'.
#
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
# stream of the bar heights that can be used to send to other applications.
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
#
# 'noritake' outputs a bitmap in the format expected by a Noritake VFD display
# in graphic mode. It only support the 3000 series graphical VFDs for now.
#
# 'sdl' uses the Simple DirectMedia Layer to render in a graphical context.
# 'sdl_glsl' uses SDL to create an OpenGL context. Write your own shaders or
# use one of the predefined ones.
method = ncurses
# Orientation of the visualization. Can be 'bottom', 'top', 'left' or 'right'.
# Default is 'bottom'. Other orientations are only supported on sdl and ncruses
# output. Note: many fonts have weird glyphs for 'top' and 'right' characters,
# which can make ncurses not look right.
; orientation = bottom
# Visual channels. Can be 'stereo' or 'mono'.
# 'stereo' mirrors both channels with low frequencies in center.
# 'mono' outputs left to right lowest to highest frequencies.
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
# set 'reverse' to 1 to display frequencies the other way around.
; channels = stereo
; mono_option = average
; reverse = 0
# Raw output target. A fifo will be created if target does not exist.
; raw_target = /dev/stdout
# Raw data format. Can be 'binary' or 'ascii'.
; data_format = binary
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
; bit_format = 16bit
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
; ascii_max_range = 1000
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
; bar_delimiter = 59
; frame_delimiter = 10
# sdl window size and position. -1,-1 is centered.
; sdl_width = 1000
; sdl_height = 500
; sdl_x = -1
; sdl_y= -1
; sdl_full_screen = 0
# set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none'
# 'frequency' displays the lower cut off frequency of the bar above.
# Only supported on ncurses and noncurses output.
; xaxis = none
# enable alacritty synchronized updates. 1 = on, 0 = off
# removes flickering in alacritty terminal emulator.
# defaults to off since the behaviour in other terminal emulators is unknown
; alacritty_sync = 0
# Shaders for sdl_glsl, located in $HOME/.config/cava/shaders
; vertex_shader = pass_through.vert
; fragment_shader = bar_spectrum.frag
; for glsl output mode, keep rendering even if no audio
; continuous_rendering = 0
# disable console blank (screen saver) in tty
# (Not supported on FreeBSD)
; disable_blanking = 0
[color]
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
# a terminal that can change color definitions such as Gnome-terminal or rxvt.
# default is to keep current terminal color
; background = default
; foreground = default
# SDL and sdl_glsl only support hex code colors, these are the default:
; background = '#111111'
; foreground = '#33ffff'
# Gradient mode, only hex defined colors are supported,
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
# You can define as many as 8 different colors. They range from bottom to top of screen
; gradient = 0
; gradient_count = 8
; gradient_color_1 = '#59cc33'
; gradient_color_2 = '#80cc33'
; gradient_color_3 = '#a6cc33'
; gradient_color_4 = '#cccc33'
; gradient_color_5 = '#cca633'
; gradient_color_6 = '#cc8033'
; gradient_color_7 = '#cc5933'
; gradient_color_8 = '#cc3333'
gradient = 1
gradient_count = 3
gradient_color_1 = '#008080'
gradient_color_2 = '#D58E00'
gradient_color_3 = '#D50000'
[smoothing]
# Percentage value for integral smoothing. Takes values from 0 - 100.
# Higher values means smoother, but less precise. 0 to disable.
# DEPRECATED as of 0.8.0, use noise_reduction instead
; integral = 77
# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
; monstercat = 0
; waves = 0
# Set gravity percentage for "drop off". Higher values means bars will drop faster.
# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
# DEPRECATED as of 0.8.0, use noise_reduction instead
; gravity = 100
# In bar height, bars that would have been lower that this will not be drawn.
# DEPRECATED as of 0.8.0
; ignore = 0
# Noise reduction, int 0 - 100. default 77
# the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth
# 100 will be very slow and smooth, 0 will be fast but noisy.
; noise_reduction = 77
[eq]
# This one is tricky. You can have as much keys as you want.
# Remember to uncomment more than one key! More keys = more precision.
# Look at readme.md on github for further explanations and examples.
; 1 = 1 # bass
; 2 = 1
; 3 = 1 # midtone
; 4 = 1
; 5 = 1 # treble

7
.config/conky/conky_mount Executable file
View File

@ -0,0 +1,7 @@
#!/bin/bash
for dir in /run/media/breizh/*
do
[[ -d "$dir" ]] && echo -e "\${template3 $dir $(basename $dir)}\n"
done

107
.config/conky/conkyrc1 Normal file
View File

@ -0,0 +1,107 @@
conky.config = {
alignment = 'top_left',
background = true,
xinerama_head = 1,
double_buffer = true,
font = 'xos4 Terminus:pixelsize=12',
draw_graph_borders = true,
draw_outline = false,
minimum_width = 260,
maximum_width = 260,
minimum_height = 1080,
gap_x = 5,
gap_y = 5,
no_buffers = true,
own_window = true,
own_window_class = Conky,
own_window_type = 'override',
own_window_transparent = false,
own_window_colour = '#2D2D2D',
update_interval = 1.0,
use_xft = true,
default_color = '#D3D0C8',
format_human_readable = true,
short_units = true,
if_up_strictness = 'link',
use_spacer = left,
top_name_width = 25,
top_cpu_separate = true,
text_buffer_size = 1024,
color2 = '#F2F0EC',
font2 = 'xos4 Terminus:pixelsize=14',
--template0 = [[${cpubar cpu\1 6,60}${offset 5}]],
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 \1}>90}${color F2777A}$else${if_match ${fs_used_perc \1}>75}${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 = [[
${color 6699CC}$alignc${font xos4 Terminus:pixelsize=18}Arch Linux$font$color
${color2}${font2}Processeur $hr${font}${color}
${cpugraph}
Utilisation: $cpu%${goto 140}${if_match $cpu>90}${color F2777A}$else${if_match $cpu>70}${color FFCC66}$else${color 99CC99}$endif$endif${cpubar}$color
#${template0 1}${template0 2}${template0 3}${template0 4}
#${freq 1} MHz${goto 70}${freq 2} Mhz${goto 135}${freq 3} MHz${goto 200}${freq 4} MHz
#${template0 5}${template0 6}${template0 7}${template0 8}
#${freq 5} MHz${goto 70}${freq 6} Mhz${goto 135}${freq 7} MHz${goto 200}${freq 8} MHz
#${template0 9}${template0 10}${template0 11}${template0 12}
#${freq 9} MHz${goto 70}${freq 10} Mhz${goto 135}${freq 11} MHz${goto 200}${freq 12} MHz
${template0 1 7}
${template0 2 8}
${template0 3 9}
${template0 4 10}
${template0 5 11}
${template0 6 12}
${template1 1}
${template1 2}
${template1 3}
${template1 4}
${template1 5}
${template1 6}
${template1 7}
${template1 8}
${template1 9}
${template1 10}
${color2}${font2}Disque E/S $hr${font}${color}
${voffset 2}Lecture ssd ${diskio_read /dev/disk/by-id/ata-Samsung_SSD_860_EVO_1TB_S4X6NJ0MC09727A}${goto 140}Écriture ssd ${diskio_write /dev/disk/by-id/ata-Samsung_SSD_860_EVO_1TB_S4X6NJ0MC09727A}
${diskiograph_read /dev/disk/by-id/ata-Samsung_SSD_860_EVO_1TB_S4X6NJ0MC09727A 26,125}$alignr${diskiograph_write /dev/disk/by-id/ata-Samsung_SSD_860_EVO_1TB_S4X6NJ0MC09727A 26,125}
Lecture L1V ${diskio_read /dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX52D7159L1V}${goto 140}Écriture L1V ${diskio_write /dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX52D7159L1V}
${diskiograph_read /dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX52D7159L1V 26,125}$alignr${diskiograph_write /dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX52D7159L1V 26,125}
Lecture T9F ${diskio_read /dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX32D6123T9F}${goto 140}Écriture T9F ${diskio_write /dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX32D6123T9F}
${diskiograph_read /dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX32D6123T9F 26,125}$alignr${diskiograph_write /dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX32D6123T9F 26,125}
Lecture T0W0 ${diskio_read /dev/disk/by-id/wwn-0x50014ee0af38f135}${goto 140}Écriture T0W0 ${diskio_write /dev/disk/by-id/wwn-0x50014ee0af38f135}
${diskiograph_read /dev/disk/by-id/wwn-0x50014ee0af38f135 26,125}$alignr${diskiograph_write /dev/disk/by-id/wwn-0x50014ee0af38f135 26,125}
Lecture JTP ${diskio_read /dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX52D7159JTP}${goto 140}Écriture JTP ${diskio_write /dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX52D7159JTP}
${diskiograph_read /dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX52D7159JTP 26,125}$alignr${diskiograph_write /dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX52D7159JTP 26,125}
${template2 1}
${template2 2}
${template2 3}
${template2 4}
${template2 5}
${template2 6}
${template2 7}
${template2 8}
${template2 9}
${template2 10}
${color2}${font2}Espace disque $hr${font}${color}
${voffset 2}${template3 / /}
${template3 /home /home}
${template3 /mnt/data /mnt/data}
${template3 /mnt/backup /mnt/backup}
${template3 /home/minecraft /home/minecraft}
${template3 /tmp /tmp}
${execpi 5 /home/breizh/.config/conky/conky_mount}#${color2}${font2}$hr${font}${color}
]]

110
.config/conky/conkyrc2 Normal file
View File

@ -0,0 +1,110 @@
conky.config = {
alignment = 'top_left',
background = true,
cpu_avg_samples = 4,
xinerama_head = 1,
double_buffer = true,
font = 'xos4 Terminus:pixelsize=12',
draw_graph_borders = true,
draw_outline = false,
minimum_width = 260,
maximum_width = 260,
minimum_height = 1080,
gap_x = 275,
gap_y = 5,
no_buffers = true,
own_window = true,
own_window_class = Conky,
own_window_type = 'override',
own_window_transparent = false,
own_window_colour = '#2D2D2D',
update_interval = 1.0,
use_xft = true,
default_color = 'D3D0C8',
format_human_readable = true,
short_units = true,
if_up_strictness = 'link',
use_spacer = right,
text_buffer_size = 2048,
mpd_host = "/home/breizh/.mpd/socket",
color2 = 'F2F0EC',
font2 = 'xos4 Terminus:pixelsize=14',
template0 = [[${top_mem pid \1} ${top_mem name \1}${alignr}${top_mem mem_res \1} ${top_mem mem \1}%]]
};
conky.text = [[
${color 6699CC}$alignc${font xos4 Terminus:pixelsize=18}${time %A %d %B %Y}$font$color
${color2}${font2}Mémoire $hr$font$color
${memgraph}
${goto 140}${color 747369}${memwithbuffersbar}${color}${voffset -11}
RAM : $memperc%${goto 140}${if_match $memperc>85}${color F2777A}$else${if_match $memperc>70}${color FFCC66}$else${color 99CC99}$endif$endif${membar}$color
Util.: ${mem}${goto 140}Dispo.: ${memeasyfree}
Cache: ${cached}${goto 140}Libre : ${memfree}
Buff.: ${buffers}${goto 140}Total : ${memmax}
Swap : $swapperc%${goto 140}${if_match $swapperc>85}${color F2777A}$else${if_match $swapperc>70}${color FFCC66}$else${color 99CC99}$endif$endif${swapbar}$color
Util.: ${swap}${goto 140}Dispo.: ${swapfree}
${template0 1}
${template0 2}
${template0 3}
${template0 4}
${template0 5}
${template0 6}
${template0 7}
${template0 8}
${template0 9}
${template0 10}
${color2}${font2}Réseau $hr$font$color
${voffset 2}Téléchargement ${downspeed enp34s0}${goto 140}Téléversement ${upspeed enp34s0}
${downspeedgraph enp34s0 25,125}${alignr}${upspeedgraph enp34s0 25,125}
Téléchargé ${totaldown enp34s0}${goto 140}Téléversé ${totalup enp34s0}
$alignc${addrs enp34s0}
$alignc${scroll wait 48 1 5 ${v6addrs enp34s0 -n -s}}${if_up tun0}
#$alignc${curl ifconfig.co/ip}$alignc${curl ip.yunohost.org}${if_up tun0}
${color2}${font2}VPN $hr$font$color
${voffset 2}Téléchargement ${downspeed tun0}${goto 140}Téléversement ${upspeed tun0}
${downspeedgraph tun0 25,125}${alignr}${upspeedgraph tun0 25,125}
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}Capteurs $hr$font$color${voffset 2}
CPU${goto 140}${if_match ${hwmon zenpower temp 1}>70}${color F2777A}$endif${hwmon zenpower temp 1}°C${color}
${color2}${font2}Carte graphique $hr${font}${color}
#${voffset 2}Usage${goto 140}${texeci 3 conky_radeon}%
#VRAM: ${texeci 3 conky_radeon vram mb}M${goto 140}${texeci 3 conky_radeon vram}%
Temp puce${goto 140}${if_match ${hwmon amdgpu temp 1}>80}${color F2777A}$endif${hwmon amdgpu temp 1}°C${color}
Temp junction${goto 140}${if_match ${hwmon amdgpu temp 2}>90}${color F2777A}$endif${hwmon amdgpu temp 2}°C${color}
Temp mem${goto 140}${if_match ${hwmon amdgpu temp 3}>80}${color F2777A}$endif${hwmon amdgpu temp 3}°C${color}
Conso${goto 140}${if_match ${execi 5 sensors -j | jq '."amdgpu-pci-2900"."PPT"."power1_average"'}>180}${color F2777A}$endif${execi 5 sensors -j | jq '."amdgpu-pci-2900"."PPT"."power1_average"' | cut -d. -f1} W${color}
Ventilo${goto 140}${if_match ${hwmon amdgpu fan 1}>2000}${color F2777A}$endif${hwmon amdgpu fan 1} RPM${color}
${color2}${font2}Système $hr$font$color${voffset 2}
Kernel${goto 140}$kernel
Uptime${goto 140}$uptime
Redshift${goto 140}${execpi 5 redshift -p | grep -Po "[0-9]+K"}
${color2}${font2}Sylvexplorer $hr$font$color${voffset 2}
${texeci 3600 /home/breizh/.config/conky/sylv.sh}
${color2}${font2}MPD $hr$font$color${voffset 2}
$alignc${scroll wait 43 1 2  ${mpd_smart} }
$alignc${if_match "$mpd_album"!=""}${scroll wait 43 1 2 ${mpd_album}}$endif
$alignr$mpd_elapsed / $mpd_length ${goto 140}${if_match "${mpd_status}"=="Playing"}${color 99CC99}$endif${if_match "${mpd_status}"=="Paused"}${color FFCC66}$endif${if_match "${mpd_status}"=="Stopped"}${color F2777A}$endif$mpd_bar$color
Piste: $mpd_track${goto 140}Date : $mpd_date
Nom : ${scroll wait 17 1 5 $mpd_name}${goto 140}Bitr.: $mpd_bitrate kbps
Rép. : $mpd_repeat${goto 140}Aléa.: $mpd_random
Comm.: ${scroll wait 36 1 5 ${mpd_comment}}
${color2}${font2}Notes $hr$font$color${voffset 2}
${catp /home/breizh/notes}
]]

View File

@ -1,18 +1,146 @@
# See dunst(5) for all configuration options
[global]
font = Fira Sans
# Allow a small subset of html markup:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
# If markup is not allowed, those tags will be stripped out of the
# message.
allow_markup = yes
### Display ###
# Which monitor should the notifications be displayed on.
monitor = 1
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = none
### Geometry ###
# dynamic width from 0 to 300
# width = (0, 300)
# constant width of 300
width = (0, 1128)
# The maximum height of a single notification, excluding the frame.
height = 200
# Position the notification in the top right corner
origin = top-left
# Offset from the origin
offset = 580x20
# Scale factor. It is auto-detected if value is 0.
scale = 0
# Maximum number of notification (0 means no limit)
notification_limit = 5
### Progress bar ###
# Turn on the progess bar. It appears when a progress hint is passed with
# for example dunstify -h int:value:12
progress_bar = true
# Set the progress bar height. This includes the frame, so make sure
# it's at least twice as big as the frame width.
progress_bar_height = 10
# Set the frame width of the progress bar
progress_bar_frame_width = 1
# Set the minimum width for the progress bar
progress_bar_min_width = 150
# Set the maximum width for the progress bar
progress_bar_max_width = 300
# Show how many messages are currently hidden (because of
# notification_limit).
indicate_hidden = yes
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
transparency = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 1
# Padding between text and separator.
padding = 8
# Horizontal padding.
horizontal_padding = 8
# Padding between text and icon.
text_icon_padding = 0
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 1
# Defines color of the frame around the notification window.
frame_color = "#6699CC"
# 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
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
# A client can set the 'transient' hint to bypass this. See the rules
# section for how to disable this if necessary
# idle_threshold = 120
### Text ###
font = IBM Plex Sans 10
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <https://developer.gnome.org/pango/stable/pango-Markup.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
@ -20,201 +148,240 @@
# %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 = "%s %p\n%b"
# Sort messages by urgency.
sort = yes
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
format = "<b>%s</b>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# The frequency with wich text that is longer than the notification
# window allows bounces back and forth.
# This option conflicts with "word_wrap".
# Set to 0 to disable.
bounce_freq = 10
# Vertical alignment of message text and icon.
# Possible values are "top", "center" and "bottom".
vertical_alignment = center
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# Specify where to make an ellipsis in long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# The geometry of the window:
# [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window.
# The height is measured in number of notifications everything else
# in pixels. If the width is omitted but the height is given
# ("-geometry x2"), the message window expands over the whole screen
# (dmenu-like). If width is 0, the window expands to the longest
# message displayed. A positive x is measured from the left, a
# negative from the right side of the screen. Y is measured from
# the top and down respectevly.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "500x5-25+25"
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = yes
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing windowmanager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 15
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
# default 120
idle_threshold = 120
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a windowmanager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern windowmanagers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = keyboard
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
# Stack together notifications with the same content
stack_duplicates = true
# Hide the count of stacked notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
# The height of a single line. If the height is smaller than the
# font height, it will get raised to the font height.
# This adds empty space above and under the text.
line_height = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 1
# Padding between text and separator.
# padding = 8
padding = 8
# Horizontal padding.
horizontal_padding = 10
# 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 = #515151
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = firefox
### Icons ###
# Align icons left/right/off
icon_position = left
# Scale small icons up to this size, set to 0 to disable. Helpful
# for e.g. small files or high-dpi screens. In case of conflict,
# max_icon_size takes precedence over this.
min_icon_size = 0
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 32
# Paths to default icons.
icon_folders = /usr/share/icons/Vertex-Icons/status/16/:/usr/share/icons/Vertex-Icons/devices/16/:/usr/share/icons/Vertex-Icons/apps/16/
# icon_folders = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices/:/usr/share/icons/Adwaita/16x16/apps/
# icon_folders = /usr/share/icons/breeze-dark/status/16/:/usr/share/icons/breeze-dark/devices/16/:/usr/share/icons/breeze-dark/apps/16/
icon_path = /usr/share/icons/Vertex-Icons/status/16:/usr/share/icons/Vertex-Icons/devices/16
[frame]
width = 1
color = "#6699cc"
### History ###
[shortcuts]
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Shortcuts are specified as [modifier+][modifier+]...key
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
# Close notification.
close = mod1+space
# Close all notifications.
# close_all = ctrl+shift+space
close_all = ctrl+mod1+space
# Maximum amount of notifications kept in history
history_length = 2000
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = $BROWSER --new-tab
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius = 0
# Ignore the dbus closeNotification message.
# Useful to enforce the timeout set by dunst configuration. Without this
# parameter, an application may close the notification sent before the
# user defined timeout.
ignore_dbusclose = false
### Wayland ###
# These settings are Wayland-specific. They have no effect when using X11
# Uncomment this if you want to let notications appear under fullscreen
# applications (default: overlay)
# layer = top
# Set this to true to use X11 output on Wayland.
force_xwayland = false
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
### mouse
# Defines list of actions for each mouse event
# Possible values are:
# * none: Don't do anything.
# * do_action: Invoke the action determined by the action_name rule. If there is no
# such action, open the context menu.
# * open_url: If the notification has exactly one url, open it. If there are multiple
# ones, open the context menu.
# * close_current: Close current notification.
# * close_all: Close all notifications.
# * context: Open context menu for the notification.
# * context_all: Open context menu for all notifications.
# These values can be strung together for each mouse event, and
# will be executed in sequence.
mouse_left_click = close_current
mouse_middle_click = do_action, close_current
mouse_right_click = close_all
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1".
history = ctrl+mod4+h
# Context menu.
context = ctrl+mod1+c
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#393939"
foreground = "#a09f93"
background = "#2D2D2D"
foreground = "#D3D0C8"
frame_color = "#A09F93"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#2d2d2d"
foreground = "#d3d0c8"
timeout = 10
background = "#2D2D2D"
foreground = "#D3D0C8"
frame_color = "#6699CC"
timeout = 15
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#2d2d2d"
foreground = "#f2777a"
background = "#2D2D2D"
foreground = "#D3D0C8"
frame_color = "#F2777A"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon
# 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".
#
# Messages can be matched by
# appname (discouraged, see desktop_entry)
# body
# category
# desktop_entry
# icon
# match_transient
# msg_urgency
# stack_tag
# summary
#
# and you can override the
# background
# foreground
# format
# frame_color
# fullscreen
# new_icon
# set_stack_tag
# set_transient
# timeout
# urgency
# action_name
#
# Shell-like globbing will get expanded.
#
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
# GLib based applications export their desktop-entry name. In comparison to the appname,
# the desktop-entry won't get localized.
#
# 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.
# Disable the transient hint so that idle_threshold cannot be bypassed from the
# client
#[transient_disable]
# match_transient = yes
# set_transient = no
#
# Make the handling of transient notifications more strict by making them not
# be placed in history.
#[transient_history_ignore]
# match_transient = yes
# history_ignore = yes
# fullscreen values
# show: show the notifications, regardless if there is a fullscreen window opened
# delay: displays the new notification, if there is no fullscreen window active
# If the notification is already drawn, it won't get undrawn.
# pushback: same as delay, but when switching into fullscreen, the notification will get
# withdrawn from screen again and will get delayed like a new notification
#[fullscreen_delay_everything]
# fullscreen = delay
#[fullscreen_show_critical]
# msg_urgency = critical
# fullscreen = show
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
@ -226,7 +393,17 @@
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
# skip_display = true
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[skip-display]
# # This notification will not be displayed, but will be included in the history
# summary = "foobar"
# skip_display = yes
#[signed_on]
# appname = Pidgin
@ -248,55 +425,8 @@
# summary = *twitter.com*
# urgency = normal
#
#[Claws Mail]
# appname = claws-mail
# category = email.arrived
# urgency = normal
# background = "#2F899E"
# foreground = "#FFA247"
#
#[mute.sh]
# appname = mute
# category = mute.sound
# script = mute.sh
#
#[JDownloader]
# appname = JDownloader
# category = JD
# background = "#FFA247"
# foreground = "#FFFFFF"
#
#[newsbeuter]
# summary = *article*
# background = "#98AA21"
# foreground = "#FFFFFF"
#
#[irc]
# appname = weechat
# timeout = 0
# background = "#0033bb"
# foreground = "#dddddd"
#
#[weechat hl]
# appname = weechat
# category = weechat.HL
# background = "#FF5C47"
# foreground = "#FFFFFF"
#
#[weechat pn]
# appname = weechat
# category = weechat.PM
# background = "#D53B84"
# foreground = "#FFFFFF"
#
#[CMUS]
# appname = CMUS
# category = cmus
# background = "#6C4AB7"
# foreground = "#FFE756"
#
#
# background = "#30AB70"
# foreground = "#F67245"
#[stack-volumes]
# appname = "some_volume_notifiers"
# set_stack_tag = "volume"
#
# vim: ft=cfg

View File

@ -0,0 +1 @@
fisher --complete

View File

@ -0,0 +1,118 @@
#!/usr/bin/env fish
# Copyright (C) 2012-2014 Dmitry Medvinsky <me@dmedvinsky.name>. All Rights Reserved.
# This file is licensed under the GPLv2+. Please see COPYING for more information.
set PROG 'pass'
function __fish_pass_get_prefix
set -l prefix "$PASSWORD_STORE_DIR"
if [ -z "$prefix" ]
set prefix "$HOME/.password-store"
end
echo "$prefix"
end
function __fish_pass_needs_command
set -l cmd (commandline -opc)
if [ (count $cmd) -eq 1 -a $cmd[1] = $PROG ]
return 0
end
return 1
end
function __fish_pass_uses_command
set cmd (commandline -opc)
if [ (count $cmd) -gt 1 ]
if [ $argv[1] = $cmd[2] ]
return 0
end
end
return 1
end
function __fish_pass_print_gpg_keys
gpg2 --list-keys | grep uid | sed 's/.*<\(.*\)>/\1/'
end
function __fish_pass_print_entry_dirs
set -l prefix (__fish_pass_get_prefix)
set -l dirs
eval "set dirs "$prefix"/**/"
for dir in $dirs
set entry (echo "$dir" | sed "s#$prefix/\(.*\)#\1#")
echo "$entry"
end
end
function __fish_pass_print_entries
set -l prefix (__fish_pass_get_prefix)
set -l files
eval "set files "$prefix"/**.gpg"
for file in $files
set file (echo "$file" | sed "s#$prefix/\(.*\)\.gpg#\1#")
echo "$file"
end
end
function __fish_pass_print_entries_and_dirs
__fish_pass_print_entry_dirs
__fish_pass_print_entries
end
complete -c $PROG -e
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a help -d 'Command: show usage help'
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a version -d 'Command: show program version'
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a init -d 'Command: initialize new password storage'
complete -c $PROG -f -A -n '__fish_pass_uses_command init' -s p -l path -d 'Assign gpg-id for specified sub folder of password store'
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a ls -d 'Command: list passwords'
complete -c $PROG -f -A -n '__fish_pass_uses_command ls' -a "(__fish_pass_print_entry_dirs)"
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a insert -d 'Command: insert new password'
complete -c $PROG -f -A -n '__fish_pass_uses_command insert' -s e -l echo -d 'Echo the password on console'
complete -c $PROG -f -A -n '__fish_pass_uses_command insert' -s m -l multiline -d 'Provide multiline password entry'
complete -c $PROG -f -A -n '__fish_pass_uses_command insert' -s f -l force -d 'Do not prompt before overwritting'
complete -c $PROG -f -A -n '__fish_pass_uses_command insert' -a "(__fish_pass_print_entry_dirs)"
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a generate -d 'Command: generate new password'
complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -s n -l no-symbols -d 'Do not use special symbols'
complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -s c -l clip -d 'Put the password in clipboard'
complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -s f -l force -d 'Do not prompt before overwritting'
complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -s i -l in-place -d 'Replace only the first line with the generated password'
complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -a "(__fish_pass_print_entry_dirs)"
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a mv -d 'Command: rename existing password'
complete -c $PROG -f -A -n '__fish_pass_uses_command mv' -s f -l force -d 'Force rename'
complete -c $PROG -f -A -n '__fish_pass_uses_command mv' -a "(__fish_pass_print_entries_and_dirs)"
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a cp -d 'Command: copy existing password'
complete -c $PROG -f -A -n '__fish_pass_uses_command cp' -s f -l force -d 'Force copy'
complete -c $PROG -f -A -n '__fish_pass_uses_command cp' -a "(__fish_pass_print_entries_and_dirs)"
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a rm -d 'Command: remove existing password'
complete -c $PROG -f -A -n '__fish_pass_uses_command rm' -s r -l recursive -d 'Remove password groups recursively'
complete -c $PROG -f -A -n '__fish_pass_uses_command rm' -s f -l force -d 'Force removal'
complete -c $PROG -f -A -n '__fish_pass_uses_command rm' -a "(__fish_pass_print_entries_and_dirs)"
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a edit -d 'Command: edit password using text editor'
complete -c $PROG -f -A -n '__fish_pass_uses_command edit' -a "(__fish_pass_print_entries)"
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a show -d 'Command: show existing password'
complete -c $PROG -f -A -n '__fish_pass_uses_command show' -s c -l clip -d 'Put password in clipboard'
complete -c $PROG -f -A -n '__fish_pass_uses_command show' -a "(__fish_pass_print_entries)"
# When no command is given, `show` is defaulted.
complete -c $PROG -f -A -n '__fish_pass_needs_command' -s c -l clip -d 'Put password in clipboard'
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a "(__fish_pass_print_entries)"
complete -c $PROG -f -A -n '__fish_pass_uses_command -c' -a "(__fish_pass_print_entries)"
complete -c $PROG -f -A -n '__fish_pass_uses_command --clip' -a "(__fish_pass_print_entries)"
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a git -d 'Command: execute a git command'
complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'init' -d 'Initialize git repository'
complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'status' -d 'Show status of the repo'
complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'add' -d 'Add changes to the index'
complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'commit' -d 'Commit changes to the repo'
complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'push' -d 'Push changes to remote repo'
complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'pull' -d 'Pull changes from remote repo'
complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'log' -d 'View changelog'
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a find -d 'Command: find a password file or directory matching pattern'
complete -c $PROG -f -A -n '__fish_pass_needs_command' -a grep -d 'Command: search inside of decrypted password files for matching pattern'

1
.config/fish/conf.d/br.fish Symbolic link
View File

@ -0,0 +1 @@
/home/breizh/.local/share/broot/launcher/fish/1.fish

49
.config/fish/config.fish Normal file
View File

@ -0,0 +1,49 @@
set fish_greeting
set -g theme_display_virtualenv no
set -g theme_display_ruby no
set -g fish_prompt_pwd_dir_length 0
set base00 2D2D2D
set base01 393939
set base02 515151
set base03 747369
set base04 A09F93
set base05 D3D0C8
set base06 E8E6DF
set base07 F2F0EC
set base08 F2777A
set base09 F99157
set base0A FFCC66
set base0B 99CC99
set base0C 66CCCC
set base0D 6699CC
set base0E CC99CC
set base0F D27B53
#set -x LESS_TERMCAP_mb (tput blink)
#set -x LESS_TERMCAP_md (tput bold)
#set -x LESS_TERMCAP_me (tput sgr0)
#set -x LESS_TERMCAP_so (tput smso)
#set -x LESS_TERMCAP_se (tput rmso)
#set -x LESS_TERMCAP_us (tput smul)
#set -x LESS_TERMCAP_ZH (tput sitm)
#set -x LESS_TERMCAP_ue (tput sgr0)
#if status --is-interactive
if test "$XDG_CURRENT_DESKTOP" = "i3"
source $HOME/.config/base16-shell/profile_helper.fish
end
function colortest
~/.config/base16-shell/colortest base16-$argv[1].sh
end
function config
git --git-dir $HOME/.myconf --work-tree $HOME $argv
end
function rm
/usr/bin/rm -Iv --preserve-root $argv
end

View File

@ -0,0 +1,43 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_classic_git_prompt_initialized:\x1d
SETUVAR __fish_init_2_39_8:\x1d
SETUVAR __fish_init_2_3_0:\x1d
SETUVAR __fish_initialized:3400
SETUVAR _fish_abbr_S:sudo\x20systemctl
SETUVAR _fish_abbr_s:systemctl
SETUVAR _fish_abbr_sa:ssh\x2dadd
SETUVAR fish_color_autosuggestion:555\x1ebrblack
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:\x2d\x2dbold
SETUVAR fish_color_comment:red
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:brmagenta
SETUVAR fish_color_error:brred
SETUVAR fish_color_escape:bryellow\x1e\x2d\x2dbold
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:bryellow
SETUVAR fish_color_param:cyan
SETUVAR fish_color_quote:yellow
SETUVAR fish_color_redirection:brblue
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_greeting:\x1d
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_completion:\x1d
SETUVAR fish_pager_color_description:B3A06D\x1eyellow
SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_selected_background:\x2dr
SETUVAR fish_prompt_pwd_dir_length:0
SETUVAR fish_user_abbreviations:sa\x20ssh\x2dadd\x1eup\x20yay\x20\x2dSyu
SETUVAR fisher_active_prompt:lambda
SETUVAR fisher_dependency_count:await\x1egetopts\x1etransfer\x1etermcolours\x1elast_job_id\x1elambda\x1ehumanize_duration

View File

@ -0,0 +1,37 @@
# This file is automatically generated by the fish.
# Do NOT edit it directly, your changes will be overwritten.
SET __fish_classic_git_prompt_initialized:\x1d
SET __fish_init_2_39_8:\x1d
SET __fish_init_2_3_0:\x1d
SET fish_color_autosuggestion:555\x1ebrblack
SET fish_color_cancel:\x2dr
SET fish_color_command:\x2d\x2dbold
SET fish_color_comment:red
SET fish_color_cwd:green
SET fish_color_cwd_root:red
SET fish_color_end:brmagenta
SET fish_color_error:brred
SET fish_color_escape:bryellow\x1e\x2d\x2dbold
SET fish_color_history_current:\x2d\x2dbold
SET fish_color_host:normal
SET fish_color_match:\x2d\x2dbackground\x3dbrblue
SET fish_color_normal:normal
SET fish_color_operator:bryellow
SET fish_color_param:cyan
SET fish_color_quote:yellow
SET fish_color_redirection:brblue
SET fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
SET fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SET fish_color_status:red
SET fish_color_user:brgreen
SET fish_color_valid_path:\x2d\x2dunderline
SET fish_greeting:\x1d
SET fish_key_bindings:fish_default_key_bindings
SET fish_pager_color_completion:\x1d
SET fish_pager_color_description:B3A06D\x1eyellow
SET fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SET fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SET fish_prompt_pwd_dir_length:0
SET fish_user_abbreviations:sa\x20ssh\x2dadd\x1eup\x20yay\x20\x2dSyu
SET fisher_active_prompt:lambda
SET fisher_dependency_count:await\x1egetopts\x1etransfer\x1etermcolours\x1elast_job_id\x1elambda\x1ehumanize_duration

7
.config/fish/fishfile Normal file
View File

@ -0,0 +1,7 @@
fisherman/await
fisherman/getopts
fisherman/humanize_duration
hasanozgan/theme-lambda
fisherman/last_job_id
fisherman/termcolours
fisherman/transfer

View File

@ -0,0 +1 @@
/home/breizh/.config/fisherman/await/functions/await.fish

View File

@ -0,0 +1,4 @@
# Defined via `source`
function cp --description 'alias cp cp --reflink=auto'
command cp --reflink=auto $argv;
end

View File

@ -0,0 +1,4 @@
# Defined in - @ line 0
function dclock --description 'alias dclock dclock -miltime -fg red -led_off black -seconds -scroll -notails &; disown; exit'
command dclock -miltime -fg red -led_off black -scroll -notails &; disown; exit $argv;
end

View File

@ -0,0 +1 @@
/home/breizh/.config/fisherman/lambda/fish_prompt.fish

View File

@ -0,0 +1 @@
/home/breizh/.config/fisherman/lambda/fish_right_prompt.fish

View File

@ -0,0 +1 @@
/home/breizh/.config/fisherman/getopts/getopts.fish

View File

@ -0,0 +1 @@
/home/breizh/.config/fisherman/humanize_duration/humanize_duration.fish

View File

@ -0,0 +1,3 @@
function l --description 'alias l=ls -lAh'
eza -lgHahb --git --time-style long-iso $argv
end

View File

@ -0,0 +1 @@
/home/breizh/.config/fisherman/last_job_id/last_job_id.fish

View File

@ -0,0 +1,8 @@
function latex_comp
zathura $argv[1].pdf &
while true
inotifywait -e modify $argv[1].tex
make
or notify-send "Make" "Erreur de compilation"
end
end

View File

@ -0,0 +1,6 @@
function man
set -x MANWIDTH (tput cols)
test $MANWIDTH -gt 80; and set -x MANWIDTH 80
/usr/bin/man $argv
end

View File

@ -0,0 +1,4 @@
# Defined in - @ line 0
function mutt-breizh --description 'alias mutt-breizh mutt -F .mutt/muttrc_breizh'
mutt -F .mutt/muttrc_breizh $argv;
end

View File

@ -0,0 +1,4 @@
# Defined in - @ line 1
function màj --wraps='pikaur -Syu' --description 'alias màj pikaur -Syu'
pikaur -Syu $argv;
end

View File

@ -0,0 +1,4 @@
# Defined in - @ line 0
function pifs --description 'alias pifs πfs'
πfs $argv;
end

View File

@ -0,0 +1,4 @@
# Defined in - @ line 0
function powershell --description 'alias powershell pwsh'
pwsh $argv;
end

View File

@ -0,0 +1,6 @@
# Defined in - @ line 0
function rtorrent --description 'alias rtorrent tmux -L rt attach -t rt'
stty stop undef
stty start undef
tmux -L rt attach -t rt $argv;
end

View File

@ -0,0 +1 @@
/home/breizh/.config/fisherman/termcolours/termcolours.fish

View File

@ -0,0 +1 @@
/home/breizh/.config/fisherman/transfer/transfer.fish

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2016 Jorge Bucaran
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,50 @@
[slack-link]: https://fisherman-wharf.herokuapp.com/
[slack-badge]: https://fisherman-wharf.herokuapp.com/badge.svg
[fisherman]: https://github.com/fisherman/fisherman
[![Slack Room][slack-badge]][slack-link]
# Await
Wait for background jobs.
## Install
With [fisherman]
```
fisher await
```
## Usage
Wait until all existing jobs have finished.
```fish
await
```
Wait until the given jobs are finished.
```fish
set -l id_list
for cmd in $commands
fish -c "$cmd" &
set id_list $id_list (last_job_id -l)
end
await $id_list
```
Customize spinners.
```fish
set await_spinners ◢ ◣ ◤ ◥
```
Customize interval between spinners.
```fish
set await_interval 0.1
```

View File

@ -0,0 +1 @@
fisherman/last_job_id

View File

@ -0,0 +1,42 @@
function await -d "Wait for background jobs"
if test -z "$argv"
set argv (last_job_id)
end
set -l spinners "$await_spinners"
set -l interval "$await_interval"
if test -z "$spinners"
set spinners ⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏
end
if test -z "$interval"
set interval 0.05
end
while true
for spinner in $spinners
printf " $spinner \r" > /dev/stderr
sleep "$interval"
end
set -l currently_active_jobs (last_job_id)
if test -z "$currently_active_jobs"
break
end
set -l has_jobs
for i in $argv
if builtin contains -- $i $currently_active_jobs
set has_jobs "*"
break
end
end
if test -z "$has_jobs"
break
end
end
end

View File

@ -0,0 +1,8 @@
sudo: required
before_install:
- sudo add-apt-repository -y ppa:fish-shell/release-2
- sudo apt-get update
- sudo apt-get -y install fish
script:
- curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisherman
- fish -c "fisher fishtape .; fishtape test/*.fish"

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2015 Jorge Bucaran
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,78 @@
[![Build Status][travis-badge]][travis-link]
[![Slack Room][slack-badge]][slack-link]
# Getopts
**Getopts** is a command line options parser for [fish].
```fish
getopts -ab1 --foo=bar baz | while read -l key value
switch $key
case _
echo "$value" # baz
case a
echo "$value" # ""
case b
echo "$value" # 1
case foo
echo "$value" # bar
end
end
```
## Install
With [fisherman]
```
fisher getopts
```
With curl.
```sh
curl -Lo ~/.config/fish/functions/getopts.fish --create-dirs git.io/getopts
```
## Usage
Study the output in the following example
```fish
getopts -ab1 --foo=bar baz
```
```
a
b 1
foo bar
_ baz
```
The items on the left are the option flags. The items on the right are the option values. The underscore `_` character is the default *key* for bare arguments.
Use read(1) to process the generated stream and switch(1) to match patterns
```fish
getopts -ab1 --foo=bar baz | while read -l key option
switch $key
case _
case a
case b
case foo
end
end
```
## Notes
* A double dash, `--`, marks the end of options. Arguments after this sequence are placed in the default underscore key, `_`.
[travis-link]: https://travis-ci.org/fisherman/getopts
[travis-badge]: https://img.shields.io/travis/fisherman/getopts.svg
[slack-link]: https://fisherman-wharf.herokuapp.com
[slack-badge]: https://fisherman-wharf.herokuapp.com/badge.svg
[fish]: https://fishshell.com
[fisherman]: https://github.com/fisherman/fisherman

View File

@ -0,0 +1,82 @@
function getopts -d "cli parser"
if not set -q argv[1]
return
end
printf "%s\n" $argv | awk '
function out(k,v) {
print(k "" (v == "" ? "" : " "v))
}
function pop() {
return len <= 0 ? "_" : opt[len--]
}
{
if (done) {
out("_" , $0)
next
}
if (match($0, "^-[A-Za-z]+")) {
$0 = "- " substr($0, 2, RLENGTH - 1) " " substr($0, RLENGTH + 1)
} else if (match($0, "^--[A-Za-z0-9_-]+")) {
$0 = "-- " substr($0, 3, RLENGTH - 2) " " substr($0, RLENGTH + 2)
}
if ($1 == "--" && $2 == "") {
done = 1
} else if ($2 == "" || $1 !~ /^-|^--/ ) {
out(pop(), $0)
} else {
while (len) {
out(pop())
}
if ($3 != "") {
if (match($0, $2)) {
$3 = substr($0, RSTART + RLENGTH + 1)
}
}
if ($1 == "--") {
if ($3 == "") {
opt[++len] = $2
} else {
out($2, $3)
}
}
if ($1 == "-") {
if ($2 == "") {
print($1)
next
} else {
n = split($2, keys, "")
}
if ($3 == "") {
opt[++len] = keys[n]
} else {
out(keys[n], $3)
}
for (i = 1; i < n; i++) {
out(keys[i])
}
}
}
}
END {
while (len) {
out(pop())
}
}
'
end

View File

@ -0,0 +1,69 @@
.
.TH "GETOPTS" "1" "February 2016" "" "fisherman"
.
.SH "NAME"
\fBgetopts\fR \- Command line options parser
.
.SH "SYNOPSIS"
getopts \fIoptions\fR \.\.\.
.
.br
.
.SH "DESCRIPTION"
\fBGetopts\fR is a command line options parser for fish\.
.
.SH "USAGE"
Study the output in the following example
.
.IP "" 4
.
.nf
getopts \-ab1 \-\-foo=bar baz
.
.fi
.
.IP "" 0
.
.IP "" 4
.
.nf
a
b 1
foo bar
_ baz
.
.fi
.
.IP "" 0
.
.P
The items on the left are the option flags\. The items on the right are the option values\. The underscore \fB_\fR character is the default \fIkey\fR for bare arguments\.
.
.P
Use read(1) to process the generated stream and switch(1) to match patterns
.
.IP "" 4
.
.nf
getopts \-ab1 \-\-foo=bar baz | while read \-l key option
switch $key
case _
case a
case b
case foo
end
end
.
.fi
.
.IP "" 0
.
.SH "NOTES"
.
.IP "\(bu" 4
A double dash, \fB\-\-\fR, marks the end of options\. Arguments after this sequence are placed in the default underscore key, \fB_\fR\.
.
.IP "" 0

View File

@ -0,0 +1,104 @@
test "only bare"
"_ beer" = (getopts beer)
end
test "bare and bare"
"_ bar" "_ beer" = (getopts bar beer)
end
test "bare first"
"foo" "_ beer" = (getopts beer --foo)
end
test "bare sequence"
"_ foo" "_ bar" "_ baz" "_ quux" = (getopts foo bar baz quux)
end
test "bare does not end opts"
"a" "b 42" "_ beer" "foo" "bar" = (getopts -ab42 beer --foo --bar)
end
test "only single"
"f" "o" "o 42" = (getopts -foo42)
end
test "single and single"
"a" "b" "c" "x" "y" "z" = (getopts -abc -xyz)
end
test "single and bare"
"a" "b" "c bar" = (getopts -abc bar)
end
test "single and value"
"a bar" = (getopts -a bar)
end
test "single w/ value and bare"
"a" "b" "c ./" "_ bar" = (getopts -abc./ bar)
end
test "single and double"
"a" "b" "c" "foo" = (getopts -abc --foo)
end
test "double"
"foo" = (getopts --foo)
end
test "double w/ value"
"foo bar" = (getopts --foo=bar)
end
test "double w/ value group"
"foo bar" "bar foo" = (getopts --foo=bar --bar=foo)
end
test "double w/ value and bare"
"foo bar" "_ beer" = (getopts --foo=bar beer)
end
test "double double"
"foo" "bar" = (getopts --foo --bar)
end
test "double w/ inner dashes"
"foo-bar-baz" = (getopts --foo-bar-baz)
end
test "double and single"
"foo" "a" "b" "c" = (getopts --foo -abc)
end
test "multiple double sequence"
"foo" "bar" "secret 42" "_ baz" = (getopts --foo --bar --secret=42 baz)
end
test "single double single w/ remaining bares"
"f" "o" "o" "bar" "b" "a" "r norf" "_ baz" "_ quux" = (
getopts -foo --bar -bar norf baz quux)
end
test "double dash"
"_ --foo" "_ bar" = (getopts -- --foo bar)
end
test "single double dash"
"a" "_ --foo" "_ bar" = (getopts -a -- --foo bar)
end
test "bare and double dash"
"foo bar" "_ baz" "_ foo" "_ --foo" = (getopts --foo=bar baz -- foo --foo)
end
test "long string as a value"
"f Fee fi fo fum" = (getopts -f "Fee fi fo fum")
end
test "single and empty string"
"f" = (getopts -f "")
end
test "double and empty string"
"foo" = (getopts --foo "")
end

View File

@ -0,0 +1,8 @@
sudo: required
before_install:
- sudo add-apt-repository -y ppa:fish-shell/release-2
- sudo apt-get update
- sudo apt-get -y install fish
script:
- curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisherman
- fish -c "fisher fishtape .; fishtape test/*.fish"

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2016 bucaran
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,28 @@
[![Build Status][travis-badge]][travis-link]
[![Slack Room][slack-badge]][slack-link]
# Humanize_duration
Humanize a time interval for display.
## Install
With [fisherman]
```
fisher humanize_duration
```
## Usage
```fish
sleep 1
echo $CMD_DURATION | humanize_duration
1s 5ms
```
[travis-link]: https://travis-ci.org/fisherman/humanize_duration
[travis-badge]: https://img.shields.io/travis/fisherman/humanize_duration.svg
[slack-link]: https://fisherman-wharf.herokuapp.com/
[slack-badge]: https://fisherman-wharf.herokuapp.com/badge.svg
[fisherman]: https://github.com/fisherman/fisherman

View File

@ -0,0 +1,20 @@
function humanize_duration -d "Humanize a time interval for display"
command awk '
function hmTime(time, stamp) {
split("h:m:s:ms", units, ":")
for (i = 2; i >= -1; i--) {
if (t = int( i < 0 ? time % 1000 : time / (60 ^ i * 1000) % 60 )) {
stamp = stamp t units[sqrt((i - 2) ^ 2) + 1] " "
}
}
if (stamp ~ /^ *$/) {
return "0ms"
}
return substr(stamp, 1, length(stamp) - 1)
}
{
print hmTime($0)
}
'
end

View File

@ -0,0 +1,31 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "HUMANIZE_TIME" "1" "March 2016" "" "humanize_duration"
.
.SH "NAME"
\fBhumanize_duration\fR \- Humanize a time interval for display
.
.SH "SYNOPSIS"
echo \fImilliseconds elapsed\fR | humanize_duration
.
.br
humanize_duration [\-\-help]
.
.br
.
.SH "OPTIONS"
.
.TP
\-h, \-\-help
Show usage help\.
.
.SH "EXAMPLES"
.
.nf
sleep 1
echo $CMD_DURATION | humanize_duration
1s 5ms
.
.fi

View File

@ -0,0 +1,14 @@
humanize_duration(1) -- Humanize a time interval for display
============================================================
## SYNOPSIS
humanize_duration<br>
## EXAMPLE
```fish
sleep 1
echo $CMD_DURATION | humanize_duration
1s 5ms
```

View File

@ -0,0 +1,23 @@
test "$TESTNAME"
1ms = (echo 1 | humanize_duration)
end
test "$TESTNAME"
10ms = (echo 10 | humanize_duration)
end
test "$TESTNAME"
"1m 40s" = (echo 100000 | humanize_duration)
end
test "$TESTNAME"
"16m 40s" = (echo 1000000 | humanize_duration)
end
test "$TESTNAME"
"2h 46m 40s" = (echo 10000000 | humanize_duration)
end
test "$TESTNAME"
"27h 46m 40s" = (echo 100000000 | humanize_duration)
end

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2014 Bruno Ferreira Pinto
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,33 @@
### Lambda
[![MIT License](https://img.shields.io/badge/license-MIT-007EC7.svg?style=flat-square)](/LICENSE)
[![Fish Shell Version](https://img.shields.io/badge/fish-v2.2.0-007EC7.svg?style=flat-square)](http://fishshell.com)
<br/>
#### Screenshot
<p align="center">
<img src="https://raw.githubusercontent.com/hasanozgan/theme-lambda/master/screenshot.png">
</p>
###### Added VirtualEnv Support
![preview](http://i.imgur.com/fWurs47.png)
#### Install
#### [Fisherman]
```fish
fisher i lambda
```
##### [Oh-My-Fish]
```fish
omf install lambda
```
[Fisherman]: https://github.com/fisherman/fisherman
[Oh-My-Fish]: https://github.com/oh-my-fish/oh-my-fish

View File

@ -0,0 +1,67 @@
function fish_prompt
# Cache exit status
set -l last_status $status
# Just calculate these once, to save a few cycles when displaying the prompt
if not set -q __fish_prompt_hostname
set -g __fish_prompt_hostname (hostname|cut -d . -f 1)
end
if not set -q __fish_prompt_char
switch (id -u)
case 0
set -g __fish_prompt_char '#'
case '*'
set -g __fish_prompt_char 'λ'
end
end
# Setup colors
#use extended color pallete if available
#if [[ $terminfo[colors] -ge 256 ]]; then
# turquoise="%F{81}"
# orange="%F{166}"
# purple="%F{135}"
# hotpink="%F{161}"
# limegreen="%F{118}"
#else
# turquoise="%F{cyan}"
# orange="%F{yellow}"
# purple="%F{magenta}"
# hotpink="%F{red}"
# limegreen="%F{green}"
#fi
set -l normal (set_color normal)
set -l white (set_color --bold normal)
set -l turquoise (set_color cyan)
set -l orange (set_color yellow)
set -l hotpink (set_color red)
set -l blue (set_color blue)
set -l limegreen (set_color brgreen)
set -l purple (set_color magenta)
# Configure __fish_git_prompt
set -g __fish_git_prompt_char_stateseparator ' '
set -g __fish_git_prompt_color F2F0EC
set -g __fish_git_prompt_color_flags FFCC66
set -g __fish_git_prompt_color_prefix white
set -g __fish_git_prompt_color_suffix white
set -g __fish_git_prompt_showdirtystate true
set -g __fish_git_prompt_showuntrackedfiles true
set -g __fish_git_prompt_showstashstate true
set -g __fish_git_prompt_show_informative_status true
# Line 1
echo -n $white'╭─'$hotpink$USER$white' at '$orange$__fish_prompt_hostname$white' in '$limegreen(pwd)$turquoise
__fish_git_prompt " (%s)"
echo
# Line 2
echo -n $white'╰'
# support for virtual env name
if set -q VIRTUAL_ENV
echo -n "($turquoise"(basename "$VIRTUAL_ENV")"$white)"
end
echo -n $white'─'$__fish_prompt_char $normal
end

View File

@ -0,0 +1,56 @@
function fish_right_prompt
set -l exit_code $status
__tmux_prompt
if test $exit_code -ne 0
set_color red
else
set_color 666666
end
printf '%d' $exit_code
set_color 666666
printf ' < %s' (date +%H:%M:%S)
set_color normal
end
function __tmux_prompt
set multiplexer (_is_multiplexed)
switch $multiplexer
case screen
set pane (_get_screen_window)
case tmux
set pane (_get_tmux_window)
end
set_color 666666
if test -z $pane
echo -n ""
else
echo -n $pane' | '
end
end
function _get_tmux_window
tmux lsw | grep active | sed 's/\*.*$//g;s/: / /1' | awk '{ print $2 "-" $1 }' -
end
function _get_screen_window
set initial (screen -Q windows; screen -Q echo "")
set middle (echo $initial | sed 's/ /\n/g' | grep '\*' | sed 's/\*\$ / /g')
echo $middle | awk '{ print $2 "-" $1 }' -
end
function _is_multiplexed
set multiplexer ""
if test -z $TMUX
else
set multiplexer "tmux"
end
if test -z $WINDOW
else
set multiplexer "screen"
end
echo $multiplexer
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 617 KiB

View File

@ -0,0 +1,8 @@
sudo: required
before_install:
- sudo add-apt-repository -y ppa:fish-shell/release-2
- sudo apt-get update
- sudo apt-get -y install fish
script:
- curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisherman
- fish -c "fisher fishtape .; fishtape test/*.fish"

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2016 Jorge Bucaran
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,28 @@
[![Build Status][travis-badge]][travis-link]
[![Slack Room][slack-badge]][slack-link]
# Last_job_id
Get the id of one or more existing jobs
## Install
With [fisherman]
```
fisher last_job_id
```
## Usage
```fish
if set -l i (last_job_id --last)
printf "Most recent job: %%%i\n" $i
end
```
[travis-link]: https://travis-ci.org/fisherman/last_job_id
[travis-badge]: https://img.shields.io/travis/fisherman/last_job_id.svg
[slack-link]: https://fisherman-wharf.herokuapp.com/
[slack-badge]: https://fisherman-wharf.herokuapp.com/badge.svg
[fisherman]: https://github.com/fisherman/fisherman

View File

@ -0,0 +1,14 @@
function last_job_id -d "Get the id of one or more existing jobs"
builtin jobs $argv | command awk -v FS=\t '
/[0-9]+\t/{
aJobs[++nJobs] = $1
}
END {
for (i = 1; i <= nJobs; i++) {
print(aJobs[i])
}
exit nJobs == 0
}
'
end

View File

@ -0,0 +1,14 @@
last_job_id(1) -- Get the id of the last job to be started
==========================================================
## SYNOPSIS
last_job_id<br>
## USAGE
```fish
if set -l job_id (last_job_id)
printf "The last job to be started: %%%i\n" $job_id
end
```

View File

@ -0,0 +1,24 @@
test "$TESTNAME - Get the id of the last job to be started"
(
sleep 0.2&
set -l jobs_id (jobs -l | cut -d\t -f1)
echo "$jobs_id"
) = (last_job_id)
end
test "$TESTNAME - Set status to 1 if there are no jobs"
1 = (
while true
set -l has_jobs (jobs)
if test -z "$has_jobs"
break
end
end
last_job_id
echo $status
)
end

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2006 Marcel Bischoff
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,27 @@
[![Slack Room][slack-badge]][slack-link]
# termcolours
Simple function for fish to list available terminal colour names.
## Install
With [fisherman]
```
fisher termcolours
```
## Usage
```fish
termcolours
```
## Screenshot
![screenshot](https://cloud.githubusercontent.com/assets/8317250/15145024/309e173c-16ee-11e6-91fa-f0e493d77682.png)
[slack-link]: https://fisherman-wharf.herokuapp.com/
[slack-badge]: https://fisherman-wharf.herokuapp.com/badge.svg
[fisherman]: https://github.com/fisherman/fisherman

View File

@ -0,0 +1,11 @@
function __termcolours
set herrbischoff_tcolors (echo $TERM | grep -oE '2|4|8|16|32|64|128|256')
for i in (seq 0 (math $herrbischoff_tcolors-1))
printf "\x1b[38;5;%smcolour%s\n" $i $i
end
set -e herrbischoff_tcolors
end
function termcolours
__termcolours | pr --columns=4 -t -w100
end

View File

@ -0,0 +1,9 @@
sudo: required
before_install:
- sudo add-apt-repository -y ppa:fish-shell/release-2
- sudo apt-get update
- sudo apt-get -y install fish
script:
- curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher
- fish -c "fisher transfer"
- fish -c "transfer --help"

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2016 Sajjad Hashemian
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,31 @@
[fisher]: https://github.com/jorgebucaran/fisher
# Transfer
Upload to <https://transfer.sh>
## Install
With [fisher]
```
fisher sijad/transfer
```
## Usage
```fish
transfer my-file.txt
```
```fish
transfer my-file.txt my-file-new-name.txt
```
```fish
echo my message text | transfer my-message.txt
```
```fish
cat my-file.txt | transfer my-file-new-name.txt
```

View File

@ -0,0 +1 @@
getopts

View File

@ -0,0 +1,58 @@
function transfer -d "Upload to t.breizh.pm" -a file name
getopts $argv | while read -l 1 2
switch "$1"
case _
continue
case h help
echo "Usage: transfer [FILE] [NAME]"
echo
echo "Examples:"
echo " transfer my-file.txt"
echo " transfer my-file.txt my-file-new-name.txt"
echo " echo my message text | transfer my-message.txt"
echo " cat my-file.txt | transfer my-file-new-name.txt"
return
case \*
printf "transfer: '%s' is not a valid option\n" $1 >& 2
transfer --help >& 2
return 1
end
end
set -l tmp (mktemp -t transferXXX)
if test -z $name
if not isatty
set name $file
else if test -n "$file"
set name (basename $file)
end
end
if test -z $name
set name (random)
end
if not isatty
set file ""
end
set name (echo $name | sed -e 's/[^a-zA-Z0-9._-]/-/g')
set name (echo $name | sed -e 's/-\{1,\}/-/g')
if test -n "$file"
if not test -r "$file"
echo "transfer: can not read the file." > /dev/stderr
return 1
end
curl --progress-bar --upload-file $file https://t.breizh.pm/$name >> $tmp
else
curl --progress-bar --upload-file - https://t.breizh.pm/$name >> $tmp
end
cat $tmp
rm -f $tmp
end

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintstyle" mode="assign">
<const>hintslight</const>
</edit>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
<edit name="lcdfilter" mode="assign">
<const>lcddefault</const>
</edit>
<edit name="dpi" mode="assign">
<double>108</double>
</edit>
</match>
</fontconfig>

View File

@ -0,0 +1,66 @@
; Global settings
[general]
; Set the day and night screen temperatures
temp-day=5000
temp-night=4000
; Disable the smooth fade between temperatures when Redshift starts and stops.
; 0 will cause an immediate change between screen temperatures.
; 1 will gradually apply the new screen temperature over a couple of seconds.
fade=1
; Solar elevation thresholds.
; By default, Redshift will use the current elevation of the sun to determine
; whether it is daytime, night or in transition (dawn/dusk). When the sun is
; above the degrees specified with elevation-high it is considered daytime and
; below elevation-low it is considered night.
;elevation-high=3
;elevation-low=-6
; Custom dawn/dusk intervals.
; Instead of using the solar elevation, the time intervals of dawn and dusk
; can be specified manually. The times must be specified as HH:MM in 24-hour
; format.
;dawn-time=6:00-7:45
;dusk-time=18:35-20:15
; Set the screen brightness. Default is 1.0.
;brightness=0.9
; It is also possible to use different settings for day and night
; since version 1.8.
;brightness-day=0.7
;brightness-night=0.4
; Set the screen gamma (for all colors, or each color channel
; individually)
;gamma=0.8
;gamma=0.8:0.7:0.8
; This can also be set individually for day and night since
; version 1.10.
;gamma-day=0.8:0.7:0.8
;gamma-night=0.6
; Set the location-provider: 'geoclue2', 'manual'.
; The location provider settings are in a different section.
location-provider=manual
; Set the adjustment-method: 'randr', 'vidmode', 'drm', 'wayland'.
; 'randr' is the preferred X11 method, 'vidmode' is an older API
; that works in some cases when 'randr' does not.
; The adjustment method settings are in a different section.
adjustment-method=wayland
; Configuration of the location-provider:
; type 'gammastep -l PROVIDER:help' to see the settings.
; ex: 'gammastep -l manual:help'
; Keep in mind that longitudes west of Greenwich (e.g. the Americas)
; are negative numbers.
[manual]
lat=48.09104
lon=-1.63750
; Configuration of the adjustment-method
; type 'gammastep -m METHOD:help' to see the settings.
; example: 'gammastep -m randr:help'
; In this example, randr is configured to adjust only screen 0.
; Note that the numbering starts from 0, so this is actually the first screen.
; If this option is not specified, Redshift will try to adjust _all_ screens.

View File

@ -0,0 +1,5 @@
#!/bin/sh
case $1 in
period-changed)
exec dunstify -u low -r 6903 "Gammastep" "Period changed to $3"
esac

View File

@ -0,0 +1,17 @@
[Settings]
gtk-application-prefer-dark-theme=true
gtk-theme-name=Vertex-Dark
gtk-icon-theme-name=Vertex-Icons
gtk-font-name=IBM Plex Sans 14px
#gtk-font-name=xos4 Terminus 10
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=rgb
gtk-decoration-layout=:menu,appmenu,close
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR

63
.config/htop/htoprc Normal file
View File

@ -0,0 +1,63 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
htop_version=3.2.2
config_reader_min_version=3
fields=0 48 17 18 113 38 39 40 119 111 2 46 47 49 1
hide_kernel_threads=1
hide_userland_threads=1
hide_running_in_container=0
shadow_other_users=1
show_thread_names=0
show_program_path=1
highlight_base_name=1
highlight_deleted_exe=1
shadow_distribution_path_prefix=0
highlight_megabytes=1
highlight_threads=1
highlight_changes=0
highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=1
header_margin=1
screen_tabs=0
detailed_cpu_time=1
cpu_count_from_one=0
show_cpu_usage=1
show_cpu_frequency=1
show_cpu_temperature=1
degree_fahrenheit=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
enable_mouse=0
delay=15
hide_function_bar=0
header_layout=two_50_50
column_meters_0=LeftCPUs2 Blank CPU Memory Swap Blank Hostname System DateTime Blank Systemd Blank PressureStallCPUSome PressureStallMemorySome PressureStallIOSome
column_meter_modes_0=1 2 1 1 1 2 2 2 2 2 2 2 2 2 2
column_meters_1=RightCPUs2 Blank CPU Memory Swap Blank Uptime LoadAverage Tasks Blank DiskIO NetworkIO Blank PressureStallMemoryFull PressureStallIOFull
column_meter_modes_1=1 2 2 2 2 2 2 2 2 2 2 2 2 2 2
tree_view=1
sort_key=47
tree_sort_key=0
sort_direction=-1
tree_sort_direction=1
tree_view_always_by_pid=0
all_branches_collapsed=0
screen:Main=PID USER PRIORITY NICE OOM M_VIRT M_RESIDENT M_SHARE M_SWAP IO_RATE STATE PERCENT_CPU PERCENT_MEM TIME Command
.sort_key=PERCENT_MEM
.tree_sort_key=PID
.tree_view=1
.tree_view_always_by_pid=0
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=0
screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command
.sort_key=IO_RATE
.tree_sort_key=PID
.tree_view=0
.tree_view_always_by_pid=0
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=0

1
.config/i3-scrot.conf Normal file
View File

@ -0,0 +1 @@
scrot_dir=${HOME}/Images/Screenshots

View File

@ -1,27 +1,24 @@
# i3 config file (v4)
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
## Base16 Eighties
# Author: Chris Kempson (http://chriskempson.com)
#
# You can use these variables anywhere in the i3 configuration file.
set $base00 #2d2d2d
set $base01 #393939
set $base02 #515151
set $base03 #747369
set $base04 #a09f93
set $base05 #d3d0c8
set $base06 #e8e6df
set $base07 #f2f0ec
set $base08 #f2777a
set $base09 #f99157
set $base0A #ffcc66
set $base0B #99cc99
set $base0C #66cccc
set $base0D #6699cc
set $base0E #cc99cc
set $base0F #d27b53
set_from_resource $base00 i3wm.color0 #2d2d2d
set_from_resource $base01 i3wm.color18 #393939
set_from_resource $base02 i3wm.color19 #515151
set_from_resource $base03 i3wm.color8 #747369
set_from_resource $base04 i3wm.color20 #a09f93
set_from_resource $base05 i3wm.color7 #d3d0c8
set_from_resource $base06 i3wm.color21 #e8e6df
set_from_resource $base07 i3wm.color15 #f2f0ec
set_from_resource $base08 i3wm.color9 #f2777a
set_from_resource $base09 i3wm.color16 #f99157
set_from_resource $base0A i3wm.color3 #ffcc66
set_from_resource $base0B i3wm.color2 #99cc99
set_from_resource $base0C i3wm.color6 #66cccc
set_from_resource $base0D i3wm.color4 #6699cc
set_from_resource $base0E i3wm.color5 #cc99cc
set_from_resource $base0F i3wm.color17 #d27b53
# Basic color configuration using the Base16 variables for windows and borders.
# Property Name Border BG Text Indicator Child Border
@ -30,11 +27,11 @@ client.focused_inactive $base01 $base01 $base05 $base03 $base01
client.unfocused $base01 $base00 $base05 $base01 $base01
client.urgent $base08 $base08 $base00 $base08 $base08
client.placeholder $base00 $base00 $base05 $base00 $base00
client.background $base07
client.background $base00
# Set mod key (Mod1=<Alt>, Mod4=<Super>)
set $mod Mod4
exec --no-startup-id urxvtd
exec --no-startup-id numlockx on
# set default desktop layout (default is tiling)
# workspace_layout tabbed <stacking|tabbed>
@ -44,38 +41,40 @@ new_window normal 1
new_float normal 1
# Hide borders
hide_edge_borders none
hide_edge_borders vertical
# change borders
bindsym $mod+u border none
bindsym $mod+y border pixel 1
bindsym $mod+n border normal 1
bindsym $mod+Shift+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 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso10646-1
# font xft:Cantarell
font xft:IBM Plex Sans, DejaVu Sans 14px
#font xft:Terminus, DejaVu Sans Mono 16px
# Use Mouse+$mod to drag floating windows
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec terminal -e fish
bindsym $mod+Ctrl+Return exec terminal
bindsym $mod+Shift+Return exec terminal -fn -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso10646-1 -e fish
# start a urxvtc
bindsym $mod+Return exec urxvtc -sl 65535 -e fish
bindsym $mod+Shift+Return exec urxvtc -sl 65535
#bindsym $mod+Shift+Return exec urxvtc -sl 65535 -fn -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso10646-1 -e fish
# kill focused window
bindsym $mod+Shift+q kill
# start program launcher
# bindsym $mod+d exec --no-startup-id dmenu_recent -f -nb '#2d2d2d' -nf '#747369' -sb '#6699cc' -sf '#2d2d2d' -p 'execute' -fn 'xos4 Terminus'
bindsym $mod+d exec --no-startup-id dmenu_recent -f -fn 'Fira Mono'
bindcode $mod+40 exec --no-startup-id dmenu_recent
# launch desktop menu
bindsym $mod+z exec --no-startup-id i3-dmenu-desktop --dmenu='dmenu -f -p "Launch:" -i -fn "Fira Mono" -nb "#2d2d2d" -nf "#747369" -sb "#6699cc" -sf "#2d2d2d"'
bindsym $mod+z exec --no-startup-id i3-dmenu-desktop --dmenu='dmenu -p "Launch:"'
# launch without history
bindsym $mod+Ctrl+d exec --no-startup-id dmenu_run -f -p "Execute:" -nb '#2d2d2d' -nf '#747369' -sb '#6699cc' -sf '#2d2d2d' -fn 'Fira Mono'
bindcode $mod+Ctrl+40 exec --no-startup-id dmenu_run -p "Execute:"
# HUD
# exec ~/.i3/i3-appmenu-service.py
@ -87,46 +86,67 @@ 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 terminal -e 'alsamixer'
exec --no-startup-id pulseaudio
#bindsym $mod+Ctrl+m exec urxvtc -e 'alsamixer'
#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
################################################################################################
# Screen brightness controls
bindsym XF86MonBrightnessUp exec --no-startup-id echo $((( $(cat /sys/class/backlight/intel_backlight/actual_brightness) + 10 ))) > /sys/class/backlight/intel_backlight/brightness || echo 937 > /sys/class/backlight/intel_backlight/brightness
bindsym XF86MonBrightnessDown exec --no-startup-id echo $((( $(cat /sys/class/backlight/intel_backlight/actual_brightness) - 10 ))) > /sys/class/backlight/intel_backlight/brightness || echo 0 > /sys/class/backlight/intel_backlight/brightness
#bindsym XF86MonBrightnessUp exec --no-startup-id echo $((( $(cat /sys/class/backlight/intel_backlight/actual_brightness) + 10 ))) > /sys/class/backlight/intel_backlight/brightness || echo 937 > /sys/class/backlight/intel_backlight/brightness
#bindsym XF86MonBrightnessDown exec --no-startup-id echo $((( $(cat /sys/class/backlight/intel_backlight/actual_brightness) - 10 ))) > /sys/class/backlight/intel_backlight/brightness || echo 0 > /sys/class/backlight/intel_backlight/brightness
#bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 5%
#bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 5%
bindsym $mod+Home exec --no-startup-id pkill -x -USR1 redshift
# Volume controls
bindsym XF86AudioRaiseVolume exec --no-startup-id BLOCK_BUTTON=4 ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
bindsym XF86AudioLowerVolume exec --no-startup-id BLOCK_BUTTON=5 ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
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
bindsym XF86AudioRaiseVolume exec --no-startup-id button=4 ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
bindsym XF86AudioLowerVolume exec --no-startup-id button=5 ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
bindsym Shift+XF86AudioRaiseVolume exec --no-startup-id mpc volume +2
bindsym Shift+XF86AudioLowerVolume exec --no-startup-id mpc volume -2
bindsym XF86AudioMute exec --no-startup-id button=2 ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
bindsym XF86AudioMicMute exec --no-startup-id button=2 instance=mic ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
bindsym XF86HomePage exec --no-startup-id button=2 instance=mic ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
# Media controls
bindsym XF86AudioNext exec --no-startup-id mpc next
bindsym XF86AudioPrev exec --no-startup-id mpc prev
bindsym XF86AudioPlay exec --no-startup-id mpc toggle
bindsym $mod+XF86AudioPlay exec --no-startup-id mpc stop
# Notifications
bindsym Ctrl+space exec dunstctl close
bindsym Ctrl+Shift+space exec dunstctl close-all
bindsym Ctrl+Shift+dollar exec dunstctl context
bindsym Ctrl+dollar exec dunstctl history-pop
#bindsym $mod+Pause exec dunstctl set-paused toggle
# Beep tog
bindsym $mod+Delete exec --no-startup-id $HOME/.local/bin/toggle-beep && pkill -SIGRTMIN+14 i3blocks
# 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
# bindsym --release Caps_Lock exec --no-startup-id pkill -SIGRTMIN+11 i3blocks
# bindsym --release Num_Lock exec --no-startup-id pkill -SIGRTMIN+12 i3blocks
# Start Applications
bindsym $mod+Ctrl+b exec i3-sensible-terminal +sb -e 'bmenu'
bindsym $mod+Ctrl+b exec urxvtc -e bmenu
bindsym $mod+F2 exec $BROWSER
bindsym $mod+Shift+F2 exec $BROWSER --private-window
bindsym $mod+Ctrl+F2 exec surf "https://www.qwant.com?l=fr&h=1&hc=2&a=1&s=1&b=0&i=1&r=FR&sr=fr"
bindsym $mod+Shift+F2 exec $BROWSER -P tmp --no-remote
#bindsym $mod+Ctrl+F2 exec surf "https://www.qwant.com?l=fr&h=1&hc=2&a=1&s=1&b=0&i=1&r=FR&sr=fr"
bindsym $mod+Ctrl+F2 exec epiphany
bindsym $mod+Ctrl+F3 exec pcmanfm
bindsym $mod+F3 exec i3-sensible-terminal +sb -e ranger
bindsym $mod+F4 exec i3-sensible-terminal +sb -e bashmount
bindsym $mod+F3 exec urxvtc -e bash -ic ranger
bindsym $mod+F4 exec urxvtc -e bashmount
bindsym $mod+Shift+F3 exec gksu pcmanfm
bindsym $mod+F5 exec i3-sensible-terminal +sb -e 'mocp'
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 'restart dunst'"
bindsym $mod+F5 exec urxvtc -e ncmpcpp
bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'Dunst' 'Restarted'"
bindsym Print exec --no-startup-id i3-scrot
bindsym $mod+Print --release exec --no-startup-id i3-scrot -w
bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s
bindsym $mod+Shift+h exec dctl
bindsym $mod+Ctrl+x --release exec --no-startup-id xkill
bindsym XF86MyComputer exec passmenu --type -l 10
bindsym $mod+l exec passmenu --type -l 10 $DMENU_OPTIONS
#set $mode_ide (a)tom (t)exmaker
#mode "$mode_ide" {
@ -141,10 +161,10 @@ bindsym XF86MyComputer exec passmenu --type -l 10
# focus_follows_mouse no
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+m focus right
#bindsym $mod+j focus left
#bindsym $mod+k focus down
#bindsym $mod+l focus up
#bindsym $mod+m focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
@ -153,10 +173,10 @@ bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+m move right
#bindsym $mod+Shift+j move left
#bindsym $mod+Shift+k move down
#bindsym $mod+Shift+l move up
#bindsym $mod+Shift+m move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
@ -176,6 +196,7 @@ bindsym $mod+q split toggle
# toggle fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
bindsym $mod+Shift+f fullscreen toggle global
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
@ -195,11 +216,11 @@ bindsym $mod+Shift+s sticky toggle
bindsym $mod+a focus parent
# move the currently focused window to the scratchpad
bindsym $mod+Shift+twosuperior move scratchpad
bindsym $mod+Shift+dollar move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+twosuperior scratchpad show
bindsym $mod+dollar scratchpad show
#navigate workspaces next / previous
bindsym $mod+Ctrl+Right workspace next
@ -250,39 +271,40 @@ bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
force_display_urgency_hint 2000 ms
workspace $ws1 output DisplayPort-0
workspace $ws2 output DisplayPort-0
workspace $ws3 output DisplayPort-0
workspace $ws4 output DisplayPort-0
workspace $ws5 output DisplayPort-0
workspace $ws6 output DisplayPort-0
workspace $ws7 output DisplayPort-1
workspace $ws8 output DisplayPort-1
# Open applications on specific workspaces
#assign [class="Claws-mail"] $ws5
#assign [class="Surf"] $ws2
#assign [class="Vlc"] $ws3
#assign [class="Atom"] $ws4
#assign [class="projectM-pulseaudio"] $ws4
# Open specific applications in floating mode
#for_window [title="alsamixer"] floating enable border pixel 1
#for_window [class="Calamares"] floating enable border normal
#for_window [class="Clipgrab"] floating enable
for_window [title="File Transfer*"] floating enable
for_window [class="Galculator"] floating enable border pixel 1
#for_window [class="GParted"] floating enable border normal
#for_window [title="i3_help"] floating enable sticky enable border normal
#for_window [class="octopi"] floating enable
#for_window [class="Pamac-manager"] floating enable
for_window [class="Pavucontrol"] floating enable
for_window [class="qt5ct"] floating enable sticky enable border normal
for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal
for_window [class="Simple-scan"] floating enable border normal
for_window [class="(?i)TransportFever2"] border none fullscreen disable
for_window [class="(?i)System-config-printer.py"] floating enable border normal
for_window [class="Skype"] floating enable border normal
for_window [class="Thus"] floating enable border normal
for_window [class="Timeset-gui"] floating enable border normal
#for_window [class="(?i)virtualbox"] floating enable border normal
for_window [class="Xfburn"] floating enable
for_window [class="(?i)variety"] floating enable
for_window [class="Yad"] floating enable
# for_window [class="Firefox"] border pixel 1
for_window [title="(?i)pinentry"] floating enable
for_window [title="(?i)Minecraft"] border none
# switch to workspace with urgent window automatically
for_window [urgent=latest] focus
for_window [instance="newsboat"] move scratchpad
# Games
for_window [class="(?i)factorio"] border none
for_window [class="(?i)Rail Route.x86"] border none
# Icons
for_window [all] title_window_icon on
# reload the configuration file
bindsym $mod+Shift+c reload
@ -299,9 +321,9 @@ set $mode_system (l)ock, (e)xit, (s)uspend, (h)ibernate, (r)eboot, (S)hutdown
mode "$mode_system" {
bindsym l exec --no-startup-id xscreensaver-command -lock, mode "default"
#bindsym l exec --no-startup-id i3lock-wrapper -e, mode "default"
bindsym s exec --no-startup-id xscreensaver-command -lock && systemctl suspend, mode "default"
bindsym s exec --no-startup-id systemctl suspend, mode "default"
bindsym e exec --no-startup-id i3-msg exit, mode "default"
bindsym h exec --no-startup-id xscreensaver-command -lock && systemctl hibernate, mode "default"
bindsym h exec --no-startup-id systemctl hibernate, mode "default"
bindsym r exec --no-startup-id systemctl reboot, mode "default"
bindsym Shift+s exec --no-startup-id systemctl poweroff, mode "default"
@ -335,59 +357,48 @@ mode "resize" {
}
# Lock screen
bindsym $mod+9 exec --no-startup-id xscreensaver-command -lock
bindsym $mod+9 exec --no-startup-id xscreensaver-command -activate
# Autostart applications
## adjustment of i3bar battery reading (only run at the very first login):
#exec --no-startup-id /usr/bin/adjust_i3statusconf
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec --no-startup-id compton -b
#exec --no-startup-id xfce4-power-manager
exec --no-startup-id clipit
# exec_always --no-startup-id sbxkb
exec --no-startup-id conky
# exec --no-startup-id start_conky_green
exec --no-startup-id xscreensaver -no-splash
#exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec --no-startup-id conky --config "$HOME/.config/conky/conkyrc1"
exec --no-startup-id conky --config "$HOME/.config/conky/conkyrc2"
exec_always --no-startup-id setcursor
exec claws-mail
exec ring.cx -r
exec --no-startup-id sleep 10 && i3-msg '[class="Gnome-ring"] move scratchpad'
#exec zeal
#exec --no-startup-id qbittorrent
exec --no-startup-id sleep 2 && urxvtc +sb -e newsboat
exec --no-startup-id sleep 5 && i3-msg '[class="URxvt"] move scratchpad'
#exec --no-startup-id variety
#exec --no-startup-id while true; do feh --bg-center $HOME/Images/wallpapers/396396-blackangel.jpg; sleep 5m; feh --bg-max $HOME/Images/wallpapers/other-clock-tower-time-brick-gears-steampunk-high-quality-picture.jpg; sleep 5m; done
exec --no-startup-id xinput --disable "AlpsPS/2 ALPS DualPoint TouchPad"
exec claws-mail --online
exec --no-startup-id urxvtc -name newsboat -e newsboat
exec --no-startup-id redshift-gtk
#exec --no-startup-id ${HOME}/.screenlayout/home.sh
#exec --no-startup-id sleep 5 && mocp -S
#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 btpd --bw-out 40 --max-peers 50
exec --no-startup-id nm-applet
exec --no-startup-id sudo droidmote 2302 1234
exec --no-startup-id gdfs $HOME/.google_drive $HOME/Google_Drive/
exec --no-startup-id system-config-printer-applet
exec --no-startup-id sleep 1m && steam-native -silent -noverifyfiles -language french
#exec --no-startup-id SVPManager
#exec --no-startup-id hp-systray -x
exec --no-startup-id sleep 1m && play "$HOME/Musique/WELCOME BACK.wav"
exec --no-startup-id variety
#exec --no-startup-id sleep 5m && qbittorrent
# Start i3bar to display a workspace bar (plus the system information i3status if available)
bar {
# position top
status_command i3blocks
#status_command 2>/tmp/i3blocks.err i3blocks
## please set your primary output first. Example: 'xrandr --output eDP1 --primary'
tray_output primary
tray_output eDP1
# output eDP1
# output DisplayPort-0
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 14px
font xft:Terminus, DejaVu Sans Mono 16px
strip_workspace_numbers yes
colors {
background $base00
separator $base01
statusline $base04
separator $base02
statusline $base05
# State Border BG Text
focused_workspace $base05 $base0D $base00
@ -401,3 +412,7 @@ bar {
# hide/unhide i3status bar
bindsym $mod+semicolon bar mode toggle
#gaps inner 10
#gaps outer 0
#smart_gaps on

View File

@ -11,7 +11,6 @@
# full_text
# instance
# interval
# label
# min_width
# name
# separator
@ -24,61 +23,67 @@
#
# The top properties below are applied to every block, but can be overridden.
# Each block command defaults to the script name to avoid boilerplate.
command=${HOME}/.i3blocks/$BLOCK_NAME
separator_block_width=15
markup=none
command=${HOME}/.i3blocks/$name
separator_block_width=11
markup=pango
#[window_title]
#command=echo $(xdotool getactivewindow getwindowname)
#interval=1
[empty_block]
command=echo " "
interval=once
# Generic media player support
#
# This displays "ARTIST - SONG" if a music is playing.
# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others.
[mpd]
#instance=spotify
interval=persist
signal=13
#markup=none
# CPU usage
#
# The script may be called with -w and -c switches to specify thresholds,
# see the script for details.
[cpu_usage]
#label=
label=cpu
interval=1
#min_width= 99.99%
#separator=false
[load_average]
#label=
label=load
interval=1
interval=5
# Temperature
#
# Support multiple chips, though lm-sensors.
# The script may be called with -w and -c switches to specify thresholds,
# see the script for details.
[temperature]
#label=
label=cpu
instance=coretemp-isa-0000
interval=3
separator=false
[temperature]
label=gpu
instance=radeon-pci-0300
interval=3
#[temperature]
#instance=coretemp-isa-0000
#interval=3
#separator=false
#
#[temperature]
#instance=radeon-pci-0300
#interval=3
# Memory usage
#
# The type defaults to "mem" if the instance is not specified.
[memory]
label=ram
separator=false
interval=1
interval=2
#min_width=RAM 99.99%
[memory]
label=swap
instance=swap
#separator=false
interval=1
#min_width=SWAP 99.99%
##separator=false
interval=2
##min_width=swap 99.9%
# Disk usage
#
@ -86,42 +91,48 @@ interval=1
# The script may be called with a optional argument to set the alert
# (defaults to 10 for 10%).
#[disk]
#label=
#instance=/
#interval=30
#separator=false
#[disk]
#label=
#instance=/mnt/data
#interval=30
# Packages to update
[updates]
#label=
interval=300
[internet]
interval=30
separator=false
[bandwidth]
interval=2
# Network interface monitoring
#
# If the instance is not specified, use the interface used for default route.
# The address can be forced to IPv4 or IPv6 with -4 or -6 switches.
#[iface]
#label=wlan
#instance=wlp1s0
#interval=10
#separator=false
#[public_ip]
#label=
#interval=60
#separator=false
#[vpn]
#interval=30
[vpn]
interval=30
separator=false
#[bandwidth]
#interval=1
#markup=none
# Packages to update
[updates]
interval=600
#[wifi]
##label=
##label=wlan
#instance=wlp1s0
#interval=3
#separator=false
@ -140,20 +151,14 @@ interval=300
# Battery indicator
#
# The battery instance defaults to 0.
[battery]
#label=BAT
#label=⚡
instance=0
interval=5
#[battery]
#instance=0
#interval=5
# Generic media player support
#
# This displays "ARTIST - SONG" if a music is playing.
# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others.
[mocp]
#instance=spotify
interval=20
signal=13
#[batterybar]
#[battery]
#interval=10
#min_width="bat ██████"
# OpenVPN support
#
@ -161,44 +166,78 @@ signal=13
#[openvpn]
#interval=20
# Volume indicator
#
# The first parameter sets the step (and units to display)
# The second parameter overrides the mixer selection
# See the script for details.
[toggle-sink]
interval=30
separator=false
separator_block_width=0
[volume]
instance=Master
#instance=vol
#instance=PCM
interval=once
#label=vol
interval=30
signal=10
separator=false
[volume]
instance=Capture
instance=mic
#instance=PCM
interval=once
interval=30
signal=10
# Key indicators
#
# Add the following bindings to i3 config file:
#
# bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks
# bindsym --release Num_Lock exec pkill -SIGRTMIN+12 i3blocks
[keyindicator]
instance=CAPS
[dunst]
interval=60
[bepo]
interval=60
[beep]
interval=once
signal=11
signal=14
separator=false
[keyindicator]
instance=NUM
[rgb]
interval=once
signal=12
# [keyindicator]
# instance=Caps
# interval=once
# signal=11
# separator=false
#
# [keyindicator]
# instance=Num
# interval=once
# signal=12
# Date Time
#
[time]
interval=1
markup=none
#[steam]
#full_text=
##command=swaymsg -q exec "steam-native +open steam://open/minigameslist"
#command=swaymsg -q exec "steam-native"
#interval=0
#separator=false
#
#[claws-mail]
#interval=60
#signal=11
#separator=false
#
#[variety]
#interval=30
#signal=12

424
.config/mpd/mpd.conf Normal file
View File

@ -0,0 +1,424 @@
# 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 "syslog"
#
# 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 than 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"
#
# Suppress all messages below the given threshold. Use "verbose" for
# troubleshooting. Available setting arguments are "notice", "info", "verbose",
# "warning" and "error".
#
#log_level "notice"
#
# Setting "restore_paused" to "yes" puts MPD into pause mode instead
# of starting playback after startup.
#
restore_paused "yes"
#
# 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 #######################################################################
#
# An example of a database section instead of the old 'db_file' setting.
# It enables mounting other storages into the music directory.
#
database {
plugin "simple"
path "~/.mpd/db"
cache_directory "~/.mpd/cache"
}
#
# An example of database config for a sattelite setup
#
#music_directory "nfs://fileserver.local/srv/mp3"
#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 "PipeWire Pulse"
# server "remote_server" # optional
# sink "remote_server_sink" # optional
# media_role "media_role" #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 a wasapi output (Windows multimedia API).
#
#audio_output {
# type "wasapi"
# name "My WASAPI output"
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
# or
## device "0" # optional
## Exclusive mode blocks all other audio source, and get best audio quality without resampling.
## exclusive "no" # optional
## Enumerate all devices in log.
## enumerate "no" # 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
#}
#
# ncmpcpp visualization
audio_output {
type "fifo"
name "ncmpcpp_fifo"
path "/run/user/1000/mpd.fifo"
format "44100:16:2"
}
###############################################################################
# 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 <https://wiki.hydrogenaud.io/index.php?title=Replaygain> 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 "no"
#
###############################################################################
# Character Encoding ##########################################################
#
# If file or directory names do not display correctly for your locale then you
# may need to modify this setting.
#
#filesystem_charset "UTF-8"
#
###############################################################################

184
.config/mpv/input.conf Normal file
View File

@ -0,0 +1,184 @@
# 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
#MBTN_LEFT ignore # don't do anything
#MBTN_LEFT_DBL cycle fullscreen # toggle fullscreen
#MBTN_RIGHT cycle pause # toggle pause/playback mode
#MBTN_BACK playlist-prev # skip to the previous file
#MBTN_FORWARD playlist-next # skip to the next file
# 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
#WHEEL_UP seek 10 # seek 10 seconds forward
#WHEEL_DOWN seek -10 # seek 10 seconds backward
#WHEEL_LEFT add volume -2
#WHEEL_RIGHT add volume 2
## Seek units are in seconds, but note that these are limited by keyframes
#RIGHT seek 5 # seek 5 seconds forward
#LEFT seek -5 # seek 5 seconds backward
#UP seek 60 # seek 1 minute forward
#DOWN seek -60 # seek 1 minute backward
# 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 # seek exactly 1 second forward
#Shift+LEFT no-osd seek -1 exact # seek exactly 1 second backward
#Shift+UP no-osd seek 5 exact # seek exactly 5 seconds forward
#Shift+DOWN no-osd seek -5 exact # seek exactly 5 seconds backward
#Ctrl+LEFT no-osd sub-seek -1 # seek to the previous subtitle
#Ctrl+RIGHT no-osd sub-seek 1 # seek to the next subtitle
#Ctrl+Shift+LEFT sub-step -1 # change subtitle timing such that the previous subtitle is displayed
#Ctrl+Shift+RIGHT sub-step 1 # change subtitle timing such that the next subtitle is displayed
#Alt+left add video-pan-x 0.1 # move the video right
#Alt+right add video-pan-x -0.1 # move the video left
#Alt+up add video-pan-y 0.1 # move the video down
#Alt+down add video-pan-y -0.1 # move the video up
#Alt++ add video-zoom 0.1 # zoom in
#Alt+- add video-zoom -0.1 # zoom out
#Alt+BS set video-zoom 0 ; set video-pan-x 0 ; set video-pan-y 0 # reset zoom and pan settings
#PGUP add chapter 1 # seek to the next chapter
#PGDWN add chapter -1 # seek to the previous chapter
#Shift+PGUP seek 600 # seek 10 minutes forward
#Shift+PGDWN seek -600 # seek 10 minutes backward
#[ multiply speed 1/1.1 # decrease the playback speed
#] multiply speed 1.1 # increase the playback speed
#{ multiply speed 0.5 # halve the playback speed
#} multiply speed 2.0 # double the playback speed
#BS set speed 1.0 # reset the speed to normal
#Shift+BS revert-seek # undo the previous (or marked) seek
#Shift+Ctrl+BS revert-seek mark # mark the position for revert-seek
#q quit
#Q quit-watch-later # exit and remember the playback position
#q {encode} quit 4
#ESC set fullscreen no # leave fullscreen
#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 # toggle pause/playback mode
#> playlist-next # skip to the next file
#ENTER playlist-next # skip to the next file
#< playlist-prev # skip to the previous file
#O no-osd cycle-values osd-level 3 1 # toggle displaying the OSD on user interaction or always
#o show-progress # show playback progress
#P show-progress # show playback progress
#i script-binding stats/display-stats # display information and statistics
#I script-binding stats/display-stats-toggle # toggle displaying information and statistics
#` script-binding console/enable # open the console
#z add sub-delay -0.1 # shift subtitles 100 ms earlier
#Z add sub-delay +0.1 # delay subtitles by 100 ms
#x add sub-delay +0.1 # delay subtitles by 100 ms
#ctrl++ add audio-delay 0.100 # change audio/video sync by delaying the audio
#ctrl+- add audio-delay -0.100 # change audio/video sync by shifting the audio earlier
#Shift+g add sub-scale +0.1 # increase the subtitle font size
#Shift+f add sub-scale -0.1 # decrease the subtitle font size
#9 add volume -2
#/ add volume -2
#0 add volume 2
#* add volume 2
#m cycle mute # toggle 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 current-window-scale 0.5 # halve the window size
#Alt+1 set current-window-scale 1.0 # reset the window size
#Alt+2 set current-window-scale 2.0 # double the window size
#d cycle deinterlace # toggle the deinterlacing filter
#r add sub-pos -1 # move subtitles up
#R add sub-pos +1 # move subtitles down
#t add sub-pos +1 # move subtitles down
#v cycle sub-visibility # hide or show the subtitles
#Alt+v cycle secondary-sub-visibility # hide or show the secondary subtitles
#V cycle sub-ass-vsfilter-aspect-compat # toggle stretching SSA/ASS subtitles with anamorphic videos to match the historical renderer
#u cycle-values sub-ass-override "force" "no" # toggle overriding SSA/ASS subtitle styles with the normal styles
#j cycle sub # switch subtitle track
#J cycle sub down # switch subtitle track backwards
#SHARP cycle audio # switch audio track
#_ cycle video # switch video track
#T cycle ontop # toggle placing the video on top of other windows
#f cycle fullscreen # toggle fullscreen
#s screenshot # take a screenshot of the video in its original resolution with subtitles
#S screenshot video # take a screenshot of the video in its original resolution without subtitles
#Ctrl+s screenshot window # take a screenshot of the window with OSD and subtitles
#Alt+s screenshot each-frame # automatically screenshot every frame; issue this command again to stop taking screenshots
#w add panscan -0.1 # decrease panscan
#W add panscan +0.1 # shrink black bars by cropping the video
#e add panscan +0.1 # shrink black bars by cropping the video
#A cycle-values video-aspect-override "16:9" "4:3" "2.35:1" "-1" # cycle the video aspect ratio ("-1" is the container aspect)
#POWER quit
#PLAY cycle pause # toggle pause/playback mode
#PAUSE cycle pause # toggle pause/playback mode
#PLAYPAUSE cycle pause # toggle pause/playback mode
#PLAYONLY set pause no # unpause
#PAUSEONLY set pause yes # pause
#STOP quit
#FORWARD seek 60 # seek 1 minute forward
#REWIND seek -60 # seek 1 minute backward
#NEXT playlist-next # skip to the next file
#PREV playlist-prev # skip to the previous file
#VOLUME_UP add volume 2
#VOLUME_DOWN add volume -2
#MUTE cycle mute # toggle mute
#CLOSE_WIN quit
#CLOSE_WIN {encode} quit 4
#ctrl+w quit
#E cycle edition # switch edition
#l ab-loop # set/clear A-B loop points
#L cycle-values loop-file "inf" "no" # toggle infinite looping
#ctrl+c quit 4
#DEL script-binding osc/visibility # cycle OSC visibility between never, auto (mouse-move) and always
#ctrl+h cycle-values hwdec "auto" "no" # toggle hardware decoding
#F8 show-text ${playlist} # show the playlist
#F9 show-text ${track-list} # show the list of video, audio and sub tracks
#
# Legacy bindings (may or may not be removed in the future)
#
#! add chapter -1 # seek to the previous chapter
#@ add chapter 1 # seek to the next chapter
#
# Not assigned by default
# (not an exhaustive list of unbound commands)
#
# ? cycle sub-forced-only # toggle DVD forced subs
# ? stop # stop playback (quit or enter idle mode)
c script-binding uosc/toggle-progress
tab script-binding uosc/toggle-ui
B script-message-to 'uosc' 'disable-elements' 'user' 'buffering_indicator,'
b script-message-to 'uosc' 'disable-elements' 'user' ''

53
.config/mpv/mpv.conf Normal file
View File

@ -0,0 +1,53 @@
# Vidéo
profile=gpu-hq
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
#video-sync=display-resample
# Interpolation
# interpolation
# tscale=oversample
# Codecs
hwdec=auto-copy
hwdec-codecs=all
# Audio
audio-channels=stereo
alang=fr,fre,fra
# Sous-titres
sub-back-color=0.0/0.0/0.0/0.5
sub-use-margins
sub-file-paths=~/Sous-titres/
sub-font=IBM Plex Sans
sub-font-size=25
sub-margin-y=10
slang=en
ytdl-raw-options=write-auto-subs=
# Cache
cache=yes
cache-pause
cache-pause-wait=5
cache-pause-initial=yes
demuxer-max-bytes=512MiB
demuxer-readahead-secs=20
prefetch-playlist=yes
# Autre
input-ipc-server=/tmp/mpvsocket
hr-seek-framedrop=no
#osd-msg3=${media-title}${?chapter:\n ${chapter-metadata/by-key/title}}\n${time-pos} / ${playtime-remaining}
#osd-font-size=25
screenshot-directory=~/Images/Screenshots/MPV
title=${?chapter:${chapter-metadata/by-key/title} | }${media-title} | mpv
# UI (en cas dUI custom)
osc=no
osd-bar=no
border=no
# TV Free
rtsp-transport=lavf

View File

@ -0,0 +1 @@
title=${?media-title:${media-title}}${!media-title:${filename}}${?chapter: : ${chapter}}

View File

@ -0,0 +1,37 @@
# Socket path (leave empty for auto)
socket=
# Thumbnail path (leave empty for auto)
thumbnail=
# Maximum thumbnail size in pixels (scaled down to fit)
# Values are scaled when hidpi is enabled
max_height=200
max_width=200
# Apply tone-mapping, no to disable
tone_mapping=auto
# Overlay id
overlay_id=42
# Spawn thumbnailer on file load for faster initial thumbnails
spawn_first=no
# Close thumbnailer process after an inactivity period in seconds, 0 to disable
quit_after_inactivity=0
# Enable on network playback
network=yes
# Enable on audio playback
audio=no
# Enable hardware decoding
hwdec=yes
# Windows only: use native Windows API to write to pipe (requires LuaJIT)
direct_io=no
# Custom path to the mpv executable
mpv_path=mpv

View File

@ -0,0 +1,319 @@
# Sets the height of the rectangular area at the bottom of the screen that expands
# the progress bar and shows playback time information when the mouse is hovered
# over it.
hover-zone-height=40
# Sets the height of the rectangular area at the top of the screen that shows the
# file name and system time when the mouse is hovered over it.
top-hover-zone-height=40
# Default style that is applied to all UI elements. A string of ASS override tags.
# Individual elements have their own style settings which override the tags here.
# Changing the font will likely require changing the hover-time margin settings
# and the offscreen-pos settings.
#
# Here are some useful ASS override tags (omit square brackets):
# \fn[Font Name]: sets the font to the named font.
# \fs[number]: sets the font size to the given number.
# \b[1/0]: sets the text bold or not (\b1 is bold, \b0 is regular weight).
# \i[1/0]: sets the text italic or not (same semantics as bold).
# \bord[number]: sets the outline width to the given number (in pixels).
# \shad[number]: sets the shadow size to the given number (pixels).
# \c&H[BBGGRR]&: sets the fill color for the text to the given color (hex pairs in
# the order, blue, green, red).
# \3c&H[BBGGRR]&: sets the outline color of the text to the given color.
# \4c&H[BBGGRR]&: sets the shadow color of the text to the given color.
# \alpha&H[AA]&: sets the line's transparency as a hex pair. 00 is fully opaque
# and FF is fully transparent. Some UI elements are composed of
# multiple layered lines, so adding transparency may not look good.
# For further granularity, \1a&H[AA]& controls the fill opacity,
# \3a&H[AA]& controls the outline opacity, and \4a&H[AA]& controls
# the shadow opacity.
default-style=\fnIBM Plex Mono\b1\bord2\shad0\fs30\c&HFC799E&\3c&H2D2D2D&
# Controls whether or not the progress bar is drawn at all. If this is disabled,
# it also (naturally) disables the click-to-seek functionality.
enable-bar=yes
# Causes the bar to not be drawn unless the mouse is hovering over it or a
# request-display call is active. This is somewhat redundant with setting bar-
# height-inactive=0, except that it can allow for very rudimentary context-
# sensitive behavior because it can be toggled at runtime. For example, by using
# the binding `f cycle pause; script-binding progressbar/toggle-inactive-bar`, it
# is possible to have the bar be persistently present only in windowed or
# fullscreen contexts, depending on the default setting.
bar-hide-inactive=no
# Sets the height of the bar display when the mouse is not in the active zone and
# there is no request-display active. A value of 0 or less will cause bar-hide-
# inactive to be set to true and the bar height to be set to 1. This should result
# in the desired behavior while avoiding annoying debug logging in mpv (libass
# does not like zero-height objects).
bar-height-inactive=3
# Sets the height of the bar display when the mouse is in the active zone or
# request-display is active. There is no logic attached to this, so 0 or negative
# values may have unexpected results.
bar-height-active=8
# If greater than zero, changes the progress bar style to be a small segment
# rather than a continuous bar and sets its width.
progress-bar-width=0
# Affects precision of seeks due to clicks on the progress bar. Should be 'exact' or
# 'keyframes'. Exact is slightly slower, but won't jump around between two
# different times when clicking in the same place.
#
# Actually, this gets passed directly into the `seek` command, so the value can be
# any of the arguments supported by mpv, though the ones above are the only ones
# that really make sense.
seek-precision=exact
# Causes the progress bar background layer to automatically size itself to the
# tallest of the cache or progress bars. Useful for improving contrast but can
# make the bar take up more screen space. Has no effect if the cache bar height is
# less than the bar height.
bar-background-adaptive=yes
# Placement of the cache bar. Valid values are 'overlay' and 'underlay'.
#
# 'overlay' causes the cache bar to be drawn on top of the foreground layer of the
# bar, allowing the display of seek ranges that have already been encountered.
#
# 'underlay' draws the cache bar between the foreground and background layers. Any
# demuxer cache ranges that are prior to the current playback point will not be
# shown. This matches the previous behavior.
bar-cache-position=overlay
# Sets the height of the cache bar display when the mouse is not in the active
# zone and there is no request-display active. Useful in combination with bar-
# cache-position to control whether or not the cache bar is occluded by (or
# occludes) the progress bar.
bar-cache-height-inactive=3
# Sets the height of the cache bar display when the mouse is in the active zone or
# request-display is active. Useful in combination with bar-cache- position to
# control whether or not the cache bar is occluded by (or occludes) the progress
# bar.
bar-cache-height-active=8
# A string of ASS override tags that get applied to all three layers of the bar:
# progress, cache, and background. You probably don't want to remove \bord0 unless
# your default-style includes it.
bar-default-style=\bord0\shad0
# A string of ASS override tags that get applied only to the progress layer of the
# bar.
bar-foreground-style=
# A string of ASS override tags that get applied only to the cache layer of the
# bar, particularly the part of the cache bar that is behind the current playback
# position. The default sets only the color.
# bar-cache-style=\c&H515151&
bar-cache-style=\c&7A77F2&
# A string of ASS override tags that get applied only to the cache layer of the
# bar, particularly the part of the cache bar that is after the current playback
# position. The tags specified here are applied after bar-cache-style and override
# them. Leaving this blank will leave the style the same as specified by bar-
# cache-style. The split does not account for a nonzero progress-bar-width and may
# look odd when used in tandem with that setting.
bar-cache-background-style=\c&H697374&
# A string of ASS override tags that get applied only to the background layer of
# the bar. The default sets only the color.
bar-background-style=\c&H000000&
# Sets whether or not the elapsed time is displayed at all.
enable-elapsed-time=yes
# A string of ASS override tags that get applied only to the elapsed time display.
elapsed-style=
# Controls how far from the left edge of the window the elapsed time display is
# positioned.
elapsed-left-margin=4
# Controls how far above the expanded progress bar the elapsed time display is
# positioned.
elapsed-bottom-margin=0
# Sets whether or not the remaining time is displayed at all.
enable-remaining-time=yes
# A string of ASS override tags that get applied only to the remaining time
# display.
remaining-style=
# Controls how far from the right edge of the window the remaining time display is
# positioned.
remaining-right-margin=4
# Controls how far above the expanded progress bar the remaining time display is
# positioned.
remaining-bottom-margin=0
# Sets whether or not the calculated time corresponding to the mouse position
# is displayed when the mouse hovers over the progress bar.
enable-hover-time=yes
# A string of ASS override tags that get applied only to the hover time display.
# Unfortunately, due to the way the hover time display is animated, alpha values
# set here will be overridden. This is subject to change in future versions.
hover-time-style=\fs26
# Controls how close to the left edge of the window the hover time display can
# get. If this value is too small, it will end up overlapping the elapsed time
# display.
hover-time-left-margin=120
# Controls how close to the right edge of the window the hover time display can
# get. If this value is too small, it will end up overlapping the remaining time
# display.
hover-time-right-margin=130
# Controls how far above the expanded progress bar the remaining time display is
# positioned.
hover-time-bottom-margin=0
# Sets whether or not thumbnails are displayed at all. Note: thumbnail display
# requires use of the thumbfast script (See: https://github.com/po5/thumbfast).
enable-thumbnail=yes
# Controls how close to the left edge of the window the thumbnail display can
# get.
thumbnail-left-margin=10
# Controls how close to the right edge of the window the thumbnail display can
# get.
thumbnail-right-margin=10
# Controls how far above the expanded progress bar the thumbnail display is
# positioned.
thumbnail-bottom-margin=40
# Sets whether or not the video title is displayed at all.
enable-title=yes
# A string of ASS override tags that get applied only to the video title display.
title-style=
# Controls how far from the left edge of the window the video title display is
# positioned.
title-left-margin=4
# Controls how far from the top edge of the window the video title display is
# positioned.
title-top-margin=0
# Controls whether or not the script logs the video title and playlist position
# to the console every time a new video starts.
title-print-to-cli=yes
# Sets whether or not the system time is displayed at all.
enable-system-time=yes
# A string of ASS override tags that get applied only to the system time display.
system-time-style=
# Sets the format used for the system time display. This must be a strftime-
# compatible format string.
system-time-format=%H:%M
# Controls how far from the right edge of the window the system time display is
# positioned.
system-time-right-margin=4
# Controls how far from the top edge of the window the system time display is
# positioned.
system-time-top-margin=0
# Sets whether or not the pause indicator is displayed. The pause indicator is a
# momentary icon that flashes in the middle of the screen, similar to youtube.
pause-indicator=yes
# A string of ASS override tags that get applied only to the foreground of the
# pause indicator.
pause-indicator-foreground-style=\c&HFC799E&
# A string of ASS override tags that get applied only to the background of the
# pause indicator.
pause-indicator-background-style=\c&H2D2D2D&
# Sets whether or not the progress bar is decorated with chapter markers. Due to
# the way the chapter markers are currently implemented, videos with a large
# number of chapters may slow down the script somewhat, but I have yet to run
# into this being a problem.
enable-chapter-markers=yes
# Controls the width of each chapter marker when the progress bar is inactive.
chapter-marker-width=2
# Controls the width of each chapter marker when the progress bar is active.
chapter-marker-width-active=4
# Modifies the height of the chapter markers when the progress bar is active. Acts
# as a multiplier on the height of the active progress bar. A value greater than 1
# will cause the markers to be taller than the expanded progress bar, whereas a
# value less than 1 will cause them to be shorter.
chapter-marker-active-height-fraction=1
# A string of ASS override tags that get applied only to chapter markers that have
# not yet been passed.
chapter-marker-before-style=\c&HFC799E&
# A string of ASS override tags that get applied only to chapter markers that have
# already been passed.
chapter-marker-after-style=\c&H2D2D2D&
# Sets the amount of time in seconds that the UI stays on the screen after it
# receives a request-display signal. A value of 0 will keep the display on screen
# only as long as the key bound to it is held down.
request-display-duration=0
# Controls how often the display is redrawn, in seconds. This does not seem to
# significantly affect the smoothness of animations, and it is subject to the
# accuracy limits imposed by the scheduler mpv uses. Probably not worth changing
# unless you have major performance problems.
redraw-period=0.03
# Controls how long the UI animations take. A value of 0 disables all animations
# (which breaks the pause indicator).
animation-duration=0.25
# Controls how far off the left side of the window the elapsed time display tries
# to move when it is inactive. If you use a non-default font, this value may need
# to be tweaked. If this value is not far enough off-screen, the elapsed display
# will disappear without animating all the way off-screen. Positive values will
# cause the display to animate the wrong direction.
elapsed-offscreen-pos=-100
# Controls how far off the left side of the window the remaining time display
# tries to move when it is inactive. If you use a non-default font, this value may
# need to be tweaked. If this value is not far enough off-screen, the elapsed
# display will disappear without animating all the way off-screen. Positive values
# will cause the display to animate the wrong direction.
remaining-offscreen-pos=-100
# Controls how far off the bottom of the window the mouse hover time display tries
# to move when it is inactive. If you use a non-default font, this value may need
# to be tweaked. If this value is not far enough off-screen, the elapsed
# display will disappear without animating all the way off-screen. Positive values
# will cause the display to animate the wrong direction.
hover-time-offscreen-pos=-50
# Controls how far off the left side of the window the system time display tries
# to move when it is inactive. If you use a non-default font, this value may need
# to be tweaked. If this value is not far enough off-screen, the elapsed display
# will disappear without animating all the way off-screen. Positive values will
# cause the display to animate the wrong direction.
system-time-offscreen-pos=-100
# Controls how far off the left side of the window the video title display tries
# to move when it is inactive. If you use a non-default font, this value may need
# to be tweaked. If this value is not far enough off-screen, the elapsed display
# will disappear without animating all the way off-screen. Positive values will
# cause the display to animate the wrong direction.
title-offscreen-pos=-40

View File

@ -0,0 +1,229 @@
# Display style of current position. available: line, bar
timeline_style=line
# Line display style config
timeline_line_width=2
# Timeline size when fully expanded, in pixels, 0 to disable
timeline_size=40
# Comma separated states when element should always be fully visible.
# Available: paused, audio, image, video, idle, windowed, fullscreen
timeline_persistency=
# Top border of background color to help visually separate timeline from video
timeline_border=1
# When scrolling above timeline, wheel will seek by this amount of seconds
timeline_step=5
# Render cache indicators for streaming content
timeline_cache=yes
# When to display an always visible progress bar (minimized timeline). Can be: windowed, fullscreen, always, never
# Can also be toggled on demand with `toggle-progress` command.
progress=always
progress_size=5
progress_line_width=20
# A comma delimited list of controls above the timeline. Set to `never` to disable.
# Parameter spec: enclosed in `{}` means value, enclosed in `[]` means optional
# Full item syntax: `[<[!]{disposition1}[,[!]{dispositionN}]>]{element}[:{paramN}][#{badge}[>{limit}]][?{tooltip}]`
# Common properties:
# `{icon}` - parameter used to specify an icon name (example: `face`)
# - pick here: https://fonts.google.com/icons?icon.platform=web&icon.set=Material+Icons&icon.style=Rounded
# `{element}`s and their parameters:
# `{shorthand}` - preconfigured shorthands:
# `play-pause`, `menu`, `subtitles`, `audio`, `video`, `playlist`,
# `chapters`, `editions`, `stream-quality`, `open-file`, `items`,
# `next`, `prev`, `first`, `last`, `audio-device`, `fullscreen`,
# `loop-playlist`, `loop-file`, `shuffle`
# `speed[:{scale}]` - display speed slider, [{scale}] - factor of controls_size, default: 1.3
# `command:{icon}:{command}` - button that executes a {command} when pressed
# `toggle:{icon}:{prop}[@{owner}]` - button that toggles mpv property
# `cycle:{default_icon}:{prop}[@{owner}]:{value1}[={icon1}][!]/{valueN}[={iconN}][!]`
# - button that cycles mpv property between values, each optionally having different icon and active flag
# - presence of `!` at the end will style the button as active
# - `{owner}` is the name of a script that manages this property if any
# `gap[:{scale}]` - display an empty gap
# {scale} - factor of controls_size, default: 0.3
# `space` - fills all available space between previous and next item, useful to align items to the right
# - multiple spaces divide the available space among themselves, which can be used for centering
# Item visibility control:
# `<[!]{disposition1}[,[!]{dispositionN}]>` - optional prefix to control element's visibility
# - `{disposition}` can be one of:
# - `idle` - true if mpv is in idle mode (no file loaded)
# - `image` - true if current file is a single image
# - `audio` - true for audio only files
# - `video` - true for files with a video track
# - `has_many_video` - true for files with more than one video track
# - `has_image` - true for files with a cover or other image track
# - `has_audio` - true for files with an audio track
# - `has_many_audio` - true for files with more than one audio track
# - `has_sub` - true for files with an subtitle track
# - `has_many_sub` - true for files with more than one subtitle track
# - `has_many_edition` - true for files with more than one edition
# - `has_chapter` - true for files with chapter list
# - `stream` - true if current file is read from a stream
# - `has_playlist` - true if current playlist has 2 or more items in it
# - prefix with `!` to negate the required disposition
# Examples:
# - `<stream>stream-quality` - show stream quality button only for streams
# - `<has_audio,!audio>audio` - show audio tracks button for all files that have
# an audio track, but are not exclusively audio only files
# Place `#{badge}[>{limit}]` after the element params to give it a badge. Available badges:
# `sub`, `audio`, `video` - track type counters
# `{mpv_prop}` - any mpv prop that makes sense to you: https://mpv.io/manual/master/#property-list
# - if prop value is an array it'll display its size
# `>{limit}` will display the badge only if it's numerical value is above this threshold.
# Example: `#audio>1`
# Place `?{tooltip}` after the element config to give it a tooltip.
# Example implementations:
# menu = command:menu:script-binding uosc/menu-blurred?Menu
# subtitles = command:subtitles:script-binding uosc/subtitles#sub?Subtitles
# fullscreen = cycle:crop_free:fullscreen:no/yes=fullscreen_exit!?Fullscreen
# loop-playlist = cycle:repeat:loop-playlist:no/inf!?Loop playlist
# toggle:{icon}:{prop} = cycle:{icon}:{prop}:no/yes!
controls=menu,gap,subtitles,<has_many_audio>audio,<has_many_video>video,<has_many_edition>editions,<stream>stream-quality,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen
controls_size=32
controls_margin=8
controls_spacing=2
controls_persistency=
# Where to display volume controls: none, left, right
volume=right
volume_size=40
volume_border=1
volume_step=1
volume_persistency=
# Playback speed widget: mouse drag or wheel to change, click to reset
speed_step=0.1
speed_step_is_factor=no
speed_persistency=
# Controls all menus, such as context menu, subtitle loader/selector, etc
menu_item_height=36
menu_min_width=260
menu_padding=4
# Determines if `/` or `ctrl+f` is required to activate the search, or if typing
# any text is sufficient.
# When enabled, you can no longer toggle a menu off with the same key that opened it, if the key is a unicode character.
menu_type_to_search=yes
# Top bar with window controls and media title
# Can be: never, no-border, always
top_bar=no-border
top_bar_size=40
top_bar_controls=no
# Can be: `no` (hide), `yes` (inherit title from mpv.conf), or a custom template string
top_bar_title=${media-title}
# Template string to enable alternative top bar title. If alt title matches main title,
# it'll be hidden. Tip: use `${media-title}` for main, and `${filename}` for alt title.
top_bar_alt_title=${filename}
# Can be:
# `below` => display alt title below the main one
# `toggle` => toggle the top bar title text between main and alt by clicking
# the top bar, or calling `toggle-title` binding
top_bar_alt_title_place=below
# Flash top bar when any of these file types is loaded. Available: audio,image,video
top_bar_flash_on=video,audio,image
top_bar_persistency=
# Window border drawn in no-border mode
window_border_size=1
# If there's no playlist and file ends, load next file in the directory
# Requires `keep-open=yes` in `mpv.conf`.
autoload=no
# What types to accept as next item when autoloading or requesting to play next file
# Can be: video, audio, image, subtitle
autoload_types=video,audio,image
# Enable uosc's playlist/directory shuffle mode
# This simply makes the next selected playlist or directory item be random, just
# like any other player in the world. It also has an easily togglable control button.
shuffle=no
# Scale the interface by this factor
scale=1
# Scale in fullscreen
scale_fullscreen=1.3
# Adjust the text scaling to fit your font
font_scale=2
# Border of text and icons when drawn directly on top of video
text_border=1.2
# Border radius of buttons, menus, and all other rectangles
border_radius=4
# A comma delimited list of color overrides in RGB HEX format. Defaults:
# foreground=ffffff,foreground_text=000000,background=000000,background_text=ffffff,curtain=111111,success=a5e075,error=ff616e
color=
# A comma delimited list of opacity overrides for various UI element backgrounds and shapes.
# This does not affect any text, which is always rendered fully opaque. Defaults:
# timeline=0.9,position=1,chapters=0.8,slider=0.9,slider_gauge=1,controls=0,speed=0.6,menu=1,submenu=0.4,border=1,title=1,tooltip=1,thumbnail=1,curtain=0.8,idle_indicator=0.8,audio_indicator=0.5,buffering_indicator=0.3,playlist_position=0.8
opacity=
# Use a faster estimation method instead of accurate measurement
# setting this to `no` might have a noticeable impact on performance, especially in large menus.
text_width_estimation=yes
# Duration of animations in milliseconds
animation_duration=100
# Execute command for background clicks shorter than this number of milliseconds, 0 to disable
# Execution always waits for `input-doubleclick-time` to filter out double-clicks
click_threshold=0
click_command=cycle pause; script-binding uosc/flash-pause-indicator
# Flash duration in milliseconds used by `flash-{element}` commands
flash_duration=1000
# Distances in pixels below which elements are fully faded in/out
proximity_in=40
proximity_out=120
# Use only bold font weight throughout the whole UI
font_bold=no
# One of `total`, `playtime-remaining` (scaled by the current speed), `time-remaining` (remaining length of file)
destination_time=playtime-remaining
# Display sub second fraction in timestamps up to this precision
time_precision=0
# Display stream's buffered time in timeline if it's lower than this amount of seconds, 0 to disable
buffered_time_threshold=60
# Hide UI when mpv autohides the cursor. Timing is controlled by `cursor-autohide` in `mpv.conf` (in milliseconds).
autohide=no
# Can be: flash, static, manual (controlled by flash-pause-indicator and decide-pause-indicator commands)
pause_indicator=flash
# Sizes to list in stream quality menu
stream_quality_options=4320,2160,1440,1080,720,480,360,240,144
# Types to identify media files
video_types=3g2,3gp,asf,avi,f4v,flv,h264,h265,m2ts,m4v,mkv,mov,mp4,mp4v,mpeg,mpg,ogm,ogv,rm,rmvb,ts,vob,webm,wmv,y4m
audio_types=aac,ac3,aiff,ape,au,cue,dsf,dts,flac,m4a,mid,midi,mka,mp3,mp4a,oga,ogg,opus,spx,tak,tta,wav,weba,wma,wv
image_types=apng,avif,bmp,gif,j2k,jp2,jfif,jpeg,jpg,jxl,mj2,png,svg,tga,tif,tiff,webp
subtitle_types=aqt,ass,gsub,idx,jss,lrc,mks,pgs,pjs,psb,rt,sbv,slt,smi,sub,sup,srt,ssa,ssf,ttxt,txt,usf,vt,vtt
# Default open-file menu directory
default_directory=~/
# List hidden files when reading directories. Due to environment limitations, this currently only hides
# files starting with a dot. Doesn't hide hidden files on windows (we have no way to tell they're hidden).
show_hidden_files=no
# Move files to trash (recycle bin) when deleting files. Dependencies:
# - Linux: `sudo apt install trash-cli`
# - MacOS: `brew install trash`
use_trash=no
# Adjusted osd margins based on the visibility of UI elements
adjust_osd_margins=yes
# Adds chapter range indicators to some common chapter types.
# Additionally to displaying the start of the chapter as a diamond icon on top of the timeline,
# the portion of the timeline of that chapter range is also colored based on the config below.
#
# The syntax is a comma-delimited list of `{type}:{color}` pairs, where:
# `{type}` => range type. Currently supported ones are:
# - `openings`, `endings` => anime openings/endings
# - `intros`, `outros` => video intros/outros
# - `ads` => segments created by sponsor-block software like https://github.com/po5/mpv_sponsorblock
# `{color}` => an RGB(A) HEX color code (`rrggbb`, or `rrggbbaa`)
#
# To exclude marking any of the range types, simply remove them from the list.
chapter_ranges=openings:30abf964,endings:30abf964,ads:c54e4e80
# Add alternative lua patterns to identify beginnings of simple chapter ranges (except for `ads`)
# Syntax: `{type}:{pattern}[,{patternN}][;{type}:{pattern}[,{patternN}]]`
chapter_range_patterns=openings:オープニング;endings:エンディング
# Localization language priority from highest to lowest.
# Built in languages can be found in `uosc/intl`.
# `slang` is a keyword to inherit values from `--slang` mpv config.
# Supports paths to custom json files: `languages=~~/custom.json,slang,en`
languages=slang,en
# A comma separated list of element IDs to disable. Available IDs:
# window_border, top_bar, timeline, controls, volume,
# idle_indicator, audio_indicator, buffering_indicator, pause_indicator
disable_elements=

View File

@ -0,0 +1,41 @@
local utils = require "mp.utils"
del_list = {}
function contains_item(l, i)
for k, v in pairs(l) do
if v == i then
mp.osd_message("undeleting current file")
l[k] = nil
return true
end
end
mp.osd_message("deleting current file")
return false
end
function mark_delete()
local work_dir = mp.get_property_native("working-directory")
local file_path = mp.get_property_native("path")
local s = file_path:find(work_dir, 0, true)
local final_path
if s and s == 0 then
final_path = file_path
else
final_path = utils.join_path(work_dir, file_path)
end
if not contains_item(del_list, final_path) then
table.insert(del_list, final_path)
end
end
function delete()
for i, v in pairs(del_list) do
print("deleting: "..v)
os.remove(v)
end
end
mp.add_key_binding("shift+DEL", "delete_file", mark_delete)
mp.register_event("shutdown", delete)

599
.config/ncmpcpp/config Normal file
View File

@ -0,0 +1,599 @@
##############################################################
## This is an example configuration file. Copy it to ##
## $XDG_CONFIG_HOME/ncmpcpp/config or $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 = ~/.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
#
# Exclude pattern for random song action
# http://www.boost.org/doc/libs/1_46_1/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html
#random_exclude_pattern = "^(temp|midi_songs).*"
#
##### music visualizer #####
##
## In order to make music visualizer work with MPD you need to use the fifo
## output. Its format parameter has to be set to 44100:16:1 for mono
## visualization or 44100:16:2 for stereo visualization. As an example here is
## the relevant section for mpd.conf:
##
## audio_output {
## type "fifo"
## name "Visualizer feed"
## path "/tmp/mpd.fifo"
## format "44100:16:2"
## }
##
## If the visualization on occasion diverges from the audio output, please set
## 'buffer_time' parameter of your audio output in mpd.conf to '100000' (100ms)
## or less to prevent that from happening.
##
## Note: If you're using Mopidy, an address of a udpsink gstreamer's output is
## also accepted. For example, the following section in mopidy.conf:
##
## [audio]
## output = tee name=t ! queue ! autoaudiosink t.
## ! queue ! audio/x-raw,rate=44100,channels=2,format=S16LE
## ! udpsink host=localhost port=5555
##
## will make localhost:5555 available as a source of data for the stereo
## visualizer.
##
#
visualizer_data_source = /run/user/1000/mpd.fifo
#
##
## Note: Below parameter is needed for ncmpcpp to determine which output
## provides data for visualizer and reset it at the beginning of visualization
## to synchronize with audio.
##
#
visualizer_output_name = ncmpcpp_fifo
#
##
## If you set format to 44100:16:2, make it 'yes'.
##
visualizer_in_stereo = yes
#
##
## Note: set below to >=10 only if you have synchronization issues with
## visualization and audio.
##
#
#visualizer_sync_interval = 0
#
##
## 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_fps = 144
#
visualizer_autoscale = no
#
#visualizer_look = ●▮
#
#visualizer_color = blue, cyan, green, yellow, magenta, red
#
## Alternative subset of 256 colors for terminals that support it.
##
#visualizer_color = 47, 83, 119, 155, 191, 227, 221, 215, 209, 203, 197, 161
#
##
## Note: The next few visualization options apply to the spectrum visualizer.
##
#
## Use unicode block characters for a smoother, more continuous look.
## This will override the visualizer_look option. With transparent terminals
## and visualizer_in_stereo set, artifacts may be visible on the bottom half of
## the visualization.
#
#visualizer_spectrum_smooth_look = yes
#
## A value between 1 and 5 inclusive. Specifying a larger value makes the
## visualizer look at a larger slice of time, which results in less jumpy
## visualizer output.
#
#visualizer_spectrum_dft_size = 2
#
#visualizer_spectrum_gain = 23
#
## Left-most frequency of visualizer in Hz, must be less than HZ MAX
#
#visualizer_spectrum_hz_min = 20
#
## Right-most frequency of visualizer in Hz, must be greater than HZ MIN
#
#visualizer_spectrum_hz_max = 20000
#
##### 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_status_format = {{%a{ "%b"{ (%y)}} - }{%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}
#
#current_item_prefix = $(yellow)$r
#
#current_item_suffix = $/r$(end)
#
#current_item_inactive_column_prefix = $(white)$r
#
#current_item_inactive_column_suffix = $/r$(end)
#
#now_playing_prefix = $b
#
#now_playing_suffix = $/b
#
#browser_playlist_prefix = "$2playlist$9 "
#
#selected_item_prefix = $6
#
#selected_item_suffix = $9
#
#modified_item_prefix = $3> $9
#
##
## 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 "type", "name", "mtime", "format" and "none".
##
#
#browser_sort_mode = type
#
#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 = yes
#
playlist_shorten_total_times = yes
#
#playlist_separate_albums = no
#
##
## Note: Possible display modes: classic, columns.
##
#playlist_display_mode = columns
#
#browser_display_mode = classic
#
#search_engine_display_mode = classic
#
#playlist_editor_display_mode = classic
#
#discard_colors_if_item_is_selected = yes
#
#show_duplicate_tags = yes
#
#incremental_seeking = yes
#
#seek_time = 1
#
#volume_change_step = 2
#
autocenter_mode = yes
#
centered_cursor = yes
#
##
## 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 = alternative
#
#data_fetching_delay = yes
#
## Available values: artist, album_artist, date, genre, composer, performer.
##
#media_library_primary_tag = artist
#
#media_library_albums_split_by_date = yes
#
#media_library_hide_album_dates = no
#
## Available values: wrapped, normal.
##
#default_find_mode = wrapped
#
#default_tag_editor_pattern = %n - %t
#
#header_visibility = yes
#
#statusbar_visibility = yes
#
## Show the "Connected to ..." message on startup
connected_message_on_startup = no
#
#titles_visibility = yes
#
#header_text_scrolling = yes
#
#cyclic_scrolling = no
#
#lyrics_fetchers = azlyrics, genius, musixmatch, sing365, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, internet
lyrics_fetchers = azlyrics, musixmatch, sing365, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, 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 = 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 = yes
#
#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
#
##
## 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 = no
#
#mouse_list_scroll_whole_page = no
#
#lines_scrolled = 5
#
#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.
##
## What is more, there are two special values for the background color:
## "transparent" and "current". The first one explicitly sets the background to
## be transparent, while the second one allows you to preserve current
## background color and change only the foreground one. It's used implicitly
## when background color is not specified.
##
## Moreover, it is possible to attach format information to selected color
## variables by appending to their end a colon followed by one or more format
## flags, e.g. black:b or red:ur. The following variables support this syntax:
## visualizer_color, color1, color2, empty_tag_color, volume_color,
## state_line_color, state_flags_color, progressbar_color,
## progressbar_elapsed_color, player_state_color, statusbar_time_color,
## alternative_ui_separator_color.
##
## Note: due to technical limitations of older ncurses version, if 256 colors
## are used there is a possibility that you'll be able to use only colors with
## transparent background.
#
#colors_enabled = yes
#
#empty_tag_color = cyan
#
#header_window_color = default
#
#volume_color = default
#
#state_line_color = default
#
#state_flags_color = default:b
#
#main_window_color = yellow
#
#color1 = white
#
#color2 = green
#
#progressbar_color = black:b
#
#progressbar_elapsed_color = green:b
#
#statusbar_color = default
#
#statusbar_time_color = default:b
#
#player_state_color = default:b
#
#alternative_ui_separator_color = black:b
#
#window_border_color = green
#
#active_window_border = red
#

784
.config/neofetch/config Normal file
View File

@ -0,0 +1,784 @@
# See this wiki page for more info:
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
print_info() {
info title
info underline
info "OS" distro
info "Host" model
info "Kernel" kernel
info "Uptime" uptime
info "Users" users
info "Packages" packages
info "Locale" locale # This only works on glibc systems.
info "Resolution" resolution
prin
info "CPU" cpu
info "CPU Usage" cpu_usage
info "GPU" gpu
info "GPU Driver" gpu_driver # Linux/macOS only
info "Memory" memory
info "Disk" disk
info "Battery" battery
info "Local IP" local_ip
info "Public IP" public_ip
prin
info "DE" de
info "WM" wm
info "WM Theme" wm_theme
info "Theme" theme
info "Icons" icons
info "Font" font
prin
info "Song" song
prin
info "Shell" shell
info "Terminal" term
info "Terminal Font" term_font
info cols
#info "Install Date" install_date
}
# Kernel
# Shorten the output of the kernel function.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --kernel_shorthand
# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
#
# Example:
# on: '4.8.9-1-ARCH'
# off: 'Linux 4.8.9-1-ARCH'
kernel_shorthand="on"
# Distro
# Shorten the output of the distro function
#
# Default: 'off'
# Values: 'on', 'off', 'tiny'
# Flag: --distro_shorthand
# Supports: Everything except Windows and Haiku
distro_shorthand="off"
# Show/Hide OS Architecture.
# Show 'x86_64', 'x86' and etc in 'Distro:' output.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --os_arch
#
# Example:
# on: 'Arch Linux x86_64'
# off: 'Arch Linux'
os_arch="on"
# Uptime
# Shorten the output of the uptime function
#
# Default: 'on'
# Values: 'on', 'off', 'tiny'
# Flag: --uptime_shorthand
#
# Example:
# on: '2 days, 10 hours, 3 mins'
# off: '2 days, 10 hours, 3 minutes'
# tiny: '2d 10h 3m'
uptime_shorthand="on"
# Shell
# Show the path to $SHELL
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --shell_path
#
# Example:
# on: '/bin/bash'
# off: 'bash'
shell_path="off"
# Show $SHELL version
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --shell_version
#
# Example:
# on: 'bash 4.4.5'
# off: 'bash'
shell_version="on"
# CPU
# CPU speed type
#
# Default: 'bios_limit'
# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
# Flag: --speed_type
# Supports: Linux with 'cpufreq'
# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
speed_type="bios_limit"
# CPU speed shorthand
#
# Default: 'off'
# Values: 'on', 'off'.
# Flag: --speed_shorthand.
# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
#
# Example:
# on: 'i7-6500U (4) @ 3.1GHz'
# off: 'i7-6500U (4) @ 3.100GHz'
speed_shorthand="off"
# Enable/Disable CPU brand in output.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --cpu_brand
#
# Example:
# on: 'Intel i7-6500U'
# off: 'i7-6500U (4)'
cpu_brand="on"
# CPU Speed
# Hide/Show CPU speed.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --cpu_speed
#
# Example:
# on: 'Intel i7-6500U (4) @ 3.1GHz'
# off: 'Intel i7-6500U (4)'
cpu_speed="on"
# CPU Cores
# Display CPU cores in output
#
# Default: 'logical'
# Values: 'logical', 'physical', 'off'
# Flag: --cpu_cores
# Support: 'physical' doesn't work on BSD.
#
# Example:
# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
# off: 'Intel i7-6500U @ 3.1GHz'
cpu_cores="logical"
# CPU Temperature
# Hide/Show CPU temperature.
# Note the temperature is added to the regular CPU function.
#
# Default: 'off'
# Values: 'C', 'F', 'off'
# Flag: --cpu_temp
# Supports: Linux, BSD
# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
# coretemp kernel module. This only supports newer Intel processors.
#
# Example:
# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
# off: 'Intel i7-6500U (4) @ 3.1GHz'
cpu_temp="C"
# GPU
# Enable/Disable GPU Brand
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gpu_brand
#
# Example:
# on: 'AMD HD 7950'
# off: 'HD 7950'
gpu_brand="on"
# Which GPU to display
#
# Default: 'all'
# Values: 'all', 'dedicated', 'integrated'
# Flag: --gpu_type
# Supports: Linux
#
# Example:
# all:
# GPU1: AMD HD 7950
# GPU2: Intel Integrated Graphics
#
# dedicated:
# GPU1: AMD HD 7950
#
# integrated:
# GPU1: Intel Integrated Graphics
gpu_type="all"
# Resolution
# Display refresh rate next to each monitor
# Default: 'off'
# Values: 'on', 'off'
# Flag: --refresh_rate
# Supports: Doesn't work on Windows.
#
# Example:
# on: '1920x1080 @ 60Hz'
# off: '1920x1080'
refresh_rate="on"
# Gtk Theme / Icons / Font
# Shorten output of GTK Theme / Icons / Font
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --gtk_shorthand
#
# Example:
# on: 'Numix, Adwaita'
# off: 'Numix [GTK2], Adwaita [GTK3]'
gtk_shorthand="off"
# Enable/Disable gtk2 Theme / Icons / Font
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gtk2
#
# Example:
# on: 'Numix [GTK2], Adwaita [GTK3]'
# off: 'Adwaita [GTK3]'
gtk2="on"
# Enable/Disable gtk3 Theme / Icons / Font
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gtk3
#
# Example:
# on: 'Numix [GTK2], Adwaita [GTK3]'
# off: 'Numix [GTK2]'
gtk3="on"
# IP Address
# Website to ping for the public IP
#
# Default: 'http://ident.me'
# Values: 'url'
# Flag: --ip_host
public_ip_host="http://ifconfig.co"
# Disk
# Which disks to display.
# The values can be any /dev/sdXX, mount point or directory.
# NOTE: By default we only show the disk info for '/'.
#
# Default: '/'
# Values: '/', '/dev/sdXX', '/path/to/drive'.
# Flag: --disk_show
#
# Example:
# disk_show=('/' '/dev/sdb1'):
# 'Disk (/): 74G / 118G (66%)'
# 'Disk (/mnt/Videos): 823G / 893G (93%)'
#
# disk_show=('/'):
# 'Disk (/): 74G / 118G (66%)'
#
disk_show=('/' '/home')
# Disk subtitle.
# What to append to the Disk subtitle.
#
# Default: 'mount'
# Values: 'mount', 'name', 'dir'
# Flag: --disk_subtitle
#
# Example:
# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
# 'Disk (/dev/sdb2): 74G / 118G (66%)'
#
# mount: 'Disk (/): 74G / 118G (66%)'
# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
# 'Disk (/mnt/Videos): 74G / 118G (66%)'
#
# dir: 'Disk (/): 74G / 118G (66%)'
# 'Disk (Local Disk): 74G / 118G (66%)'
# 'Disk (Videos): 74G / 118G (66%)'
disk_subtitle="mount"
# Song
# Manually specify a music player.
#
# Default: 'auto'
# Values: 'auto', 'player-name'
# Flag: --music_player
#
# Available values for 'player-name':
#
# Google Play
# Spotify
# amarok
# audacious
# banshee
# bluemindo
# clementine
# cmus
# deadbeef
# deepin-music
# elisa
# exaile
# gnome-music
# guayadeque
# iTunes$
# juk
# lollypop
# mocp
# mopidy
# mpd
# pogo
# pragha
# qmmp
# quodlibet
# rhythmbox
# spotify
# tomahawk
# xmms2d
# yarock
# sayonara
# vlc
music_player="auto"
# Format to display song information.
#
# Default: '%artist% - %album% - %title%'
# Values: '%artist%', '%album%', '%title%'
# Flag: --song_format
#
# Example:
# default: 'Song: Jet - Get Born - Sgt Major'
song_format="%artist% - %album% - %title%"
# Print the Artist, Album and Title on separate lines
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --song_shorthand
#
# Example:
# on: 'Artist: The Fratellis'
# 'Album: Costello Music'
# 'Song: Chelsea Dagger'
#
# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
song_shorthand="on"
# Install Date
# Whether to show the time in the output
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --install_time
#
# Example:
# on: 'Thu 14 Apr 2016 11:50 PM'
# off: 'Thu 14 Apr 2016'
install_time="on"
# Set time format in the output
#
# Default: '24h'
# Values: '12h', '24h'
# Flag: --install_time_format
#
# Example:
# 12h: 'Thu 14 Apr 2016 11:50 PM'
# 24h: 'Thu 14 Apr 2016 23:50'
install_time_format="24h"
# Text Colors
# Text Colors
#
# Default: 'distro'
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
# Flag: --colors
#
# Each number represents a different part of the text in
# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
#
# Example:
# colors=(distro) - Text is colored based on Distro colors.
# colors=(4 6 1 8 8 6) - Text is colored in the order above.
colors=(distro)
# Text Options
# Toggle bold text
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --bold
bold="on"
# Enable/Disable Underline
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --underline
underline_enabled="on"
# Underline character
#
# Default: '-'
# Values: 'string'
# Flag: --underline_char
underline_char="-"
# Color Blocks
# Color block range
# The range of colors to print.
#
# Default: '0', '7'
# Values: 'num'
# Flag: --block_range
#
# Example:
#
# Display colors 0-7 in the blocks. (8 colors)
# neofetch --block_range 0 7
#
# Display colors 0-15 in the blocks. (16 colors)
# neofetch --block_range 0 15
block_range=(0 15)
# Toggle color blocks
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --color_blocks
color_blocks="on"
# Color block width in spaces
#
# Default: '3'
# Values: 'num'
# Flag: --block_width
block_width=3
# Color block height in lines
#
# Default: '1'
# Values: 'num'
# Flag: --block_height
block_height=1
# Progress Bars
# Bar characters
#
# Default: '-', '='
# Values: 'string', 'string'
# Flag: --bar_char
#
# Example:
# neofetch --bar_char 'elapsed' 'total'
# neofetch --bar_char '-' '='
bar_char_elapsed="-"
bar_char_total="="
# Toggle Bar border
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --bar_border
bar_border="on"
# Progress bar length in spaces
# Number of chars long to make the progress bars.
#
# Default: '15'
# Values: 'num'
# Flag: --bar_length
bar_length=15
# Progress bar colors
# When set to distro, uses your distro's logo colors.
#
# Default: 'distro', 'distro'
# Values: 'distro', 'num'
# Flag: --bar_colors
#
# Example:
# neofetch --bar_colors 3 4
# neofetch --bar_colors distro 5
bar_color_elapsed="distro"
bar_color_total="distro"
# Info display
# Display a bar with the info.
#
# Default: 'off'
# Values: 'bar', 'infobar', 'barinfo', 'off'
# Flags: --cpu_display
# --memory_display
# --battery_display
# --disk_display
#
# Example:
# bar: '[---=======]'
# infobar: 'info [---=======]'
# barinfo: '[---=======] info'
# off: 'info'
cpu_display="off"
memory_display="off"
battery_display="off"
disk_display="off"
# Backend Settings
# Image backend.
#
# Default: 'ascii'
# Values: 'ascii', 'caca', 'catimg', 'jp2a', 'iterm2', 'off', 'termpix', 'pixterm', 'tycat', 'w3m'
# Flag: --backend
image_backend="ascii"
# Image Source
#
# Which image or ascii file to display.
#
# Default: 'auto'
# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
# Flag: --source
#
# NOTE: 'auto' will pick the best image source for whatever image backend is used.
# In ascii mode, distro ascii art will be used and in an image mode, your
# wallpaper will be used.
image_source="auto"
# Ascii Options
# Ascii distro
# Which distro's ascii art to display.
#
# Default: 'auto'
# Values: 'auto', 'distro_name'
# Flag: --ascii_distro
#
# NOTE: Arch and Ubuntu have 'old' logo variants.
# Change this to 'arch_old' or 'ubuntu_old' to use the old logos.
# NOTE: Ubuntu has flavor variants.
# Change this to 'Lubuntu', 'Xubuntu', 'Ubuntu-GNOME' or 'Ubuntu-Budgie' to use the flavors.
# NOTE: Arch, Crux and Gentoo have a smaller logo variant.
# Change this to 'arch_small', 'crux_small' or 'gentoo_small' to use the small logos.
ascii_distro="auto"
# Ascii Colors
#
# Default: 'distro'
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
# Flag: --ascii_colors
#
# Example:
# ascii_colors=(distro) - Ascii is colored based on Distro colors.
# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
ascii_colors=(distro)
# Bold ascii logo
# Whether or not to bold the ascii logo.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --ascii_bold
ascii_bold="on"
# Image Options
# Image loop
# Setting this to on will make neofetch redraw the image constantly until
# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --loop
image_loop="off"
# Thumbnail directory
#
# Default: '~/.cache/thumbnails/neofetch'
# Values: 'dir'
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
# Crop mode
#
# Default: 'normal'
# Values: 'normal', 'fit', 'fill'
# Flag: --crop_mode
#
# See this wiki page to learn about the fit and fill options.
# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
crop_mode="normal"
# Crop offset
# Note: Only affects 'normal' crop mode.
#
# Default: 'center'
# Values: 'northwest', 'north', 'northeast', 'west', 'center'
# 'east', 'southwest', 'south', 'southeast'
# Flag: --crop_offset
crop_offset="center"
# Image size
# The image is half the terminal width by default.
#
# Default: 'auto'
# Values: 'auto', '00px', '00%', 'none'
# Flags: --image_size
# --size
image_size="auto"
# Gap between image and text
#
# Default: '3'
# Values: 'num', '-num'
# Flag: --gap
gap=3
# Image offsets
# Only works with the w3m backend.
#
# Default: '0'
# Values: 'px'
# Flags: --xoffset
# --yoffset
yoffset=0
xoffset=0
# Image background color
# Only works with the w3m backend.
#
# Default: ''
# Values: 'color', 'blue'
# Flag: --bg_color
background_color=
# Scrot Options
# Whether or not to always take a screenshot
# You can manually take a screenshot with "--scrot" or "-s"
#
# Default: 'off'
# Values: 'on', 'off'
# Flags: --scrot
# -s
scrot="off"
# Screenshot Program
# Neofetch will automatically use whatever screenshot tool
# is installed on your system.
#
# If 'neofetch -v' says that it couldn't find a screenshot
# tool or you're using a custom tool then you can change
# the option below to a custom command.
#
# Default: 'auto'
# Values: 'auto' 'cmd -flags'
# Flag: --scrot_cmd
scrot_cmd="auto"
# Screenshot Filename
# What to name the screenshots
#
# Default: 'neofetch-$(date +%F-%I-%M-%S-${RANDOM}).png'
# Values: 'string'
# Flag: --scrot_name
scrot_name="neofetch-$(date +%F-%I-%M-%S-${RANDOM}).png"
# Image upload host
# Where to upload the image.
#
# Default: 'teknik'
# Values: 'imgur', 'teknik'
# Flag: --image_host
#
# NOTE: If you'd like another image host to be added to Neofetch.
# Open an issue on github.
image_host="teknik"
# Misc Options
# Stdout mode
# Turn off all colors and disables image backend (ASCII/Image).
# Useful for piping into another command.
# Default: 'off'
# Values: 'on', 'off'
stdout="off"
# Config version.
#
# NOTE: Don't change this value, neofetch reads this to determine
# how to handle backwards compatibility.
config_version="4.0.0"

52
.config/pikaur.conf Normal file
View File

@ -0,0 +1,52 @@
[sync]
alwaysshowpkgorigin = yes
develpkgsexpiration = 30
upgradesorting = versiondiff
showdownloadsize = yes
ignoreoutofdateaurupgrades = no
[build]
keepbuilddir = yes
keepdevbuilddir = yes
keepbuilddeps = no
gpgdir = /etc/pacman.d/gnupg
skipfailedbuild = no
dynamicusers = root
ignorearch = no
[review]
noedit = yes
donteditbydefault = no
nodiff = no
gitdiffargs = --ignore-space-change,--ignore-all-space
diffpager = auto
hidedifffiles = .SRCINFO
[colors]
version = 10
versiondiffold = 11
versiondiffnew = 9
[ui]
requireenterconfirm = yes
printcommands = no
aursearchsorting = hottest
displaylastupdated = yes
groupbyrepository = yes
reversesearchsorting = yes
warnaboutpackageupdates =
[misc]
pacmanpath = pacman
privilegeescalationtool = sudo
privilegeescalationtarget = pikaur
userid = 0
preserveenv = PKGDEST,VISUAL,EDITOR,http_proxy,https_proxy,ftp_proxy,HTTP_PROXY,HTTPS_PROXY,FTP_PROXY,ALL_PROXY
[network]
aururl = https://aur.archlinux.org
newsurl = https://www.archlinux.org/feeds/news/
socks5proxy =
aurhttpproxy =
aurhttpsproxy =

View File

@ -0,0 +1,62 @@
# This is a sample commands.py. You can add your own commands here.
#
# Please refer to commands_full.py for all the default commands and a complete
# documentation. Do NOT add them all here, or you may end up with defunct
# commands when upgrading ranger.
# A simple command for demonstration purposes follows.
# -----------------------------------------------------------------------------
from __future__ import (absolute_import, division, print_function)
# You can import any python module as needed.
import os
# You always need to import ranger.api.commands here to get the Command class:
from ranger.api.commands import Command
# Any class that is a subclass of "Command" will be integrated into ranger as a
# command. Try typing ":my_edit<ENTER>" in ranger!
class my_edit(Command):
# The so-called doc-string of the class will be visible in the built-in
# help that is accessible by typing "?c" inside ranger.
""":my_edit <filename>
A sample command for demonstration purposes that opens a file in an editor.
"""
# The execute method is called when you run this command in ranger.
def execute(self):
# self.arg(1) is the first (space-separated) argument to the function.
# This way you can write ":my_edit somefilename<ENTER>".
if self.arg(1):
# self.rest(1) contains self.arg(1) and everything that follows
target_filename = self.rest(1)
else:
# self.fm is a ranger.core.filemanager.FileManager object and gives
# you access to internals of ranger.
# self.fm.thisfile is a ranger.container.file.File object and is a
# reference to the currently selected file.
target_filename = self.fm.thisfile.path
# This is a generic function to print text in ranger.
self.fm.notify("Let's edit the file " + target_filename + "!")
# Using bad=True in fm.notify allows you to print error messages:
if not os.path.exists(target_filename):
self.fm.notify("The given file does not exist!", bad=True)
return
# This executes a function from ranger.core.acitons, a module with a
# variety of subroutines that can help you construct commands.
# Check out the source, or run "pydoc ranger.core.actions" for a list.
self.fm.edit_file(target_filename)
# The tab method is called when you press tab, and should return a list of
# suggestions that the user will tab through.
# tabnum is 1 for <TAB> and -1 for <S-TAB> by default
def tab(self, tabnum):
# This is a generic tab-completion function that iterates through the
# content of the current directory.
return self._tab_directory_content()

File diff suppressed because it is too large Load Diff

765
.config/ranger/rc.conf Normal file
View File

@ -0,0 +1,765 @@
# ===================================================================
# This file contains the default startup commands for ranger.
# To change them, it is recommended to create either /etc/ranger/rc.conf
# (system-wide) or ~/.config/ranger/rc.conf (per user) and add your custom
# commands there.
#
# If you copy this whole file there, you may want to set the environment
# variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice.
#
# The purpose of this file is mainly to define keybindings and settings.
# For running more complex python code, please create a plugin in "plugins/" or
# a command in "commands.py".
#
# Each line is a command that will be run before the user interface
# is initialized. As a result, you can not use commands which rely
# on the UI such as :delete or :mark.
# ===================================================================
# ===================================================================
# == Options
# ===================================================================
# Which viewmode should be used? Possible values are:
# miller: Use miller columns which show multiple levels of the hierarchy
# multipane: Midnight-commander like multipane view showing all tabs next
# to each other
set viewmode miller
#set viewmode multipane
# How many columns are there, and what are their relative widths?
set column_ratios 1,3,3
# Which files should be hidden? (regular expression)
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
# Show hidden files? You can toggle this by typing 'zh'
set show_hidden false
# Ask for a confirmation when running the "delete" command?
# Valid values are "always", "never", "multiple" (default)
# With "multiple", ranger will ask only if you delete multiple files at once.
set confirm_on_delete multiple
# Use non-default path for file preview script?
# ranger ships with scope.sh, a script that calls external programs (see
# README.md for dependencies) to preview images, archives, etc.
set preview_script ~/.config/ranger/scope.sh
# Use the external preview script or display simple plain text or image previews?
set use_preview_script true
# Automatically count files in the directory, even before entering them?
set automatically_count_files true
# Open all images in this directory when running certain image viewers
# like feh or sxiv? You can still open selected files by marking them.
set open_all_images true
# Be aware of version control systems and display information.
set vcs_aware true
# State of the four backends git, hg, bzr, svn. The possible states are
# disabled, local (only show local info), enabled (show local and remote
# information).
set vcs_backend_git enabled
set vcs_backend_hg disabled
set vcs_backend_bzr disabled
set vcs_backend_svn disabled
# Truncate the long commit messages to this length when shown in the statusbar.
set vcs_msg_length 50
# Use one of the supported image preview protocols
set preview_images true
# Set the preview image method. Supported methods:
#
# * w3m (default):
# Preview images in full color with the external command "w3mimgpreview"?
# This requires the console web browser "w3m" and a supported terminal.
# It has been successfully tested with "xterm" and "urxvt" without tmux.
#
# * iterm2:
# Preview images in full color using iTerm2 image previews
# (http://iterm2.com/images.html). This requires using iTerm2 compiled
# with image preview support.
#
# This feature relies on the dimensions of the terminal's font. By default, a
# width of 8 and height of 11 are used. To use other values, set the options
# iterm2_font_width and iterm2_font_height to the desired values.
#
# * terminology:
# Previews images in full color in the terminology terminal emulator.
# Supports a wide variety of formats, even vector graphics like svg.
#
# * urxvt:
# Preview images in full color using urxvt image backgrounds. This
# requires using urxvt compiled with pixbuf support.
#
# * urxvt-full:
# The same as urxvt but utilizing not only the preview pane but the
# whole terminal window.
#
# * kitty:
# Preview images in full color using kitty image protocol.
# Requires python PIL or pillow library.
# If ranger does not share the local filesystem with kitty
# the transfer method is changed to encode the whole image;
# while slower, this allows remote previews,
# for example during an ssh session.
# Tmux is unsupported.
#
# * ueberzug:
# Preview images in full color with the external command "ueberzug".
# Images are shown by using a child window.
# Only for users who run X11 in GNU/Linux.
set preview_images_method w3m
# Delay in seconds before displaying an image with the w3m method.
# Increase it in case of experiencing display corruption.
set w3m_delay 0.1
# Manually adjust the w3mimg offset when using a terminal which needs this
set w3m_offset 0
# Default iTerm2 font size (see: preview_images_method: iterm2)
set iterm2_font_width 8
set iterm2_font_height 11
# Use a unicode "..." character to mark cut-off filenames?
set unicode_ellipsis true
# BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic).
# Requires the python-bidi pip package
set bidi_support false
# Show dotfiles in the bookmark preview box?
set show_hidden_bookmarks true
# Which colorscheme to use? These colorschemes are available by default:
# default, jungle, snow, solarized
set colorscheme default
# Preview files on the rightmost column?
# And collapse (shrink) the last column if there is nothing to preview?
set preview_files true
set preview_directories true
set collapse_preview false
# Wrap long lines in plain text previews?
set wrap_plaintext_previews false
# Save the console history on exit?
set save_console_history true
# Draw the status bar on top of the browser window (default: bottom)
set status_bar_on_top true
# Draw a progress bar in the status bar which displays the average state of all
# currently running tasks which support progress bars?
set draw_progress_bar_in_status_bar true
# Draw borders around columns? (separators, outline, both, or none)
# Separators are vertical lines between columns.
# Outline draws a box around all the columns.
# Both combines the two.
set draw_borders both
# Display the directory name in tabs?
set dirname_in_tabs false
# Enable the mouse support?
set mouse_enabled false
# Display the file size in the main column or status bar?
set display_size_in_main_column true
set display_size_in_status_bar true
# Display the free disk space in the status bar?
set display_free_space_in_status_bar true
# Display files tags in all columns or only in main column?
set display_tags_in_all_columns true
# Set a title for the window? Updates both `WM_NAME` and `WM_ICON_NAME`
set update_title true
# Set the tmux/screen window-name to "ranger"?
set update_tmux_title true
# Shorten the title if it gets long? The number defines how many
# directories are displayed at once, 0 turns off this feature.
set shorten_title 3
# Show hostname in titlebar?
set hostname_in_titlebar true
# Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
set tilde_in_titlebar true
# How many directory-changes or console-commands should be kept in history?
set max_history_size 20
set max_console_history_size 50
# Try to keep so much space between the top/bottom border when scrolling:
set scroll_offset 8
# Flush the input after each key hit? (Noticeable when ranger lags)
set flushinput true
# Padding on the right when there's no preview?
# This allows you to click into the space to run the file.
set padding_right true
# Save bookmarks (used with mX and `X) instantly?
# This helps to synchronize bookmarks between multiple ranger
# instances but leads to *slight* performance loss.
# When false, bookmarks are saved when ranger is exited.
set autosave_bookmarks true
# Save the "`" bookmark to disk. This can be used to switch to the last
# directory by typing "``".
set save_backtick_bookmark true
# You can display the "real" cumulative size of directories by using the
# command :get_cumulative_size or typing "dc". The size is expensive to
# calculate and will not be updated automatically. You can choose
# to update it automatically though by turning on this option:
set autoupdate_cumulative_size false
# Turning this on makes sense for screen readers:
set show_cursor false
# One of: size, natural, basename, atime, ctime, mtime, type, random
set sort natural
# Additional sorting options
set sort_reverse false
set sort_case_insensitive true
set sort_directories_first true
set sort_unicode false
# Enable this if key combinations with the Alt Key don't work for you.
# (Especially on xterm)
set xterm_alt_key false
# Whether to include bookmarks in cd command
set cd_bookmarks true
# Changes case sensitivity for the cd command tab completion
set cd_tab_case sensitive
# Use fuzzy tab completion with the "cd" command. For example,
# ":cd /u/lo/b<tab>" expands to ":cd /usr/local/bin".
set cd_tab_fuzzy false
# Avoid previewing files larger than this size, in bytes. Use a value of 0 to
# disable this feature.
set preview_max_size 0
# The key hint lists up to this size have their sublists expanded.
# Otherwise the submaps are replaced with "...".
set hint_collapse_threshold 10
# Add the highlighted file to the path in the titlebar
set show_selection_in_titlebar true
# The delay that ranger idly waits for user input, in milliseconds, with a
# resolution of 100ms. Lower delay reduces lag between directory updates but
# increases CPU load.
set idle_delay 2000
# When the metadata manager module looks for metadata, should it only look for
# a ".metadata.json" file in the current directory, or do a deep search and
# check all directories above the current one as well?
set metadata_deep_search false
# Clear all existing filters when leaving a directory
set clear_filters_on_dir_change false
# Disable displaying line numbers in main column.
# Possible values: false, absolute, relative.
set line_numbers false
# When line_numbers=relative show the absolute line number in the
# current line.
set relative_current_zero false
# Start line numbers from 1 instead of 0
set one_indexed false
# Save tabs on exit
set save_tabs_on_exit false
# Enable scroll wrapping - moving down while on the last item will wrap around to
# the top and vice versa.
set wrap_scroll false
# Set the global_inode_type_filter to nothing. Possible options: d, f and l for
# directories, files and symlinks respectively.
set global_inode_type_filter
# This setting allows to freeze the list of files to save I/O bandwidth. It
# should be 'false' during start-up, but you can toggle it by pressing F.
set freeze_files false
# Print file sizes in bytes instead of the default human-readable format.
set size_in_bytes false
# Warn at startup if RANGER_LEVEL env var is greater than 0, in other words
# give a warning when you nest ranger in a subshell started by ranger.
# Special value "error" makes the warning more visible.
set nested_ranger_warning true
# ===================================================================
# == Local Options
# ===================================================================
# You can set local options that only affect a single directory.
# Examples:
# setlocal path=~/downloads sort mtime
setlocal path=~/.factorio preview_max_size 52428800
setlocal path=~/mnt preview_directories false
setlocal path=~/mnt/seedbox sort_directories_first false
setlocal path=~/cache/ranger use_preview_script false
setlocal path=~/cache/ranger preview_images false
# ===================================================================
# == Command Aliases in the Console
# ===================================================================
alias e edit
alias q quit
alias q! quit!
alias qa quitall
alias qa! quitall!
alias qall quitall
alias qall! quitall!
alias setl setlocal
alias filter scout -prts
alias find scout -aets
alias mark scout -mr
alias unmark scout -Mr
alias search scout -rs
alias search_inc scout -rts
alias travel scout -aefklst
# ===================================================================
# == Define keys for the browser
# ===================================================================
# Basic
map Q quitall
map q quit
copymap q ZZ ZQ
map R reload_cwd
map F set freeze_files!
map <C-r> reset
map <C-l> redraw_window
map <C-c> abort
map <esc> change_mode normal
map ~ set viewmode!
map i display_file
map <A-j> scroll_preview 1
map <A-k> scroll_preview -1
map ? help
map W display_log
map w taskview_open
#map S shell $SHELL
map S shell fish
map : console
map ; console
map ! console shell%space
map @ console -p6 shell %%s
map # console shell -p%space
map s console shell%space
map r chain draw_possible_programs; console open_with%space
map f console find%space
map cd console cd%space
map <C-p> chain console; eval fm.ui.console.history_move(-1)
# Change the line mode
map Mf linemode filename
map Mi linemode fileinfo
map Mm linemode mtime
map Mh linemode humanreadablemtime
map Mp linemode permissions
map Ms linemode sizemtime
map MH linemode sizehumanreadablemtime
map Mt linemode metatitle
# Tagging / Marking
map t tag_toggle
map ut tag_remove
map "<any> tag_toggle tag=%any
map <Space> mark_files toggle=True
map v mark_files all=True toggle=True
map uv mark_files all=True val=False
map V toggle_visual_mode
map uV toggle_visual_mode reverse=True
# For the nostalgics: Midnight Commander bindings
map <F1> help
map <F2> rename_append
map <F3> display_file
map <F4> edit
map <F5> copy
map <F6> cut
map <F7> console mkdir%space
map <F8> console delete
#map <F8> console trash
map <F10> exit
# In case you work on a keyboard with dvorak layout
map <UP> move up=1
map <DOWN> move down=1
map <LEFT> move left=1
map <RIGHT> move right=1
map <HOME> move to=0
map <END> move to=-1
map <PAGEDOWN> move down=1 pages=True
map <PAGEUP> move up=1 pages=True
map <CR> move right=1
#map <DELETE> console delete
map <INSERT> console touch%space
# VIM-like
copymap <UP> k
copymap <DOWN> j
copymap <LEFT> h
copymap <RIGHT> l
copymap <HOME> gg
copymap <END> G
copymap <PAGEDOWN> <C-F>
copymap <PAGEUP> <C-B>
map J move down=0.5 pages=True
map K move up=0.5 pages=True
copymap J <C-D>
copymap K <C-U>
# Jumping around
map H history_go -1
map L history_go 1
map ] move_parent 1
map [ move_parent -1
map } traverse
map { traverse_backwards
map ) jump_non
map gh cd ~
map ge cd /etc
map gu cd /usr
map gd cd /dev
map gl cd -r .
map gL cd -r %f
map go cd /opt
map gv cd /var
map gm cd /media
map gi eval fm.cd('/run/media/' + os.getenv('USER'))
map gM cd /mnt
map gs cd /srv
map gp cd /tmp
map gr cd /
map gR eval fm.cd(ranger.RANGERDIR)
map g/ cd /
map g? cd /usr/share/doc/ranger
# External Programs
map E edit
map du shell -p du --max-depth=1 -h --apparent-size
map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
map yp yank path
map yd yank dir
map yn yank name
map y. yank name_without_extension
# Filesystem Operations
map = chmod
map cw console rename%space
map a rename_append
map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
map pp paste
map po paste overwrite=True
map pP paste append=True
map pO paste overwrite=True append=True
map pl paste_symlink relative=False
map pL paste_symlink relative=True
map phl paste_hardlink
map pht paste_hardlinked_subtree
map pd console paste dest=
map p`<any> paste dest=%any_path
map p'<any> paste dest=%any_path
map dD console delete
map dT console trash
map dd cut
map ud uncut
map da cut mode=add
map dr cut mode=remove
map dt cut mode=toggle
map yy copy
map uy uncut
map ya copy mode=add
map yr copy mode=remove
map yt copy mode=toggle
# Temporary workarounds
map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
# Searching
map / console search%space
map n search_next
map N search_next forward=False
map ct search_next order=tag
map cs search_next order=size
map ci search_next order=mimetype
map cc search_next order=ctime
map cm search_next order=mtime
map ca search_next order=atime
# Tabs
map <C-n> tab_new
map <C-w> tab_close
map <TAB> tab_move 1
map <S-TAB> tab_move -1
map <A-Right> tab_move 1
map <A-Left> tab_move -1
map gt tab_move 1
map gT tab_move -1
map gn tab_new
map gc tab_close
map uq tab_restore
map <a-1> tab_open 1
map <a-2> tab_open 2
map <a-3> tab_open 3
map <a-4> tab_open 4
map <a-5> tab_open 5
map <a-6> tab_open 6
map <a-7> tab_open 7
map <a-8> tab_open 8
map <a-9> tab_open 9
map <a-r> tab_shift 1
map <a-l> tab_shift -1
# Sorting
map or set sort_reverse!
map oz set sort=random
map os chain set sort=size; set sort_reverse=False
map ob chain set sort=basename; set sort_reverse=False
map on chain set sort=natural; set sort_reverse=False
map om chain set sort=mtime; set sort_reverse=False
map oc chain set sort=ctime; set sort_reverse=False
map oa chain set sort=atime; set sort_reverse=False
map ot chain set sort=type; set sort_reverse=False
map oe chain set sort=extension; set sort_reverse=False
map oS chain set sort=size; set sort_reverse=True
map oB chain set sort=basename; set sort_reverse=True
map oN chain set sort=natural; set sort_reverse=True
map oM chain set sort=mtime; set sort_reverse=True
map oC chain set sort=ctime; set sort_reverse=True
map oA chain set sort=atime; set sort_reverse=True
map oT chain set sort=type; set sort_reverse=True
map oE chain set sort=extension; set sort_reverse=True
map dc get_cumulative_size
# Settings
map zc set collapse_preview!
map zd set sort_directories_first!
map zh set show_hidden!
map <C-h> set show_hidden!
copymap <C-h> <backspace>
copymap <backspace> <backspace2>
map zI set flushinput!
map zi set preview_images!
map zm set mouse_enabled!
map zp set preview_files!
map zP set preview_directories!
map zs set sort_case_insensitive!
map zu set autoupdate_cumulative_size!
map zv set use_preview_script!
map zf console filter%space
copymap zf zz
# Filter stack
map .d filter_stack add type d
map .f filter_stack add type f
map .l filter_stack add type l
map .m console filter_stack add mime%space
map .n console filter_stack add name%space
map .# console filter_stack add hash%space
map ." filter_stack add duplicate
map .' filter_stack add unique
map .| filter_stack add or
map .& filter_stack add and
map .! filter_stack add not
map .r filter_stack rotate
map .c filter_stack clear
map .* filter_stack decompose
map .p filter_stack pop
map .. filter_stack show
# Bookmarks
map `<any> enter_bookmark %any
map '<any> enter_bookmark %any
map m<any> set_bookmark %any
map um<any> unset_bookmark %any
map m<bg> draw_bookmarks
copymap m<bg> um<bg> `<bg> '<bg>
# Generate all the chmod bindings with some python help:
eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
# ===================================================================
# == Define keys for the console
# ===================================================================
# Note: Unmapped keys are passed directly to the console.
# Basic
cmap <tab> eval fm.ui.console.tab()
cmap <s-tab> eval fm.ui.console.tab(-1)
cmap <ESC> eval fm.ui.console.close()
cmap <CR> eval fm.ui.console.execute()
cmap <C-l> redraw_window
copycmap <ESC> <C-c>
copycmap <CR> <C-j>
# Move around
cmap <up> eval fm.ui.console.history_move(-1)
cmap <down> eval fm.ui.console.history_move(1)
cmap <left> eval fm.ui.console.move(left=1)
cmap <right> eval fm.ui.console.move(right=1)
cmap <home> eval fm.ui.console.move(right=0, absolute=True)
cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
cmap <a-b> eval fm.ui.console.move_word(left=1)
cmap <a-f> eval fm.ui.console.move_word(right=1)
copycmap <a-b> <a-left>
copycmap <a-f> <a-right>
# Line Editing
cmap <backspace> eval fm.ui.console.delete(-1)
cmap <delete> eval fm.ui.console.delete(0)
cmap <C-w> eval fm.ui.console.delete_word()
cmap <A-d> eval fm.ui.console.delete_word(backward=False)
cmap <C-k> eval fm.ui.console.delete_rest(1)
cmap <C-u> eval fm.ui.console.delete_rest(-1)
cmap <C-y> eval fm.ui.console.paste()
# And of course the emacs way
copycmap <ESC> <C-g>
copycmap <up> <C-p>
copycmap <down> <C-n>
copycmap <left> <C-b>
copycmap <right> <C-f>
copycmap <home> <C-a>
copycmap <end> <C-e>
copycmap <delete> <C-d>
copycmap <backspace> <C-h>
# Note: There are multiple ways to express backspaces. <backspace> (code 263)
# and <backspace2> (code 127). To be sure, use both.
copycmap <backspace> <backspace2>
# This special expression allows typing in numerals:
cmap <allow_quantifiers> false
# ===================================================================
# == Pager Keybindings
# ===================================================================
# Movement
pmap <down> pager_move down=1
pmap <up> pager_move up=1
pmap <left> pager_move left=4
pmap <right> pager_move right=4
pmap <home> pager_move to=0
pmap <end> pager_move to=-1
pmap <pagedown> pager_move down=1.0 pages=True
pmap <pageup> pager_move up=1.0 pages=True
pmap <C-d> pager_move down=0.5 pages=True
pmap <C-u> pager_move up=0.5 pages=True
copypmap <UP> k <C-p>
copypmap <DOWN> j <C-n> <CR>
copypmap <LEFT> h
copypmap <RIGHT> l
copypmap <HOME> g
copypmap <END> G
copypmap <C-d> d
copypmap <C-u> u
copypmap <PAGEDOWN> n f <C-F> <Space>
copypmap <PAGEUP> p b <C-B>
# Basic
pmap <C-l> redraw_window
pmap <ESC> pager_close
copypmap <ESC> q Q i <F3>
pmap E edit_file
# ===================================================================
# == Taskview Keybindings
# ===================================================================
# Movement
tmap <up> taskview_move up=1
tmap <down> taskview_move down=1
tmap <home> taskview_move to=0
tmap <end> taskview_move to=-1
tmap <pagedown> taskview_move down=1.0 pages=True
tmap <pageup> taskview_move up=1.0 pages=True
tmap <C-d> taskview_move down=0.5 pages=True
tmap <C-u> taskview_move up=0.5 pages=True
copytmap <UP> k <C-p>
copytmap <DOWN> j <C-n> <CR>
copytmap <HOME> g
copytmap <END> G
copytmap <C-u> u
copytmap <PAGEDOWN> n f <C-F> <Space>
copytmap <PAGEUP> p b <C-B>
# Changing priority and deleting tasks
tmap J eval -q fm.ui.taskview.task_move(-1)
tmap K eval -q fm.ui.taskview.task_move(0)
tmap dd eval -q fm.ui.taskview.task_remove()
tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
tmap <pageup> eval -q fm.ui.taskview.task_move(0)
tmap <delete> eval -q fm.ui.taskview.task_remove()
# Basic
tmap <C-l> redraw_window
tmap <ESC> taskview_close
copytmap <ESC> q Q w <C-c>

287
.config/ranger/rifle.conf Normal file
View File

@ -0,0 +1,287 @@
# vim: ft=cfg
#
# This is the configuration file of "rifle", ranger's file executor/opener.
# Each line consists of conditions and a command. For each line the conditions
# are checked and if they are met, the respective command is run.
#
# Syntax:
# <condition1> , <condition2> , ... = command
#
# The command can contain these environment variables:
# $1-$9 | The n-th selected file
# $@ | All selected files
#
# If you use the special command "ask", rifle will ask you what program to run.
#
# Prefixing a condition with "!" will negate its result.
# These conditions are currently supported:
# match <regexp> | The regexp matches $1
# ext <regexp> | The regexp matches the extension of $1
# mime <regexp> | The regexp matches the mime type of $1
# name <regexp> | The regexp matches the basename of $1
# path <regexp> | The regexp matches the absolute path of $1
# has <program> | The program is installed (i.e. located in $PATH)
# env <variable> | The environment variable "variable" is non-empty
# file | $1 is a file
# directory | $1 is a directory
# number <n> | change the number of this command to n
# terminal | stdin, stderr and stdout are connected to a terminal
# X | A graphical environment is available (darwin, Xorg, or Wayland)
#
# There are also pseudo-conditions which have a "side effect":
# flag <flags> | Change how the program is run. See below.
# label <label> | Assign a label or name to the command so it can
# | be started with :open_with <label> in ranger
# | or `rifle -p <label>` in the standalone executable.
# else | Always true.
#
# Flags are single characters which slightly transform the command:
# f | Fork the program, make it run in the background.
# | New command = setsid $command >& /dev/null &
# r | Execute the command with root permissions
# | New command = sudo $command
# t | Run the program in a new terminal. If $TERMCMD is not defined,
# | rifle will attempt to extract it from $TERM.
# | New command = $TERMCMD -e $command
# Note: The "New command" serves only as an illustration, the exact
# implementation may differ.
# Note: When using rifle in ranger, there is an additional flag "c" for
# only running the current file even if you have marked multiple files.
#-------------------------------------------
# Websites
#-------------------------------------------
# Rarely installed browsers get higher priority; It is assumed that if you
# install a rare browser, you probably use it. Firefox/konqueror/w3m on the
# other hand are often only installed as fallback browsers.
ext x?html?, has surf, X, flag f = surf -- file://"$1"
ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@"
ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@"
ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
ext x?html?, has dwb, X, flag f = dwb -- "$@"
ext x?html?, has jumanji, X, flag f = jumanji -- "$@"
ext x?html?, has luakit, X, flag f = luakit -- "$@"
ext x?html?, has uzbl, X, flag f = uzbl -- "$@"
ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@"
ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@"
ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@"
ext x?html?, has midori, X, flag f = midori -- "$@"
ext x?html?, has opera, X, flag f = opera -- "$@"
ext x?html?, has firefox, X, flag f = firefox -- "$@"
ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@"
ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@"
ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@"
ext x?html?, has chromium, X, flag f = chromium -- "$@"
ext x?html?, has google-chrome, X, flag f = google-chrome -- "$@"
ext x?html?, has epiphany, X, flag f = epiphany -- "$@"
ext x?html?, has konqueror, X, flag f = konqueror -- "$@"
ext x?html?, has elinks, terminal = elinks "$@"
ext x?html?, has links2, terminal = links2 "$@"
ext x?html?, has links, terminal = links "$@"
ext x?html?, has lynx, terminal = lynx -- "$@"
ext x?html?, has w3m, terminal = w3m "$@"
#-------------------------------------------
# Misc
#-------------------------------------------
# Define the "editor" for text files as first action
mime ^text, label editor = ${VISUAL:-$EDITOR} -- "$@"
mime ^text, label pager = "$PAGER" -- "$@"
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
ext 1 = man "$1"
ext s[wmf]c, has zsnes, X = zsnes "$1"
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
ext nes, has fceux, X = fceux "$1"
ext exe = wine "$1"
name ^[mM]akefile$ = make
#--------------------------------------------
# Scripts
#-------------------------------------------
ext py = python -- "$1"
ext pl = perl -- "$1"
ext rb = ruby -- "$1"
ext js = node -- "$1"
ext sh = sh -- "$1"
ext php = php -- "$1"
#--------------------------------------------
# Audio without X
#-------------------------------------------
mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@"
mime ^audio|ogg$, terminal, has mplayer = mplayer -- "$@"
ext midi?, terminal, has wildmidi = wildmidi -- "$@"
#--------------------------------------------
# Video/Audio with a GUI
#-------------------------------------------
mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@"
mime ^video|audio, has smplayer, X, flag f = smplayer "$@"
mime ^video, has mpv, X, flag f = mpv -- "$@"
mime ^video, has mpv, X, flag f = mpv --shuffle --loop-playlist -- "$@"
mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@"
mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@"
mime ^video, has mplayer, X, flag f = mplayer -- "$@"
mime ^video, has mplayer, X, flag f = mplayer -fs -- "$@"
mime ^video|audio, has vlc, X, flag f = vlc -- "$@"
mime ^video|audio, has totem, X, flag f = totem -- "$@"
mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@"
#--------------------------------------------
# Video without X
#-------------------------------------------
mime ^video, terminal, !X, has mpv = mpv --vo=drm -- "$@"
mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
#-------------------------------------------
# Documents
#-------------------------------------------
ext pdf, has llpp, X, flag f = llpp "$@"
ext pdf, has zathura, X, flag f = zathura -- "$@"
ext pdf, has mupdf, X, flag f = mupdf "$@"
ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
ext pdf, has apvlv, X, flag f = apvlv -- "$@"
ext pdf, has xpdf, X, flag f = xpdf -- "$@"
ext pdf, has evince, X, flag f = evince -- "$@"
ext pdf, has atril, X, flag f = atril -- "$@"
ext pdf, has okular, X, flag f = okular -- "$@"
ext pdf, has epdfview, X, flag f = epdfview -- "$@"
ext pdf, has qpdfview, X, flag f = qpdfview "$@"
ext pdf, has open, X, flag f = open "$@"
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
ext djvu, has zathura,X, flag f = zathura -- "$@"
ext djvu, has evince, X, flag f = evince -- "$@"
ext djvu, has atril, X, flag f = atril -- "$@"
ext djvu, has djview, X, flag f = djview -- "$@"
ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
ext epub, has zathura, X, flag f = zathura -- "$@"
ext epub, has mupdf, X, flag f = mupdf -- "$@"
ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
ext cbr, has zathura, X, flag f = zathura -- "$@"
ext cbz, has zathura, X, flag f = zathura -- "$@"
#-------------------------------------------
# Images
#-------------------------------------------
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
mime ^image/svg, has display, X, flag f = display -- "$@"
mime ^image, has gthumb, X, flag f = gthumb -- "$@"
mime ^image, has viewnior, X, flag f = viewnior -- "$@"
mime ^image, has imv, X, flag f = imv -- "$@"
mime ^image, has pqiv, X, flag f = pqiv -- "$@"
mime ^image, has sxiv, X, flag f = sxiv -- "$@"
mime ^image, has feh, X, flag f = feh -- "$@"
mime ^image, has mirage, X, flag f = mirage -- "$@"
mime ^image, has ristretto, X, flag f = ristretto "$@"
mime ^image, has eog, X, flag f = eog -- "$@"
mime ^image, has eom, X, flag f = eom -- "$@"
mime ^image, has nomacs, X, flag f = nomacs -- "$@"
mime ^image, has geeqie, X, flag f = geeqie -- "$@"
mime ^image, has gpicview, X, flag f = gpicview -- "$@"
mime ^image, has gwenview, X, flag f = gwenview -- "$@"
mime ^image, has gimp, X, flag f = gimp -- "$@"
ext xcf, X, flag f = gimp -- "$@"
#-------------------------------------------
# Archives
#-------------------------------------------
# avoid password prompt by providing empty password
ext 7z, has 7z = 7z -p l "$@" | "$PAGER"
# This requires atool
ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --list --each -- "$@" | "$PAGER"
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --list --each -- "$@" | "$PAGER"
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --extract --each -- "$@"
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --extract --each -- "$@"
# Listing and extracting archives without atool:
ext tar|gz|bz2|xz, has tar = tar vvtf "$1" | "$PAGER"
ext tar|gz|bz2|xz, has tar = for file in "$@"; do tar vvxf "$file"; done
ext bz2, has bzip2 = for file in "$@"; do bzip2 -dk "$file"; done
ext zip, has unzip = unzip -l "$1" | less
ext zip, has unzip = for file in "$@"; do unzip -d "${file%.*}" "$file"; done
ext ace, has unace = unace l "$1" | less
ext ace, has unace = for file in "$@"; do unace e "$file"; done
ext rar, has unrar = unrar l "$1" | less
ext rar, has unrar = for file in "$@"; do unrar x "$file"; done
#-------------------------------------------
# Fonts
#-------------------------------------------
mime ^font, has fontforge, X, flag f = fontforge "$@"
#-------------------------------------------
# Flag t fallback terminals
#-------------------------------------------
# Rarely installed terminal emulators get higher priority; It is assumed that
# if you install a rare terminal emulator, you probably use it.
# gnome-terminal/konsole/xterm on the other hand are often installed as part of
# a desktop environment or as fallback terminal emulators.
mime ^ranger/x-terminal-emulator, has terminology = terminology -e "$@"
mime ^ranger/x-terminal-emulator, has kitty = kitty -- "$@"
mime ^ranger/x-terminal-emulator, has alacritty = alacritty -e "$@"
mime ^ranger/x-terminal-emulator, has sakura = sakura -e "$@"
mime ^ranger/x-terminal-emulator, has lilyterm = lilyterm -e "$@"
#mime ^ranger/x-terminal-emulator, has cool-retro-term = cool-retro-term -e "$@"
mime ^ranger/x-terminal-emulator, has termite = termite -x '"$@"'
#mime ^ranger/x-terminal-emulator, has yakuake = yakuake -e "$@"
mime ^ranger/x-terminal-emulator, has guake = guake -ne "$@"
mime ^ranger/x-terminal-emulator, has tilda = tilda -c "$@"
mime ^ranger/x-terminal-emulator, has st = st -e "$@"
mime ^ranger/x-terminal-emulator, has terminator = terminator -x "$@"
mime ^ranger/x-terminal-emulator, has urxvtc = urxvt -e "$@"
mime ^ranger/x-terminal-emulator, has urxvt = urxvt -e "$@"
mime ^ranger/x-terminal-emulator, has pantheon-terminal = pantheon-terminal -e "$@"
mime ^ranger/x-terminal-emulator, has lxterminal = lxterminal -e "$@"
mime ^ranger/x-terminal-emulator, has mate-terminal = mate-terminal -x "$@"
mime ^ranger/x-terminal-emulator, has xfce4-terminal = xfce4-terminal -x "$@"
mime ^ranger/x-terminal-emulator, has konsole = konsole -e "$@"
mime ^ranger/x-terminal-emulator, has gnome-terminal = gnome-terminal -- "$@"
mime ^ranger/x-terminal-emulator, has xterm = xterm -e "$@"
#-------------------------------------------
# Misc
#-------------------------------------------
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
#-------------------------------------------
# Generic file openers
#-------------------------------------------
label open, has xdg-open = xdg-open -- "$@"
label open, has open = open -- "$@"
# Define the editor for non-text files + pager as last action
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
######################################################################
# The actions below are left so low down in this file on purpose, so #
# they are never triggered accidentally. #
######################################################################
# Execute a file as program/script.
mime application/x-executable = "$1"
# Move the file to trash using trash-cli.
label trash, has trash-put = trash-put -- "$@"
label trash = mkdir -p -- ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash; mv -- "$@" ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash

350
.config/ranger/scope.sh Executable file
View File

@ -0,0 +1,350 @@
#!/usr/bin/env bash
set -o noclobber -o noglob -o nounset -o pipefail
IFS=$'\n'
## If the option `use_preview_script` is set to `true`,
## then this script will be called and its output will be displayed in ranger.
## ANSI color codes are supported.
## STDIN is disabled, so interactive scripts won't work properly
## This script is considered a configuration file and must be updated manually.
## It will be left untouched if you upgrade ranger.
## Because of some automated testing we do on the script #'s for comments need
## to be doubled up. Code that is commented out, because it's an alternative for
## example, gets only one #.
## Meanings of exit codes:
## code | meaning | action of ranger
## -----+------------+-------------------------------------------
## 0 | success | Display stdout as preview
## 1 | no preview | Display no preview at all
## 2 | plain text | Display the plain content of the file
## 3 | fix width | Don't reload when width changes
## 4 | fix height | Don't reload when height changes
## 5 | fix both | Don't ever reload
## 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview
## 7 | image | Display the file directly as an image
## Script arguments
FILE_PATH="${1}" # Full path of the highlighted file
PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters)
## shellcheck disable=SC2034 # PV_HEIGHT is provided for convenience and unused
PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters)
IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview
PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise.
FILE_EXTENSION="${FILE_PATH##*.}"
FILE_EXTENSION_LOWER="$(printf "%s" "${FILE_EXTENSION}" | tr '[:upper:]' '[:lower:]')"
## Settings
HIGHLIGHT_SIZE_MAX=262143 # 256KiB
HIGHLIGHT_TABWIDTH=${HIGHLIGHT_TABWIDTH:-8}
HIGHLIGHT_STYLE=${HIGHLIGHT_STYLE:-pablo}
HIGHLIGHT_OPTIONS="--replace-tabs=${HIGHLIGHT_TABWIDTH} --style=${HIGHLIGHT_STYLE} ${HIGHLIGHT_OPTIONS:-}"
PYGMENTIZE_STYLE=${PYGMENTIZE_STYLE:-autumn}
OPENSCAD_IMGSIZE=${RNGR_OPENSCAD_IMGSIZE:-1000,1000}
OPENSCAD_COLORSCHEME=${RNGR_OPENSCAD_COLORSCHEME:-Tomorrow Night}
handle_extension() {
case "${FILE_EXTENSION_LOWER}" in
## Archive
a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
atool --list -- "${FILE_PATH}" && exit 5
bsdtar --list --file "${FILE_PATH}" && exit 5
exit 1;;
rar)
## Avoid password prompt by providing empty password
unrar lt -p- -- "${FILE_PATH}" && exit 5
exit 1;;
7z)
## Avoid password prompt by providing empty password
7z l -p -- "${FILE_PATH}" && exit 5
exit 1;;
## PDF
pdf)
## Preview as text conversion
pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | \
fmt -w "${PV_WIDTH}" && exit 5
mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | \
fmt -w "${PV_WIDTH}" && exit 5
exiftool "${FILE_PATH}" && exit 5
exit 1;;
## BitTorrent
torrent)
transmission-show -- "${FILE_PATH}" && exit 5
exit 1;;
## OpenDocument
odt|ods|odp|sxw)
## Preview as text conversion
odt2txt "${FILE_PATH}" && exit 5
## Preview as markdown conversion
pandoc -s -t markdown -- "${FILE_PATH}" && exit 5
exit 1;;
## XLSX
xlsx)
## Preview as csv conversion
## Uses: https://github.com/dilshod/xlsx2csv
xlsx2csv -- "${FILE_PATH}" && exit 5
exit 1;;
## HTML
htm|html|xhtml)
## Preview as text conversion
w3m -dump "${FILE_PATH}" && exit 5
lynx -dump -- "${FILE_PATH}" && exit 5
elinks -dump "${FILE_PATH}" && exit 5
pandoc -s -t markdown -- "${FILE_PATH}" && exit 5
;;
## JSON
json)
jq --color-output . "${FILE_PATH}" && exit 5
python -m json.tool -- "${FILE_PATH}" && exit 5
;;
## Direct Stream Digital/Transfer (DSDIFF) and wavpack aren't detected
## by file(1).
dff|dsf|wv|wvc)
mediainfo "${FILE_PATH}" && exit 5
exiftool "${FILE_PATH}" && exit 5
;; # Continue with next handler on failure
esac
}
handle_image() {
## Size of the preview if there are multiple options or it has to be
## rendered from vector graphics. If the conversion program allows
## specifying only one dimension while keeping the aspect ratio, the width
## will be used.
local DEFAULT_SIZE="1920x1080"
local mimetype="${1}"
case "${mimetype}" in
## SVG
image/svg+xml|image/svg)
convert -- "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6
exit 1;;
## DjVu
# image/vnd.djvu)
# ddjvu -format=tiff -quality=90 -page=1 -size="${DEFAULT_SIZE}" \
# - "${IMAGE_CACHE_PATH}" < "${FILE_PATH}" \
# && exit 6 || exit 1;;
## Image
image/*)
local orientation
orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )"
## If orientation data is present and the image actually
## needs rotating ("1" means no rotation)...
if [[ -n "$orientation" && "$orientation" != 1 ]]; then
## ...auto-rotate the image according to the EXIF data.
convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6
fi
## `w3mimgdisplay` will be called for all images (unless overriden
## as above), but might fail for unsupported types.
exit 7;;
## Video
video/*)
# Thumbnail
ffmpegthumbnailer -m -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6
exit 1;;
## PDF
application/pdf)
pdftoppm -f 1 -l 1 \
-scale-to-x "${DEFAULT_SIZE%x*}" \
-scale-to-y -1 \
-singlefile \
-jpeg -tiffcompression jpeg \
-- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \
&& exit 6 || exit 1;;
## ePub, MOBI, FB2 (using Calibre)
# application/epub+zip|application/x-mobipocket-ebook|\
# application/x-fictionbook+xml)
# # ePub (using https://github.com/marianosimone/epub-thumbnailer)
# epub-thumbnailer "${FILE_PATH}" "${IMAGE_CACHE_PATH}" \
# "${DEFAULT_SIZE%x*}" && exit 6
# ebook-meta --get-cover="${IMAGE_CACHE_PATH}" -- "${FILE_PATH}" \
# >/dev/null && exit 6
# exit 1;;
## Font
application/font*|application/*opentype)
preview_png="/tmp/$(basename "${IMAGE_CACHE_PATH%.*}").png"
if fontimage -o "${preview_png}" \
--pixelsize "120" \
--fontname \
--pixelsize "80" \
--text " ABCDEFGHIJKLMNOPQRSTUVWXYZ " \
--text " abcdefghijklmnopqrstuvwxyz " \
--text " 0123456789.:,;(*!?') ff fl fi ffi ffl " \
--text " The quick brown fox jumps over the lazy dog. " \
"${FILE_PATH}";
then
convert -- "${preview_png}" "${IMAGE_CACHE_PATH}" \
&& rm "${preview_png}" \
&& exit 6
else
exit 1
fi
;;
## Preview archives using the first image inside.
## (Very useful for comic book collections for example.)
application/zip|application/x-rar|application/x-7z-compressed|\
application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar)
local fn=""; local fe=""
local zip=""; local rar=""; local tar=""; local bsd=""
case "${mimetype}" in
application/zip) zip=1 ;;
application/x-rar) rar=1 ;;
application/x-7z-compressed) ;;
*) tar=1 ;;
esac
{ [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \
{ fn=$(bsdtar --list --file "${FILE_PATH}") && bsd=1 && tar=""; } || \
{ [ "$rar" ] && fn=$(unrar lb -p- -- "${FILE_PATH}"); } || \
{ [ "$zip" ] && fn=$(zipinfo -1 -- "${FILE_PATH}"); } || return
fn=$(echo "$fn" | python -c "import sys; import mimetypes as m; \
[ print(l, end='') for l in sys.stdin if \
(m.guess_type(l[:-1])[0] or '').startswith('image/') ]" |\
sort -V | head -n 1)
[ "$fn" = "" ] && return
[ "$bsd" ] && fn=$(printf '%b' "$fn")
[ "$tar" ] && tar --extract --to-stdout \
--file "${FILE_PATH}" -- "$fn" > "${IMAGE_CACHE_PATH}" && exit 6
fe=$(echo -n "$fn" | sed 's/[][*?\]/\\\0/g')
[ "$bsd" ] && bsdtar --extract --to-stdout \
--file "${FILE_PATH}" -- "$fe" > "${IMAGE_CACHE_PATH}" && exit 6
[ "$bsd" ] || [ "$tar" ] && rm -- "${IMAGE_CACHE_PATH}"
[ "$rar" ] && unrar p -p- -inul -- "${FILE_PATH}" "$fn" > \
"${IMAGE_CACHE_PATH}" && exit 6
[ "$zip" ] && unzip -pP "" -- "${FILE_PATH}" "$fe" > \
"${IMAGE_CACHE_PATH}" && exit 6
[ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}"
;;
esac
# openscad_image() {
# TMPPNG="$(mktemp -t XXXXXX.png)"
# openscad --colorscheme="${OPENSCAD_COLORSCHEME}" \
# --imgsize="${OPENSCAD_IMGSIZE/x/,}" \
# -o "${TMPPNG}" "${1}"
# mv "${TMPPNG}" "${IMAGE_CACHE_PATH}"
# }
# case "${FILE_EXTENSION_LOWER}" in
# ## 3D models
# ## OpenSCAD only supports png image output, and ${IMAGE_CACHE_PATH}
# ## is hardcoded as jpeg. So we make a tempfile.png and just
# ## move/rename it to jpg. This works because image libraries are
# ## smart enough to handle it.
# csg|scad)
# openscad_image "${FILE_PATH}" && exit 6
# ;;
# 3mf|amf|dxf|off|stl)
# openscad_image <(echo "import(\"${FILE_PATH}\");") && exit 6
# ;;
# esac
}
handle_mime() {
local mimetype="${1}"
case "${mimetype}" in
## RTF and DOC
text/rtf|*msword)
## Preview as text conversion
## note: catdoc does not always work for .doc files
## catdoc: http://www.wagner.pp.ru/~vitus/software/catdoc/
catdoc -- "${FILE_PATH}" && exit 5
exit 1;;
## DOCX, ePub, FB2 (using markdown)
## You might want to remove "|epub" and/or "|fb2" below if you have
## uncommented other methods to preview those formats
*wordprocessingml.document|*/epub+zip|*/x-fictionbook+xml)
## Preview as markdown conversion
pandoc -s -t markdown -- "${FILE_PATH}" && exit 5
exit 1;;
## XLS
*ms-excel)
## Preview as csv conversion
## xls2csv comes with catdoc:
## http://www.wagner.pp.ru/~vitus/software/catdoc/
xls2csv -- "${FILE_PATH}" && exit 5
exit 1;;
## Text
text/* | */xml)
## Syntax highlight
if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then
exit 2
fi
if [[ "$( tput colors )" -ge 256 ]]; then
local pygmentize_format='terminal256'
local highlight_format='xterm256'
else
local pygmentize_format='terminal'
local highlight_format='ansi'
fi
env HIGHLIGHT_OPTIONS="${HIGHLIGHT_OPTIONS}" highlight \
--out-format="${highlight_format}" \
--force -- "${FILE_PATH}" && exit 5
env COLORTERM=8bit bat --color=always --style="plain" \
-- "${FILE_PATH}" && exit 5
pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}"\
-- "${FILE_PATH}" && exit 5
exit 2;;
## DjVu
image/vnd.djvu)
## Preview as text conversion (requires djvulibre)
djvutxt "${FILE_PATH}" | fmt -w "${PV_WIDTH}" && exit 5
exiftool "${FILE_PATH}" && exit 5
exit 1;;
## Image
image/*)
## Preview as text conversion
# img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4
exiftool "${FILE_PATH}" && exit 5
exit 1;;
## Video and audio
video/* | audio/*)
mediainfo "${FILE_PATH}" && exit 5
exiftool "${FILE_PATH}" && exit 5
exit 1;;
esac
}
handle_fallback() {
echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5
exit 1
}
MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )"
if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then
handle_image "${MIMETYPE}"
fi
handle_extension
handle_mime "${MIMETYPE}"
handle_fallback
exit 1

14
.config/redshift.conf Normal file
View File

@ -0,0 +1,14 @@
[redshift]
temp-day=5000
temp-night=4000
transition=1
location-provider=manual
adjustment-method=randr
[manual]
lat=48.10038
lon=-1.66612

View File

@ -0,0 +1,5 @@
#!/bin/sh
case $1 in
period-changed)
exec dunstify -u low -r 6903 "Redshift" "Period changed to $3"
esac

378
.config/sway/config Normal file
View File

@ -0,0 +1,378 @@
## Base16 Eighties
# Author: Chris Kempson (http://chriskempson.com)
#
# You can use these variables anywhere in the sway configuration file.
set $base00 #2d2d2d
set $base01 #393939
set $base02 #515151
set $base03 #747369
set $base04 #a09f93
set $base05 #d3d0c8
set $base06 #e8e6df
set $base07 #f2f0ec
set $base08 #f2777a
set $base09 #f99157
set $base0A #ffcc66
set $base0B #99cc99
set $base0C #66cccc
set $base0D #6699cc
set $base0E #cc99cc
set $base0F #d27b53
# Basic color configuration using the Base16 variables for windows and borders.
# Property Name Border BG Text Indicator Child Border
client.focused $base05 $base0D $base00 $base05 $base0D
client.focused_inactive $base01 $base01 $base05 $base03 $base01
client.unfocused $base01 $base00 $base05 $base01 $base01
client.urgent $base08 $base08 $base00 $base08 $base08
client.placeholder $base00 $base00 $base05 $base00 $base00
client.background $base00
# Inputs configuration
input "type:keyboard" {
xkb_layout fr
xkb_variant bepo_afnor
# xkb_variant oss
xkb_numlock enable
}
# Outputs configuration
output 'Samsung Electric Company C24FG7x HTHK500785' {
subpixel rgb
adaptive_sync off
}
# start terminal daemon
exec foot --server
# Export some variables
exec systemctl --user import-environment DISPLAY
# GTK Configuration
set $gs org.gnome.desktop.interface
exec_always {
gsettings set $gs gtk-theme "Vertex-Dark"
gsettings set $gs icon-theme "Vertex-Icons"
gsettings set $gs cursor-theme "Adwaita"
gsettings set $gs font-name "IBM Plex Sans 10"
}
# Set mod key (Mod1=<Alt>, Mod4=<Super>)
set $mod Mod4
# set default desktop layout (default is tiling)
# workspace_layout tabbed <stacking|tabbed>
# Configure border style <normal|1pixel|pixel xx|none|pixel>
default_border normal 1
default_floating_border normal 1
# Hide borders
# hide_edge_borders smart
# change borders
bindsym $mod+u border none
bindsym $mod+y border pixel 1
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 IBM Plex Sans, DejaVu Sans 10
# Use Mouse+$mod to drag floating windows
floating_modifier $mod
# start a footclient
bindsym $mod+Return exec footclient fish
bindsym $mod+Ctrl+Return exec footclient
# kill focused window
bindsym $mod+Shift+q kill
# start program launcher
# bindsym $mod+d exec dmenu_recent -f -nb '#2d2d2d' -nf '#747369' -sb '#6699cc' -sf '#2d2d2d' -p 'execute' -fn 'xos4 Terminus'
bindcode $mod+40 exec dmenu_recent
# launch desktop menu
bindsym $mod+z exec i3-dmenu-desktop --dmenu='dmenu -p "Launch:"'
# launch without history
bindcode $mod+Ctrl+40 exec dmenu_run -p "Execute:"
################################################################################################
# Screen
bindsym $mod+Home exec pkill -x -USR1 gammastep
bindsym $mod+End output * adaptive_sync on, exec dunstify -r 53364 -u low "Sway" "FreeSync activé"
bindsym $mod+Shift+End output * adaptive_sync off, exec dunstify -r 53364 -u low "Sway" "FreeSync désactivé"
# Volume controls
bindsym XF86AudioRaiseVolume exec button=4 ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
bindsym XF86AudioLowerVolume exec button=5 ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
bindsym Shift+XF86AudioRaiseVolume exec mpc volume +2
bindsym Shift+XF86AudioLowerVolume exec mpc volume -2
bindsym XF86AudioMute exec button=2 ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
bindsym XF86AudioMicMute exec button=2 instance=mic ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
bindsym XF86HomePage exec button=2 instance=mic ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
bindsym $mod+Ctrl+m exec pavucontrol
# Media controls
bindsym XF86AudioNext exec mpc next
bindsym XF86AudioPrev exec mpc prev
bindsym XF86AudioPlay exec mpc toggle
bindsym $mod+XF86AudioPlay exec mpc stop
# Mail
bindsym XF86Mail exec pkill -RTMIN+11 i3blocks, workspace 🖂
# Notifications
bindsym Ctrl+space exec dunstctl close
bindsym Ctrl+Shift+space exec dunstctl close-all
bindsym Ctrl+Shift+dollar exec dunstctl context
bindsym Ctrl+dollar exec dunstctl history-pop
bindsym $mod+Pause exec dunstctl set-paused toggle
# Beep toggle
bindsym $mod+Delete exec $HOME/.local/bin/toggle-beep && pkill -SIGRTMIN+14 i3blocks
# Start Applications
bindsym $mod+F2 exec $BROWSER
bindsym $mod+Shift+F2 exec $BROWSER -P tmp --no-remote
bindsym $mod+Ctrl+F2 exec epiphany
bindsym $mod+Ctrl+F3 exec pcmanfm
bindsym $mod+F3 exec footclient ranger
bindsym $mod+F4 exec footclient bashmount
bindsym $mod+F5 exec footclient ncmpcpp
bindsym Print exec grimshot --notify save screen
bindsym $mod+Print exec grimshot --notify save active
bindsym $mod+Shift+Print exec grimshot --notify save area
bindsym $mod+l exec passmenu --type -l 10 $DMENU_OPTIONS
# focus_follows_mouse no
# change focus
#bindsym $mod+j focus left
#bindsym $mod+k focus down
#bindsym $mod+l focus up
#bindsym $mod+m focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
#bindsym $mod+Shift+j move left
#bindsym $mod+Shift+k move down
#bindsym $mod+Shift+l move up
#bindsym $mod+Shift+m move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# workspace back and forth (with/without active container)
workspace_auto_back_and_forth yes
bindsym $mod+b workspace back_and_forth
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
# split orientation
bindsym $mod+h split h
bindsym $mod+v split v
bindsym $mod+q split toggle
# toggle fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
bindsym $mod+Shift+f fullscreen toggle global
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# toggle sticky
bindsym $mod+Shift+s sticky toggle
# focus the parent container
bindsym $mod+a focus parent
# move the currently focused window to the scratchpad
bindsym $mod+Shift+dollar move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+dollar scratchpad show
#navigate workspaces next / previous
bindsym $mod+Ctrl+Right workspace next
bindsym $mod+Ctrl+Left workspace prev
# Workspace names
# to display names or symbols instead of plain workspace numbers you can use
set $ws1 1
set $ws2 2
set $ws3 3
set $ws4 4
set $ws5 5
set $ws6 6
set $ws7 7
set $ws8 8
# switch to workspace
bindcode $mod+10 workspace $ws1
bindcode $mod+11 workspace $ws2
bindcode $mod+12 workspace $ws3
bindcode $mod+13 workspace $ws4
bindcode $mod+14 workspace $ws5
bindcode $mod+15 workspace $ws6
bindcode $mod+16 workspace $ws7
bindcode $mod+17 workspace $ws8
# Move focused container to workspace
bindcode $mod+Ctrl+10 move container to workspace $ws1
bindcode $mod+Ctrl+11 move container to workspace $ws2
bindcode $mod+Ctrl+12 move container to workspace $ws3
bindcode $mod+Ctrl+13 move container to workspace $ws4
bindcode $mod+Ctrl+14 move container to workspace $ws5
bindcode $mod+Ctrl+15 move container to workspace $ws6
bindcode $mod+Ctrl+16 move container to workspace $ws7
bindcode $mod+Ctrl+17 move container to workspace $ws8
# Move to workspace with focused container
bindcode $mod+Shift+10 move container to workspace $ws1; workspace $ws1
bindcode $mod+Shift+11 move container to workspace $ws2; workspace $ws2
bindcode $mod+Shift+12 move container to workspace $ws3; workspace $ws3
bindcode $mod+Shift+13 move container to workspace $ws4; workspace $ws4
bindcode $mod+Shift+14 move container to workspace $ws5; workspace $ws5
bindcode $mod+Shift+15 move container to workspace $ws6; workspace $ws6
bindcode $mod+Shift+16 move container to workspace $ws7; workspace $ws7
bindcode $mod+Shift+17 move container to workspace $ws8; workspace $ws8
#workspace $ws1 output DP-1
#workspace $ws2 output DP-1
#workspace $ws3 output DP-1
#workspace $ws4 output DP-1
#workspace $ws5 output DP-1
#workspace $ws6 output DP-1
#workspace $ws7 output DP-1
#workspace $ws8 output HDMI-A-1
# Open specific applications in floating mode
for_window [title="File Transfer*"] floating enable
for_window [class="Pavucontrol"] floating enable
for_window [class="qt5ct"] floating enable sticky enable border normal
for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal
for_window [class="(?i)TransportFever2"] border none fullscreen disable
for_window [class="(?i)System-config-printer.py"] floating enable border normal
for_window [class="(?i)variety"] floating enable
for_window [app_id="newsboat"] move scratchpad
# Games
for_window [class="(?i)factorio"] border none
for_window [class="(?i)Rail Route.x86"] border none
# Assign apps to workspace
assign [app_id="claws-mail"] 🖂
assign [instance="qbittorrent"] 8
# reload the configuration file
bindsym $mod+Shift+c reload
# Set shut down, restart and locking features
set $mode_system (l)ock, (e)xit, (s)uspend, (h)ibernate, (r)eboot, (S)hutdown
bindcode $mod+19 mode "$mode_system"
mode "$mode_system" {
bindsym l exec "systemctl --user stop graphical-session.target; swaylock", mode "default"
bindsym s exec "systemctl suspend", mode "default"
bindsym e exec "systemctl --user stop graphical-session.target; swaymsg exit", mode "default"
bindsym h exec systemctl hibernate, mode "default"
bindsym r exec "systemctl --user stop graphical-session.target; systemctl reboot", mode "default"
bindsym Shift+s exec "systemctl --user stop graphical-session.target; systemctl poweroff", mode "default"
# exit system mode: "Enter" or "Escape"
bindsym Return mode "default"
bindsym Escape mode "default"
}
# Resize window (you can also use the mouse for that)
bindsym $mod+r mode "resize"
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 5 px or 5 ppt
bindsym k resize grow height 5 px or 5 ppt
bindsym l resize shrink height 5 px or 5 ppt
bindsym m resize grow width 5 px or 5 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 5 px or 5 ppt
bindsym Down resize grow height 5 px or 5 ppt
bindsym Up resize shrink height 5 px or 5 ppt
bindsym Right resize grow width 5 px or 5 ppt
# exit resize mode: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
# Lock screen
bindsym $mod+9 exec swaylock
# Autostart applications
#exec conky --config "$HOME/.config/conky/conkyrc1"
#exec conky --config "$HOME/.config/conky/conkyrc2"
exec sleep 5 && footclient -a newsboat -T newsboat -o colors.alpha=1.0 -o colors.background=2D2D2D newsboat
exec steam-native -silent -noverifyfiles -language french
exec play "$HOME/Musique/WELCOME BACK.wav"
exec gammastep
exec_always sleep 5 && variety -n
exec claws-mail --online
# Start swaybar to display a workspace bar (plus the system information swaystatus if available)
bar {
status_command i3blocks
height 24
tray_output none
font Terminus, DejaVu Sans Mono 12
colors {
background $base00
separator $base02
statusline $base05
# State Border BG Text
focused_workspace $base05 $base0D $base00
active_workspace $base05 $base03 $base00
inactive_workspace $base03 $base01 $base05
urgent_workspace $base08 $base08 $base00
binding_mode $base00 $base0A $base00
}
}
# hide/unhide swaybar
bindsym $mod+comma bar mode toggle
workspace 1

View File

@ -0,0 +1,12 @@
[Unit]
PartOf=mpd.service
After=mpd.service graphical-session.target
Requires=mpd.service graphical-session.target
Description=MPD Notifications
[Service]
ExecStart=/home/breizh/.local/bin/mpd-notif
Restart=on-failure
[Install]
WantedBy=default.target

View File

@ -0,0 +1,282 @@
#!/bin/bash
#
# This script is run by Variety when a new wallpaper is set. You can use Bash, Python or whatever suits you best.
# Here you can put custom commands for setting the wallpaper on your specific desktop environment,
# or run commands like notify-send that notify you of the change. You can also add commands to theme your browser,
# login screen or whatever you desire.
#
# Occasionally new versions of this script are released to bring support for new desktops. To apply them, you
# should either delete this copy (in ~/.config/data/scripts/) and restart Variety, or merge in the changes yourself.
# Bug fixes are automatically applied by Variety provided the local copy is never changed.
#
# PARAMETERS:
# $1: The first passed parameter is the absolute path to the wallpaper image to be set as wallpaper
# (after effects, clock, etc. are applied).
#
# $2: The second passed parameter is "auto" when the wallpaper is changed automatically (i.e. regular change), "manual"
# when the user has triggered the change, or "refresh" when the change is triggered by a change in quotes, clock, etc.
#
# $3: The third passed parameter is the absolute path to the original wallpaper image (before effects, clock, etc.)
#
# $4: Fourth parameter comes from the display mode setting: "os" means that set_wallpaper should try to
# leave the OS setting unchanged. "zoom" means to try to fill the screen fully with the provided image.
# Other parameters that could be passed are the scaling modes used by GNOME:
# "centered", "scaled", "stretched", "zoom", "spanned", "wallpaper"
# TODO: Ideally all sections below for different DEs would take this setting into account
#
# EXAMPLE:
# echo "$1" # /home/username/.config/variety/wallpaper/wallpaper-clock-fac0eef772f9b03bd9c0f82a79d72506.jpg
# echo "$2" # auto
# echo "$3" # /home/username/Pictures/Wallpapers/Nature/green-tunnel-1920x1080-wallpaper-861.jpg
# Here you may apply some additional custom operations on the wallpaper before it is applied.
# In the end put the path to the actual final wallpaper image file in the WP variable.
# The default is to simply set WP=$1.
WP=$1
# Enlightenment
# Needs Modules/System/DBus Extension loaded to work
if [[ "$DESKTOP" == *"Enlightenment"* ]] || [[ "$DESKTOP" == *"Moksha"* ]]; then
OUTPUT_DIR="$HOME/.e/e/backgrounds"
TEMPLATE='
images { image: "@IMAGE@" USER; }
collections {
group {
name: "e/desktop/background";
data { item: "style" "4"; item: "noanimation" "1"; }
max: @WIDTH@ @HEIGHT@;
parts {
part {
name: "bg";
mouse_events: 0;
description {
state: "default" 0.0;
aspect: @ASPECT@ @ASPECT@;
aspect_preference: NONE;
image { normal: "@IMAGE@"; scale_hint: STATIC; }
}
}
}
}
}
'
OFILE="$OUTPUT_DIR/variety_wallpaper_$RANDOM"
DIMENSION="$(identify -format "%w/%h" "$WP")"
if [ ! -z "$DIMENSION" ]; then
WIDTH="$(echo "$DIMENSION" | cut -d/ -f1)"
HEIGHT="$(echo "$DIMENSION" | cut -d/ -f2)"
IMAGE="$(echo "$WP" | sed 's/[^[:alnum:]_-]/\\&/g')"
if [ -z "$HEIGHT" ] || [ "$HEIGHT" = "0" ]; then
ASPECT="0.0"
else
ASPECT="$(echo "scale=9; $DIMENSION" | bc)"
fi
fi
printf "%s" "$TEMPLATE" | \
sed "s/@ASPECT@/$ASPECT/g; s/@WIDTH@/$WIDTH/g; s/@HEIGHT@/$HEIGHT/g; s|@IMAGE@|$IMAGE|g" > "$OFILE.edc"
edje_cc "$OFILE.edc" "$OFILE.edj" 2>/dev/null
rm "$OFILE.edc"
## Get the current number of virtual desktops
desk_x_count=$(enlightenment_remote -desktops-get | awk '{print $1}')
desk_y_count=$(enlightenment_remote -desktops-get | awk '{print $2}')
## Get the current number of screens
screen_count=1
# If xrandr is available use it to get screen desk_x_count
if command -v xrandr >/dev/null 2>&1; then
screen_count=$(xrandr -q | grep -c ' connected')
fi
## Set the wallpaper for each virtual desktop
for ((x=0; x<desk_x_count; x++)); do
for ((y=0; y<desk_y_count; y++)); do
for ((z=0; z<screen_count; z++)); do
# -desktop-bg-add OPT1 OPT2 OPT3 OPT4 OPT5 Add a desktop bg definition.
# OPT1 = ContainerNo OPT2 = ZoneNo OPT3 = Desk_x. OPT4 = Desk_y. OPT5 = bg file path
enlightenment_remote -desktop-bg-add 0 "$z" "$x" "$y" "$OFILE.edj"&
done
done
done
# Remove all Variety wallpapers, but the current one and the previous one
# as we are calling enlightenment_remote asynchronously, if the previous wallpaper hasn't been
# replaced yet then the wallpaper will get set back to the theme one causing ugly artifacts
LAST_WALLPAPER_FILE="$HOME/.config/variety/.enlightenment_last_wallpaper.txt"
if [ -e "$LAST_WALLPAPER_FILE" ]; then
find "$OUTPUT_DIR" -name "variety_wallpaper*.*" | grep -v "$OFILE.edj" | grep -v "$(cat "$LAST_WALLPAPER_FILE")" | xargs rm
else
find "$OUTPUT_DIR" -name "variety_wallpaper*.*" | grep -v "$OFILE.edj" | xargs rm
fi
echo "$OFILE.edj" > "$LAST_WALLPAPER_FILE"
fi
# KDE: Users on KDE 4 or Plasma < 5.7 will have to manually choose ~/Pictures/variety-wallpaper/ as a slideshow folder with a short interval.
# Afterwards, with the command below, Variety will just overwrite the single file there when changing the wallpaper
# and KDE will refresh it
# On Plasma 5.7 and above, the wallpaper choosing is automatic.
if [ "${KDE_FULL_SESSION}" == "true" ]; then
# Plasma 5.7 introduced a new feature to set the wallpaper via a dbus script:
# https://github.com/KDE/plasma-workspace/commit/903cbfd7e267a4812a6ec222eb7e1b5dd775686f
plasma_qdbus_script="
let allDesktops = desktops();
for (let d of allDesktops) {
if (d.wallpaperPlugin == 'org.kde.image') {
d.currentConfigGroup = Array('Wallpaper', 'org.kde.image', 'General');
d.writeConfig('Image', 'file://""$WP""');
}
}
"
if [[ -n "${KDE_SESSION_VERSION}" && "${KDE_SESSION_VERSION}" -ge '5' ]]; then
dbus-send --type=method_call --dest=org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript string:"$plasma_qdbus_script"
# Reuse the exit code from dbus
dbus_exitcode="$?"
if [[ "$dbus_exitcode" -ne 0 && "${KDE_SESSION_VERSION}" -eq '5' ]]; then
# If the script fails, show a notification.
kdialog --title "Variety: cannot change Plasma wallpaper" --passivepopup "Could not change the Plasma 5 wallpaper; \
make sure that you're using Plasma 5.7+ and have widgets unlocked.\n----\n \
Due to Plasma limitations, external programs cannot automatically change the wallpaper when the widgets are locked.\n \
See https://git.io/vprpM for more information." --icon variety 10 # Final number is the length of the popup
fi
exit "$dbus_exitcode"
else
WALLDIR="$(xdg-user-dir PICTURES)/variety-wallpaper"
mkdir -p "$WALLDIR"
# Remove all old wallpapers
rm -fv "${WALLDIR}"/*
NEWWP="${WALLDIR}/wallpaper-kde-$RANDOM.jpg"
cp "$WP" "$NEWWP"
touch "$NEWWP"
fi
fi
# Gnome 3, Unity
gsettings set org.gnome.desktop.background picture-uri "file://$WP" 2> /dev/null
gsettings set org.gnome.desktop.background picture-uri-dark "file://$WP" 2> /dev/null
if [[ "$4" =~ ^(wallpaper|centered|scaled|stretched|zoom|spanned)$ ]]; then
gsettings set org.gnome.desktop.background picture-options "$4"
fi
if [ "$(gsettings get org.gnome.desktop.background picture-options)" == "'none'" ]; then
gsettings set org.gnome.desktop.background picture-options 'zoom'
fi
# GNOME Screensaver / Lock screen - thanks to George C. de Araujo for the patch
gsettings set org.gnome.desktop.screensaver picture-uri "file://$WP" 2> /dev/null
if [[ "$4" =~ ^(wallpaper|centered|scaled|stretched|zoom|spanned)$ ]]; then
gsettings set org.gnome.desktop.screensaver picture-options "$4"
fi
if [ "$(gsettings get org.gnome.desktop.screensaver picture-options)" == "'none'" ]; then
gsettings set org.gnome.desktop.screensaver picture-options 'zoom'
fi
# Deepin
if [ "$(gsettings list-schemas | grep -c com.deepin.wrap.gnome.desktop.background)" -ge 1 ]; then
gsettings set com.deepin.wrap.gnome.desktop.background picture-uri "file://$WP"
if [[ "$4" =~ ^(wallpaper|centered|scaled|stretched|zoom|spanned)$ ]]; then
gsettings set com.deepin.wrap.gnome.desktop.background picture-options "$4"
fi
if [ "$(gsettings get com.deepin.wrap.gnome.desktop.background picture-options)" == "'none'" ]; then
gsettings set com.deepin.wrap.gnome.desktop.background picture-options 'zoom'
fi
fi
# XFCE
command -v xfconf-query >/dev/null 2>&1
rc=$?
if [[ $rc = 0 ]] ; then
for i in $(xfconf-query -c xfce4-desktop -p /backdrop -l | grep -E -e "screen.*/monitor.*image-path$" -e "screen.*/monitor.*/last-image$"); do
xfconf-query -c xfce4-desktop -p "$i" -n -t string -s "" 2> /dev/null
xfconf-query -c xfce4-desktop -p "$i" -s "" 2> /dev/null
xfconf-query -c xfce4-desktop -p "$i" -s "$WP" 2> /dev/null
done
fi
# LXDE/PCmanFM
if [ "$XDG_CURRENT_DESKTOP" == "LXDE" ]; then
pcmanfm --set-wallpaper "$WP" 2> /dev/null
fi
# LXQt/PCmanFM-qt
if [ "$XDG_CURRENT_DESKTOP" == "LXQt" ]; then
pcmanfm-qt --set-wallpaper "$WP" 2> /dev/null
fi
# For simple WMs, use either feh or nitrogen
# Implementation note: this uses spaces around list items to enforce matching whole words.
# This also means that an empty variable won't cause false positives, since it expands to " "
SIMPLE_WMS=("bspwm" "dwm" "herbstluftwm" "i3" "i3-gnome" "i3-with-shmlog" "jwm" "LeftWM" "openbox" "qtile" "qtile-venv" "spectrwm" "xmonad")
if [[ " ${SIMPLE_WMS[*]} " = *" $XDG_CURRENT_DESKTOP "* || " ${SIMPLE_WMS[*]} " = *" $XDG_SESSION_DESKTOP "* ||
" ${SIMPLE_WMS[*]} " = *" $DESKTOP_SESSION "* ]]; then
if command -v "feh" >/dev/null 2>&1; then
# TODO: This should take the scaling parameter $4 into account and use other options than --bg-fill
feh --bg-max "$WP" 2> /dev/null
elif command -v "nitrogen" >/dev/null 2>&1; then
# TODO: This should take the scaling parameter $4 into account and use other options than --set-zoom-fill
nitrogen --set-zoom-fill --save "$WP" 2> /dev/null
fi
fi
PID=`pidof swaybg`
if [[ -n $PID ]]; then
# If swaybg is available, use it as prevents system freeze.
# See https://github.com/swaywm/sway/issues/5606
if command -v "swaybg" >/dev/null 2>&1; then
# Grey background flicker is prevented by killing old swaybg process after new one.
# See https://github.com/swaywm/swaybg/issues/17#issuecomment-851680720
swaybg -i "$WP" -m fill &
if [ ! -z "$PID" ]; then
sleep 1
kill $PID 2>/dev/null
fi
else
swaymsg output "*" bg "$WP" fill 2> /dev/null
fi
fi
# trinity
if [ "$XDG_CURRENT_DESKTOP" == "Trinity" ]; then
# The 4 refers to display mode 4; valid ones are 1-8
dcop kdesktop KBackgroundIface setWallpaper "$WP" 4 2> /dev/null
fi
# MATE after 1.6
gsettings set org.mate.background picture-filename "$WP" 2> /dev/null
if [ "$(gsettings get org.mate.desktop.background picture-options 2>/dev/null)" == "'none'" ]; then
gsettings set org.mate.desktop.background picture-options 'zoom'
fi
if [[ "$4" =~ ^(wallpaper|centered|scaled|stretched|zoom|spanned)$ ]]; then
gsettings set org.mate.desktop.background picture-options "$4"
fi
# Cinnamon after 2.0
gsettings set org.cinnamon.desktop.background picture-uri "file://$WP" 2> /dev/null
if [ "$(gsettings get org.cinnamon.desktop.background picture-options 2>/dev/null)" == "'none'" ]; then
gsettings set org.cinnamon.desktop.background picture-options 'zoom'
fi
if [[ "$4" =~ ^(wallpaper|centered|scaled|stretched|zoom|spanned)$ ]]; then
gsettings set org.cinnamon.desktop.background picture-options "$4"
fi
# Awesome Window Manager
# Be sure to start variety when you start awesome, such as by adding it to ~/.xinitrc
# NOTE: This config will change the wallpaper after your current awesome theme sets it.
# As such, the theme's wallpaper will briefly appear before being replaced with Variety's wallpaper.
if [[ "$XDG_SESSION_DESKTOP $DESKTOP_STARTUP_ID $DESKTOP_SESSION $XDG_CURRENT_DESKTOP" == *"awesome"* ]]; then
echo "for s in screen do require(\"gears\").wallpaper.maximized(\"$1\", s) end" | awesome-client
fi
# =====================================================================================
exit 0

10
.config/youtube-dl/config Normal file
View File

@ -0,0 +1,10 @@
-o "%(title)s.%(ext)s"
#--merge-output-format mkv
--embed-subs
--write-sub
--write-auto-sub
--sub-lang fr,en
-i
-f "((bestvideo[vcodec^=av01][height<=?1440][width<=?2560]/bestvideo[vcodec=vp9][height<=?1440][width<=?2560]/bestvideo[height<=?1440][width<=?2560]/bestvideo)+(bestaudio[acodec=opus]/bestaudio[acodec=vorbis]/bestaudio))/best"
--add-metadata
--hls-use-mpegts

Some files were not shown because too many files have changed in this diff Show More