From 316fcd0a76e728c9ed882f9e71dc718a99e05645 Mon Sep 17 00:00:00 2001 From: speedie Date: Mon, 1 May 2023 17:07:35 +0200 Subject: [PATCH] add basic theme.conf file support --- README.pdf | Bin 62598 -> 62599 bytes code.pdf | Bin 43125 -> 43124 bytes docs/docs.md | 14 +- docs/spmenu.conf | 5 +- libs/argv.c | 32 +++- libs/conf/config.c | 15 +- libs/conf/config.h | 2 + libs/theme/theme.c | 427 +++++++++++++++++++++++++++++++++++++++++++++ libs/theme/theme.h | 1 + options.h | 3 +- spmenu.1 | 17 +- spmenu.c | 7 +- spmenu.html | 20 ++- spmenu.pdf | Bin 65446 -> 65544 bytes 14 files changed, 519 insertions(+), 24 deletions(-) create mode 100644 libs/theme/theme.c create mode 100644 libs/theme/theme.h diff --git a/README.pdf b/README.pdf index 8012d062d3a52ab44364e7bd4e2d43c241e4726e..d330383d3a6f089f53dabfe5692a1102d47be06e 100644 GIT binary patch delta 18978 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 E2Klm2MgRZ+ delta 18980 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 IsJ@W@08`7KbpQYW diff --git a/code.pdf b/code.pdf index 2a2c7bff63d233e2abd1540a4a158bee9ab70665..7b8d57e261371deb0c6e0c1a5c7f0ac04e9df8b6 100644 GIT binary patch delta 18296 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 delta 18279 zcmV)5K*_)K&;s?)0iPgpdFZ5SUETJDds6?e;y(KC*~K&NA<6(-vaut0NL9M zqvw`%Gw3jkM_|71e}U13$;ib{A3|Mspzp^^i_0q;&!H^v{|+5TR2M>4pSJzs?EST^ zKSQ+)%tPpV7vH!=%eR(?|9NA5!@}HR2+Y+Wg318TsS>4sK!|x0#$RM^NtCKUH$i*g zJ`8q}pV$T}@(6hasX>6Nfvf9|MyuWWE0Z;1KG>U_FvTJX}%qzX0S}R3sb7CDj+o7g_NsWZl#o>dc#ng?^Sy z!u%`9B+)P;78c(@9{ef9!B{;x3349aSSODoBk4wy{yimspuqoOAb*8yw1A7g4Z^}5 zOQj0Y_hIUg1$uPIhcc)K^`e7l2pvYVFn0cZys?4k`y5Hsy*V<9=FwR?vhnt>qG@c0 zcTN5~U`GNvgjW6w_&oY+!1t>WH%WLJ@P&`WpO7?}B%dR1FdAls`7-kkMU_T%LiMET zD{2IoRi9CRKcoJZhS3aZZfNc(sGx!hDyX1>3M#0ef(k0Apo0IuP@6{d7d4$5zd-Mx zPa`8j4n8F23%RVFV>M6m=``=pWOPCz$@9sCApQDg<8kaGzo37A;cPkP&ECH|&z$+- zIwFYQ_&G6=@1R=LfRLIGQ9_gwC8Y^x3t~Pb@EVSPwd1;b=ToWqk-JZ4v-5X1@qDo< z5HO59zqt6h6DMviF5VpJys^6a+0U-7-k=<#a4V5-BL_k`F$Z+48jS#A77E2;&dSk_%=Big*65gFR{SqgQAX`GPx}tWshl}F<&%ZMCnFk%yv$IpXMSBeY zV}ui5_`<>;oNT|jy87|;KcbRTssljPy^W@SLkNc`tsEzCk|kVG&I3eARNbpqg}u+c z_nybzF0v8)E>L|r9T7@DY58W%E|zIB&jQWpHkvk@pQFYoo7P_*Vg$xo%>etJe-1Z* z25x(_bj#rL-tPIEu%M}MD!K97pi7AdR-!G4f4TlNnJ(2*#}(@h8D_hG zsd7&|zWdTV@8jA|?B7%D4p+=|cC2-#^G1Xf@xZ|oLkCN*RJgnjTtXk$bqy%f>=`^G)4_imvyc5cj9ee;Esl=5X-4 z-=I<~?e9O(QThRuA^|>EBtaBF$x3v86^n8x@S84J<}QQvms+eN7qb=nL2IJg;lN*g5ac_fQ?eA?K zV3^&7V<3SQBsc*P>qiO6@56#tpw_6EBPSUnSBZr!k$SDU->!FkU27BUDWB?pM?^)m z_P*U?)3evJv3Ry67BghRgQCIXA?jG2_{G{pvNjmIvbOeH19KBolM^%JbJTlN8$ZWC z1RDt3RS#IyO0(;->eAc$EiLhQOBNKp@`<&NB?MP*U9pi9*MHOFF^Gea^uXlw_#D-ht~KaM zte_`HeNVlaNjbm0tQ{!FNc^-o`{?CM4=wyg>1Aebdw!p_;gmNJi)M*`VeQhj)n9u! zH!+gpYx!6Q`17$NL)3;gxV_C_@aD2F!|H)HWez~NlEFAoO;*unuk}0bxo2#ybD!rC z17~w`SFbvFb4t{^T=-;9@V;pX^iE5tq1aXIDgD07r57QqlMM@rk#-Drr~kUFfi zX5~9IXI0u1c&)T(5JlmC@-mi(m@3oS+(?YwwKJ5tvJdJf` z*2KEUW{e@d*7{G^a-(9ZHx&JzLvqZaN>qjQ)<-S$} z%P6si#j7D_gsImvH%gF-M58*cZH!G-38!iq$d$|)%tD8 zn3;1|FF$tf>Xi%4$y763h9|CFyL$E7wI}v0&Yhm0KRvfdX_+9(ju9S(Q4V5kOEz|F zW?~vsf`?GqrFgDlW1`C#a%*4PrLy-oPs~n_?e4Q{Aw9#Y+V$CZEZZ83{Zv|BN3u>F z3}+tygSkRnG)b6D#jgym86LWLp)01Ue;txmw_NeW)q@q*;-ApQ0WcU~u>^7@r zTiceqTUmF#&!UNVe4;aj`8cpkB!-i@#%Mq+Sicl^NM|n(>;boc$7WtG+;bRYt?l~x=it)IAFXLz}bRRuq=+63m#`b*?mp|%s z9qb-D)DUylwnwe8TixGfS(kO~ zGXApLCW^kAI^Ea2J@s{M>|dB&CToo-I@6_pDTFuHA@c75Zn-kIGCNI$AGku%mb1w< ziFFlch7tOVUN?h-CXYwW1PvAyqc)qSI>%~^45Kz0<0^HR_8pVkV|i?TVR-?+;NwKm z>eSU4F9i-bonjEXOMf58+MJ2tCrxf$Mikwd(rJ94^di^+K9`V3L9!OvKa0h1m3$6= zM{$cC!B7952tw9a-95X#&Rx_};R}D_a*Cqg=<@8nyT)m<>=LEVL>AHw^1-Jm z2mSoOz=?93`8Jm;EQtvRF2>9VLPPI=(X8b~qmNTzH{p)||owXYdGdb<^iBK9_xruy#_x$;?od>zgT z;?8G<&5t{rU)~k`m04Sl4wpWDWVEqos5TNxXYn}QFiNk|#Pdz4Hps^a&HTfET-X&% z*$UD2u5@`LDi6s=3IHuSLBFY2>7o9T^xZwJ)4cPNTqj6}Zp(EBWzidQU4=YYCD+yH zF3ihy4RYa!;DoYBzuQM=(JY!qGiU|QeOXwAET9kF1wE5c4#KPzxO{M)ISb_+^o~n& zJJEws&OqN;v<&TtL}LYLE~93DI3=Wj>Z~;5K{N*E_i>oH0KE^$6sO>N0BXz7H;+c4 zHVf?pJara$Orq0JAD88u2b_ggW0gEdU=AIdLS4|FM-w1-66DXo)q?uaA;3PURi5~8 zeq!^9ov8UXM~_K;%g{?D^=+Z=lXRT|xgV4$%t+F&NOpJ#<|I)QTzR-;ioj0&A8C@SFzPHIyo}Fn9~bGf=9fcR{va5U2kRqLeZTlW<8&0XCDnNjZOj zV8FzHAs9$F9BvyH%q|giryx4AH1zMN8{){Y}O*2z87>>y@2rf|2d-mcEV|YULt{K}hve{ZTQ3KC@ z4!L3s8f1}tCEydmy?t!Q%-(OUkcQy?7(&*=+b2gyYAY(@fd7wx_SBA%y;HI=v>u+j zpugpUksVvS9nJ3}w5k>%N;EY&Ju`O{MSy+-d5*|jDC!2M>}};xQSBF~hz5T=2)%vT zFP|snyVKo&p8I^RSX4+$;Z}ku!~={I`BQJfm4WBahzdDO86ewCTHv}4ZDL^MOD-r z$U#j)?m!OGMwcQ7p5*IkpdW(gXCQxwDyaef8Fd)$Eht27K^p2sR7BlNRsiKuHzOIf zbMDMH@kT{a1Zb=9Cny1Bf?`kt??ig43^CNj(B6O;?3??XN$h@s^7RP$8bkwE%#|W^2b4Bsff@x@5AvZPilA!L zh?b)y>Oy^J3hlF$T5M z=lT+5F^CY74a-KCd~QbdXc*EZkZwXpx%6^Y`Z6=&2&Ap}Mt}St_#^xg<)b=<^d0Is z>Lc0!X(Rmu`V>7UN{Fryy)M>grD5?=@hg%dNrPlc^1jq4ZI|woo|L{L3(3Z0*UMg! zy^<%+Yt5U?yF2eSxlO)X{-pdjxs*$}^#7K=%GYEie=g-xF6B}#4Xl+!h8(S|cpMGTT z-iK%Ge)s-cyE<>%?}5=47;WW8Gxadq;c&)HFj^v!TKHi+iXPAY+d8{$-S76>XCB_W z_mSyxLfeh^;h*rM)d{IH;Y={js5HSy8L5-`dFl7qV=2ej@0XotxSc(IoW0$E_uVzr z5s7q;9KCB}M>xEC@Gih%n%jzggf1tO^-VP`OUug3%OFcl4yV!RbeOnvp}DKE1^A>9 z(yF8Mht(fkMDP6D4e+E69-pRug_BoKBtN~k^Y|b97OBW1PM)mq?+H{b_cXioj_OtY ztCk-)@7aJ+^$4O+H}LrqWduGMkWvO-I-`DA;5wc0ku>|M&6B!LF(5wQY*eH^Woktt zSL&~hye5YEeSLA6OsZ3QOd+ag_K1@UPc(m8lQ)cS-5e>`MSVMmyaUPPno?PQU`Rf2 z|K#@j2OB~bhq=ai?=5`?S4C}Nbx~=IC8vlExZDNvQzHXe4?r1L!h*1ID@RSjI-!L$ zC>;u0C~Q^W$n6g&5AR_1?Ag7i*HaqAANxu?&pfo_?%wFpn~&T%dpqHtU~L7g<}81l z3=0whTv07#eu*6lYdB<6;J=7tVv*B-?6c2K2EAfwOzL5L_o)cbcIQ3;X^;+2K zJt5#`0k?5!+#noS4uY95%wcv1@B8etkj+Z4{s}lf;kAWQzYG5g2naa;4{%1aaB7L9 zVWBhbl$!L~SHz)7pu~%Yg%Y=t*|2|nOX_VXQ_n(6T2fG+It4_bOlf@#DL?+0Fu`+y zlfVUYE-sYwl+ySGtRD*4$`-KDR{|E#Vk}X$I+{I!gpy`yWu~y+f9b_{c+{ycX^VsU zpyH1X8=V%~>Clh>{dd#W3ZE!Dl7 z4#+!}nabTse`8&F)K}uz+Edl-ZSh&G=4wZM%$4w#*f*{olkQO#e=UqPJnXZHVEa;0 zvWIQ{k&umnX;NNd3y5Ku{f(gYMW7k~&dHYO#aTONK^=uA37*(}ReH~EOs?+{)NsFi zY#+XoSH0A}^OC(S_+MFc1o;D?plQN>Z9#E4LUG zSWVo(1w}fUOjmq?Pe|Ove6BW{lrJTz^DSE538bF&t+m^G0=T|_k%c`TV|eyaLN5;? zQ6bO^Ek!T71Yw$H2h+60^ne0rYZQChE-lnaWokt)E#sK579QVllhRTr0RfZxQYwGm zFqB_tX6U!_jBewNPwAX$Me5Ju+5+w9q)gRFd(6&1;Q}KpiLyY>l-+b#X;!H6Jsz|B zmDHQ0*_vN!J$j#_yx0s@iTocgH3NKx)4CSV=93p*VzKb}-FFl;@abY>8Hli4uPl(P zRF=x}Y{~|?tk(E>f!1DjjMvBKa3g=AtX32n@~<-2GTM6cw9;JQ17`fGH=iOZN}&j7 zsEo3K6$qvGULq0ax0w+AaC?tee%8qrQpBRgIYGVH+`DsnO@Yhpa49_Aa8G!k-(aJ! zE|zIsadll=!@5R!M^D!(5nXFfSPWr{(Z+hz9Yd*EkIA#%;4Q6hZ|J5)bv1v3#15%| zlOV)q7Ubi0i<6bInHHNfM$xn-SY%d5tCKp3>IX7n{bWyJ3X7Pw>e2D>>87fx=8o!W zdDz(jdxa{2J@b?@9?lO`95{UARSlEl=Z}wXADaZtNq`0V3CO{EmIY^pNKnH^He6t% zZ`xKa4~CJN*Pot&3)mfxUZGTbC-n#>UL@qCf4%>#4mggMH|Y{Jgcx{@B^ zrFO$*L!hF8Ol@*}Vgm8B@dq$JhWu~bJZ*>~G6Oa>M^K8*J1(A?7@2=eJx;Z^#gZy% zfuo~5T$`v9%MV|1==!~T0y{>%dRnE>1gyBVYowq2909SL_(__|@KrFO`M{Q!qE<^{ zEN+r|Fl+t&Lp>e!0lUHBwOn^y$mSr9YELlIH{>+yjiyM`vYKG(AZJTy#LN{_g;WAn zq87AvURNCpS0c-bOmcrxe*J7D`sKC`A8uy|Rvi({0l&byKa7p73Ts%i%^Tdf(cVy4 z7_pj+r3QtD(I|C&{RL*Z+Q2w>_N}^nSJ>qahdf?GTZcIo*<^@Vbd{%9x7O6=<+&{; zpGLJNvVK&fD0Y~&T5~>Apsn(*+(c7y6Qk0sZCt+vzgyeb($Ig@+)$h9HYeDCxya=* z2K69E6)e{fXo)u~Vj&9@j`FL(*h;50|FJU*Vxv(@>TG{L^mL^!%?7^Pjq9^n@J{pe%bCWv06(Qo9%AS^V5$*bVOZZ zu(5hQYctGVNxXl39neZ`;A125+Y;#IC2?mUhj8Xr0rxXfd$f!okM>nBAphIVL2LJN z{5a9@cl)-wkszy;fIXHaE2XB83JazlBu5N=I*bWWVC5H!3=GDl7N(^1ZCi_T`GK;i zjV|<7L#(rTWrp-p`xW5*4%(fC3aQ5v_I3W$;`UBXK_QQ zDfr;*IX<4`aL(=%;skihp^w1sT$VMG;q9GJEM9lXxo-^$o7ZQh?^K9Q?SW8-T4w4F ztX@ylAz1AWYx#;ds^h1ID}jyfO4c2zWEWJ!-Qs#nsQOoWIW^&Uq{e|q_qlmof*TNV z&?>%1AvS-n4t4gqZDP<$f1H7~4C)J%)8qteDF=Go`?5Gga~4@f^Y%;j%s}4NURU1^ zS$^$xhYlV*bltVF=_wAT2`&ZLjv(N&b6)OT-1ByV)urd5&LG0;iQ9c~tB?|Su+oGs{e87qVT$+? zac`u=XmIG{VXGl6yirrc=wQt*ce$@6X}ptPDL>fyTPZ8@r>$f~ln*vZIGu5>!loz4 za3?*#Y~P?W76j|!RoZws+HBpnu5D#G>+wZ>Rn74x^LBYfOm8ZPwMSj07PFS|R(V^J z6%K#BHB#wk9d5nOSMBNOB-*S7`bp}$#3K;;;0M6NKr|CgTYtFKN+hROwXRb6ij_KP z;M?E!*i@!sMNHnh9(TBkl&YBH;;Ph%Xh=l+ByzyXfHrKVN{DwMx{%>7Ni=en_r%K1 z^~8es>Y8dpHu`a>9|axkkq>S=O*Zp`jcq`E$zOodrPhJWKm`fkB2bkEpkd=>Zt?H>gVHUXBLCm@iTLd_?fhb^Xxw3{{1>P zqewygT#(-sOUKV1)3)z&@pDRCTf{Uk&r=z}7U|3H{iiZL7e8x?H?#}!Gvhw^Q$Bpw zn>TDKV2g{3h=z+`KgWSjqT%30geae1FHVSOEmtAUvW}MXDvF<07>yP5X}VUHl&gzr zDI;&rYocGK;kD%f}u${#NSkCs@!BkJyEu zbh|{?yHhJ87UmwJ36=OU^jqp@cZC!Yp08EL{N z(2w8^f{a}Hv=sk3>$ns~hS96I3V%VoRU&Owx#;hQRqgFn!Gf{vd^EVWrR?m; zkn1DFh#aTXwX}5My(*hi!8ci#=4 z>SDAO$Ar2B+3+0o10U zZ95u)+Bn?%Vbm_5u?3wE^-+Pp?U2Ud&Yi)}8t6lwZACp$+Xhq!mR-Po0A>+}T!U7i zPDm@DmL9h-%AYmvT$n9ceb#eNrr{ak-Li<5g`53W=yxH9XN;TA3@4f0&?f*Z695|> zKnb87N1GvU5XzX*(wyOQpd@-jpHPzX)>8{r^)G( zbUjJN?Mxk7pN#GCX{MewNpq5TGN+EyHW|-M^fmW=eQa>jcIH2>-uv(0d*9vffBzti z5K2b}5rbO1ZEg=KAae*Q&cN<)u(#SgbIln?2>alEY+^35z+4nOj}Vgu_s>j6mKI=! zwc=5jQ>JJ4P8A$-{2n2}GD6bdL?ra$c$TIH%*u-e-H`?5!^}b z4F=+}be$q8<)6Ob`FVh|0E7JfWq?xv*8x@m zngJpJ9)$iPuge?OgB#WgfG|KS<-@PT=>Ku8QM)rp9N6K=|`i2dRYO#n41OY1m^|t12>mL%ryb6 z2lb$BXaEhN5zr)t7SO&#g2ON(6Nj;t!|3NRB4`&{Oe7NT{JHTtvGsqw@=zU|*Mp|e zB6L7wC_aPFIiazAx|9oN`KM%1j zMM$XETkC9gi%6tYsML6<)9dZ*^?1GRCkNi#yYHQ$(cj*){N^aooCTT_NgBCIrBsN- zI-AW}r#HlJk&rc>f99Q)B+VcW5KKNm8E~jUY_J>bYJ){=SBus7KzFEp=IM;H8Nu{# zWPWW12Od9NeZR7!;#=RU?ok{9+RKS$d@s5Wr68oXfq-g}NPIb~FlARtrZxZA)<+uB z8;>>v-YN7RK8I~IX6#n2@)S0`7Yf1t^~5K527LjgfsVyge@Ba%N{vl`cv!Fnuj1@}_BvUMQ?AX4PoOIQ3+Syvh3mX{W+Db`CfDnVMRGIP z!oa9-#ev0|SpOH6YG!^f7XPlask{C0o`B*HrIMd~bNTDrUwwY**#W#@>eAqc^~c$+ zsS3+$7b%ba^#$1k;a|_5MHmu7j7Av(%&&%z-9$R&9iMednGq%*<^%x%S{89U= ztEEA|#i^^E3U?oE|7$@AGLYK-K2i*}Q-Ek2tjDZ-e*(LBGagxY2|m4U(D<)zduI?W zW0s6TwFmE%mRg0%LF{3Fh@V*wJn@~tf0${$!x^NFTtH$@cezEbGw8%}vBjX*8$=?- zweY_Ww|&(1RO>6P!fdf9n_P%nu3jbR$`zSYqjAz|5$5!#w#!Auz(dBXtt=!k=@>I- z5uH-be=lU=SLYA5HJ7=J`({)fE$+UZd;446JC?{=aLf~u2*o9B^^tjerlGOP{1*Fd zUqhoiL4DK;v7iS#=W}te9tdi&o|+r-$6~hGl_C+Ii~W_;dpJ@zq%YP4OQ+_>cNYf@ zM!#hA+1b0F-Jw$WW!aA&J@l2#tiH?)Y60rMe+rO46=n0%Q}K0%b#Xo43?J)y;fd6P zd-w11leN&}OD}#eaN_7ghvJt&DylsL)M=Dft6U#p{0#dNwzIF{b|Cq6C?48?o4Ns4 zb_)~mJ`J&#Kq89Qz-7BCDG`l!v0TUKWVem@-2ap~^snsv`-S!ae^=2`cL`_#TUKt$& zk)#9pnOLYdB~vUAiv&cFDHGfJ>r-W!e+vF=7mAh^AsVN^b=O3@}S z7#d?AYcDVNYh9KahN(AKmCyWU3kDqGi1p@lnks4E8s5t3@fk z?U)fLLypKjt9Sd`+S=V6UP-m4jokcxfvupZ=GcQrj{9eJj?cs*le?(aeW2Zcfp&Qt z>+xsPuxI74>z>Z)uHyWnX5Da4f1fF^rEoxU-^0`Q+U41PS?1*Au3@<}f0&U4lG{P@ z6i)Ku4IM*mfi$P4=WS&L(UYg(?1|OIrFx%SL_ep1_4 zZ|bk88ul^n7FTbY+ z)at%=dAdqnrg`{_Upl2LYmNVEX&KjTA5+ec?Hb=11C3}vOTja0t`cpCC7Di^JWUoF zWUw%AyS;aM(AnS$lACYH8)fFIk!kj6-05$d9%et_q7!}!fKwWHd2?Tbj%%=Lq19qb zUTJ9_K>U>#aO!u+f8HXERs(-U@x#rT_={2}YsqY;c8+m&zR6c?SyC#fJWwPJVr6Vl zNQhh~|H15)ccR}LAUD~Qnm%1_nd-v(?CYQQJ%@O`s5Gg`j-Na~^wXDd&hyQgWL)Zu z_h!-_N}HqsyrAPwQYV#HZ??e(TbP|vp`u1pR+-MoEalGHe~_%SGo&sxYDi9#af?A; zY79?;S%P z)#Z0NZZIi+gX!3V4?a|*F_gWFtEXer6X6{SI0VDj0wT?DM((;dZdp2+Ilx)1bbkGj ztLcIQm%Z4k%E>b2RC^++d0l_e=(?09|FI!O_>AL!%#)|thrUN zpmEU`6|6Q7X?1-~t#-MsuCCoU7cqq@@{KO7vmv*k+S;z4lVoT0X62U|l=%fJwb5ST z^<`yyWa&l4s=@+=N^h;|3{g+kgC7LsIa&iaFVH$*w{WR{yE>k17_^=|neDrH(dNu+ zR^>EGe+oNYxZIg_?8_bO`;K~v&?k~mZXH}@%%O2X>lF=lP8S(p7O^lqG-%!0+cF3N zQqU&}kK#%8?^;@;BUll?=Bq5_-vP>j$7eeHAO2~0AuU(RNb@CgqvuHud#=c1GuQ&1Eu&xA4Um3*8R6v8mC3Q{&fuT-IYW_LTj2gS>oCSKDb%H;5~L z{tuHUPE4Nr`Q&4#aW)pc_8R-&?DZ>GCG$O8&}M!Ghu%BBB-?Z$rkn>HJ!TB4h?RMKV26zaqrOx`gu;WR$wi( zdaQ+4=_d9HKE}R|8yxtQ+sp3nOn!-q0Uy4e1%QoS;=ZTp8lwXA62B(!O?HW2GZ6c4 z@oNDx;X-~bMB8vXzZM}QeiFIRZurXHe+%EYF*J>$Xc@k>&8P;z46ALhGYNA5u$BRe zprS0oJOjHE9PU=M2j(d3EutmvJDu`a2A)f(5mm#O2F?^?4;qJ_GXa=$ushFloC27K z)e`K@!WYvrV9$fErh(rij9svv;N_cz5rez34f6B?%{+H<7sqKge63Fc^&XDfe`B!5I@BP<{b zyDUisdS`lPMkXv1h(;7MDqc{oiUGxp;zd-vilU%g6Do)iL@{SEfN+&pUDdt2-uJ!l zd*A!M_utkseSTHvoZmThs;YYe^^+&pgA5me1m3FJ+Tz0IZ`J}x#Q??r`o>fI@%nFf z10b+AJCagb$33&>Z2;QJ`hO$isuJz7>DD6*-^yO4aW-I%n7T2%i@i>Wr}7J=&mjyj zU^0O7(v-5GRq8)c<2uA%mb8*md&dLKjDI$JHMeGR`J<15pT*Z~ig{S}>haQh)>)pB zzk(!vsVUyBv{^N|FE{A`V{gQbxC1mN0@0WcJ^1GfupKr1X}D2Lpnttd{Q)NOD@atp z>%j~rx{9W;{x~6VCiu~<*_zwk{=(8UZt4UW1;qnD7qLuzu@{@h?cDHrx{=R7n}`)= zFo`Ca;Uv#f!w5ZDPhbK!T&iOU%Hakbn_v*UtYb5?|53*lK0XARpaG`BiEtA88wOR7 zfmT=uSx7((;*e+Y{eMsbJ_s_@%rwRS;ZqFNphAw@r&({1J~EHJlAJBYP?|AKU^Xen zQDD}^j3L8%3ez+&eTB<0`xj@5X!ZL3|XS#Lc)BU&mee zKJLS>@h3b;NLF%DSL#KBXc$ZCG^(R|noJ7CXf74#Ji45&r<-UEt)s{2S=vUg(mS-D zexM@~Np7i|)LS}U8X}cQBc)MNtu$7um!?SPNKq*z&3}_Fk*<=KOSee(NDoOHq$i|j zr0vq{(k|&;X|MFP^qYxHHd7Z83hUy=jW+Y*Vu-Zc3Z-rbVWU zOqZLkHQi*o%XFXV5z_|KlcuLl&zoK|yyIu4VKlG2Q80Vp0#YXyk*&I`POpCN>;bEw{@^JXg$?h zWgTyAuuii!TNBo_wO~Epy41SNy3)GZy4JeRx_{C7jCGs!HS62fJ=V{x-&udP{$VrQ zT(<7EzP5q3lWif}X|@{MnYJd|IX2anvK4IS+m_mv*;d+C+t%9F**4mqvTd<#x9za) zwtZ;(#P)^ld)r}|WQW{E?j;YFhsh;!NFFIy$)n}5a=qLrPm^cLv*l(vD$kKqa;sdB z7k|hX%1h*>@)h!R@(OvCyjor(-!HF|*UKB_P4Z@WtNe=mn!H2aEx#*&An%j+%U{di z$v?_J%ZKEncC%f!d+fdKL+z*7N7`%c4fYxKh&^LpXkThyZok9+fcV#kRNzvEO#wc||36vr$_+oV7Mu2rr(T@Sc6xSn=xbG`0*$F)6Gt?9CjP%ra zCU}}WXL}-^b3JoC3p^KkF7qt&tbg#_;#uRl-?QHHglDs7o99)}PS5+Ek3C;{e(?O} z`NM1SI=o%Hy}ZTV!QSECkawiF$~)FO$ve$E%iH2jdGp@I-X-2Ez1Mqh^4{iM>wU<( z!TXeVi+8(shj+JkkM~pWH{Ju@-;1EgTI4S3Ueu>(P|?t$*+q90Jy!Hw-GA7M=BzqT zt;obOX?0GO5-H@>s)&-!q^qKtyb_71>3lWsS4XlLC11mFO`EPpIF9BlquYk-+R%7T zIi9;s;CKSZ_3=VFreq7Lq*BN?a76=GG;-V+QKN}uQkl%hnzD&>tf`~N3~n`}Elfp9 zVfm#C=|qX&S5Xy7WFv)COMg;bFtr1WCe*B&OXQ}vkBw-iF1>gbS$Uvjw19CKKlr- zO{A>`QQnX8by7K2+jOdMjB%D&+i;Q-CAo2$<21*aj?<7&MET33T-;J>j)-{D}rd7?Uc_o?1DlJ(h9noeMC@*8e@ArkZUP(o@ z(vo1(UsA4tQlCFqK7Y56$*WqZY)*{|;}9=ORans~$ZHnwFmW+Wkx-J=GQ$TlxulYd zbK^ulk&LPZejU#Y>bXHvZ|U+ zD(PqWu7{fkId(IKF8BJUVq51+T>YnM5Rh{sYFt3 zQ6g$0J+BS3j|^Ie+L{Lg+BM{3 z6OU`hl~py*PE%Cnm*^ZW8f$&N64n}POTt3>bm=eArLOn;bs5lQP?sTHmg=%hm*qOI zZeODNm+1Nu-M&P(^Xc(QbiRPD59sy*-7cW#7k||4gL-~Joj<6@3+nj=b-tj^7u5NJ zI$u!d3+a3zoiC*Gg>=4<&R1ecZr7a5MCN4kTqIk#U`J3Bg;p+7iL~~lQrWhP#xsQ+ zzs>mkr3yP<*+gy*+j8+-Arfato0;X=^CPcD`N_@Zxk$EjxUI0Itw^@Ul}fhXMk{Q; z@_)O0I9St~ORy*N3^rVoS0=}qtYeS4aqLJb~oA#h%dX{F#mpT3S+6porYxYTus+Vt0`N?Q!IgM+G5CyW@G4ly!qF$x`A zI?k-4@-JiBO^EF&N=gEeHZmg=m&pm41z=OSFnMMVu4)nc%+LOdn{A-^yZqOxsKjC}lU z@r=2Lj478I$(IV}8eND$;VL02M1ORhUl)23BC`@P#gb|+bh0vC1Or$girAC#?j475G6Dl+2T4vO~%-|_Ac*+c(GJ~hw;3+rCP;L;G8-(Qs zVY!iExxrj+Fqa$5VS^`Z@PrMXu)z~Hc)|ux*x(7b@#q<{KLhv;5HLW<0Dq+hC^LZ0 z;|mAGa<)y_0AaBT;WDup`pzs5iq)*F6k6e3X-ulD4YY+ewrfey07m9M5urxUpjI%7 z{Sg-Y6*|8z!a|6YLc%?yZzy3>rVDX4!os1#Cxqavs^U*KUk(2t5f1UUCl$3^R9ACd zNv$yPi|1g85amJ$6TdJClz$4rKf?IJq8HYC!ht8@_f-Xj5GK_;te>9-_Gu=-gBt%#Up{oiAQ7S|kdmot=A0~XmOG<_`HB3G6q?3kKWq(>1^7n_ues<3) zZeCcdYl^Gcb0n579>l;r_Hm$9dw1Dx{eSZp-zOLIFO-Y*FO)luY2Rrh>_;;I+JSHs zNLULNyqtzf{WX;dtY8Bf?BD<=xWEk_@In!Efv(UExRK41&Qh1bJ1hatOl+I2A_1X>dB60i&P- zDxnIhp$2MUG>m~d7z^WIJe&y=pdKc|Bxry}m<&xY1*XC@m<}`GEI1p^ftfH1W`hFF z5P>MD(87PDNWi%;2a=G2H2=Y2F8_)@4+WS9^I-ujghj9z&VPgR;R3i2E`p0;30wk~ z!cw>lE{7}NO1KKHhHGFMTnpF1^{^anfWN^CSP3`6O|T074mZOsa4W2a+u(M%1MY-1 za2MPSYvCTa7w&`m;Q@FM9)fl7Fgyb5;ZgVpY=FmLBRmdIz>}~Eo`QeE)9?&zhG*e9 z*aFYP3$PWo!GDYJ5^RTm!OQRpyb7#zgffH&bS*a^GfZP*R(z`O7sybmA1hp-3s z!bh+VK88@%s;0ZVo2jO5Gf+yloJPC*4$v7NO!4mYL9|IV~5SC&YmSY%4;HfwgPs7vk z3><|OScz3wjWt+{qj3z@;aD7pLCt(9N;$&>XDL56U;dGpVXW`j+4$j0` zI2#pg#(xM#QND zF)qPN@KRigm*M4j1zw3);njEzF2if_I=mj2;|=&XT!Aa`M!X4E;otFQyajK?)p#4; zj(6alxCZaSyKybvgZJWnct1XX58^|(4j;xxa9KS*ivPe3_!w@)$MFe#5;x&f_)mNq zpTW)eEIx-@@OgXzx8gQ@5nsaX_%D1JU%^-LHGCa+;2ZcRzJ)t+7ru?V@f~~@-^2Iu z1N;#8;9mR)_uu)Yz(4UQvHJiKNn|23 zS;$H@lF3dEa*~VOubR6}gV(L%F(*Qbw2GSrJ zOhf2I8cHY8Fglrr(HYM@4%OieU}rqVQ;PBZ8%I-Aa+nKX-LlS0iDp(v@;LNSU{ zg3hHml%y1;DMPI^m$H~({j3hf&NA-XeHf9H_I&rw8akdWhE1!}JKPr$^}@w1FO@jr2G@K~K^qdW!x@Pt!BBnVzNRXbU}0FVI%n zMlaG!w4MG%FVidZD!oRp(++xr-lVr^C+(uQX*az?@6vnpK7BxcAJQJ$OCQlb`j|eU z{q!k)MxWCc^d)^oU(+}AEqzDd(+~6`{X_@oXZnSHrQhfv9irdqFddOk0q#W<72XQ2P5;L+!kQWGpgSI(27ARfP?n@IhE`+1pL=`CKF{Z4zJ)w~Gx^z-=j z#bed-ccViA_DK*Yjb`5j)xlV$m3FW|X{39~`!3+CrfW~KwsB8AQsUJI1h^y{*Z8$- zYNg6R$|47=vJ^YDqZA+)xslqlmmjL@TRhX0Q`9%RZk~HzU&iePBS@HO1845)5>((# zOr}MR6T*Vnt*l%8WQ+2mTP(+5b{`yl*~^Fi-0DQI+77szdzuCZr1J9%Y4iH5HfC5} z65?RCeAhsYkW6-=9*I~|D%_>@K~-gBy57VneIK*LdvHiw`EB?$)hJ!}N$PQe9L=k+)91Y~ z>Nq@9^X<1!>9mLu(0Y0B^HIdI+-64joGlB+pj})D_T;rx6)hPBkgCM;OGBdz_;dGi z8GqBcp{**DnGh!Pry&C|h_Ukx`UThm<+ZQz<8Z(WMWuh%Xi z`+l|}`ECjF0eJ(Ztvdre%LIddGgv&u?Qjgj2f6niWfAwJ)4#`6l?Mr_@7?^Orz`M5 zPEz_<0nWH%fBr_R-=`LcBTAwsR%E*{40#X;~fK`s;t~aa5qjIZf$U^g~;C)APPwh z_w`sB0*7q1y6u*zvE!Qstg3UhsL}amMHM*Zr2u#O!o1n7<&6Cui1FcE^Dy3SqTp0_ zJ{J}tOW!Bm6pWB-$cMD|R*R;zjLh1`uYiSZ#|TIn_x*s*iqHh^o# zG`wu>Y*D8NePd3JbNJi*u({_GoQ1<4H;EJf%nF6CTM}|x>(0grM_@6!`ITRW#>yNn z39*4kddb~#-yTH7Tx~oDB93`7O)iz_+j56GohUjmjI*cgFge8O*qb`O0J+TzOzjvA zBOYAml8L@pWP^GN)q^zc>t{dJk3LZhyK#uPL3G!z9MYGu>5=vfyfK<+xg!m}#G8qP z9#B!q8QmWA>XG%k=Ded@RjUk=Y?=)-22xH{UPcs1RfIKPNE&%KWf*0DQl&@XJ>XN@ zBSUnfe0HuetFuRqt%Du8k$r$-4T>w(7cB5$zE{V3JOU1M-qeiao><+9{}hI(noD68 za?g-DywC5%^%cwBmGbT?O=LzV`o0+saLk}ON64nDu59Gd=jY7~jwa%DZJku3eeQ3% z{;3;d5h3+{hr-|HnxU-6;+2GW{&!du Set config file to load to \n" - "spmenu -lcfg, --load-config Load spmenu configuration (~/.config/spmenu/spmenu.conf, ~/.spmenu or ~/.config/spmenu/spmenurc)\n" - "spmenu -ncfg, --no-load-config Don't load spmenu configuration (~/.config/spmenu/spmenu.conf, ~/.spmenu or ~/.config/spmenu/spmenurc)\n" + "spmenu -lcfg, --load-config Load spmenu configuration (~/.spmenu.conf or ~/.config/spmenu/spmenu.conf)\n" + "spmenu -ncfg, --no-load-config Don't load spmenu configuration (~/.spmenu.conf or ~/.config/spmenu/spmenu.conf)\n" + "spmenu -tm, --theme Load theme \n" + "spmenu -ltm, --load-theme Load theme\n" + "spmenu -nltm, --no-load-theme Don't load theme\n" "spmenu -v, --version Print spmenu version to stdout\n" "\n", stdout); diff --git a/libs/conf/config.c b/libs/conf/config.c index fbcdce5..ac8ea43 100644 --- a/libs/conf/config.c +++ b/libs/conf/config.c @@ -1,4 +1,5 @@ #include +#include "../theme/theme.c" void conf_init(void) @@ -376,14 +377,15 @@ conf_init(void) } // load options spmenu.xrdb - config_setting_t *xrdb_setting = config_lookup(&cfg, "spmenu.xrdb"); - if (xrdb_setting != NULL) { - for (unsigned int i = 0; i < config_setting_length(xrdb_setting); ++i) { - config_setting_t *conf = config_setting_get_elem(xrdb_setting, i); + config_setting_t *file_setting = config_lookup(&cfg, "spmenu.file"); + if (file_setting != NULL) { + for (unsigned int i = 0; i < config_setting_length(file_setting); ++i) { + config_setting_t *conf = config_setting_get_elem(file_setting, i); // look up - config_setting_lookup_int(conf, "global", &globalcolors); // spmenu.xrdb.global - config_setting_lookup_int(conf, "xresources", &xresources); // spmenu.xrdb.xresources + config_setting_lookup_int(conf, "theme", &loadtheme); // spmenu.file.theme + config_setting_lookup_int(conf, "global", &globalcolors); // spmenu.file.global + config_setting_lookup_int(conf, "xresources", &xresources); // spmenu.file.xresources } } @@ -605,5 +607,6 @@ conf_init(void) // we're done here config_destroy(&cfg); + if (loadtheme) theme_load(); return; } diff --git a/libs/conf/config.h b/libs/conf/config.h index bd5e50b..a6f1316 100644 --- a/libs/conf/config.h +++ b/libs/conf/config.h @@ -1 +1,3 @@ +#include "../theme/theme.h" + static void conf_init(void); diff --git a/libs/theme/theme.c b/libs/theme/theme.c new file mode 100644 index 0000000..bd3d57e --- /dev/null +++ b/libs/theme/theme.c @@ -0,0 +1,427 @@ +void +theme_load(void) +{ + char *xdg_conf; + char *theme = NULL; + char *home = NULL; + const char *dest; + + // don't load configuration + if (!loadconfig) return; + + // get path for configuration file + if (!ctheme || !argtheme) { + if (!(xdg_conf = getenv("XDG_CONFIG_HOME"))) { + // ~/.config/spmenu/theme.conf + home = getenv("HOME"); + + // malloc + if (!(theme = malloc(snprintf(NULL, 0, "%s/%s", home, ".config/spmenu/theme.conf") + 1))) { + die("spmenu: failed to malloc theme"); + } + + sprintf(theme, "%s/%s", home, ".config/spmenu/theme.conf"); + } else { + // malloc + if (!(theme = malloc(snprintf(NULL, 0, "%s/%s", xdg_conf, "spmenu/theme.conf") + 1))) { + die("spmenu: failed to malloc theme"); + } + + // XDG_CONFIG_HOME is set, so let's use that instead + sprintf(theme, "%s/%s", xdg_conf, "spmenu/theme.conf"); + } + } else { // custom config path + if (!(theme = malloc(snprintf(NULL, 0, "%s", argtheme) + 1))) { + die("spmenu: failed to malloc theme"); + } + + sprintf(theme, "%s", argtheme); + } + + // don't bother trying to load if it doesn't exist. + if (access(theme, F_OK) != 0) { + return; + } + + // init config + config_t cfg; + config_init(&cfg); + + // attempt to read theme + if (!config_read_file(&cfg, theme)) { + fprintf(stdout, "spmenu: Invalid theme.\n"); // invalid configuration, but let's try to read it anyway + } + + // load options theme.window + config_setting_t *window_setting = config_lookup(&cfg, "theme.window"); + if (window_setting != NULL) { + // look up window entries + for (unsigned int i = 0; i < config_setting_length(window_setting); ++i) { + config_setting_t *conf = config_setting_get_elem(window_setting, i); + + config_setting_lookup_int(conf, "position", &menuposition); // theme.window.menuposition + config_setting_lookup_int(conf, "paddingv", &menupaddingv); // theme.window.paddingv + config_setting_lookup_int(conf, "paddingh", &menupaddingh); // theme.window.paddingh + config_setting_lookup_int(conf, "padding-vertical", &menupaddingv); // theme.window.padding-vertical + config_setting_lookup_int(conf, "padding-horizontal", &menupaddingh); // theme.window.padding-horizontal + config_setting_lookup_int(conf, "margin-vertical", &menumarginv); // theme.window.margin-vertical + config_setting_lookup_int(conf, "margin-horizontal", &menumarginh); // theme.window.margin-horizontal + config_setting_lookup_int(conf, "x", &xpos); // theme.window.x + config_setting_lookup_int(conf, "y", &xpos); // theme.window.y + config_setting_lookup_int(conf, "width", &menuwidth); // theme.window.width + config_setting_lookup_int(conf, "border", &borderwidth); // theme.window.border + config_setting_lookup_int(conf, "alpha", &alpha); // theme.window.alpha + } + } + + // load options theme.powerline + config_setting_t *pwl_setting = config_lookup(&cfg, "theme.powerline"); + if (pwl_setting != NULL) { + for (unsigned int i = 0; i < config_setting_length(pwl_setting); ++i) { + config_setting_t *conf = config_setting_get_elem(pwl_setting, i); + + // look up + config_setting_lookup_int(conf, "promptstyle", &promptpwlstyle); // theme.powerline.promptstyle + config_setting_lookup_int(conf, "matchcountstyle", &matchcountpwlstyle); // theme.powerline.matchcountstyle + config_setting_lookup_int(conf, "modestyle", &modepwlstyle); // theme.powerline.modestyle + config_setting_lookup_int(conf, "capsstyle", &capspwlstyle); // theme.powerline.capsstyle + config_setting_lookup_int(conf, "prompt", &powerlineprompt); // theme.powerline.prompt + config_setting_lookup_int(conf, "matchcount", &powerlinecount); // theme.powerline.matchcount + config_setting_lookup_int(conf, "mode", &powerlinemode); // theme.powerline.mode + config_setting_lookup_int(conf, "caps", &powerlinecaps); // theme.powerline.caps + } + } + + // load options theme.center + config_setting_t *center_setting = config_lookup(&cfg, "theme.center"); + if (center_setting != NULL) { + for (unsigned int i = 0; i < config_setting_length(center_setting); ++i) { + config_setting_t *conf = config_setting_get_elem(center_setting, i); + + config_setting_lookup_int(conf, "width", &minwidth); // theme.center.width + } + } + + // load options theme.text + config_setting_t *text_setting = config_lookup(&cfg, "theme.text"); + if (text_setting != NULL) { + for (unsigned int i = 0; i < config_setting_length(text_setting); ++i) { + config_setting_t *conf = config_setting_get_elem(text_setting, i); + + // look up + if (config_setting_lookup_string(conf, "font", &dest)) // theme.text.font + strcpy(font, strdup(dest)); + + config_setting_lookup_int(conf, "padding", &textpadding); // theme.text.padding + config_setting_lookup_int(conf, "normitempadding", &normitempadding); // theme.text.normitempadding + config_setting_lookup_int(conf, "selitempadding", &selitempadding); // theme.text.selitempadding + config_setting_lookup_int(conf, "priitempadding", &priitempadding); // theme.text.priitempadding + + if (config_setting_lookup_string(conf, "leftarrow", &dest)) // theme.text.leftarrow + leftarrow = strdup(dest); + + if (config_setting_lookup_string(conf, "rightarrow", &dest)) // theme.text.rightarrow + rightarrow = strdup(dest); + + if (config_setting_lookup_string(conf, "password", &dest)) + password = strdup(dest); + + if (config_setting_lookup_string(conf, "prompt", &dest)) + prompt = strdup(dest); + + if (config_setting_lookup_string(conf, "capslockon", &dest)) + capslockontext = strdup(dest); + + if (config_setting_lookup_string(conf, "capslockoff", &dest)) + capslockofftext = strdup(dest); + + if (config_setting_lookup_string(conf, "input", &dest)) + input = strdup(dest); + } + } + + // load options theme.alpha + config_setting_t *alpha_setting = config_lookup(&cfg, "theme.alpha"); + if (alpha_setting != NULL) { + for (unsigned int i = 0; i < config_setting_length(alpha_setting); ++i) { + config_setting_t *conf = config_setting_get_elem(alpha_setting, i); + + // look up + config_setting_lookup_int(conf, "itemnormfg", &alpha_itemnormfg); // theme.alpha.itemnormfg + config_setting_lookup_int(conf, "itemnormbg", &alpha_itemnormbg); // theme.alpha.itemnormbg + config_setting_lookup_int(conf, "itemselfg", &alpha_itemselfg); // theme.alpha.itemselfg + config_setting_lookup_int(conf, "itemselbg", &alpha_itemselbg); // theme.alpha.itemselbg + + config_setting_lookup_int(conf, "itemnormprifg", &alpha_itemnormprifg); // theme.alpha.itemnormprifg + config_setting_lookup_int(conf, "itemnormpribg", &alpha_itemnormpribg); // theme.alpha.itemnormpribg + config_setting_lookup_int(conf, "itemselprifg", &alpha_itemselprifg); // theme.alpha.itemselprifg + config_setting_lookup_int(conf, "itemselpribg", &alpha_itemselpribg); // theme.alpha.itemselpribg + + config_setting_lookup_int(conf, "inputfg", &alpha_inputfg); // theme.alpha.inputfg + config_setting_lookup_int(conf, "inputbg", &alpha_inputbg); // theme.alpha.inputbg + + config_setting_lookup_int(conf, "menu", &alpha_menu); // theme.alpha.menu + + config_setting_lookup_int(conf, "promptfg", &alpha_promptfg); // theme.alpha.promptfg + config_setting_lookup_int(conf, "promptbg", &alpha_promptbg); // theme.alpha.promptbg + + config_setting_lookup_int(conf, "larrowfg", &alpha_larrowfg); // theme.alpha.larrowfg + config_setting_lookup_int(conf, "larrowbg", &alpha_larrowbg); // theme.alpha.larrowbg + config_setting_lookup_int(conf, "rarrowfg", &alpha_rarrowfg); // theme.alpha.rarrowfg + config_setting_lookup_int(conf, "rarrowbg", &alpha_rarrowbg); // theme.alpha.rarrowbg + + config_setting_lookup_int(conf, "hlnormfg", &alpha_hlnormfg); // theme.alpha.hlnormfg + config_setting_lookup_int(conf, "hlnormbg", &alpha_hlnormbg); // theme.alpha.hlnormbg + config_setting_lookup_int(conf, "hlselfg", &alpha_hlselfg); // theme.alpha.hlselfg + config_setting_lookup_int(conf, "hlselbg", &alpha_hlselbg); // theme.alpha.hlselbg + + config_setting_lookup_int(conf, "numfg", &alpha_numfg); // theme.alpha.numfg + config_setting_lookup_int(conf, "numbg", &alpha_numbg); // theme.alpha.numbg + + config_setting_lookup_int(conf, "border", &alpha_border); // theme.alpha.border + + config_setting_lookup_int(conf, "caretfg", &alpha_caretfg); // theme.alpha.caretfg + config_setting_lookup_int(conf, "caretbg", &alpha_caretbg); // theme.alpha.caretbg + + config_setting_lookup_int(conf, "modefg", &alpha_modefg); // theme.alpha.modefg + config_setting_lookup_int(conf, "modebg", &alpha_modebg); // theme.alpha.modebg + + config_setting_lookup_int(conf, "capsfg", &alpha_capsfg); // theme.alpha.capsfg + config_setting_lookup_int(conf, "capsbg", &alpha_capsbg); // theme.alpha.capsbg + } + } + + // load options theme.color + config_setting_t *color_setting = config_lookup(&cfg, "theme.color"); + if (color_setting != NULL) { + for (unsigned int i = 0; i < config_setting_length(color_setting); ++i) { + config_setting_t *conf = config_setting_get_elem(color_setting, i); + + // items + if (config_setting_lookup_string(conf, "itemnormfg", &dest)) + strcpy(colors[SchemeItemNorm][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "itemnormbg", &dest)) + strcpy(colors[SchemeItemNorm][ColBg], strdup(dest)); + + if (config_setting_lookup_string(conf, "itemselfg", &dest)) + strcpy(colors[SchemeItemSel][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "itemselbg", &dest)) + strcpy(colors[SchemeItemSel][ColBg], strdup(dest)); + + // items with priority + if (config_setting_lookup_string(conf, "itemnormprifg", &dest)) + strcpy(colors[SchemeItemNormPri][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "itemnormpribg", &dest)) + strcpy(colors[SchemeItemNormPri][ColBg], strdup(dest)); + + if (config_setting_lookup_string(conf, "itemselprifg", &dest)) + strcpy(colors[SchemeItemSelPri][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "itemselpribg", &dest)) + strcpy(colors[SchemeItemSelPri][ColBg], strdup(dest)); + + // input + if (config_setting_lookup_string(conf, "inputfg", &dest)) + strcpy(colors[SchemeInput][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "inputbg", &dest)) + strcpy(colors[SchemeInput][ColBg], strdup(dest)); + + // menu + if (config_setting_lookup_string(conf, "menu", &dest)) + strcpy(colors[SchemeMenu][ColBg], strdup(dest)); + + // prompt + if (config_setting_lookup_string(conf, "promptfg", &dest)) + strcpy(colors[SchemePrompt][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "promptbg", &dest)) + strcpy(colors[SchemePrompt][ColBg], strdup(dest)); + + // arrows + if (config_setting_lookup_string(conf, "larrowfg", &dest)) + strcpy(colors[SchemeLArrow][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "larrowbg", &dest)) + strcpy(colors[SchemeLArrow][ColBg], strdup(dest)); + + if (config_setting_lookup_string(conf, "rarrowfg", &dest)) + strcpy(colors[SchemeRArrow][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "rarrowbg", &dest)) + strcpy(colors[SchemeRArrow][ColBg], strdup(dest)); + + // highlight + if (config_setting_lookup_string(conf, "hlnormfg", &dest)) + strcpy(colors[SchemeNormHighlight][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "hlnormbg", &dest)) + strcpy(colors[SchemeNormHighlight][ColBg], strdup(dest)); + + if (config_setting_lookup_string(conf, "hlselfg", &dest)) + strcpy(colors[SchemeSelHighlight][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "hlselbg", &dest)) + strcpy(colors[SchemeSelHighlight][ColBg], strdup(dest)); + + // number + if (config_setting_lookup_string(conf, "numfg", &dest)) + strcpy(colors[SchemeNumber][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "numbg", &dest)) + strcpy(colors[SchemeNumber][ColBg], strdup(dest)); + + // mode + if (config_setting_lookup_string(conf, "modefg", &dest)) + strcpy(colors[SchemeMode][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "modebg", &dest)) + strcpy(colors[SchemeMode][ColBg], strdup(dest)); + + // caps + if (config_setting_lookup_string(conf, "capsfg", &dest)) + strcpy(colors[SchemeCaps][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "capsbg", &dest)) + strcpy(colors[SchemeCaps][ColBg], strdup(dest)); + + // border + if (config_setting_lookup_string(conf, "border", &dest)) + strcpy(colors[SchemeBorder][ColBg], strdup(dest)); + + // caret + if (config_setting_lookup_string(conf, "caretfg", &dest)) + strcpy(colors[SchemeCaret][ColFg], strdup(dest)); + + if (config_setting_lookup_string(conf, "caretbg", &dest)) + strcpy(colors[SchemeCaret][ColBg], strdup(dest)); + + // sgr colors + if (config_setting_lookup_string(conf, "sgr0", &dest)) + strcpy(textcolors[0], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr1", &dest)) + strcpy(textcolors[1], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr2", &dest)) + strcpy(textcolors[2], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr3", &dest)) + strcpy(textcolors[3], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr4", &dest)) + strcpy(textcolors[4], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr5", &dest)) + strcpy(textcolors[5], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr6", &dest)) + strcpy(textcolors[6], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr7", &dest)) + strcpy(textcolors[7], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr8", &dest)) + strcpy(textcolors[8], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr9", &dest)) + strcpy(textcolors[9], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr10", &dest)) + strcpy(textcolors[10], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr11", &dest)) + strcpy(textcolors[11], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr12", &dest)) + strcpy(textcolors[12], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr13", &dest)) + strcpy(textcolors[13], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr14", &dest)) + strcpy(textcolors[14], strdup(dest)); + if (config_setting_lookup_string(conf, "sgr15", &dest)) + strcpy(textcolors[15], strdup(dest)); + + // coloritems int + config_setting_lookup_int(conf, "coloritems", &coloritems); + config_setting_lookup_int(conf, "sgr", &sgr); + } + } + + // load options theme.image + config_setting_t *img_setting = config_lookup(&cfg, "theme.image"); + if (img_setting != NULL) { + for (unsigned int i = 0; i < config_setting_length(img_setting); ++i) { + config_setting_t *conf = config_setting_get_elem(img_setting, i); + + // look up + config_setting_lookup_int(conf, "width", &imagewidth); // theme.image.width + config_setting_lookup_int(conf, "height", &imageheight); // theme.image.height + config_setting_lookup_int(conf, "gaps", &imageheight); // theme.image.gaps + config_setting_lookup_int(conf, "position", &imageposition); // theme.image.position + } + } + + // load options theme.mode + config_setting_t *mode_setting = config_lookup(&cfg, "theme.mode"); + if (mode_setting != NULL) { + for (unsigned int i = 0; i < config_setting_length(mode_setting); ++i) { + config_setting_t *conf = config_setting_get_elem(mode_setting, i); + + config_setting_lookup_string(conf, "normal_text", &dest); // theme.mode.normal_text + normtext = strdup(dest); + + config_setting_lookup_string(conf, "insert_text", &dest); // theme.mode.insert_text + instext = strdup(dest); + } + } + + // load options theme.line + config_setting_t *line_setting = config_lookup(&cfg, "theme.line"); + if (line_setting != NULL) { + for (unsigned int i = 0; i < config_setting_length(line_setting); ++i) { + config_setting_t *conf = config_setting_get_elem(line_setting, i); + + // look up + config_setting_lookup_int(conf, "height", &lineheight); // theme.line.height + config_setting_lookup_int(conf, "indentitems", &indentitems); // theme.line.indentitems + } + } + + // load options theme.hide + config_setting_t *hide_setting = config_lookup(&cfg, "theme.hide"); + if (hide_setting != NULL) { + for (unsigned int i = 0; i < config_setting_length(hide_setting); ++i) { + config_setting_t *conf = config_setting_get_elem(hide_setting, i); + + // look up + config_setting_lookup_int(conf, "input", &hideinput); // theme.hide.input + config_setting_lookup_int(conf, "larrow", &hidelarrow); // theme.hide.larrow + config_setting_lookup_int(conf, "rarrow", &hiderarrow); // theme.hide.rarrow + config_setting_lookup_int(conf, "prompt", &hideprompt); // theme.hide.prompt + config_setting_lookup_int(conf, "items", &hideitem); // theme.hide.items + config_setting_lookup_int(conf, "powerline", &hidepowerline); // theme.hide.powerline + config_setting_lookup_int(conf, "caret", &hidecaret); // theme.hide.caret + config_setting_lookup_int(conf, "highlight", &hidehighlight); // theme.hide.highlight + config_setting_lookup_int(conf, "matchcount", &hidematchcount); // theme.hide.matchcount + config_setting_lookup_int(conf, "mode", &hidemode); // theme.hide.mode + config_setting_lookup_int(conf, "caps", &hidecaps); // theme.hide.caps + config_setting_lookup_int(conf, "hideimage", &hideimage); // theme.hide.image + } + } + + // load options theme.pango + config_setting_t *pango_setting = config_lookup(&cfg, "theme.pango"); + if (pango_setting != NULL) { + for (unsigned int i = 0; i < config_setting_length(pango_setting); ++i) { + config_setting_t *conf = config_setting_get_elem(pango_setting, i); + + // look up + config_setting_lookup_int(conf, "item", &pango_item); // theme.pango.input + config_setting_lookup_int(conf, "highlight", &pango_highlight); // theme.pango.highlight + config_setting_lookup_int(conf, "prompt", &pango_prompt); // theme.pango.rarrow + config_setting_lookup_int(conf, "input", &pango_input); // theme.pango.input + config_setting_lookup_int(conf, "leftarrow", &pango_leftarrow); // theme.pango.leftarrow + config_setting_lookup_int(conf, "rightarrow", &pango_rightarrow); // theme.pango.rightarrow + config_setting_lookup_int(conf, "numbers", &pango_numbers); // theme.pango.numbers + config_setting_lookup_int(conf, "mode", &pango_mode); // theme.pango.mode + config_setting_lookup_int(conf, "caps", &pango_caps); // theme.pango.caps + config_setting_lookup_int(conf, "password", &pango_password); // theme.pango.mode + } + } + + // we're done here + config_destroy(&cfg); + return; +} diff --git a/libs/theme/theme.h b/libs/theme/theme.h new file mode 100644 index 0000000..8071363 --- /dev/null +++ b/libs/theme/theme.h @@ -0,0 +1 @@ +static void theme_load(void); diff --git a/options.h b/options.h index 9a14272..8422076 100644 --- a/options.h +++ b/options.h @@ -9,7 +9,8 @@ static char *class = "spmenu"; /* Class for spmenu */ static int fast = 0; /* Grab keyboard first */ static int xresources = 1; /* Enable .Xresources support */ static int globalcolors = 1; /* Recognize global colors (such as colors generated by Pywal) */ -static int loadconfig = 1; /* Load configuration (~/.spmenurc or ~/.config/spmenu/spmenurc and ~/.config/spmenu/spmenu.conf) on runtime */ +static int loadconfig = 1; /* Load configuration (~/.spmenu.conf or ~/.config/spmenu/spmenu.conf) on runtime */ +static int loadtheme = 1; /* Load theme (~/.theme.conf or ~/.config/spmenu/theme.conf) on runtime */ static int mon = -1; /* Monitor to run spmenu on */ /* Window options */ diff --git a/spmenu.1 b/spmenu.1 index e6b52c2..0743b4e 100644 --- a/spmenu.1 +++ b/spmenu.1 @@ -327,12 +327,21 @@ Useful for testing Set config file to load to file .TP \f[V]-lcfg, --load-config\f[R] -Load spmenu configuration (\[ti]/.config/spmenu/spmenu.conf, -\[ti]/.spmenurc or \[ti]/.config/spmenu/spmenurc) +Load spmenu configuration (\[ti]/.spmenu.conf or +\[ti]/.config/spmenu/spmenu.conf) .TP \f[V]-ncfg, --no-load-config\f[R] -Don\[cq]t load spmenu configuration (\[ti]/.config/spmenu/spmenu.conf, -\[ti]/.spmenurc or \[ti]/.config/spmenu/spmenurc) +Don\[cq]t load spmenu configuration (\[ti]/.spmenu.conf or +\[ti]/.config/spmenu/spmenu.conf) +.TP +\f[V]-tm, --theme theme\f[R] +Load theme `theme' on runtime. +.TP +\f[V]-ltm, --load-theme\f[R] +Load theme +.TP +\f[V]-nltm, --no-load-theme\f[R] +Don\[cq]t load theme .TP \f[V]-v, --version\f[R] Print spmenu version to stdout diff --git a/spmenu.c b/spmenu.c index 5ded746..cc3caec 100644 --- a/spmenu.c +++ b/spmenu.c @@ -163,9 +163,12 @@ static int imageh = 0; static int imageg = 0; #endif +// config file #if USECONFIG -static int cconf = 0; // custom config path -static char *argconf = NULL; +static int cconf = 0; // use custom config path? +static int ctheme = 0; // use custom theme path? +static char *argconf = NULL; // arg config path +static char *argtheme = NULL; // arg theme path #endif // set an integer to 1 if we have rtl enabled, this saves a lot of lines and duplicate code diff --git a/spmenu.html b/spmenu.html index bc016a6..7ff7e11 100644 --- a/spmenu.html +++ b/spmenu.html @@ -559,13 +559,25 @@ Set config file to load to file
-lcfg, --load-config
-Load spmenu configuration (~/.config/spmenu/spmenu.conf, ~/.spmenurc or -~/.config/spmenu/spmenurc) +Load spmenu configuration (~/.spmenu.conf or +~/.config/spmenu/spmenu.conf)
-ncfg, --no-load-config
-Don’t load spmenu configuration (~/.config/spmenu/spmenu.conf, -~/.spmenurc or ~/.config/spmenu/spmenurc) +Don’t load spmenu configuration (~/.spmenu.conf or +~/.config/spmenu/spmenu.conf) +
+
-tm, --theme theme
+
+Load theme ‘theme’ on runtime. +
+
-ltm, --load-theme
+
+Load theme +
+
-nltm, --no-load-theme
+
+Don’t load theme
-v, --version
diff --git a/spmenu.pdf b/spmenu.pdf index 2ca0f14baa87b20973ff852413bb67f5f2b481c4..eec3d9db3cc117854acb38f16bb205306f7c9849 100644 GIT binary patch delta 33845 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 X|KwPr#+x|8JJ}QhC8hWm355R-*)AA# delta 33785 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