4 * Copyright (c) Tuomo Valkonen 1999-2007.
6 * See the included file LICENSE for details.
9 #ifndef ION_IONCORE_FRAME_H
10 #define ION_IONCORE_FRAME_H
12 #include <libtu/stringstore.h>
13 #include <libtu/setparam.h>
14 #include <libextl/extl.h>
21 #include "rectangle.h"
24 #define FRAME_SAVED_VERT 0x0008
25 #define FRAME_SAVED_HORIZ 0x0010
26 #define FRAME_SHADED 0x0020
27 #define FRAME_SHADED_TOGGLE 0x0040
28 /*#define FRAME_DEST_EMPTY 0x0100*/
29 #define FRAME_MAXED_VERT 0x0200
30 #define FRAME_MAXED_HORIZ 0x0400
31 #define FRAME_MIN_HORIZ 0x0800
33 /*#define FRAME_SZH_USEMINMAX 0x1000 */
34 /*#define FRAME_FWD_CWIN_RQGEOM 0x2000 */
63 void *quasiact_source;
68 GrTransparency tr_mode;
73 WFrameBarMode barmode;
75 double bar_max_width_q;
81 extern WFrame *create_frame(WWindow *parent, const WFitParams *fp,
83 extern bool frame_init(WFrame *frame, WWindow *parent, const WFitParams *fp,
85 extern void frame_deinit(WFrame *frame);
86 extern bool frame_rqclose(WFrame *frame);
90 extern void frame_set_mode(WFrame *frame, WFrameMode mode);
91 extern WFrameMode frame_mode(WFrame *frame);
93 /* Resize and reparent */
94 extern bool frame_fitrep(WFrame *frame, WWindow *par, const WFitParams *fp);
95 extern void frame_size_hints(WFrame *frame, WSizeHints *hints_ret);
98 extern void frame_activated(WFrame *frame);
99 extern void frame_inactivated(WFrame *frame);
102 extern int frame_nth_tab_w(WFrame *frame, int n);
103 extern int frame_nth_tab_iw(WFrame *frame, int n);
104 extern int frame_nth_tab_x(WFrame *frame, int n);
105 extern int frame_tab_at_x(WFrame *frame, int x);
106 extern void frame_update_attr_nth(WFrame *frame, int i);
108 extern bool frame_set_shaded(WFrame *frame, int sp);
109 extern bool frame_is_shaded(WFrame *frame);
110 extern bool frame_set_numbers(WFrame *frame, int sp);
111 extern bool frame_is_numbers(WFrame *frame);
113 extern int frame_default_index(WFrame *frame);
116 extern void frame_managed_notify(WFrame *frame, WRegion *sub, WRegionNotify how);
117 extern bool frame_managed_rqdispose(WFrame *frame, WRegion *reg);
119 extern void ioncore_frame_quasiactivation_notify(WRegion *reg, WRegionNotify how);
121 extern WPHolder *frame_prepare_manage_transient(WFrame *frame,
122 const WClientWin *transient,
123 const WManageParams *param,
126 extern bool frame_rescue_clientwins(WFrame *frame, WRescueInfo *info);
129 extern ExtlTab frame_get_configuration(WFrame *frame);
130 extern WRegion *frame_load(WWindow *par, const WFitParams *fp, ExtlTab tab);
131 extern void frame_do_load(WFrame *frame, ExtlTab tab);
133 extern WHook *frame_managed_changed_hook;
135 #endif /* ION_IONCORE_FRAME_H */