From 8ca078725528b2c705d7a8ba9abb12b6595d09b6 Mon Sep 17 00:00:00 2001 From: Daan Vanoverloop Date: Sat, 31 Oct 2020 13:17:42 +0100 Subject: [PATCH] Config update --- .config/awesome/config_desktop.lua | 2 +- .config/awesome/rc.lua | 36 ++--- .config/mpd/database | Bin 21887 -> 59084 bytes .config/mpd/mpd.conf | 2 + .config/mpd/state | 75 ++--------- .config/nvim/init.vim | 75 +++++++---- .config/picom/launch.sh | 6 +- .config/picom/picom.conf | 7 +- .vim/autoload/plug.vim | 209 +++++++++++++++++++---------- .vim/plugged/nerdtree | 2 +- .zprofile | 4 +- .zshrc | 62 +++++++-- Scripts/dmenu_script/factorio.sh | 3 +- 13 files changed, 279 insertions(+), 204 deletions(-) diff --git a/.config/awesome/config_desktop.lua b/.config/awesome/config_desktop.lua index 501b2d8..444f484 100644 --- a/.config/awesome/config_desktop.lua +++ b/.config/awesome/config_desktop.lua @@ -17,7 +17,7 @@ return { }, mid = { - "mpd" + --"mpd" }, right = { "memory", diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index 9741101..261fc22 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -16,7 +16,7 @@ local menubar = require("menubar") local hotkeys_popup = require("awful.hotkeys_popup") local vicious = require("vicious") local timer = require("gears.timer") -local config = require("config_laptop") +local config = require("config_desktop") local quake = require("quake") -- Enable hotkeys help widget for VIM and other apps @@ -31,16 +31,16 @@ local function round(x) end local dropdown = quake:new({ - app = "termite", - argname = "--name %s", + app = "alacritty", + argname = "--class %s", border = 0, height = 0.37 }) local htop = quake:new({ - app = "termite", + app = "alacritty", name = "QuakeHtop", - argname = "--name %s", + argname = "--class %s", extra = "-e htop", border = 0, height = 0.13, @@ -48,11 +48,11 @@ local htop = quake:new({ }) local vimpc = quake:new({ - app = "termite", + app = "alacritty", name = "QuakeVimpc", - argname = "--name %s", - extra = "-e vimpc", - border = 0, + argname = "--class %s", + extra = "-e mpc-rs", + border = 0, height = 0.25, width = 0.33, horiz = "center", @@ -62,7 +62,7 @@ local vimpc = quake:new({ local onboard = quake:new({ app = "onboard", name = "QuakeOnboard", - argname = "--name %s", + argname = "--class %s", extra = "", border = 0, height = 0.25, @@ -104,7 +104,7 @@ end beautiful.font = "Hack Nerd Font 9" -- This is used later as the default terminal and editor to run. -terminal = "termite" +terminal = "alacritty" editor = os.getenv("EDITOR") or "vim" editor_cmd = terminal .. " -e " .. editor @@ -365,17 +365,17 @@ memwidget = wibox.widget.textbox() vicious.cache(vicious.widgets.mem) vicious.register(memwidget, vicious.widgets.mem, format_memory, 1) -mpdwidget = wibox.widget.textbox() -mpdwidget.align = 'center' -vicious.cache(vicious.widgets.mpd) -vicious.register(mpdwidget, vicious.widgets.mpd, format_mpd) +--mpdwidget = wibox.widget.textbox() +--mpdwidget.align = 'center' +--vicious.cache(vicious.widgets.mpd) +--vicious.register(mpdwidget, vicious.widgets.mpd, format_mpd) thermalwidget = wibox.widget.textbox() vicious.cache(vicious.widgets.thermal) vicious.register(thermalwidget, vicious.widgets.thermal, format_thermal, 2, config.thermal_zone) local widget_table = { - ["mpd"] = mpdwidget, + --["mpd"] = mpdwidget, ["memory"] = memwidget, ["cpu"] = cpuwidget, ["volume"] = volumebox, @@ -641,7 +641,7 @@ local game_mode = false function game_mode_start () if game_mode == true then return else game_mode = true end - awful.spawn("killall compton") + awful.spawn("killall picom") end_switcher() for s in screen do s.dock_trigger.visible = false @@ -650,7 +650,7 @@ end function game_mode_stop () if game_mode == false then return else game_mode = false end - awful.spawn.with_shell("~/.config/compton/launch.sh") + awful.spawn.with_shell("~/.config/picom/launch.sh") for s in screen do s.dock_trigger.visible = true end diff --git a/.config/mpd/database b/.config/mpd/database index 68ef1eee691c65fa75934410a1d7731fb117b3b7..d95bb95d30b8e8dcdc05688387974c31f661280b 100644 GIT binary patch literal 59084 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 l*S#F^OA0Q8`^sN#VM0tg74R z>e?|dGswgt62SqG#m-vIXeTqxMlT>~r)yeBt69yiHM?2NJIss7J&?$Z2p}?%$wabE z=h*4)Dl#GvpU2frptU;cV)l)(9KCP*#ns8h$-(uB_V-^u zUg6IZ95b4Yei$V=9hNMg0SrpN)BJ+PBLFrjlL`HWSY8l$mKFN$4}64`QbO&6Z+Vh} z0KO&n86^X9K}&MRgm%Knwj$qeYv*T8<$`7Rf1Q^%E&MqvlI)(G<;kOQm&U^%Zg}gq z;~0T&!vB8YFAknq za$|&Uzq3;}dLAIWWVcC5C2W>uM2;h1tIBMQ%IkOBObsd@P<_sx;!Is|a9)|VIA(RJ zjgk2;gDe1KH*CW4oIT0NLL+p=#a5Tv7+J6y*{|einwR7>kBed4*QOEz%!6!Jj&ZlY zotAKPkKp9aXA)-5GTcaG4H6Pe58_ix7Nm88O(1MQjR=zt>2`4B%S$B7vl zfjo*>WOGn!=nZVSX>vy{WB7AX?2xF!KiwGn3WeZv2K8`xUO#}QDC!q>=)=71q8G?* zG}MC|kSe*P%(R6H`T8oOqTlNIQM1gz&AEZ=1;cQn?A=J{_ z0^UZa=nmM?P!+CIKqueEkB>8Qk^#58mvwpDaHR>X6y6r@Hi|}PxVS;<6^#WadCMk> zeyD<#if#*ajpp&pk=2nr5Ir-Tk^p;9$J6miOBwXs+hE>3eAKah`8`Gkp7)6JsT));$aL_ioKopOkb=sHavAL*z;{cOuMOiA|_OKy#{ zS8C+B!3yo-oE)Uk^@5xM<^DR3OZdsxIFkn#EgsUotE;uO1o~x6qQPgq@*#I#&_Pb~ z@8w4`|!m&rG}7+nkX z%7GcK9$hX^Uo*eCZi5q4*{h&&!*WGI%nR*a2+f7vn-ErAl)&OliZNfK1-WLovZ{wl zP$W%^X8GNVrn%zxE*jLAzA{kVKR=SU)4WuSEO+YBPdto#+uHJ;9Be1A_U6%<^Hay*sw;fW@opV_&abW$}(v4$VmE8-d zsiWZNzA;(kbGp6G?nTtpCHE~Nu2;fBA%`qe zR7%G&oIpI47R7oXaZNpQ->Ze|oEOu{BkZaOkjDNvZLsR<>o}pX zIRX_qAXmw741+&Y`CRBpM(t*W9;CBBvg_!qF%G}XrsON=Z1V0JnTjE1QLG0^?2p^p zI^CXg+ZdF{S2v*CBG^loX9~l$qENXgZLQLSg!V{uJ&lBr=pMkbfZhWhj!nKvuoc%9 zrEm{Y*&pL|%~ckWZA}q^t>is4lzop;`7Bt9p0CRu1g04TQTrWjvtGl#G5>{h5V)Zc zgn_8S&TG#HN&0Io-1)ck7K^&TT;?Y!pv&2>`$%3N zjbn5NCRcQl{Qi?{!-s3U9DCevK$!uD~2?vZ&` z5ExNV58>|*m1(w|A5BLrWz)PMS5wjZ!-+yGbldH#8#US3bWTz>N@VrKcR`o6gh8pw zEN$Rz4NF7P)+POJ)LMGgao`LrbL~iRk!i1=?Kz=3oZj8VDTBE%leH1pcq3QkRbuHK ziKDqmy@WVwet9-#MG1e3OLCo3`dEhNH>J=4tB&6m})~Ar{6?rpVS&g_AV^9)qej2vVma>iumQ^#^av3JF5390OkMA77!ea;b` zDA2I_8=I1A1|PkkaV}2|(=~k86GS1G-H|Ao_S2V`6=*{Jlnl#hPRaFH@vjd}!|_C3 zE0)}m7@8K*K4-)#qv%1#&=yQ?;*^5w!zPQLoMiVYUP;}sCwZn=zF|7PWKizX#*ReS zw57hp3_^42$7v1_SPGnHsQ4_H0n8!M93+?Bktmur(>`ZWu!>o3#PkHx`6?he=)ZJD(^h30+#i{L`c(arg?@Q!yoVNWW4GnoltNalub6aYm_>c?$1@3k6Ah+C%+HrBbrZS1vfB! z>ELLV-v)D&cI^u@QZ4iW$BB8(a`|1K6{^>bQqgUYHksAFcHxjeZ)XqK{m+l86Nf81 zaV*MhgRx10_O%aJ-o+HoTYktV87;`iZ!}NiNA;2;kj7P0X&dxS*0bvo*16*HH;hSf zKTSq-RM`~@c{*FlD}S~0R=lElA-wAYY1PZdgEXCcnyN3XJ;k?CEV&iX-WgQ5@(M=J zCEE$>;*ayo7;-X7aDx`TPeU)X9oJmPUG+^hXzXcRlqAW}Sr*8udVMBe&C6w%w`aPK z^}ugI!@vu&Xw7>?FNAfs>cQLxMN9WgBa|+eKP;8=Edg#vZ@UAGY|XtWr?+Q0ds5F0 zP){OhKbaSLCeZB|ZfBsjt$Vt`8SZgB8=?QR>iQX|5gUYp&jh?3vE2Z$x5~Bi9983V zI--9im+TwA&y`4DWEze{a2FMRSyp(a1hyl+8!TR}X&OoIL4q$l@im}qk+vh>@FeJB z$!9{|j`MCZ%XP~+sCIO~aV}dHEyWXaUg()Xx1+op0F87{2RY@%Gv+OOl$`^B@kWxz z+@jbs!EVQWJA<|0|0}p}{f9opQN47gwZQZ_%9tmghC4xI}aEmg0uYoxsWKI~tb;dB2$kT0-3eCg#a35F++u?ma!&p_=2T>}Xt%NfXHjviJ&lOGI{4aELKA*_{ z4kWNID6-PT2JTj*_$VZ zmGGmN+&uL}@>l6YJK9Pu-TFXUc~T7HM@p{PRQ9pOut%OJp1NYm=SrYwPHB0OX8zbF zkFkZ#k{kH>R0bX4g`VhuAr*bDk*8-~Y1_JIo;D9~RYf@h4fj<+K0d@V?EZvFi^K9A z!?Q#I=xRMz7QK^9T{KeLZYWda^#u-cT#_sFfoH>qf*ed9$4NPc#h=qR_%tF_UUH3KaUfM_qeBNJfQ`UcKFq91n=6u;fCUClbw8PXL9dbuW(!)a}W&5 zyPD&Xa(%XK^E;Dn@7j!~J0HW^;I$*!Vn}uFu_T$wUQV(-o6JE^)JZl{?tXS7V8_Rp zD30dV=;h?xvp!|I(aM0n8@m%MUxOV^`J-cuz6IOtT-!bxCjxze%P_ULj<43y& z>JLn7ZJag^RCjNCLmyyxs*Ek%hvfP(9>RpWibn|}N7GWC5E#@~GH7b6)iOAV^AzKz z=A)vVrIbJi-;ggXH4v>RlP__euxT+*EL7-aQ+2srG{5p3KTKM6>m%7Ykr~;#$Op&o z$d@FCj#WNV+-P+e7ciqQli`@Auo?aFzfp{vay@2nxT-HqxySNl?IE6|6fi_jZ-Zo5Ku-p$AC!{(d;M+GqB+!(~CR8{zV)59}oY?pn zSdwG6Hg+Y+rn=Vzw)6RD>W=cik!xCDszdUT$D`#0t(d#cp2k@j7c+D^TD zqFl#W0>`qv6kiounL3J}efM^DCe9Z1r$_2!S$?RYPJG+G<-7LZ>f;Ds_l$Bh!|0Z^ z@z%0@K}otJ@&Js!-uIH{R%UJ7Ih!R9fd|b|%y{O3|+<*$Vrh%P_v8e>jf$UmvfsT&9 zj}!7P{{455+6Tm-QVWz?M$vs<)_BEbHQqPp`QCKLiP<`^4;IA&7H}+B|J!%^SJ&N{NxiA(^t(fPng!fYcJOFGeqBe9?R22KrgHprZDnWj+^3@B zn!X=J8trjOFRvMS3+jW&4!aV|l~s2pvzB|E-BU^sR$!W%>qG4P9YaQGn*@acd)3E0 zf#1bxo19c*q^{P^MATGX=3U;sh&1G|aq~4z(}I&^`8UWmVB-Z%3Uy-beNLn-)Qy|l znP{5|jiMJ`#=nz8gPi4` zr4gv0HJ-82s{&m(QdCRwdF;P7IwQZB)7RUXoSLdjA6g(6l+M{*UFbK{{FaUW_)kTH ziL9d2jgz=@Gdq)IQ!VM;;KK#mfm-wBca+n)?Q6cl;ZM1ZuY)+dw6HTtwrD5)E7V+; zzUIJ&?|+KFG33}OWBEgprZJZS|EbOo!%~E}y6(=z*Q%M|$NH9@F8G&tqG71XF$Hdn zCWCE`@`hA5Zf<98FHL2p*Rxv}8FA@#cbcG)YgQQ%YR^HQg`pusPtu%MRIH`7wnz_N zdcnZ-J9z2oA_px61B3iHO=8&^>l>!+$$K0YssT%X-90$V?gmazFc#ow&Xkl~wx?v} zsLCv$34hx)GLOd_b2=c4)(;!YlkZ9lNHZ{8OY|R~7g}Hw|N3&^biq6YaI;66XY89i zD}6_a^Ry_o04V?9_&}a7u&&s|!S3Tmm2l_tT72N7~6`5|az`l^c-j_#4F>8k0w-euL$EhFL|wU(B`E z+RDV`Wfn%Rs@YmT^FT;}JJir0QC37x67kp*hP8$Q2zjU^V3R0SILj zlgnw541ZE&WV@1#d7f+{%8S=|p#? z#cU01yUX^av8pez-sA~-tjIA39K-d*<7Zx|#wz`_2i9QWjOcLuta=P1M(pHML#XY! zk%dONn!58}3*~WM);;vM)DmpwrISXWCBZP2_v0eYMxqS7$gr#T&(D>?%1?F|js0xVc#*A(a#|-kx?mZ` zz@|k(FbFMPnO+akeN+^U8yQZ;5uZOjR(!I%Xq@NI8W4^~H1#X{uQ@HC(~=-e!{Wur1Mi#w-wIvBtX}Cq7ry$H?gH?iD*)TJb%!*MB6=BTZw}-8xo@esIa;o7 z_(8A>{P2;Vg^zTHA3PU63}UDYq8jq+epb$3bxG%f12cao=YsHo?y$ohOnXN+?W1bi zW8`?6$G7rkw>#j{C%QwAcCgFq9Emw;x=47u<0P9W3=+}Xp<#PFnepmZHXujlvzNT( zuZ*|<8!g^o7=1QPB{CG6M(FP3#23G?0rDO2LQ|LJkp~^c$NSgi^zKfCZTfXEmS?Z^ zy7>(-KcDdVuFeR^Ly+>^dhlKDYWN|Zh|AsbO(XJmg1zyX4P@|aW@m+_E+!feB+AM8 zU=bXFk}otz*BEK-!_HU53*3n+(DJnnB=UUH=YtxmsIOghM_E(liLvMiSZkid8OK5u z{nS||=UsfGwOT_fJs6e+|9&iuMFh;taaWH;{i1!@!opgnezvK0I*x{b(fO85#T(>HuG9Wt|A@y^6rL zY;Dkf9vzvbGjZ6h$gr$65KJ{w|+up2u`Z zC$}_zh5lP{6+Nd=3^36;+te~TVzaGv;_&w?4&Sj>CCh!w;N$?t{5r{g5~L6NJ$ zdJq_HN9b}R>jV((dB$6zW&_|1>_bxK=n-=kONW1i=EiQzUT9%0_c8ap`B}Ec)XG)R z#ad=}mXc4Gl@BWoqFUp5%|+IUozMw+pwdEn?vnwFTU zOy-1PxW*Dw?|_Yl)=FZ()DSj7onr(~Y9U3Y7iAC`fxqV3WmU*}9r``9K+mJz6ODl5s``uo$HX zzpGyMgCtD&m&UVYn8zhkP}%6jc|q^v;fz4jYNjs73k=&6-IW@}m%cAm`|APPJpnw8 zr)fEp@j2wUdQpOS-~+{2jrbD!;+r$I^m57a#@B;$`Wn3?{T3rt$VM=oKEV(azZEi8 zw|aj~K4!H`?sZ9HOc8xOjz`XSC91J$_^y~ZVNK=bIJfm=y)jJ#4Qh*dOROnq#6sP#j>-2l^-pz$Z5h z#%LnDS%!|`Nm%EFmXTi6R@Vdcdjfbf&SCx0T*eiUlS!N@PQaFBIMR#As*LamwrXlU zn4quKJ1riPM1~T=PbU-Dkdgo5B4bZVhHTq#9dU&=%P$ut|G;{HVNU?R(DWNE$(4bo z`1=AjhHDepaQAi=vRd2M^_S$*1k$3z-a4FJ*8pIRd733-nt)?gLjj7Z=5r zaGFZPf7MbPN(0$OQ)d+%9bro(nYc5!$xea1Dd`#S#k^8#Dg6_ zKBiRJ$$WAc-@^V9=Q%6o*ID?AKzjQkmRw+y+U|g{FIvV!XJyInGQ5BsWaV@Mb4%vd zX#W;B;kwk4x6GUCfT%BS_Li|bS!=XHa!kL$w$I-;%T&`dEIC;1vfwg02DaD%QD0>2 zGQXr_41NTs{28W6TK%{Mw&I{M;Hq7E)0wc0cZd|qcs zx_(1_Shm*zRbTApijFYPv5d&ZBN%4fQtMH}(K)90bqhf%w z9ker~Dfj%jnkEa~<(&aEl~OsGk82y8r7XvBW!)u>PFAd*6}EXoPd zrFe@SF!jZ9Tom>ltf9l4WimOigZY!F!+8#n`J%g`j{sARt$;S1P^RFk>Mleecc6nL z`eH|CuxFP4cq@w_Bwtxxju)XHj)DD@l$=qP-_tjEGeCb^MKdnTU*j*XWL z)m+V#xFoJ)xY7|PmR!DuW*trfr!UTSj*jI8eUPmbjzhkVX@=AAyyWrt$?MZJDa-G( zD*CxRmVsk9(lz6n$_wm^uXm6@U))VY(;TUwplT1o~ohCm1gggMl49QrURr1b9p`(4;@{7#fQ- zn;()PODS67l8pUC221M)U!?;zkD0v0JGJ>wN}K<@keSrq4sz>_|FzqXoREB)~WbKb#LK_Y{(0Mf?Cd#fNoDG)~!oQkN2DuJvkqu=RrqEKRCNHv#blc5R>Gs8+YEPvf z$?>}z8I1$KeBwz+4==0_?|*A!PGMjKp}4KKR#|F5;@3K$?u#?Mr?bN(mu<7IOYmpI zIF)biE#OPi!mCRy8F1BF2RwaorAhKIoyh#p^*|M$VYI6i7E3hu_>Ks!z0Lw^^`Q<( z`(jFeNxnZMsf^So=NJH>sAxN~o(uMkj?m#-Np)rg;^v~OwLn{atOMGm>xWXPRephW==5dOxl%DN6W=dRZguPuglr*!*)H@b<;1PILAhCQy}@ zR6-q*Gr*QKZc-h~SFXL6|x8L-n~1&ZXVBRcm0lm54tUz#(L~7P&@K+s8X{GsA$!#nMb$b@vT9 z8s`aYcYplHan7%ZTeV2bGD0b2-qy`71jc*YL0Y|e)~|4N^lWlI8N-LN|MKtQ-{e34 z@BiQR7?_sLfNVU6V6ezJmH)&~kx4Wrxqt_P~k3ZJCNY z-=dh{_$4;m0bgGn>foND{J$jG41=||IhFV}xnwK@GANHGW+e4Q8&O?qxp-R}?|`;1 zCiEfs&;QeK{3_us${-y$+9xc>??9IiCbu~&n_%ix+VQ zif_vBqW*@(MfrwYOv^Y=PWcmA%zVtP=S`m*-{lufB@85bf4shdbNB{SfUL!2XgjX* zuyJM8<%P>e-RmI7zIfIVD<;Vhn38Py_C4}B%h9RmJ%AXo2@t~bPwE9;u?N-7&I^q&k`DB)%`Ai?cdLVZ`r>vstc=s*G0q=k*+kriT;C(d zlSFyNW!i=%d5blQFa3cRpXh+IFaB0Jv*Ey0O-pD4lMmquXu8PCXbd%V#^8pJwBNX@ z?bgmhK5ExGJRI(e_gyhI`En)8#v+F^%HuD5kiFp@7u2*+dP}q{xb%(VO?JT47uP%G z`w%z!U(Y6>OYwFkh&DM`-T{0dR4zKdB_Bzd=25?Z|` zeRAw@Cu zUBk7ctO@Oqq?OWMWD)OD{a(HPuF20U`knpM68bN!gC3zTc&9K%i*ah*mRjZU+WP7L z-y*5!R@-j1)f8J-Ut9s7AJgQn6yi*|wi()prc>H>CYb;e8y~n70Dxqv@8DHg${I>ka?b!Z zmE#kkS%wi#ew*eoHwLEMF9B0PmgNlZlgcrl3h0Wj3{fB8;YD#kSwU4xW8~P~HjAq5H$u}}qL#X| zj9b+Kx-N!yxNg}fN9%buWRu5~;$F38(byjBrK7STj2~e6_unS4`MNlDZJs zk$N6qPbs+^!lA&|&&PB`PSaQk$_5L_uU?aEwt%X(Q*3)nku3VN3~RL>e5A?2Wtqw} z5*AToP7Uxi+n7yh*<}(%3(M9h8n0K*TlPd3nOHVIopt>a0%UcNhA!Z;+t_NwGy5=Sc*S=#PSTOQYJ9^C zH)gjxIJU(e31PL?O29F7`z^5DQ<{U`eG|`8J|k!`#51Aejv98;|L*uVO8mwfast{P ztek0{KZCWk_fnZ09hj?Q>h{nEbN#|{`B^zMVT5)!HvfDzhksrO&D8;#Zo34YI!`i= z`A%ndJc^;b5{~INR%Pp(+@fKr?T*|wqOjXmIZs!<<%zjT4~0ly9R#G?CPO6h-!Y@a zcYbgG9$$A|uxV0&x-?0+=Ev<)CX^EX z6gexKWbtAPg^jy_eZNwWVd;O)K;0avLwJNg<9mF|^s+<4cRK2X`0Y3Hr?*#&J9k%z zOtxNjmSAuYteY)nNzZdV)BWq!OvG+R zw$3v(8B+9x#=s(`<&xiMJmC@gc;ssG-;)$w>_0H_HJ)K;Gx*6DHiX|C=j>7Jm*sdy zR89Aly|Kd}a7{I-d?P#j^%#_sQ6r~(Xt|c})h1rCkWlwHo?@N?H0RCJV_Z=5U3-nP z`icD0>BYg(KQCML!!UIG&}?b-=Wb2O*5!FdK{fU;&S}#WjqE>H85b7%$HC{bw>KwO z^=ubExCs8hn{LhJCr$iCTdQWM7esCtdb)&EHf%o(pOVY&BbMP-fkB^#WZrgbPQI<7 z=*$$(Jgv86UT_Svx(9w9kSdw?!pgb}82Su)JjaR5(rv>JcQCVf%dL6yc0RE@a*^E8 zJ7_?1qjq2iaoinDtwrmtIq$ZHqci_uy!;8vb0xYUsFa?$12lExtr_cf4kjRPr<1r5 zBj4Y}O5rWHCZF5+6bnIYQ{}b0?-`!GgO$QtZcQh*^U;XN!2~0GjAHqnr)$^Qnx6+{ z(RyogxLxmGmWgL8_o)%lxRzrC{w}t#dE@Qr-ga@QaIUgBKWOJBm>a%i1bAuu_((AZ z4pj2B{KQ?uPu4W2a1Z|NJkF!25#U(Rnzqcx1+!vj9fdsbFC-}qucpBxn_B} zlyN;TYNUdtcV1vVnN-o$^RP}{oqVIp^r;(I%rC#&rM&M2ffM>Vo`PxdK1?x*sr&Iv02JYS6@OI!2O>^K{w;+vMXEcbc$O@gi zyVxHt#s`}II~$GF*5>(W=vWLUIK1TAo^sfLD(N}e5%JtR-v;7|a`55Ei0=mR=++$s zcdldkLy$+bbdRc<|2rF%)rRghYXsA8AEapdAz#t7sig12EI7fc{mk?&|IYRY)G=dN zFCiU-)VUkjP7G>~>kdalcR@4xXMSFM=kIKoRvYctES`WfDnNC=M19AvV7a5@Q=GxH0K}qI~$qRcM@yX3uaY6Wkn%9 zdv#5}HpaA$itFA5j_E~%z>C9ydkcq7?7>lEQQM6o+oz@zEyGMe<9}x(vihcD^+Cha zykEv6?xo(0(BfcNFa5}vfo~37dONT~8)zAjumP~L;a~(SXLtv{1JN!>fcTNWvk_Y3 zIMf`XRi=zJri2!A#sCTggDNO0PmyX=$@K4kDNgO%OY@BFwaJ-=nP&vJ!at%-sAEiX@zHNANGW%|z zu$>JsxxLLs&!`?>aDxP11|Q^@@<|*x-!y#B*&JhAyBlEko{d>|i{Rty-f}pm()Bw>TEW_BOy6J{zN!=NizTDkBh2Ve*#d7~O3)VbX{?PH05ioP*lNH$WftHNxCs z9N&@gur>HfFo`G9JdWz14jay6wb4zOfZ5k_MaS;*$z#sGi9>7Iwqb9x-_D!b1lsdi zj%JTVAMP(K8OmF%9T|S*7>SZ#@I6wG^Prk@0|MTlZmQ4%7 zQ58Qa`bA{6>K8lsjuecdr8#Xo1H5+Szhxs(@5lvxRMYl_wLM%QMq+6pY^UJeRe;$cA zW z*`3NH{PV~p!nh-cFz8QlJ}N-{O{MvQDOw^^6icJ{P9+olX(VHr1r0*JmloGsI{@?6YI=kSwy61x)f05r55swle zlQq|HBgxX$?1&g*U@bgB63bV^V*Im}u-wRXBU2Mf$nrI?F!czI6lN`x(FKNUbwek% zu?nV;Sh7vgf65gw>O=_4uml+dvC8gBC{W8^j$OiUjl41zsEE8BoQ_ zWOoriP}yMR_)+Wo!`7N>T9&(t5zMQ=DJP#)BbnuN{buVASA0mEE1Ol7j6bI7)EC`S zaAx64^^|Ir)O;Fk*!kKVgtKeq3*X4`EGJkIaCAfHQUua@>p@Ed(p`^MrwN6QRhLO| z2Pg0}qZsJqGRat8$AqCpHxulJ{aydnZc}Y-JL0^HEK`|wtGn>LIk+C;azd_oa*k8R zb%SjtAtQxNJgw^bSyu$H`+slFFEM#j{EsPcg|5`S|KBzFyDcw!~Cc z1hYXhjBU_RkMdX(gszf@t>3ZRyVSBB+n^rrb34{=UY+)7Tn3-BGD-Q*F<99&FUZxj zK}5Z92OF{eYu%WGw!UJU^^8!uF>U|m^VotO%aSK_ScOg$Zo?Dwl4w!Q!yQjaJ@oZ+ z?vP>@BK4SepRMN1+wCxqs*;tL)5kl4n-QvSvFgx+ndDqs%yFxhUOj^rn~+yergO-%Q- z&>f&C)3i*JOtz+AWCX`_B`Q;wdmdnC7l5ru}oRee5 z6emUBu%&Fdno7?Tg})n7Y`e7u^FPaZGXc3P?r8HaKMQEE6QDYm^R+-jj2rs+h$;tv zcqiRu*+vwIc%`DxgB|Wpa}1OuB!zEDMxz@dTR}dL~sdcY{?8G5bui*QpJOlO}hRBn3 zrqZ)3+XUk3y3diqqS*~3;J$NeC!3qt>k#>wYEeG$q?GaL|8%V)h zErlaCd1M96F^MU~h=!9m`Y?<&f9U!Erw-Q)3K za0%ZmaTr92IIdyJlMB-TVkQF~?kDcJ&=zfPAeZ1J7Fsws%2`p!?>qVPTxnXoW5pl; z!t?3=@qeWBdnXyp8{R+y;Y&y$8k}e77=M|7PCQQ^ewZh5M!qEXDL%fD(!_d>;mMou z0j%{=Og_cwM12~nk<8i;ZXmO$>uQp_*^4YKb8s<@MQH_=5!lKGQ@J(GI&v6ja1$D5 zb`{4FL(i3u7;LrdNgCGReKMM7$vvdx`hljnp@~b)u>-?4rD!Ub?EWcEI?1NJ`Ax+2 z613N{2cKZJGjf_pu@EfZGlD>Jw7q_e^M{mk9J=iupPg*&bQ_Shdp1Sc}we3yh(JSe-SE<9D^h-gvg*}uG^Z2e5OWw}Nk!yv# zhBa7`Rm6*09W6F(ROrwA>T=lvCa6lM6HHh0IF6MYpfL1z@cp0HeN+v`^`1&ketgy0 z2!6i^SfFdOo_^S;#S|H0{E_7rdmLv8P07E;GXI(PHkTia+_ zd@ajx9ns=lnRoXJYE4k<3Y0EJj$@GP>FpC^cQl7HFiqoIIY}fagPwF()hNDaxN9Op zbGVK!zq5-0k7D_`k!u;AG%t^riIw+;YE5Kij!K&l#xpQJ4{Dp2$xw+88z|s}f_sLz zCQNY!Q8#eDfw@=j$x%|uS@`^hk9J*b&+yiS_pRoo&S5Gr$lLh-z9@4hUlqfQmEkRl z?HS&hIJp(P75SkT-Be%tsUG(8Vta8=jz}^2Ko5=?4HWkByiqY(rqA?`Q!i0 z_Py@bL~X60=^l8Q208h+(1Q%0>Svu|Ww2#T*e=769a#j-C0dhE#SEZ#TgT9Y|i-i40n68+ggN8nR(o^j;J${CGC_Km9x{ctra%f=Yy_{U7imSvf?VM*8) z#rBP_3;%F5mwdK^^op^^8K~C}v>;c>kPXLFT5%C9ILDQ!R!fb2!|uXMJl(Lm3TzB( zL{4MH1YyI8?t41mi#q#8-i5h{{@)EF@~+LNvU%5OFM3Ez)w&y*yRz=C`ewtpn@E$} zR&Be9tw^hI#Ij*dOMIc4riIGqtU$ao zlFRNF=X!<7jw0O(1cm7^!Do`ER1T}^1fgN_eDsS2xG1+@eCyRFJJh}WLA&ndw2aGy z$%=dyxxQYXf(fb%zHb>k z!ln{l(1{Eu5Fch$W%dlLlRZ~w5wwkEOvIa<$}jC~S2fPdW%mrUi)N*bqKD}d@+3y@ zV`&hbMr@`lGL1#{46BQJq)mF^Vc7XJ1yafGcxZy7 zSY~MWgh*j%jq-a2+=bHwt4zLe@kCRJXnPIY;k?kEp>-fL=pv-G_b!Yw3SA3SJwhnB zXNX;RjP80G4Zp`ZO-lKgccVa6ld3{{hSq_?MB2PMQI)UlBpb>1Vwj~~EH(r@wwUtk%QWr;VJyvUw$bz&d7EyL$(j-2YnGY!iLr7a`h z_h5D59Xd*71Mj$uWjA7pc-tD2gtGJ6Kr#Z(e#6d4J7F?jUx6Uz}%UF6(AMc`b=w@FIJ*ns?zBwg77vS68d=!Zay@44F0Xh}M>elS3l}JqOMHj&Ql+&WXe7}lC zGjK$Vb*bk7wEF_+>Vg;Xz>_Bvn%~oGD0@-3reR89>lVeH1JUVi3~ilJ8skS+j~msz zk&eMtIwft_GVKx2W%m>0V4MShg7&*9)6WJpR_>LWklT|JK9KhcG0b{0+ z55PHdazRUU3M|yr8KCP%z7!2rE&d$H{{A6j-jJ_jCf&HhiC{R=62%hF0T%SO0qJfW zcw&VkmKBc)bV1&MKnXT2aoR4+JqKji-{|Q;VtoG7JkB0cd1WF$52T~AF7+IM(caHV z9yR`QhS~k{QoTB|B!G3PXAuFjzf)wD1Jinr)XvMU&OhG#EAdNKG!J4Z-E>B;V^PY3Kn{iyeDqw$%t2|I=va2DU7p_DFS}JTH zj`c*Ye{tw2Eiyjzo1p3RZ?SyOYdT79*JZg4z^|ux{e#!KKyjrE)W;b)g!Pue3Xpx* zEyJ@Vdx>0l12L>8g8hp@M~OYoCTK>^OCAJW5rSu!(sm&g-9QBEsbTLT&^ZKf4q4Gb ziVk5DT2z;D>hWw#$w=F3Y#@;J#IbLIc>XGed5PpIm19?$kr7BC^yh^(fW4kp_C616 ztxFcb9_G_xy!@A}=%eq8xEPee8;D^&@$7x{b+?zHLvTslo?@=O8yv!!#XgythF?Pf~>+t3KpuP5#@yYeg)yLn+Zy!J7<}kRaGIShZgnCK`7xey~j>uP*Kkyi6k`tR}8@|M!b+s15 z(%$2iw9~r&{d}XzwQEZT>R z+#ShCqmFGUBadsRmw1geBUcH-TwU2nj|f(^E;!#2^@vM;4V-=aul>k$+*|KnLcFe|0!h~ki%)7#3@Py-PG}xJQ=|x zJB%~gr^f{bCixBH zT$6utkBzc+F6k9+B0NzqxB4xaQxB$QZx2r{IwEk z_F(Dr6m(3n>V=NuXkS8GK-k{J8TlH|vMMp`1$agsqi?G&C3_I7bXo)6I&Yis)CAkQM)IcYZ9y?PD>kj-U1qR zn8GoGxo%iS3sR+8{(xuqT`D^%IIiK#Q(dasnB_t{Jz-z%8C_xb^()^em+>@bJ^CR zNNadeMMYZI?+NQ_U+QZ8YA?bqGX(aO1DpE(9iYxnp-W}QvN7$X9PPcXq=FS%=n3y? z7wZbI_D0JxBfOzt59ur;hir=cU_g%2=`A@-zQ?)j(rMd)!IOoFDG{W~Dtxh}p75{s z$DYq^U5s4IGRgZm;i^b70_ey&lWg{?AfJ@i!T16?uqE)znksI&nZEeTYM<>2y3WD? z&@FOFCzwP6J8>D$M)3?!Elfg2P9~3uGWbqVUvw-sG_`u;3=`VwO9&lU9MFBO5NsHs zX-d8U`8u9GEU)+u(&SsipV@LH{9;WNy4Xx#&^ypGOY2o=SwPR?V*Ic0mOlpNF`2}` zu42{C!M0>-hE-IsV*S3rcHm`>)~Us^Tyk)8h<-gR1dRg-61%*|Rb zUJKA8SD-tg+sZko$6SrVJ2utN&5?I-UaN6N%T4qJxdRWgwOOz%%O_{aeL{|3k%N1N z8!l2Y;Fk42>eC@x)-u$}st|;h`Vv4FVy3%|2LS|l=``f1@ih!6MmK6!S<^DyNP^9) zG_VTw`vTj6nK_P@saPTToR)da{e-E)$AFi}T$>kdD3DOEFK}IGSg2JStq3UM?Tq`J z&B!qWg{t-fCa08Qo;nz!5qW(|^L$2*SYDJggS9(Je*Z}oMIfJ2*l^=?TJ@EG)Bc&h zB-e$&1zG|JpS`5_G0cl^g+Y$rkqb)a%4qd-mB0q_M&GF1rjAyH`ZBU~pmDbDkt7Jf zCfCDplBV3wa*@zm(7A@=3C+LD^vzf4TV1Vjnu~4p1-b)wv9+TPEs>9dzpxC4`Z$kq z1E(=LPGAG033&}8dBs3ky}JBId3AWcdI(g_%tc@?`1|TMU(g_FYZLOCwqU0HfSDiv z*3i)v@Ul5}fqq{3<&289HZ6^9IOs{rRUYObD)l{@n z8!u;6)Mi%)%q}?tJsSww5krc7kJJ8=u`K2J2(QQSh&_?l6&Glp307#=ulN?!M{Z6P z$?CRW&>*QbWWacXI$lz8H3NN&>+v)jjxoKsLKS=?l=;x2T4NLV<6r7V{`i-^h(i|& ztn(xT)M$!?mGFv<7tY!V8XfX-Hh<8kgy}&IAXL=&c?&9jU2`vIq_kJ8k$@b<#V{Tr zK|Fz;&aft`;WunLlpU6%pnl4-ctl@SRVC1D=jDu+mhRpeu!k58CNCaSP|gv4HsZG0 zQ_Lz~%+!0QNM=CGstx#ZJ1=Lzw6ydG4mH@tib*mgXSj|l=Jz#*&FyvY>J_ok2 zw=B$MJ>iV~XqHcl`BTG>2%QfY%TsyFGi}3FE}*0qRQS#2UeI`H=|bg$C~P1v&;?fQ z{o^=AuheN#<}>wzbsnc+;kl9g@qZPIODJ*27aMs=yQMY|vTY#)1Y*MOxxNFd(8W7B*_(ccpx-^a6m zSJ!T0Z#4CS)=fwI5)F23P|1?J@`F6WNSOK|yq(gLZ zJ2trOo+q|Iwf}X~=+j~hLthK!`eMb~(tRFSN1 z@db^gjy5wjY?I_Y4B0JoeFDqnM^ykgyl*O;{rC*vcy{@P|4_UoUxn@ zAAnQ8zGAoNE>Mo!xQnIkPeMx#?QB)EFKM^dUSc_>g@B6jG^@82W!b9J7pH zHXY=^N8o2U`AXB0yj~)IRd6xjoz(&Ur=i+6Txy$NR;AbM#vlK2i+;SIsod2W2OZNP z2j7xml5q9#8%+z<3a0ooRi#xCRaIZkFz#pr6F8=e#>+B+fn(`6n%u({%dc)ST5@C1 zTMYi(NO3D4ZYx?)MZueUN%OZ(M|4b&octb79#ihWH;yxWMOm4zs&^>w6P&8DM-xV& zl<$h?ZK$|cH28uZy1FRtAPpY_NwY~@#i3&8qn6>f3#wicDYo!=HB|s|8!u=8Ux7Iw z7t``P%^s3`IOc5FAvZ`QzQ&5Oh+bW?E%4%x|0GmZ(F^Uopwq7Q<`YgIIP;(4e1rrb zh86rJd5Foo9xG91S=#mKWG)N}rZdQQu&S>&p&QY${9imdAw zU(lwm^+s_llblWSDS5|=@uI)z_ge=lL~e6^A}QOeAAl}iS+qCYpt)z&VrRj8nb3RV;8H^_e z-_B^|_j)pUoI!^_!r##v_K5<&D&SabIZeDe5Sw7)uG(&_i%mcDl16Y#OMl_BOXJsI z?$3L}nvaexKU6K=i;7KES8U}aU0<~?SU@F^AMbE8&pS5er{HiD^A}zGUg!0vZzIx5 z#~j}^y!rXj4WkOH?KRNc;w1G s?rl9zZ9C3kou>!UV+p=$zFeHX*be#@o>eTd6B zSHsEv`s3YQ!mq~UXaNTqY^f6^5|^pE63flb;khDl>+p@2vtL?~?sRg|epwsQzQzw| zo+qE>H#M$jn6h83WJp_xVOjkJ&4s3J8*xnsxDj*!*uuXBPB~2Yt8RS6hUT8H32ZLV z`PawEB+glz?cS|p;x4QTN^`0}R<`|;p13+H@0u>3%tvDk^E+V=c(_(e{TPh`K<8QZ zs^p%NfakdJ7{@mv+2p#SHC0-TreDqwX=@*gyQW93pXew7HJ@(>aJt+jv9KT3_SRZf zd;&23+yr%9^*YFwiEgL1+a;%b=mq_G^?6uKpM1oK0vI&E;L(QDG+`O}!jeYN)rM@A zHB|w~&Aecc0d3lM*97W|ckD-THk#GT;N%;{x8(!;j!j;l-z`1z;NMgD_enOA?M|Mh z`nT$uRfV+j8!zbh>*-|{l265q`+H{hSv&znXQqUvwxT+(!Gfj~GZnd1{RP7mXy2;4 zX4Jfo($o8vWnZ~(3+WD*qe^O-QE^xxMTS}W!&-krkKLQO=N?Zuijgz6&uK_R$kJ2YH2B# z<&f$o;79Typ=rTYtTT2$=CPA8pWLv-v+eactnJ5mNEKEZswUI+)>N6aH~oTkQcJJb zVQ_oF~=mh@`-5JUna5dG+kK;NERAQFT=dW2X-^ z6+hkAUeE$-Mf&a4gB_CZELF@B>7aBxu<>y||NNZ^yY`b>l@|ZGy6Y)7qfLrrd z`_oLxp@Jb=l#Ad-&4y}UHS?m5u-fCKa)iZ8)*s0!9FN(EUv7Gd&QEzv_3 zEkE}&j{Y-|v%Al@+Rxxakez+TTJaeLO(RhAJ_8c(=Ht@x{BQs6fBBpOWPCMz1mv|S zCoy;CC8#MvQ}{=h&u2_Cevsr(@po!W+<0+w6f`0N&P&w`z^qqH)x}@QTMX)o7XZ~_ zQFqomDLaS<>pj$YM~L0W9E9wN0=-bW@2u#)@A-k@1>rW`$3NvGo@~A|5L>fN%0R02 z$@O$Hp}BwraD)Pm|Mu_xgE4t@>W6;;FfyAD#j+m=>=)Z@k*MaV5HD#+CHBge2kcco0bOH4ygVEYBtmD8&j@5?XoUg>~*MZ5Ux>jXn5m-uw#$I2%D zo@U?U+QD%tG|bxNgStjn^u8)abhgT5@q(^Il`BH$HV*z zeCE|jb};q|T{(E3hXH|H%`8FWpp-K7Bo;M?2)2{tkO%*y7Mz#YyKc#|%>LKUzV*p#>+9@YJHBwK4AO1f= KBRqWjE&>1q4R5;u diff --git a/.config/mpd/mpd.conf b/.config/mpd/mpd.conf index 94a580d..6db8432 100644 --- a/.config/mpd/mpd.conf +++ b/.config/mpd/mpd.conf @@ -56,6 +56,8 @@ sticker_file "~/.config/mpd/sticker.sql" # ############################################################################### +connection_timeout "5" + # General music daemon options ################################################ # diff --git a/.config/mpd/state b/.config/mpd/state index 091c221..40bcf6e 100644 --- a/.config/mpd/state +++ b/.config/mpd/state @@ -1,8 +1,8 @@ -sw_volume: 34 +sw_volume: 39 audio_device_state:1:pulse audio state: pause -current: 27 -time: 29.550000 +current: 4 +time: 369.681000 random: 0 repeat: 0 single: 0 @@ -11,65 +11,12 @@ crossfade: 0 mixrampdb: 0.000000 mixrampdelay: -1.000000 playlist_begin -0:DeezerLoader/Avril Lavigne - Under My Skin/01 - Take Me Away.flac -1:DeezerLoader/Avril Lavigne - Under My Skin/02 - Together.flac -2:DeezerLoader/Avril Lavigne - Under My Skin/03 - Don't Tell Me.flac -3:DeezerLoader/Avril Lavigne - Under My Skin/04 - He Wasn't.flac -4:DeezerLoader/Avril Lavigne - Under My Skin/05 - How Does It Feel.flac -5:DeezerLoader/Avril Lavigne - Under My Skin/06 - My Happy Ending.flac -6:DeezerLoader/Avril Lavigne - Under My Skin/07 - Nobody's Home.flac -7:DeezerLoader/Avril Lavigne - Under My Skin/08 - Forgotten.flac -8:DeezerLoader/Avril Lavigne - Under My Skin/09 - Who Knows.flac -9:DeezerLoader/Avril Lavigne - Under My Skin/10 - Fall To Pieces.flac -10:DeezerLoader/Avril Lavigne - Under My Skin/11 - Freak Out.flac -11:DeezerLoader/Avril Lavigne - Under My Skin/12 - Slipped Away.flac -12:DeezerLoader/Avril Lavigne - Under My Skin/13 - I Always Get What I Want.flac -13:SharedMusic/Paramore - All We Know Is Falling/01 - All We Know.flac -14:SharedMusic/Paramore - All We Know Is Falling/02 - Pressure.flac -15:SharedMusic/Paramore - All We Know Is Falling/03 - Emergency.flac -16:SharedMusic/Paramore - All We Know Is Falling/04 - Brighter.flac -17:SharedMusic/Paramore - All We Know Is Falling/05 - Here We Go Again.flac -18:SharedMusic/Paramore - All We Know Is Falling/06 - Never Let This Go.flac -19:SharedMusic/Paramore - All We Know Is Falling/07 - Whoa.flac -20:SharedMusic/Paramore - All We Know Is Falling/08 - Conspiracy.flac -21:SharedMusic/Paramore - All We Know Is Falling/09 - Franklin.flac -22:SharedMusic/Paramore - All We Know Is Falling/10 - My Heart.flac -23:SharedMusic/Paramore - RIOT!/01 - For A Pessimist, I'm Pretty Optimistic.flac -24:SharedMusic/Paramore - RIOT!/02 - That's What You Get.flac -25:SharedMusic/Paramore - RIOT!/03 - Hallelujah.flac -26:SharedMusic/Paramore - RIOT!/04 - Misery Business.flac -27:SharedMusic/Paramore - RIOT!/05 - When It Rains.flac -28:SharedMusic/Paramore - RIOT!/06 - Let The Flames Begin.flac -29:SharedMusic/Paramore - RIOT!/07 - Miracle.flac -30:SharedMusic/Paramore - RIOT!/08 - crushcrushcrush.flac -31:SharedMusic/Paramore - RIOT!/09 - We Are Broken.flac -32:SharedMusic/Paramore - RIOT!/10 - Fences.flac -33:SharedMusic/Paramore - RIOT!/11 - Born For This.flac -34:SharedMusic/Paramore - RIOT!/12 - Stop This Song (Love Sick Melody) (Bonus Version).flac -35:SharedMusic/Paramore - RIOT!/13- Paramore - Rewind (Demo).flac -36:SharedMusic/Paramore - RIOT!/14 - Emergency (Live Version).flac -37:DeezerLoader/Paramore - brand new eyes/01 - Careful.flac -38:DeezerLoader/Paramore - brand new eyes/02 - Ignorance.flac -39:DeezerLoader/Paramore - brand new eyes/03 - Playing God.flac -40:DeezerLoader/Paramore - brand new eyes/04 - Brick by Boring Brick.flac -41:DeezerLoader/Paramore - brand new eyes/05 - Turn It Off.flac -42:DeezerLoader/Paramore - brand new eyes/06 - The Only Exception.flac -43:DeezerLoader/Paramore - brand new eyes/07 - Feeling Sorry.flac -44:DeezerLoader/Paramore - brand new eyes/08 - Looking Up.flac -45:DeezerLoader/Paramore - brand new eyes/09 - Where the Lines Overlap.flac -46:DeezerLoader/Paramore - brand new eyes/10 - Misguided Ghosts.flac -47:DeezerLoader/Paramore - brand new eyes/11 - All I Wanted.flac -48:DeezerLoader/Avril Lavigne - Let Go/01 - Losing Grip.flac -49:DeezerLoader/Avril Lavigne - Let Go/02 - Complicated.flac -50:DeezerLoader/Avril Lavigne - Let Go/03 - Sk8er Boi.flac -51:DeezerLoader/Avril Lavigne - Let Go/04 - I'm with You.flac -52:DeezerLoader/Avril Lavigne - Let Go/05 - Mobile.flac -53:DeezerLoader/Avril Lavigne - Let Go/06 - Unwanted.flac -54:DeezerLoader/Avril Lavigne - Let Go/07 - Tomorrow.flac -55:DeezerLoader/Avril Lavigne - Let Go/08 - Anything but Ordinary.flac -56:DeezerLoader/Avril Lavigne - Let Go/09 - Things I'll Never Say.flac -57:DeezerLoader/Avril Lavigne - Let Go/10 - My World.flac -58:DeezerLoader/Avril Lavigne - Let Go/11 - Nobody's Fool.flac -59:DeezerLoader/Avril Lavigne - Let Go/12 - Too Much to Ask.flac -60:DeezerLoader/Avril Lavigne - Let Go/13 - Naked.flac +0:Music/Alcest/Les Voyages de l'âme/01 Autre temps.flac +1:Music/Alcest/Les Voyages de l'âme/02 Là où naissent les couleurs nouvelles.flac +2:Music/Alcest/Les Voyages de l'âme/03 Les Voyages de l'âme.flac +3:Music/Alcest/Les Voyages de l'âme/04 Nous sommes l'émeraude.flac +4:Music/Alcest/Les Voyages de l'âme/05 Beings of Light.flac +5:Music/Alcest/Les Voyages de l'âme/06 Faiseurs de mondes.flac +6:Music/Alcest/Les Voyages de l'âme/07 Havens.flac +7:Music/Alcest/Les Voyages de l'âme/08 Summer’s Glory.flac playlist_end diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index c21e26e..af034e7 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -11,20 +11,21 @@ Plug 'jistr/vim-nerdtree-tabs' Plug 'rhysd/vim-clang-format' Plug 'kana/vim-operator-user' Plug 'rust-lang/rust.vim' -Plug 'Shougo/deoplete.nvim' -Plug 'zchee/deoplete-clang' -Plug 'Shougo/neoinclude.vim' -Plug 'roxma/nvim-yarp' -Plug 'sebastianmarkow/deoplete-rust' -Plug 'carlitux/deoplete-flow' +"Plug 'Shougo/deoplete.nvim' +"Plug 'zchee/deoplete-clang' +"Plug 'Shougo/deoplete-clangx' +"Plug 'Shougo/neoinclude.vim' +"Plug 'roxma/nvim-yarp' +"Plug 'sebastianmarkow/deoplete-rust' +"Plug 'carlitux/deoplete-flow' Plug 'jpalardy/vim-slime' -Plug 'autozimu/LanguageClient-neovim', { - \ 'branch': 'next', - \ 'do': 'bash install.sh', - \ } +"Plug 'autozimu/LanguageClient-neovim', { +" \ 'branch': 'next', +" \ 'do': 'bash install.sh', +" \ } Plug 'calviken/vim-gdscript3' -Plug 'Shougo/neosnippet' -Plug 'Shougo/neosnippet-snippets' +"Plug 'Shougo/neosnippet' +"Plug 'Shougo/neosnippet-snippets' Plug 'nikvdp/ejs-syntax' Plug 'pangloss/vim-javascript' Plug 'MaxMEllon/vim-jsx-pretty' @@ -39,26 +40,23 @@ Plug 'vim-pandoc/vim-rmarkdown' Plug 'vim-pandoc/vim-pandoc' Plug 'vim-pandoc/vim-pandoc-syntax' Plug 'junegunn/fzf.vim' +Plug 'tpope/vim-dadbod' +Plug 'lervag/vimtex' +Plug 'dpelle/vim-LanguageTool' +Plug 'neoclide/coc.nvim', {'branch': 'release'} +Plug 'tikhomirov/vim-glsl' +Plug 'soli/prolog-vim' call plug#end() " required filetype plugin indent on " required let g:jsx_ext_required = 0 -let g:deoplete#enable_at_startup = 1 -let g:deoplete#sources#clang#libclang_path = "/usr/lib/libclang.so" -let g:deoplete#sources#clang#clang_header = "/usr/lib/clang" -let g:deoplete#sources#rust#racer_binary='/usr/bin/racer' -let g:deoplete#sources#rust#rust_source_path='/usr/src/rust/src' - -let g:LanguageClient_serverCommands = { - \ 'lua': ['lua-lsp'], - \ } -let g:LanguageClient_autoStart = 1 - let g:neosnippet#enable_completed_snippet = 1 let g:autocomplete_flow#insert_paren_after_function = 0 +let g:languagetool_jar = "~/Documents/LanguageTool-4.9.1/languagetool-commandline.jar" + set tags+=./.tags set nobackup @@ -198,19 +196,42 @@ set tabstop=4 set shiftwidth=4 set expandtab +:set number relativenumber +:set nu rnu + +:augroup numbertoggle +: autocmd! +: autocmd BufEnter,FocusGained,InsertLeave * set relativenumber +: autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber +:augroup END + :command WQ wq :command Wq wq :command W w :command Q q +:command WQa wqa +:command Wqa wqa let g:C_Mapfeader = ',' nnoremap :noh: -let g:deoplete#enable_smart_case = 1 -imap pumvisible() ? "\" : "\" -imap pumvisible() ? "\" : "\" -imap pumvisible() ? deoplete#close_popup() : "\" +inoremap pumvisible() ? "\" : "\u\" :tnoremap +inoremap + \ pumvisible() ? coc#_select_confirm() : + \ coc#expandableOrJumpable() ? "\=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\" : + \ check_back_space() ? "\" : + \ coc#refresh() + +function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' +endfunction + +let g:coc_snippet_next = '' + +nnoremap :Files + set completeopt=menu,noinsert diff --git a/.config/picom/launch.sh b/.config/picom/launch.sh index c9590b7..af15fc2 100755 --- a/.config/picom/launch.sh +++ b/.config/picom/launch.sh @@ -1,9 +1,9 @@ -#!/usr/bin/env sh +!/usr/bin/env sh -# Terminate already running picom instances + Terminate already running picom instances killall -q picom -# Wait until the processes have been shut down + Wait until the processes have been shut down while pgrep -u $UID -x picom > /dev/null; do sleep 1; done picom --config ~/.config/picom/picom.conf -b diff --git a/.config/picom/picom.conf b/.config/picom/picom.conf index 3f8806c..fdea85d 100644 --- a/.config/picom/picom.conf +++ b/.config/picom/picom.conf @@ -17,7 +17,6 @@ inactive-opacity = 1.0; active-opacity = 1.0; frame-opacity = 0.7; inactive-opacity-override = false; -alpha-step = 0.06; inactive-dim = 0.0; blur-kern = "3x3box"; blur-background-exclude = [ "window_type = 'dock'", "window_type = 'desktop'" ]; @@ -26,14 +25,16 @@ fade-in-step = 0.03; fade-out-step = 0.03; fade-exclude = [ ]; backend = "glx"; +glx-no-stencil = true; +glx-no-rebind-pixmap = true; +xrender-sync-fence = "true"; mark-wmwin-focused = true; mark-ovredir-focused = true; detect-rounded-corners = true; detect-client-opacity = true; refresh-rate = 0; -vsync = false; +vsync = true; dbe = false; -paint-on-overlay = true; focus-exclude = [ "class_g = 'Cairo-clock'" ]; detect-transient = true; detect-client-leader = true; diff --git a/.vim/autoload/plug.vim b/.vim/autoload/plug.vim index bfafbfb..92fea62 100644 --- a/.vim/autoload/plug.vim +++ b/.vim/autoload/plug.vim @@ -99,7 +99,13 @@ let s:mac_gui = has('gui_macvim') && has('gui_running') let s:is_win = has('win32') let s:nvim = has('nvim-0.2') || (has('nvim') && exists('*jobwait') && !s:is_win) let s:vim8 = has('patch-8.0.0039') && exists('*job_start') -let s:me = resolve(expand(':p')) +if s:is_win && &shellslash + set noshellslash + let s:me = resolve(expand(':p')) + set shellslash +else + let s:me = resolve(expand(':p')) +endif let s:base_spec = { 'branch': 'master', 'frozen': 0 } let s:TYPE = { \ 'string': type(''), @@ -110,10 +116,42 @@ let s:TYPE = { let s:loaded = get(s:, 'loaded', {}) let s:triggers = get(s:, 'triggers', {}) +if s:is_win + function! s:plug_call(fn, ...) + let shellslash = &shellslash + try + set noshellslash + return call(a:fn, a:000) + finally + let &shellslash = shellslash + endtry + endfunction +else + function! s:plug_call(fn, ...) + return call(a:fn, a:000) + endfunction +endif + +function! s:plug_getcwd() + return s:plug_call('getcwd') +endfunction + +function! s:plug_fnamemodify(fname, mods) + return s:plug_call('fnamemodify', a:fname, a:mods) +endfunction + +function! s:plug_expand(fmt) + return s:plug_call('expand', a:fmt, 1) +endfunction + +function! s:plug_tempname() + return s:plug_call('tempname') +endfunction + function! plug#begin(...) if a:0 > 0 let s:plug_home_org = a:1 - let home = s:path(fnamemodify(expand(a:1), ':p')) + let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p')) elseif exists('g:plug_home') let home = s:path(g:plug_home) elseif !empty(&rtp) @@ -121,7 +159,7 @@ function! plug#begin(...) else return s:err('Unable to determine plug home. Try calling plug#begin() with a path argument.') endif - if fnamemodify(home, ':t') ==# 'plugin' && fnamemodify(home, ':h') ==# s:first_rtp + if s:plug_fnamemodify(home, ':t') ==# 'plugin' && s:plug_fnamemodify(home, ':h') ==# s:first_rtp return s:err('Invalid plug home. '.home.' is a standard Vim runtime path and is not allowed.') endif @@ -139,6 +177,16 @@ function! s:define_commands() if !executable('git') return s:err('`git` executable not found. Most commands will not be available. To suppress this message, prepend `silent!` to `call plug#begin(...)`.') endif + if has('win32') + \ && &shellslash + \ && (&shell =~# 'cmd\.exe' || &shell =~# 'powershell\.exe') + return s:err('vim-plug does not support shell, ' . &shell . ', when shellslash is set.') + endif + if !has('nvim') + \ && (has('win32') || has('win32unix')) + \ && (!has('multi_byte') || !has('iconv')) + return s:err('Vim needs +iconv, +multi_byte features on Windows to run shell commands.') + endif command! -nargs=* -bar -bang -complete=customlist,s:names PlugInstall call s:install(0, []) command! -nargs=* -bar -bang -complete=customlist,s:names PlugUpdate call s:update(0, []) command! -nargs=0 -bar -bang PlugClean call s:clean(0) @@ -334,11 +382,11 @@ function! s:progress_opt(base) \ s:git_version_requirement(1, 7, 1) ? '--progress' : '' endfunction -if s:is_win - function! s:rtp(spec) - return s:path(a:spec.dir . get(a:spec, 'rtp', '')) - endfunction +function! s:rtp(spec) + return s:path(a:spec.dir . get(a:spec, 'rtp', '')) +endfunction +if s:is_win function! s:path(path) return s:trim(substitute(a:path, '/', '\', 'g')) endfunction @@ -350,11 +398,28 @@ if s:is_win function! s:is_local_plug(repo) return a:repo =~? '^[a-z]:\|^[%~]' endfunction -else - function! s:rtp(spec) - return s:dirpath(a:spec.dir . get(a:spec, 'rtp', '')) + + " Copied from fzf + let s:codepage = libcallnr('kernel32.dll', 'GetACP', 0) + function! s:wrap_cmds(cmds) + return map([ + \ '@echo off', + \ 'setlocal enabledelayedexpansion'] + \ + (type(a:cmds) == type([]) ? a:cmds : [a:cmds]) + \ + ['endlocal'], + \ printf('iconv(v:val."\r", "%s", "cp%d")', &encoding, s:codepage)) endfunction + function! s:batchfile(cmd) + let batchfile = s:plug_tempname().'.bat' + call writefile(s:wrap_cmds(a:cmd), batchfile) + let cmd = plug#shellescape(batchfile, {'shell': &shell, 'script': 0}) + if &shell =~# 'powershell\.exe' + let cmd = '& ' . cmd + endif + return [batchfile, cmd] + endfunction +else function! s:path(path) return s:trim(a:path) endfunction @@ -554,7 +619,7 @@ function! plug#(repo, ...) try let repo = s:trim(a:repo) let opts = a:0 == 1 ? s:parse_options(a:1) : s:base_spec - let name = get(opts, 'as', fnamemodify(repo, ':t:s?\.git$??')) + let name = get(opts, 'as', s:plug_fnamemodify(repo, ':t:s?\.git$??')) let spec = extend(s:infer_properties(name, repo), opts) if !has_key(g:plugs, name) call add(g:plugs_order, name) @@ -574,7 +639,7 @@ function! s:parse_options(arg) elseif type == s:TYPE.dict call extend(opts, a:arg) if has_key(opts, 'dir') - let opts.dir = s:dirpath(expand(opts.dir)) + let opts.dir = s:dirpath(s:plug_expand(opts.dir)) endif else throw 'Invalid argument type (expected: string or dictionary)' @@ -585,7 +650,7 @@ endfunction function! s:infer_properties(name, repo) let repo = a:repo if s:is_local_plug(repo) - return { 'dir': s:dirpath(expand(repo)) } + return { 'dir': s:dirpath(s:plug_expand(repo)) } else if repo =~ ':' let uri = repo @@ -738,7 +803,7 @@ function! s:finish_bindings() endfunction function! s:prepare(...) - if empty(getcwd()) + if empty(s:plug_getcwd()) throw 'Invalid current working directory. Cannot proceed.' endif @@ -794,31 +859,28 @@ endfunction function! s:chsh(swap) let prev = [&shell, &shellcmdflag, &shellredir] - if s:is_win - set shell=cmd.exe shellcmdflag=/c shellredir=>%s\ 2>&1 - elseif a:swap + if !s:is_win && a:swap set shell=sh shellredir=>%s\ 2>&1 endif return prev endfunction function! s:bang(cmd, ...) + let batchfile = '' try let [sh, shellcmdflag, shrd] = s:chsh(a:0) " FIXME: Escaping is incomplete. We could use shellescape with eval, " but it won't work on Windows. let cmd = a:0 ? s:with_cd(a:cmd, a:1) : a:cmd if s:is_win - let batchfile = tempname().'.bat' - call writefile(["@echo off\r", cmd . "\r"], batchfile) - let cmd = s:shellesc(batchfile) + let [batchfile, cmd] = s:batchfile(cmd) endif let g:_plug_bang = (s:is_win && has('gui_running') ? 'silent ' : '').'!'.escape(cmd, '#!%') execute "normal! :execute g:_plug_bang\\" finally unlet g:_plug_bang let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win + if s:is_win && filereadable(batchfile) call delete(batchfile) endif endtry @@ -897,7 +959,7 @@ function! s:checkout(spec) let output = s:system('git rev-parse HEAD', a:spec.dir) if !v:shell_error && !s:hash_match(sha, s:lines(output)[0]) let output = s:system( - \ 'git fetch --depth 999999 && git checkout '.s:esc(sha).' --', a:spec.dir) + \ 'git fetch --depth 999999 && git checkout '.plug#shellescape(sha).' --', a:spec.dir) endif return output endfunction @@ -1015,7 +1077,7 @@ function! s:update_impl(pull, force, args) abort let s:clone_opt = get(g:, 'plug_shallow', 1) ? \ '--depth 1' . (s:git_version_requirement(1, 7, 10) ? ' --no-single-branch' : '') : '' - if has('win32unix') + if has('win32unix') || has('wsl') let s:clone_opt .= ' -c core.eol=lf -c core.autocrlf=input' endif @@ -1094,7 +1156,7 @@ function! s:update_finish() elseif has_key(spec, 'tag') let tag = spec.tag if tag =~ '\*' - let tags = s:lines(s:system('git tag --list '.s:shellesc(tag).' --sort -version:refname 2>&1', spec.dir)) + let tags = s:lines(s:system('git tag --list '.plug#shellescape(tag).' --sort -version:refname 2>&1', spec.dir)) if !v:shell_error && !empty(tags) let tag = tags[0] call s:log4(name, printf('Latest tag for %s -> %s', spec.tag, tag)) @@ -1102,12 +1164,12 @@ function! s:update_finish() endif endif call s:log4(name, 'Checking out '.tag) - let out = s:system('git checkout -q '.s:esc(tag).' -- 2>&1', spec.dir) + let out = s:system('git checkout -q '.plug#shellescape(tag).' -- 2>&1', spec.dir) else - let branch = s:esc(get(spec, 'branch', 'master')) - call s:log4(name, 'Merging origin/'.branch) - let out = s:system('git checkout -q '.branch.' -- 2>&1' - \. (has_key(s:update.new, name) ? '' : ('&& git merge --ff-only origin/'.branch.' 2>&1')), spec.dir) + let branch = get(spec, 'branch', 'master') + call s:log4(name, 'Merging origin/'.s:esc(branch)) + let out = s:system('git checkout -q '.plug#shellescape(branch).' -- 2>&1' + \. (has_key(s:update.new, name) ? '' : ('&& git merge --ff-only '.plug#shellescape('origin/'.branch).' 2>&1')), spec.dir) endif if !v:shell_error && filereadable(spec.dir.'/.gitmodules') && \ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir)) @@ -1151,7 +1213,7 @@ function! s:job_abort() silent! call job_stop(j.jobid) endif if j.new - call s:system('rm -rf ' . s:shellesc(g:plugs[name].dir)) + call s:rm_rf(g:plugs[name].dir) endif endfor let s:jobs = {} @@ -1204,22 +1266,17 @@ endfunction function! s:spawn(name, cmd, opts) let job = { 'name': a:name, 'running': 1, 'error': 0, 'lines': [''], - \ 'batchfile': (s:is_win && (s:nvim || s:vim8)) ? tempname().'.bat' : '', \ 'new': get(a:opts, 'new', 0) } let s:jobs[a:name] = job - let cmd = has_key(a:opts, 'dir') ? s:with_cd(a:cmd, a:opts.dir) : a:cmd - if !empty(job.batchfile) - call writefile(["@echo off\r", cmd . "\r"], job.batchfile) - let cmd = s:shellesc(job.batchfile) - endif - let argv = add(s:is_win ? ['cmd', '/c'] : ['sh', '-c'], cmd) + let cmd = has_key(a:opts, 'dir') ? s:with_cd(a:cmd, a:opts.dir, 0) : a:cmd + let argv = s:is_win ? ['cmd', '/s', '/c', '"'.cmd.'"'] : ['sh', '-c', cmd] if s:nvim call extend(job, { \ 'on_stdout': function('s:nvim_cb'), \ 'on_exit': function('s:nvim_cb'), \ }) - let jid = jobstart(argv, job) + let jid = s:plug_call('jobstart', argv, job) if jid > 0 let job.jobid = jid else @@ -1262,9 +1319,6 @@ function! s:reap(name) call s:log(bullet, a:name, empty(result) ? 'OK' : result) call s:bar() - if has_key(job, 'batchfile') && !empty(job.batchfile) - call delete(job.batchfile) - endif call remove(s:jobs, a:name) endfunction @@ -1354,8 +1408,8 @@ while 1 " Without TCO, Vim stack is bound to explode \ printf('git clone %s %s %s %s 2>&1', \ has_tag ? '' : s:clone_opt, \ prog, - \ s:shellesc(spec.uri), - \ s:shellesc(s:trim(spec.dir))), { 'new': 1 }) + \ plug#shellescape(spec.uri, {'script': 0}), + \ plug#shellescape(s:trim(spec.dir), {'script': 0})), { 'new': 1 }) endif if !s:jobs[name].running @@ -1982,19 +2036,29 @@ function! s:update_ruby() EOF endfunction -function! s:shellesc_cmd(arg) - let escaped = substitute(a:arg, '[&|<>()@^]', '^&', 'g') - let escaped = substitute(escaped, '%', '%%', 'g') - let escaped = substitute(escaped, '"', '\\^&', 'g') - let escaped = substitute(escaped, '\(\\\+\)\(\\^\)', '\1\1\2', 'g') - return '^"'.substitute(escaped, '\(\\\+\)$', '\1\1', '').'^"' +function! s:shellesc_cmd(arg, script) + let escaped = substitute('"'.a:arg.'"', '[&|<>()@^!"]', '^&', 'g') + return substitute(escaped, '%', (a:script ? '%' : '^') . '&', 'g') endfunction -function! s:shellesc(arg) - if &shell =~# 'cmd.exe$' - return s:shellesc_cmd(a:arg) +function! s:shellesc_ps1(arg) + return "'".substitute(escape(a:arg, '\"'), "'", "''", 'g')."'" +endfunction + +function! s:shellesc_sh(arg) + return "'".substitute(a:arg, "'", "'\\\\''", 'g')."'" +endfunction + +function! plug#shellescape(arg, ...) + let opts = a:0 > 0 && type(a:1) == s:TYPE.dict ? a:1 : {} + let shell = get(opts, 'shell', s:is_win ? 'cmd.exe' : 'sh') + let script = get(opts, 'script', 1) + if shell =~# 'cmd\.exe' + return s:shellesc_cmd(a:arg, script) + elseif shell =~# 'powershell\.exe' || shell =~# 'pwsh$' + return s:shellesc_ps1(a:arg) endif - return shellescape(a:arg) + return s:shellesc_sh(a:arg) endfunction function! s:glob_dir(path) @@ -2026,23 +2090,23 @@ function! s:format_message(bullet, name, message) endif endfunction -function! s:with_cd(cmd, dir) - return printf('cd%s %s && %s', s:is_win ? ' /d' : '', s:shellesc(a:dir), a:cmd) +function! s:with_cd(cmd, dir, ...) + let script = a:0 > 0 ? a:1 : 1 + return printf('cd%s %s && %s', s:is_win ? ' /d' : '', plug#shellescape(a:dir, {'script': script}), a:cmd) endfunction function! s:system(cmd, ...) + let batchfile = '' try let [sh, shellcmdflag, shrd] = s:chsh(1) let cmd = a:0 > 0 ? s:with_cd(a:cmd, a:1) : a:cmd if s:is_win - let batchfile = tempname().'.bat' - call writefile(["@echo off\r", cmd . "\r"], batchfile) - let cmd = s:shellesc(batchfile) + let [batchfile, cmd] = s:batchfile(cmd) endif return system(cmd) finally let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win + if s:is_win && filereadable(batchfile) call delete(batchfile) endif endtry @@ -2115,7 +2179,7 @@ endfunction function! s:rm_rf(dir) if isdirectory(a:dir) - call s:system((s:is_win ? 'rmdir /S /Q ' : 'rm -rf ') . s:shellesc(a:dir)) + call s:system((s:is_win ? 'rmdir /S /Q ' : 'rm -rf ') . plug#shellescape(a:dir)) endif endfunction @@ -2147,7 +2211,7 @@ function! s:clean(force) let allowed = {} for dir in dirs - let allowed[s:dirpath(fnamemodify(dir, ':h:h'))] = 1 + let allowed[s:dirpath(s:plug_fnamemodify(dir, ':h:h'))] = 1 let allowed[dir] = 1 for child in s:glob_dir(dir) let allowed[child] = 1 @@ -2220,11 +2284,11 @@ endfunction function! s:upgrade() echo 'Downloading the latest version of vim-plug' redraw - let tmp = tempname() + let tmp = s:plug_tempname() let new = tmp . '/plug.vim' try - let out = s:system(printf('git clone --depth 1 %s %s', s:shellesc(s:plug_src), s:shellesc(tmp))) + let out = s:system(printf('git clone --depth 1 %s %s', plug#shellescape(s:plug_src), plug#shellescape(tmp))) if v:shell_error return s:err('Error upgrading vim-plug: '. out) endif @@ -2365,18 +2429,17 @@ function! s:preview_commit() wincmd P endif setlocal previewwindow filetype=git buftype=nofile nobuflisted modifiable + let batchfile = '' try let [sh, shellcmdflag, shrd] = s:chsh(1) - let cmd = 'cd '.s:shellesc(g:plugs[name].dir).' && git show --no-color --pretty=medium '.sha + let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && git show --no-color --pretty=medium '.sha if s:is_win - let batchfile = tempname().'.bat' - call writefile(["@echo off\r", cmd . "\r"], batchfile) - let cmd = batchfile + let [batchfile, cmd] = s:batchfile(cmd) endif execute 'silent %!' cmd finally let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win + if s:is_win && filereadable(batchfile) call delete(batchfile) endif endtry @@ -2420,9 +2483,11 @@ function! s:diff() call s:append_ul(2, origin ? 'Pending updates:' : 'Last update:') for [k, v] in plugs let range = origin ? '..origin/'.v.branch : 'HEAD@{1}..' - let cmd = 'git log --graph --color=never '.join(map(['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range], 's:shellesc(v:val)')) + let cmd = 'git log --graph --color=never ' + \ . (s:git_version_requirement(2, 10, 0) ? '--no-show-signature ' : '') + \ . join(map(['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range], 'plug#shellescape(v:val)')) if has_key(v, 'rtp') - let cmd .= ' -- '.s:shellesc(v.rtp) + let cmd .= ' -- '.plug#shellescape(v.rtp) endif let diff = s:system_chomp(cmd, v.dir) if !empty(diff) @@ -2470,7 +2535,7 @@ function! s:revert() return endif - call s:system('git reset --hard HEAD@{1} && git checkout '.s:esc(g:plugs[name].branch).' --', g:plugs[name].dir) + call s:system('git reset --hard HEAD@{1} && git checkout '.plug#shellescape(g:plugs[name].branch).' --', g:plugs[name].dir) setlocal modifiable normal! "_dap setlocal nomodifiable @@ -2498,7 +2563,7 @@ function! s:snapshot(force, ...) abort endfor if a:0 > 0 - let fn = expand(a:1) + let fn = s:plug_expand(a:1) if filereadable(fn) && !(a:force || s:ask(a:1.' already exists. Overwrite?')) return endif diff --git a/.vim/plugged/nerdtree b/.vim/plugged/nerdtree index 1c803b3..63c5920 160000 --- a/.vim/plugged/nerdtree +++ b/.vim/plugged/nerdtree @@ -1 +1 @@ -Subproject commit 1c803b36f632c151c755456b68101153f407ec5e +Subproject commit 63c59208c1f9eef7068a944f5c3033bd1a348b97 diff --git a/.zprofile b/.zprofile index 3755a21..ce25f23 100644 --- a/.zprofile +++ b/.zprofile @@ -1,10 +1,10 @@ export QT_QPA_PLATFORMTHEME="qt5ct" +export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/amd_icd.x86_64.json:/usr/share/vulkan/icd.d/amd_icd.i686.json" if [ -d "$HOME/.local/bin" ] ; then PATH="$HOME/.local/bin:$PATH" fi if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then - exec startx - exec checkupdates + exec startx /home/daan/.config/penrose/start-penrose.sh fi diff --git a/.zshrc b/.zshrc index a118413..f21020b 100644 --- a/.zshrc +++ b/.zshrc @@ -68,7 +68,7 @@ alias nodeindex="node lib/index.js" plugins=( git archlinux - k tig gitfast colored-man colorize command-not-found cp dirhistory autojump sudo zsh-syntax-highlighting + tig gitfast colorize command-not-found cp dirhistory sudo ) ZSH_COMPDUMP=/tmp/zcompdump-$USER @@ -122,13 +122,33 @@ export NNN_USE_EDITOR=1 export NNN_DE_FILE_MANAGER=dolphin export NNN_TMPFILE="/tmp/nnn" +export NNN_PLUG="p:preview-tabbed" +export NNN_FIFO=/tmp/nnn.fifo + +n () { + # Block nesting of nnn in subshells + if [ -n $NNNLVL ] && [ "${NNNLVL:-0}" -ge 1 ]; then + echo "nnn is already running" + return + fi + + # The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set) + # To cd on quit only on ^G, remove the "export" as in: + # NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd" + # NOTE: NNN_TMPFILE is fixed, should not be modified + export NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd" + + # Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn + # stty start undef + # stty stop undef + # stty lwrap undef + # stty lnext undef -n() { nnn "$@" - if [ -f $NNN_TMPFILE ]; then - . $NNN_TMPFILE - rm $NNN_TMPFILE + if [ -f "$NNN_TMPFILE" ]; then + . "$NNN_TMPFILE" + rm -f "$NNN_TMPFILE" > /dev/null fi } @@ -172,12 +192,6 @@ alias syu="yay -Syu" alias s="yay -S $@" alias r="yay -R $@" -# Code - -c() { - code $PWD & -} - # Git alias ga="git add ." @@ -210,13 +224,37 @@ alias ant="JAVA_HOME=/usr/lib/jvm/java-11-openjdk ant" source "tp" -alias riolu="mpv https://twitch.tv/riolutm" +alias ls=exa +alias l="exa -l" + +alias c="alacritty --hold -e zsh & disown" + +alias ds4="bluetoothctl power on && sudo ds4drv --hidraw --udp" twitch() { $BROWSER "https://twitch.tv/popout/$1/chat" & mpv "https://twitch.tv/$1" } +copy() { + echo "${PWD}/${1}" | xclip -i +} + +paste() { + cp "$(xclip -o)" . +} + +subfix() { + for file in *.srt; do + mv "$file" "$(basename "$file" .srt).srt.gz" + done + gzip -d *.srt.gz +} + +wakezolder() { + wol -p 8009 -i 192.168.1.200 d4:3d:7e:fc:0e:32 +} + # /!\ do not use with zsh-autosuggestions diff --git a/Scripts/dmenu_script/factorio.sh b/Scripts/dmenu_script/factorio.sh index 785a173..6d31b65 100644 --- a/Scripts/dmenu_script/factorio.sh +++ b/Scripts/dmenu_script/factorio.sh @@ -5,6 +5,7 @@ input () { } output () { - factorio --mod-directory $PACK_DIR/$1 + mangohud factorio --mod-directory $PACK_DIR/$1 & + #mangohud /home/daan/Games/Factorio/Stable2/bin/x64/factorio --mod-directory $PACK_DIR/$1 }