Main Page | Directories | File List | File Members

hn-wm-types.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 HILDON_NAVIGATOR_WM_TYPES_H
00031 #define HILDON_NAVIGATOR_WM_TYPES_H
00032 
00033 enum
00034 {
00035   HN_ATOM_WM_CLASS,
00036   HN_ATOM_WM_NAME,
00037   HN_ATOM_WM_STATE,
00038   HN_ATOM_WM_TRANSIENT_FOR,
00039   HN_ATOM_WM_HINTS,
00040   HN_ATOM_WM_WINDOW_ROLE,
00041   
00042   HN_ATOM_NET_WM_WINDOW_TYPE,
00043   HN_ATOM_NET_WM_WINDOW_TYPE_MENU,
00044   HN_ATOM_NET_WM_WINDOW_TYPE_NORMAL,
00045   HN_ATOM_NET_WM_WINDOW_TYPE_DIALOG,
00046   HN_ATOM_NET_WM_WINDOW_TYPE_DESKTOP,
00047   HN_ATOM_NET_WM_STATE,
00048   HN_ATOM_NET_WM_STATE_MODAL,
00049   HN_ATOM_NET_SHOWING_DESKTOP,
00050   HN_ATOM_NET_WM_PID,
00051   HN_ATOM_NET_ACTIVE_WINDOW,
00052   HN_ATOM_NET_CLIENT_LIST,
00053   HN_ATOM_NET_WM_ICON,
00054   HN_ATOM_NET_WM_USER_TIME,
00055   HN_ATOM_NET_WM_NAME,
00056   HN_ATOM_NET_CLOSE_WINDOW,
00057   HN_ATOM_NET_WM_STATE_FULLSCREEN,
00058   
00059   HN_ATOM_HILDON_APP_KILLABLE,
00060   HN_ATOM_HILDON_ABLE_TO_HIBERNATE,
00061   HN_ATOM_HILDON_VIEW_LIST,
00062   HN_ATOM_HILDON_VIEW_ACTIVE,
00063   HN_ATOM_HILDON_FROZEN_WINDOW,
00064   HN_ATOM_HILDON_TN_ACTIVATE,
00065 
00066   HN_ATOM_MB_WIN_SUB_NAME,
00067   HN_ATOM_MB_COMMAND,
00068   HN_ATOM_MB_CURRENT_APP_WINDOW,
00069   HN_ATOM_MB_APP_WINDOW_LIST_STACKING,
00070   HN_ATOM_MB_NUM_MODAL_WINDOWS_PRESENT,
00071 
00072   HN_ATOM_UTF8_STRING,
00073 
00074   HN_ATOM_COUNT
00075 };
00076 
00077 enum
00078 {
00079   HN_TN_ACTIVATE_KEY_FOCUS        = 0,
00080   HN_TN_ACTIVATE_MAIN_MENU        = 1,
00081   HN_TN_ACTIVATE_OTHERS_MENU      = 2,
00082   HN_TN_ACTIVATE_PLUGIN1_MENU     = 3,
00083   HN_TN_ACTIVATE_PLUGIN2_MENU     = 4,
00084   HN_TN_ACTIVATE_LAST_APP_WINDOW  = 5,
00085   HN_TN_DEACTIVATE_KEY_FOCUS      = 6,
00086   
00087   HN_TN_ACTIVATE_LAST             = 7
00088 };
00089 
00090 
00091 /* 
00092  *  HNWMWatchableApp instances are created from .desktop files and through
00093  *  key values represent windows that are valid for watching/tracking via 
00094  *  the HN.
00095  */
00096 typedef struct HNWMWatchableApp      HNWMWatchableApp;
00097 
00098 /* A HNWMWatchedWindow is a running watched / tracked instance of a window 
00099  * that references a valid HNWMWatchableApp. A watched window *may* contain
00100  * a list of views ( see below ). 
00101  */
00102 typedef struct HNWMWatchedWindow     HNWMWatchedWindow;
00103 
00104 /* A HNWMWatchedWindowView is a window in a window of a watched window,
00105  * but to WM it appears as a *single* window, yet to HN as multiples via
00106  * having a _NET_CLIENT_LIST and _NET_ACTIVE_ID set on *it* rather than 
00107  * the usual root window.
00108  */
00109 typedef struct HNWMWatchedWindowView HNWMWatchedWindowView;
00110 
00111 /* callbacks for external application switch code - actual menu updates */
00112 typedef struct HNWMCallbacks         HNWMCallbacks;
00113 
00114 /* Used to pass data to launch banner timeout callback */
00115 typedef struct HNWMLaunchBannerInfo  HNWMLaunchBannerInfo;
00116 
00117 typedef struct _HNAppSwitcher HNAppSwitcher;
00118 
00119 typedef struct _HNEntryInfo HNEntryInfo;
00120 
00121 #endif

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