1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
/* tasklist object */
/* vim: set sw=2 et: */
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2003, 2005-2007 Vincent Untz
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef WNCK_TASKLIST_H
#define WNCK_TASKLIST_H
#include <gtk/gtk.h>
#include <libwnck/screen.h>
G_BEGIN_DECLS
#define WNCK_TYPE_TASKLIST (wnck_tasklist_get_type ())
#define WNCK_TASKLIST(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), WNCK_TYPE_TASKLIST, WnckTasklist))
#define WNCK_TASKLIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WNCK_TYPE_TASKLIST, WnckTasklistClass))
#define WNCK_IS_TASKLIST(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), WNCK_TYPE_TASKLIST))
#define WNCK_IS_TASKLIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WNCK_TYPE_TASKLIST))
#define WNCK_TASKLIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WNCK_TYPE_TASKLIST, WnckTasklistClass))
typedef struct _WnckTasklist WnckTasklist;
typedef struct _WnckTasklistClass WnckTasklistClass;
typedef struct _WnckTasklistPrivate WnckTasklistPrivate;
/**
* WnckTasklist:
*
* The #WnckTasklist struct contains only private fields and should not be
* directly accessed.
*/
struct _WnckTasklist
{
GtkContainer parent_instance;
WnckTasklistPrivate *priv;
};
struct _WnckTasklistClass
{
GtkContainerClass parent_class;
/* Padding for future expansion */
void (* pad1) (void);
void (* pad2) (void);
void (* pad3) (void);
void (* pad4) (void);
};
/**
* WnckTasklistGroupingType:
* @WNCK_TASKLIST_NEVER_GROUP: never group multiple #WnckWindow of the same
* #WnckApplication.
* @WNCK_TASKLIST_AUTO_GROUP: group multiple #WnckWindow of the same
* #WnckApplication for some #WnckApplication, when there is not enough place
* to have a good-looking list of all #WnckWindow.
* @WNCK_TASKLIST_ALWAYS_GROUP: always group multiple #WnckWindow of the same
* #WnckApplication, for all #WnckApplication.
*
* Type defining the policy of the #WnckTasklist for grouping multiple
* #WnckWindow of the same #WnckApplication.
*/
typedef enum {
WNCK_TASKLIST_NEVER_GROUP,
WNCK_TASKLIST_AUTO_GROUP,
WNCK_TASKLIST_ALWAYS_GROUP
} WnckTasklistGroupingType;
GType wnck_tasklist_get_type (void) G_GNUC_CONST;
GtkWidget *wnck_tasklist_new (void);
const int *wnck_tasklist_get_size_hint_list (WnckTasklist *tasklist,
int *n_elements);
void wnck_tasklist_set_grouping (WnckTasklist *tasklist,
WnckTasklistGroupingType grouping);
void wnck_tasklist_set_switch_workspace_on_unminimize (WnckTasklist *tasklist,
gboolean switch_workspace_on_unminimize);
void wnck_tasklist_set_grouping_limit (WnckTasklist *tasklist,
gint limit);
void wnck_tasklist_set_include_all_workspaces (WnckTasklist *tasklist,
gboolean include_all_workspaces);
void wnck_tasklist_set_button_relief (WnckTasklist *tasklist,
GtkReliefStyle relief);
/**
* WnckLoadIconFunction:
* @icon_name: an icon name as in the Icon field in a .desktop file for the
* icon to load.
* @size: the desired icon size.
* @flags: not defined to do anything yet.
* @data: data passed to the function, set when the #WnckLoadIconFunction has
* been set for the #WnckTasklist.
*
* Specifies the type of function passed to wnck_tasklist_set_icon_loader().
*
* Returns: it should return a <classname>GdkPixbuf</classname> of @icon_name
* at size @size, or %NULL if no icon for @icon_name at size @size could be
* loaded.
*
* Since: 2.2
*/
typedef GdkPixbuf* (*WnckLoadIconFunction) (const char *icon_name,
int size,
unsigned int flags,
void *data);
void wnck_tasklist_set_icon_loader (WnckTasklist *tasklist,
WnckLoadIconFunction load_icon_func,
void *data,
GDestroyNotify free_data_func);
G_END_DECLS
#endif /* WNCK_TASKLIST_H */
|