2009-10-15 23:28:29 +00:00
|
|
|
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
|
|
#ifndef __SHELL_APP_PRIVATE_H__
|
|
|
|
#define __SHELL_APP_PRIVATE_H__
|
|
|
|
|
|
|
|
#include "shell-app.h"
|
|
|
|
#include "shell-app-system.h"
|
|
|
|
|
2010-10-06 21:30:30 +00:00
|
|
|
#define SN_API_NOT_YET_FROZEN 1
|
|
|
|
#include <libsn/sn.h>
|
|
|
|
|
2009-10-15 23:28:29 +00:00
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
|
|
|
ShellAppInfo *_shell_app_get_info (ShellApp *app);
|
|
|
|
|
|
|
|
ShellApp* _shell_app_new_for_window (MetaWindow *window);
|
|
|
|
|
|
|
|
ShellApp* _shell_app_new (ShellAppInfo *appinfo);
|
|
|
|
|
2010-10-06 21:30:30 +00:00
|
|
|
void _shell_app_handle_startup_sequence (ShellApp *app, SnStartupSequence *sequence);
|
Major ShellApp API cleanup, startup notification, window focus handling
This patch combines several high level changes which are conceptually
independent but in practice rather intertwined.
* Add a "state" property to ShellApp which reflects whether it's
stopped, starting, or started. This will allow us to later clean
up all the callers that are using ".get_windows().length > 0" as
a proxy for this property
* Replace shell_app_launch with shell_app_activate and shell_app_open_new_window
A lot of code was calling .launch, but it's signficantly clearer
if we call this ".open_new_window()", and later if we gain the ability
to call into an application's menu, we can implement this correctly rather
than trying to update all .launch callers.
* Because ShellApp now has a "starting" state, rebase panel.js on top of
this so that when we get a startup-notification sequence for an app
and transition it to starting, it becomes the focus app, and panel.js
cleanly just tracks the focus app, rather than bouncing between SN
sequences. This removes display of non-app startup sequences, which
I consider an acceptable action in light of the committed changes
to startup-notification and GTK+.
https://bugzilla.gnome.org/show_bug.cgi?id=614755
2010-04-03 18:07:44 +00:00
|
|
|
|
2009-10-15 23:28:29 +00:00
|
|
|
void _shell_app_add_window (ShellApp *app, MetaWindow *window);
|
|
|
|
|
|
|
|
void _shell_app_remove_window (ShellApp *app, MetaWindow *window);
|
|
|
|
|
|
|
|
G_END_DECLS
|
|
|
|
|
|
|
|
#endif /* __SHELL_APP_PRIVATE_H__ */
|