2 * ion/mod_statusbar/statusbar.h
4 * Copyright (c) Tuomo Valkonen 1999-2007.
6 * Ion is free software; you can redistribute it and/or modify it under
7 * the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation; either version 2.1 of the License, or
9 * (at your option) any later version.
12 #ifndef ION_MOD_STATUSBAR_STATUSBAR_H
13 #define ION_MOD_STATUSBAR_STATUSBAR_H
15 #include <libtu/ptrlist.h>
16 #include <libextl/extl.h>
17 #include <ioncore/common.h>
18 #include <ioncore/gr.h>
19 #include <ioncore/manage.h>
20 #include <ioncore/sizehint.h>
23 #define STATUSBAR_NX_STR "?"
28 WSBELEM_ALIGN_CENTER=1,
60 INTRCLASS(WStatusBar);
62 DECLCLASS(WStatusBar){
67 int natural_w, natural_h;
69 WStatusBar *sb_next, *sb_prev;
74 extern bool statusbar_init(WStatusBar *p, WWindow *parent,
75 const WFitParams *fp);
76 extern WStatusBar *create_statusbar(WWindow *parent, const WFitParams *fp);
77 extern void statusbar_deinit(WStatusBar *p);
79 extern WRegion *statusbar_load(WWindow *par, const WFitParams *fp,
82 extern void statusbar_set_natural_w(WStatusBar *p, const char *str);
83 extern void statusbar_size_hints(WStatusBar *p, WSizeHints *h);
84 extern void statusbar_updategr(WStatusBar *p);
85 extern void statusbar_set_contents(WStatusBar *sb, ExtlTab t);
87 extern void statusbar_set_template(WStatusBar *sb, const char *tmpl);
88 extern void statusbar_set_template_table(WStatusBar *sb, ExtlTab t);
89 extern ExtlTab statusbar_get_template_table(WStatusBar *sb);
91 extern WStatusBar *mod_statusbar_find_suitable(WClientWin *cwin,
92 const WManageParams *param);
94 #endif /* ION_MOD_STATUSBAR_STATUSBAR_H */