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
|
/*
* Copyright (C) 2008-2010 Nick Schermer <nick@xfce.org>
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU 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 General Public License for
* more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __XFCE_TASKLIST_H__
#define __XFCE_TASKLIST_H__
#include <gtk/gtk.h>
G_BEGIN_DECLS
G_DECLARE_FINAL_TYPE(XfceTasklist, xfce_tasklist, XFCE, TASKLIST, GtkContainer)
#define XFCE_TYPE_TASKLIST (xfce_tasklist_get_type())
enum _XfceTasklistGrouping
{
XFCE_TASKLIST_GROUPING_NEVER,
XFCE_TASKLIST_GROUPING_ALWAYS,
/*XFCE_TASKLIST_GROUPING_AUTO, */ /* when space is limited */
XFCE_TASKLIST_GROUPING_MIN = XFCE_TASKLIST_GROUPING_NEVER,
XFCE_TASKLIST_GROUPING_MAX = XFCE_TASKLIST_GROUPING_ALWAYS,
XFCE_TASKLIST_GROUPING_DEFAULT = XFCE_TASKLIST_GROUPING_NEVER
};
enum _XfceTasklistSortOrder
{
XFCE_TASKLIST_SORT_ORDER_TIMESTAMP, /* sort by unique_id */
XFCE_TASKLIST_SORT_ORDER_GROUP_TIMESTAMP, /* sort by group and then by timestamp */
XFCE_TASKLIST_SORT_ORDER_TITLE, /* sort by window title */
XFCE_TASKLIST_SORT_ORDER_GROUP_TITLE, /* sort by group and then by title */
XFCE_TASKLIST_SORT_ORDER_DND, /* append and support dnd */
XFCE_TASKLIST_SORT_ORDER_MIN = XFCE_TASKLIST_SORT_ORDER_TIMESTAMP,
XFCE_TASKLIST_SORT_ORDER_MAX = XFCE_TASKLIST_SORT_ORDER_DND,
XFCE_TASKLIST_SORT_ORDER_DEFAULT = XFCE_TASKLIST_SORT_ORDER_GROUP_TIMESTAMP
};
enum _XfceTasklistMClick
{
XFCE_TASKLIST_MIDDLE_CLICK_NOTHING, /* do nothing */
XFCE_TASKLIST_MIDDLE_CLICK_CLOSE_WINDOW, /* close the window */
XFCE_TASKLIST_MIDDLE_CLICK_MINIMIZE_WINDOW, /* minimize, never minimize with button 1 */
XFCE_TASKLIST_MIDDLE_CLICK_MIN = XFCE_TASKLIST_MIDDLE_CLICK_NOTHING,
XFCE_TASKLIST_MIDDLE_CLICK_MAX = XFCE_TASKLIST_MIDDLE_CLICK_MINIMIZE_WINDOW,
XFCE_TASKLIST_MIDDLE_CLICK_DEFAULT = XFCE_TASKLIST_MIDDLE_CLICK_NOTHING
};
typedef enum _XfceTasklistGrouping XfceTasklistGrouping;
typedef enum _XfceTasklistSortOrder XfceTasklistSortOrder;
typedef enum _XfceTasklistMClick XfceTasklistMClick;
GType xfce_tasklist_get_type(void) G_GNUC_CONST;
XfceTasklist *xfce_tasklist_new();
void xfce_tasklist_set_orientation(XfceTasklist *tasklist, GtkOrientation mode);
void xfce_tasklist_set_size(XfceTasklist *tasklist, gint size);
void xfce_tasklist_set_nrows(XfceTasklist *tasklist, gint nrows);
void xfce_tasklist_update_monitor_geometry(XfceTasklist *tasklist);
void xfce_tasklist_set_include_all_workspaces(XfceTasklist *tasklist, bool all_workspaces);
void xfce_tasklist_set_include_all_monitors(XfceTasklist *tasklist, bool all_monitors);
void xfce_tasklist_set_button_relief(XfceTasklist *tasklist, GtkReliefStyle button_relief);
void xfce_tasklist_set_show_labels(XfceTasklist *tasklist, bool show_labels);
void xfce_tasklist_set_show_only_minimized(XfceTasklist *tasklist, bool only_minimized);
void xfce_tasklist_set_show_wireframes(XfceTasklist *tasklist, bool show_wireframes);
void xfce_tasklist_set_grouping(XfceTasklist *tasklist, XfceTasklistGrouping grouping);
void xfce_tasklist_set_label_decorations(XfceTasklist *tasklist, bool label_decorations);
void xfce_tasklist_update_edge(XfceTasklist *tasklist, GtkPositionType edge);
G_END_DECLS
#endif /* !__XFCE_TASKLIST_H__ */
|