~ubuntu-branches/ubuntu/wily/gpaste/wily

« back to all changes in this revision

Viewing changes to src/libgpaste/gnome-shell-client/gpaste-gnome-shell-client.h

  • Committer: Package Import Robot
  • Author(s): Jérémy Lal
  • Date: 2015-06-19 11:05:16 UTC
  • mfrom: (6.1.4 sid)
  • Revision ID: package-import@ubuntu.com-20150619110516-h53wz9xi9i4k3smb
Tags: 3.16.2.1-1
* Imported Upstream version 3.16.2.1 (Closes: #789255)
* gpaste-applet does not need a manpage - upstream dropped it
* Build-Depends gtk >= 3.16
* Depends gnome-shell >= 3.16
* Major API changes, bump soname to 3 

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 *      along with GPaste.  If not, see <http://www.gnu.org/licenses/>.
18
18
 */
19
19
 
 
20
#if !defined (__G_PASTE_H_INSIDE__) && !defined (G_PASTE_COMPILATION)
 
21
#error "Only <gpaste.h> can be included directly."
 
22
#endif
 
23
 
20
24
#ifndef __G_PASTE_GNOME_SHELL_CLIENT_H__
21
25
#define __G_PASTE_GNOME_SHELL_CLIENT_H__
22
26
 
26
30
 
27
31
#define G_PASTE_GNOME_SHELL_BUS_NAME "org.gnome.Shell"
28
32
 
29
 
/* ShellKeyBindingMode stolen from gnome-shell */
 
33
/* ShellActionMode stolen from gnome-shell */
30
34
/**
31
 
 * GPasteGnomeShellKeyBindingMode:
32
 
 * @G_PASTE_GNOME_SHELL_KEYBINDING_MODE_NONE: block keybinding
33
 
 * @G_PASTE_GNOME_SHELL_KEYBINDING_MODE_NORMAL: allow keybinding when in window mode,
 
35
 * GPasteGnomeShellActionMode:
 
36
 * @G_PASTE_GNOME_SHELL_ACTION_MODE_NONE: block action
 
37
 * @G_PASTE_GNOME_SHELL_ACTION_MODE_NORMAL: allow action when in window mode,
34
38
 *     e.g. when the focus is in an application window
35
 
 * @G_PASTE_GNOME_SHELL_KEYBINDING_MODE_OVERVIEW: allow keybinding while the overview
 
39
 * @G_PASTE_GNOME_SHELL_ACTION_MODE_OVERVIEW: allow action while the overview
36
40
 *     is active
37
 
 * @G_PASTE_GNOME_SHELL_KEYBINDING_MODE_LOCK_SCREEN: allow keybinding when the screen
 
41
 * @G_PASTE_GNOME_SHELL_ACTION_MODE_LOCK_SCREEN: allow action when the screen
38
42
 *     is locked, e.g. when the screen shield is shown
39
 
 * @G_PASTE_GNOME_SHELL_KEYBINDING_MODE_UNLOCK_SCREEN: allow keybinding in the unlock
 
43
 * @G_PASTE_GNOME_SHELL_ACTION_MODE_UNLOCK_SCREEN: allow action in the unlock
40
44
 *     dialog
41
 
 * @G_PASTE_GNOME_SHELL_KEYBINDING_MODE_LOGIN_SCREEN: allow keybinding in the login screen
42
 
 * @G_PASTE_GNOME_SHELL_KEYBINDING_MODE_MESSAGE_TRAY: allow keybinding while the message
43
 
 *     tray is popped up
44
 
 * @G_PASTE_GNOME_SHELL_KEYBINDING_MODE_SYSTEM_MODAL: allow keybinding when a system modal
 
45
 * @G_PASTE_GNOME_SHELL_ACTION_MODE_LOGIN_SCREEN: allow action in the login screen
 
46
 * @G_PASTE_GNOME_SHELL_ACTION_MODE_SYSTEM_MODAL: allow action when a system modal
45
47
 *     dialog (e.g. authentification or session dialogs) is open
46
 
 * @G_PASTE_GNOME_SHELL_KEYBINDING_MODE_LOOKING_GLASS: allow keybinding in looking glass
47
 
 * @G_PASTE_GNOME_SHELL_KEYBINDING_MODE_TOPBAR_POPUP: allow keybinding while a top bar menu
48
 
 *     is open
49
 
 * @G_PASTE_GNOME_SHELL_KEYBINDING_MODE_ALL: always allow keybinding
 
48
 * @G_PASTE_GNOME_SHELL_ACTION_MODE_LOOKING_GLASS: allow action in looking glass
 
49
 * @G_PASTE_GNOME_SHELL_ACTION_MODE_POPUP: allow action while a shell menu is open
 
50
 * @G_PASTE_GNOME_SHELL_ACTION_MODE_ALL: always allow action
50
51
 *
51
 
 * Controls in which GNOME Shell states a keybinding should be handled.
 
52
 * Controls in which GNOME Shell states an action (like keybindings and gestures)
 
53
 * should be handled.
52
54
*/
53
55
typedef enum {
54
 
  G_PASTE_GNOME_SHELL_KEYBINDING_MODE_NONE          = 0,
55
 
  G_PASTE_GNOME_SHELL_KEYBINDING_MODE_NORMAL        = 1 << 0,
56
 
  G_PASTE_GNOME_SHELL_KEYBINDING_MODE_OVERVIEW      = 1 << 1,
57
 
  G_PASTE_GNOME_SHELL_KEYBINDING_MODE_LOCK_SCREEN   = 1 << 2,
58
 
  G_PASTE_GNOME_SHELL_KEYBINDING_MODE_UNLOCK_SCREEN = 1 << 3,
59
 
  G_PASTE_GNOME_SHELL_KEYBINDING_MODE_LOGIN_SCREEN  = 1 << 4,
60
 
  G_PASTE_GNOME_SHELL_KEYBINDING_MODE_MESSAGE_TRAY  = 1 << 5,
61
 
  G_PASTE_GNOME_SHELL_KEYBINDING_MODE_SYSTEM_MODAL  = 1 << 6,
62
 
  G_PASTE_GNOME_SHELL_KEYBINDING_MODE_LOOKING_GLASS = 1 << 7,
63
 
  G_PASTE_GNOME_SHELL_KEYBINDING_MODE_TOPBAR_POPUP  = 1 << 8,
64
 
 
65
 
  G_PASTE_GNOME_SHELL_KEYBINDING_MODE_ALL = ~0,
66
 
} GPasteGnomeShellKeyBindingMode;
67
 
 
68
 
#define G_PASTE_TYPE_GNOME_SHELL_CLIENT            (g_paste_gnome_shell_client_get_type ())
69
 
#define G_PASTE_GNOME_SHELL_CLIENT(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_PASTE_TYPE_GNOME_SHELL_CLIENT, GPasteGnomeShellClient))
70
 
#define G_PASTE_IS_GNOME_SHELL_CLIENT(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_PASTE_TYPE_GNOME_SHELL_CLIENT))
71
 
#define G_PASTE_GNOME_SHELL_CLIENT_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), G_PASTE_TYPE_GNOME_SHELL_CLIENT, GPasteGnomeShellClientClass))
72
 
#define G_PASTE_IS_GNOME_SHELL_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), G_PASTE_TYPE_GNOME_SHELL_CLIENT))
73
 
#define G_PASTE_GNOME_SHELL_CLIENT_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), G_PASTE_TYPE_GNOME_SHELL_CLIENT, GPasteGnomeShellClientClass))
74
 
 
75
 
typedef struct _GPasteGnomeShellClient GPasteGnomeShellClient;
76
 
typedef struct _GPasteGnomeShellClientClass GPasteGnomeShellClientClass;
 
56
  G_PASTE_GNOME_SHELL_ACTION_MODE_NONE          = 0,
 
57
  G_PASTE_GNOME_SHELL_ACTION_MODE_NORMAL        = 1 << 0,
 
58
  G_PASTE_GNOME_SHELL_ACTION_MODE_OVERVIEW      = 1 << 1,
 
59
  G_PASTE_GNOME_SHELL_ACTION_MODE_LOCK_SCREEN   = 1 << 2,
 
60
  G_PASTE_GNOME_SHELL_ACTION_MODE_UNLOCK_SCREEN = 1 << 3,
 
61
  G_PASTE_GNOME_SHELL_ACTION_MODE_LOGIN_SCREEN  = 1 << 4,
 
62
  G_PASTE_GNOME_SHELL_ACTION_MODE_SYSTEM_MODAL  = 1 << 5,
 
63
  G_PASTE_GNOME_SHELL_ACTION_MODE_LOOKING_GLASS = 1 << 6,
 
64
  G_PASTE_GNOME_SHELL_ACTION_MODE_POPUP         = 1 << 7,
 
65
 
 
66
  G_PASTE_GNOME_SHELL_ACTION_MODE_ALL = ~0,
 
67
} GPasteGnomeShellActionMode;
 
68
 
 
69
#define G_PASTE_TYPE_GNOME_SHELL_CLIENT (g_paste_gnome_shell_client_get_type ())
77
70
 
78
71
typedef struct
79
72
{
80
 
    const gchar                   *accelerator;
81
 
    GPasteGnomeShellKeyBindingMode flags;
 
73
    const gchar               *accelerator;
 
74
    GPasteGnomeShellActionMode flags;
82
75
} GPasteGnomeShellAccelerator;
83
76
 
84
 
#define G_PASTE_GNOME_SHELL_ACCELERATOR(accelerator) ((GPasteGnomeShellAccelerator) {accelerator, G_PASTE_GNOME_SHELL_KEYBINDING_MODE_ALL})
 
77
#define G_PASTE_GNOME_SHELL_ACCELERATOR(accelerator) ((GPasteGnomeShellAccelerator) {accelerator, G_PASTE_GNOME_SHELL_ACTION_MODE_ALL})
85
78
 
86
 
G_PASTE_VISIBLE
87
 
GType g_paste_gnome_shell_client_get_type (void);
 
79
G_PASTE_FINAL_TYPE (GnomeShellClient, gnome_shell_client, GNOME_SHELL_CLIENT, GDBusProxy)
88
80
 
89
81
/*******************/
90
82
/* Methods /  Sync */