From 91cc5a4618df3878d7603017c97b069b913b5023 Mon Sep 17 00:00:00 2001 From: Julien Danjou Date: Thu, 27 Dec 2007 00:13:44 +0100 Subject: [PATCH] use image instead of symbols for layouts --- awesome.c | 2 +- awesomerc | 23 ++++++++++++----------- config.c | 6 +++--- config.h | 2 +- draw.c | 16 +++++++++++++--- draw.h | 2 +- icons/layouts/dwindle.png | Bin 0 -> 3988 bytes icons/layouts/dwindlew.png | Bin 0 -> 4134 bytes icons/layouts/floating.png | Bin 0 -> 497 bytes icons/layouts/floatingw.png | Bin 0 -> 497 bytes icons/layouts/max.png | Bin 0 -> 3147 bytes icons/layouts/maxw.png | Bin 0 -> 3156 bytes icons/layouts/spiral.png | Bin 0 -> 2109 bytes icons/layouts/spiralw.png | Bin 0 -> 2030 bytes icons/layouts/tile.png | Bin 0 -> 2938 bytes icons/layouts/tileleft.png | Bin 0 -> 2948 bytes icons/layouts/tileleftw.png | Bin 0 -> 2957 bytes icons/layouts/tilew.png | Bin 0 -> 2949 bytes widgets/iconbox.c | 5 ++--- widgets/layoutinfo.c | 28 +++++++++++----------------- 20 files changed, 44 insertions(+), 40 deletions(-) create mode 100644 icons/layouts/dwindle.png create mode 100644 icons/layouts/dwindlew.png create mode 100644 icons/layouts/floating.png create mode 100644 icons/layouts/floatingw.png create mode 100644 icons/layouts/max.png create mode 100644 icons/layouts/maxw.png create mode 100644 icons/layouts/spiral.png create mode 100644 icons/layouts/spiralw.png create mode 100644 icons/layouts/tile.png create mode 100644 icons/layouts/tileleft.png create mode 100644 icons/layouts/tileleftw.png create mode 100644 icons/layouts/tilew.png diff --git a/awesome.c b/awesome.c index 2b9f2acd..3cd0c5e7 100644 --- a/awesome.c +++ b/awesome.c @@ -87,7 +87,7 @@ cleanup_screen(int screen) for(l = globalconf.screens[screen].layouts; l; l = ln) { ln = l->next; - p_delete(&l->symbol); + p_delete(&l->image); p_delete(&l); } } diff --git a/awesomerc b/awesomerc index 85e5c44b..b6cd2ba6 100644 --- a/awesomerc +++ b/awesomerc @@ -14,21 +14,22 @@ screen 0 } layouts { - layout tile { symbol = "[]=" } - layout tileleft { symbol = "=[]" } - layout max { symbol = "[ ]" } - layout spiral { symbol = "(@)" } - layout dwindle { symbol = "[\\]" } - layout floating { symbol = "><>" } + layout tile { image = "tile.png" } + layout tileleft { image = "tileleft.png" } + layout max { image = "max.png" } + layout spiral { image = "spiral.png" } + layout dwindle { image = "dwindle.png" } + layout floating { image = "floating.png" } } statusbar { position = "top" - taglist tl {} - layoutinfo li {} - netwmicon nwi {} - focustitle ft {} - textbox tb {} + + taglist mytaglist {} + layoutinfo mylayoutinfo {} + netwmicon mynetwmicon {} + focustitle myfocustitle {} + textbox mytextbox {} } } diff --git a/config.c b/config.c index 960cb3c1..f88889bf 100644 --- a/config.c +++ b/config.c @@ -382,7 +382,7 @@ config_parse(const char *confpatharg) }; static cfg_opt_t layout_opts[] = { - CFG_STR((char *) "symbol", (char *) "???", CFGF_NONE), + CFG_STR((char *) "image", NULL, CFGF_NONE), CFG_END() }; static cfg_opt_t layouts_opts[] = @@ -587,10 +587,10 @@ config_parse(const char *confpatharg) if(!layout->arrange) { warn("unknown layout %s in configuration file\n", cfg_title(cfgsectmp)); - layout->symbol = NULL; + layout->image = NULL; continue; } - layout->symbol = a_strdup(cfg_getstr(cfgsectmp, "symbol")); + layout->image = a_strdup(cfg_getstr(cfgsectmp, "image")); if(i < cfg_size(cfg_layouts, "layout") - 1) layout = layout->next = p_new(Layout, 1); diff --git a/config.h b/config.h index 2a996098..3433f2c9 100644 --- a/config.h +++ b/config.h @@ -55,7 +55,7 @@ typedef struct AwesomeConf AwesomeConf; typedef struct Layout Layout; struct Layout { - char *symbol; + char *image; void (*arrange) (int); Layout *next; }; diff --git a/draw.c b/draw.c index 7dbc10ba..ea15ea87 100644 --- a/draw.c +++ b/draw.c @@ -175,20 +175,31 @@ void draw_image_from_argb_data(DrawCtx *ctx, int x, int y, int w, int h, } void -draw_image(DrawCtx *ctx, int x, int y, const char *filename) +draw_image(DrawCtx *ctx, int x, int y, int wanted_h, const char *filename) { + double ratio; + int h; cairo_surface_t *surface, *source; cairo_t *cr; source = cairo_xlib_surface_create(ctx->display, ctx->drawable, ctx->visual, ctx->width, ctx->height); surface = cairo_image_surface_create_from_png(filename); cr = cairo_create (source); - cairo_set_source_surface(cr, surface, x, y); + if(wanted_h > 0 && (h = cairo_image_surface_get_height(surface)) > 0) + { + ratio = (double) wanted_h / (double) h; + cairo_scale(cr, ratio, ratio); + cairo_set_source_surface(cr, surface, x / ratio, y / ratio); + } + else + cairo_set_source_surface(cr, surface, x, y); cairo_paint(cr); cairo_destroy(cr); cairo_surface_destroy(source); cairo_surface_destroy(surface); + + } int @@ -205,7 +216,6 @@ draw_get_image_width(const char *filename) return width; } - Drawable draw_rotate(DrawCtx *ctx, int screen, double angle, int tx, int ty) { diff --git a/draw.h b/draw.h index ca27fe9c..dc78cae5 100644 --- a/draw.h +++ b/draw.h @@ -41,7 +41,7 @@ void draw_free_context(DrawCtx*); void draw_text(DrawCtx *, int, int, int, int, XftFont *, const char *, XColor fg, XColor bg); void draw_rectangle(DrawCtx *, int, int, int, int, Bool, XColor); void draw_circle(DrawCtx *, int, int, int, Bool, XColor); -void draw_image(DrawCtx *, int, int, const char *); +void draw_image(DrawCtx *, int, int, int, const char *); void draw_image_from_argb_data(DrawCtx *, int, int, int, int, int, unsigned char *); int draw_get_image_width(const char *filename); Drawable draw_rotate(DrawCtx *, int, double, int, int); diff --git a/icons/layouts/dwindle.png b/icons/layouts/dwindle.png new file mode 100644 index 0000000000000000000000000000000000000000..064ef7d1f16accd21828cf948841c268cf653487 GIT binary patch literal 3988 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 literal 0 HcmV?d00001 diff --git a/icons/layouts/floating.png b/icons/layouts/floating.png new file mode 100644 index 0000000000000000000000000000000000000000..f5650042ab158006db7f56053e400f0e4d488b36 GIT binary patch literal 497 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;#^NA%Cx&(BWL^R}OiAAEE(}w( zUby@O@;D1TB8wRq^pruEv0|xx8BmbD#M9T6{W_17IHQEt(gXTH6G}Z@978hhy}fSe zeb_a=dla zQ(y|8Qp6mssn-=HRCRM_?XKW^U+rDwUQzc%Z~75owbQe&%?wH{h&ji&Q!+X3)Xhb~ z3m8~692mI*8kj_om>={REYF)J9E+H3t@rYu?W(SpT%XB0sk63Z25z1utl|^Wcs!oL z(c-zSjh&zP2Cu1MDt5PCWir;Rd+x%%)?Jg=VczeEkBo}>(g9C2%JwM8++cn4aaX{e zf@I+hyAyUO^yDzf2{B%K!>E#2{rE_MAy-pH$L(^*HvjDnI(E`|oUB!y*BcEEJxFr= z&>-aB`BQ&Q$3v-xbgRzw`!^Z$in}KL*quO0D9}MfAjhQU& eaeO`AqQ6aT-^q?ST`z!f!rWL6EFEoZ^|wF~syR%LibhK7WPx<1_Cd1=aJPut8%#(Vqw`wxpo z1UrVFT_!Tk!7cogv-e8_7NK2}FZ(o-E+)*~ODfX=Y z{kaXx-8U8M-)<{#d~>`~+)m{H)xFZOru3*Vj1BGx&RmikUEX0wlDdK~|mvtHL! V@R}lHD=StO&>uS)ve< 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 lRQz$Wj|ShLr(b}Jk1t(iZ++xJg3StO&>uS)ve< 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 DDlL+~ literal 0 HcmV?d00001 diff --git a/icons/layouts/tilew.png b/icons/layouts/tilew.png new file mode 100644 index 0000000000000000000000000000000000000000..87ac52c76b8d7ec29a70b24b8bd04b78e2002652 GIT binary patch literal 2949 zcmV;03wrd4P)StO&>uS)ve< z0AYj>5AR{$W90N^4L=L-RlQUJ&DC0@ZjPh;=*jPLSYvv5M~MFBAl0-BNIsH15C~g000{K(ZT*W zKal6<?_01!^k@7iDG<<3=fuAC~28EsPoqkpK{9 zG%|Vj005J}`Hw&=0RYXHq~ibpyyzHQsFW8>#s~laM4*8xut5h5!4#~(4xGUqyucR% zVFpA%3?#rj5JCpzfE)^;7?wd9RKPme1hudO8lVxH;SjXJF*pt9;1XPc>u?taU>Kgl z7`%oF1VP9M6Ja4bh!J9r*dopd7nzO(B4J20l7OTj>4+3jBE`sZqynizYLQ(?Bl0bB z6giDtK>Co|$RIL`{EECsF_eL_Q3KQhbwIhO9~z3rpmWi5G!I>XmZEFX8nhlgfVQHi z(M#xcbO3#dj$?q)F%D*o*1Pf{>6$SWH+$s3q(pv=X`qR|$iJF~TPzlc-O$C3+J1#CT#lv5;6stS0Uu z9wDA3UMCI{Uz12A4#|?_P6{CkNG+sOq(0IRX`DyT~9-sA|ffUF>w zk++Z!kWZ5P$;0Hg6gtI-;!FvmBvPc55=u2?Kjj3apE5$3psG>Lsh-pbs)#zDT1jo7 zc2F-(3)vyY4>O^>2$gY-Gd%Qm(Z8eYv>2*=jns=cMJ`N z4THx>VkjAF8G9M07`GWOnM|ey)0dgZR4~^v8<}UA514ONSSt1^d=-((5|uiYR+WC0 z=c-gyb5%dpd8!Lkt5pxHURHgkMpd&=fR^vEcAI*_=wwAG2sV%zY%w@v@XU~7=xdm1xY6*0;iwVIXu6TaXrs|dqbIl~?uTdNHFy_3W~^@< zVyraYW!!5#VPa`A+oZ&##pJ#z&6I1JX1dX|({#+t$SmBf*sRIyjyctwYo1}g*}U8Q zjfJH}oW)9uHjBrW+LnCF1(r>g_pF#!K2~{F^;XxcN!DEJEbDF7S8PxlSDOr*I-AS3 zsI8l=#CDr)-xT5$k15hA^;2%zG3@;83hbKf2JJcaVfH2VZT8O{%p4LO);n}Nd~$Sk z%yw*Wyz8XlG{dRHsl(}4XB%gsbDi@w7p6;)%MzD%mlsoQr;4X;pL)xc%+^yMd)ZNTI#eJ*$O)i@o$z8)e??LqN_gLa_%;TM>o2SC_kmoO6c3xRt`@J4d zvz#WL)-Y|z+r(Soy~}%GIzByR`p)SCKE^%*pL(B%zNWq+-#xw~e%5}Oeh2)X`#bu} z{g3#+;d$~F@lFL`0l@*~0lk45fwKc^10MvL1f>Tx1&sx}1}_Xg6+#RN4Ot&@lW)Km z@*DYMGu&q^n$Z=?2%QyL8~QNJCQKgI5srq>2;UHXZ>IT7>CCnWh~P(Th`1kV8JQRP zeH1AwGO8}>QM6NZadh`A)~w`N`)9q5@sFvDxjWlxwsLl7tZHmhY-8-3xPZ8-xPf?w z_(k!T5_A(J3GIpG#Ms0=iQ{tu=WLoYoaCBRmULsT<=mpV7v|~C%bs^USv6UZd^m-e z5|^?+<%1wXP%juy<)>~<9TW0|n}ttBzM_qyQL(qUN<5P0omQ3hINdvaL;7fjPeygd zGYL;pD|wL_lDQ-EO;$wK-mK5raoH_7l$?~Dqf!lNmb5F^Ft;eTPi8AClMUo~=55Lw zlZVRpxOiFd;3B_8yA~shQx|tGF!j;$toK>JuS&gYLDkTP@C~gS@r~shUu{a>bfJ1`^^VQ7&C1OKHDNXF zTgC{M|V%fo{xK_dk6MK@9S!GZ*1JJzrV5xZBjOk9!NTH<(q(S+MDf~ zceQX@Dh|Ry<-sT4rhI$jQ0Sq~!`#Eo-%($2E^vo}is5J@NVEf|KK?WT&2;PCq@=ncR8zO#GQ^T~S@VXG71P zKNocFOt)Y6$@AXlk6rM*aP%VgV%sIRORYVwJx6|U{ozQjTW{-S_si{9Jg#)~P3t?+ z@6&(!YQWWV*Z9{iU7vZq@5byKw{9lg9JnRA_4s!7?H6|n?o8ZWdXIRo{Jz@#>IeD{ z>VLHUv1Pz*;P_y`V9&!@5AO~Mho1hF|I>%z(nrik)gwkDjgOrl9~%uCz4Bzvli{bb zrxVZ0epdf^>vOB;-~HnIOV3#R*zgPai_gEVd8zYq@2jb=I>#f&AH2?aJ@Kaet@)u5?)d006m3L_t(| z+U?sr3V<*S08k^||H^UGA`X6_E#zf$2$e@;Ypju(xfG6dDIVnkw)P?-qSwHe()%** zpZqif0000000000000000001hy0J}iA2}*t2`GU%;^^r;ZA-R2#kal8HdhG%0001h zW$<{90000000000 v0001hdi{X&#s2vrsnstatusbar->screen]; int location, width; width = draw_get_image_width(widget->data); - location = widget_calculate_offset(vscreen.statusbar->width, + location = widget_calculate_offset(widget->statusbar->width, width, offset, widget->alignment); - draw_image(ctx, location, 0, widget->data); + draw_image(ctx, location, 0, 0, widget->data); return width; } diff --git a/widgets/layoutinfo.c b/widgets/layoutinfo.c index 8d672119..8b9e9c71 100644 --- a/widgets/layoutinfo.c +++ b/widgets/layoutinfo.c @@ -2,6 +2,8 @@ * layoutinfo.c - layout info widget * * Copyright © 2007 Aldo Cortesi + * Copyright © 2007 Julien Danjou + * Aldo Cortesi * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,23 +34,15 @@ layoutinfo_draw(Widget *widget, int offset, int used __attribute__ ((unused))) { - int width = 0, location; - VirtScreen vscreen = globalconf.screens[widget->statusbar->screen]; - Layout *l; - for(l = vscreen.layouts ; l; l = l->next) - width = MAX(width, (textwidth(ctx, vscreen.font, l->symbol))); - location = widget_calculate_offset(vscreen.statusbar->width, - width, - offset, - widget->alignment); - draw_text(ctx, location, 0, - width, - vscreen.statusbar->height, - vscreen.font, - get_current_layout(widget->statusbar->screen)->symbol, - vscreen.colors_normal[ColFG], - vscreen.colors_normal[ColBG]); - return width; + int location = widget_calculate_offset(widget->statusbar->width, + widget->statusbar->height, + offset, + widget->alignment); + + draw_image(ctx, location, 0, widget->statusbar->height, + get_current_layout(widget->statusbar->screen)->image); + + return widget->statusbar->height; } Widget *