2 * layoutinfo.c - layout info widget
4 * Copyright © 2007 Aldo Cortesi <aldo@nullcube.com>
5 * Copyright © 2007-2008 Julien Danjou <julien@danjou.info>
6 * Aldo Cortesi <aldo@nullcube.com>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License along
19 * with this program; if not, write to the Free Software Foundation, Inc.,
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26 #include "common/util.h"
27 #include "common/configopts.h"
29 extern AwesomeConf globalconf
;
32 layoutinfo_draw(Widget
*widget
,
35 int used
__attribute__ ((unused
)))
37 Tag
**curtags
= tags_get_current(widget
->statusbar
->screen
);
38 area_t area
= draw_get_image_size(curtags
[0]->layout
->image
);
40 if(!widget
->user_supplied_x
)
41 widget
->area
.x
= widget_calculate_offset(widget
->statusbar
->width
,
42 widget
->statusbar
->height
,
46 if(!widget
->user_supplied_y
)
49 widget
->area
.width
= ((double) widget
->statusbar
->height
/ (double) area
.height
) * area
.width
;;
50 widget
->area
.height
= widget
->statusbar
->height
;
52 draw_image(ctx
, widget
->area
.x
, widget
->area
.y
,
53 widget
->statusbar
->height
,
54 curtags
[0]->layout
->image
);
58 return widget
->area
.width
;
62 layoutinfo_new(Statusbar
*statusbar
, cfg_t
* config
)
66 widget_common_new(w
, statusbar
, config
);
67 w
->draw
= layoutinfo_draw
;
68 w
->alignment
= cfg_getalignment(config
, "align");
70 /* Set cache property */
71 w
->cache
.flags
= WIDGET_CACHE_LAYOUTS
;
76 // vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80