Main Page | Directories | File List | File Members

hn-wm-watched-window.h

00001 /* -*- mode:C; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
00002 
00003 /* 
00004  * This file is part of maemo-af-desktop
00005  *
00006  * Copyright (C) 2005, 2006 Nokia Corporation.
00007  *
00008  * Contact: Karoliina Salminen <karoliina.t.salminen@nokia.com>
00009  *
00010  * This library is free software; you can redistribute it and/or
00011  * modify it under the terms of the GNU Lesser General Public License
00012  * version 2.1 as published by the Free Software Foundation.
00013  *
00014  * This library is distributed in the hope that it will be useful, but
00015  * WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00017  * Lesser General Public License for more details.
00018  *
00019  * You should have received a copy of the GNU Lesser General Public
00020  * License along with this library; if not, write to the Free Software
00021  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
00022  * 02110-1301 USA
00023  *
00024  */
00025 
00030 #ifndef HAVE_HN_WM_WATCHED_WINDOW_H
00031 #define HAVE_HN_WM_WATCHED_WINDOW_H
00032 
00033 #include "hn-wm.h"
00034 #include "hn-wm-util.h"
00035 #include "hn-wm-types.h"
00036 
00037 /* For watched_window_sync(), should go in enum */
00038 
00039 #define HN_WM_SYNC_NAME                (1<<1)
00040 #define HN_WM_SYNC_BIN_NAME            (1<<2)
00041 #define HN_WM_SYNC_WMHINTS             (1<<3)
00042 #define HN_WM_SYNC_TRANSIANT           (1<<4)
00043 #define HN_WM_SYNC_HILDON_APP_KILLABLE (1<<5)
00044 #define HN_WM_SYNC_WM_STATE            (1<<6)
00045 #define HN_WM_SYNC_HILDON_VIEW_LIST    (1<<7)
00046 #define HN_WM_SYNC_HILDON_VIEW_ACTIVE  (1<<8)
00047 #define HN_WM_SYNC_ICON                (1<<9)
00048 #define HN_WM_SYNC_USER_TIME           (1<<10)
00049 #define HN_WM_SYNC_WINDOW_ROLE         (1<<11)
00050 #define HN_WM_SYNC_ALL                 (G_MAXULONG)
00051 
00052 /* Application relaunch indicator data*/
00053 #define RESTORED "restored"
00054 
00055 HNWMWatchedWindow*
00056 hn_wm_watched_window_new (Window            xid,
00057               HNWMWatchableApp *app);
00058 gboolean
00059 hn_wm_watched_window_props_sync (HNWMWatchedWindow *win, gulong props);
00060 
00061 HNWMWatchableApp*
00062 hn_wm_watched_window_get_app (HNWMWatchedWindow *win);
00063 
00064 Window
00065 hn_wm_watched_window_get_x_win (HNWMWatchedWindow *win);
00066 
00067 void
00068 hn_wm_watched_window_reset_x_win (HNWMWatchedWindow * win);
00069 
00070 gboolean
00071 hn_wm_watched_window_is_urgent (HNWMWatchedWindow *win);
00072 
00073 gboolean
00074 hn_wm_watched_window_wants_no_initial_focus (HNWMWatchedWindow *win);
00075 
00076 const gchar*
00077 hn_wm_watched_window_get_name (HNWMWatchedWindow *win);
00078 
00079 const gchar*
00080 hn_wm_watched_window_get_sub_name (HNWMWatchedWindow *win);
00081 
00082 void
00083 hn_wm_watched_window_set_name (HNWMWatchedWindow *win,
00084                    const gchar       *name);
00085 
00086 void
00087 hn_wm_watched_window_set_gdk_wrapper_win (HNWMWatchedWindow *win,
00088                                           GdkWindow         *wrapper_win);
00089 
00090 GdkWindow *
00091 hn_wm_watched_window_get_gdk_wrapper_win (HNWMWatchedWindow *win);
00092 
00093 const gchar*
00094 hn_wm_watched_window_get_hibernation_key (HNWMWatchedWindow *win);
00095 
00096 
00097 GtkWidget*
00098 hn_wm_watched_window_get_menu (HNWMWatchedWindow *win);
00099 
00100 void
00101 hn_wm_watched_window_set_menu (HNWMWatchedWindow *win,
00102                    GtkWidget         *menu);
00103 
00104 /* Note, returns a copy of pixbuf will need freeing */
00105 GdkPixbuf*
00106 hn_wm_watched_window_get_custom_icon (HNWMWatchedWindow *win);
00107 
00108 GList*
00109 hn_wm_watched_window_get_views (HNWMWatchedWindow *win);
00110 
00111 gint
00112 hn_wm_watched_window_get_n_views (HNWMWatchedWindow *win);
00113 
00114 void
00115 hn_wm_watched_window_add_view (HNWMWatchedWindow     *win,
00116                    HNWMWatchedWindowView *view);
00117 
00118 void
00119 hn_wm_watched_window_remove_view (HNWMWatchedWindow     *win,
00120                   HNWMWatchedWindowView *view);
00121 void
00122 hn_wm_watched_window_set_active_view (HNWMWatchedWindow     *win,
00123                       HNWMWatchedWindowView *view);
00124 
00125 HNWMWatchedWindowView*
00126 hn_wm_watched_window_get_active_view (HNWMWatchedWindow     *win);
00127 
00128 gboolean
00129 hn_wm_watched_window_attempt_signal_kill (HNWMWatchedWindow *win,
00130                                           int sig,
00131                                           gboolean ensure);
00132 
00133 gboolean
00134 hn_wm_watched_window_is_hibernating (HNWMWatchedWindow *win);
00135 
00136 void
00137 hn_wm_watched_window_awake (HNWMWatchedWindow *win);
00138 
00139 void
00140 hn_wm_watched_window_destroy (HNWMWatchedWindow *win);
00141 
00142 void
00143 hn_wm_ping_timeout( HNWMWatchedWindow *win );
00144 
00145 void
00146 hn_wm_ping_timeout_cancel( HNWMWatchedWindow *win );
00147 
00148 void
00149 hn_wm_watched_window_close (HNWMWatchedWindow *win);
00150 
00151 void
00152 hn_wm_watched_window_set_info (HNWMWatchedWindow *win,
00153                    HNEntryInfo       *info);
00154 
00155 HNEntryInfo *
00156 hn_wm_watched_window_peek_info (HNWMWatchedWindow *win);
00157 
00158 HNEntryInfo *
00159 hn_wm_watched_window_create_new_info (HNWMWatchedWindow *win);
00160 
00161 void
00162 hn_wm_watched_window_destroy_info (HNWMWatchedWindow *win);
00163 
00164 gboolean
00165 hn_wm_watched_window_is_active (HNWMWatchedWindow *win);
00166 
00167 #endif

Generated on Thu Dec 21 11:26:51 2006 for maemo-af-desktop-documentation by  doxygen 1.4.2