xpra icon
Bug tracker and wiki

Ticket #476: dbusmenu.patch

File dbusmenu.patch, 5.8 KB (added by Antoine Martin, 3 years ago)

only a small portion of the headers... and far too many functions already

  • setup.py

     
    15881588                    ["xpra/x11/gtk_x11/gdk_bindings.pyx"],
    15891589                    **pkgconfig(*GDK_BINDINGS_PACKAGES)
    15901590                    ))
     1591        cython_add(Extension("xpra.x11.gtk_x11.global_menu",
     1592                    ["xpra/x11/gtk_x11/global_menu.pyx"],
     1593                    **pkgconfig("dbusmenu-gtk-0.4", "dbusmenu-glib-0.4", "glib-2.0")
     1594                    ))
    15911595
    15921596
    15931597add_packages("xpra.codecs.argb")
  • xpra/x11/gtk_x11/global_menu.pyx

     
     1# This file is part of Xpra.
     2# Copyright (C) 2014 Antoine Martin <antoine@devloop.org.uk>
     3# Xpra is released under the terms of the GNU GPL v2, or, at your option, any
     4# later version. See the file COPYING for details.
     5
     6import os
     7import time
     8import gobject
     9
     10from xpra.log import Logger
     11log = Logger("gtk", "x11")
     12
     13
     14cdef extern from "libdbusmenu-glib/types.h":
     15    pass
     16
     17cdef extern from "glibconfig.h":
     18    ctypedef unsigned long gsize
     19
     20cdef extern from "glib/gtypes.h":
     21    ctypedef int            gint
     22    ctypedef unsigned int   guint
     23    ctypedef unsigned long  gulong   
     24    ctypedef gint           gboolean
     25    ctypedef char           gchar
     26    ctypedef unsigned char  guchar
     27    ctypedef void*          gpointer
     28
     29cdef extern from "glib/ghash.h":
     30    ctypedef struct GHashTable:
     31        pass
     32
     33cdef extern from "glib-object.h":
     34    #ctypedef gulong         GType
     35    ctypedef gsize          GType
     36
     37cdef extern from "glib/gvariant.h":
     38    ctypedef struct GVariant:
     39        pass
     40
     41cdef extern from "glib/glist.h":
     42    ctypedef struct GList:
     43        pass
     44
     45cdef extern from "glib-2.0/glib.h":
     46    pass
     47
     48cdef extern from "libdbusmenu-glib/menuitem.h":
     49    ctypedef struct DbusmenuMenuitem:
     50        pass
     51    #typedef void (*dbusmenu_menuitem_about_to_show_cb) (DbusmenuMenuitem * mi, gpointer user_data);
     52    #typedef GVariant * (*dbusmenu_menuitem_buildvariant_slot_t) (DbusmenuMenuitem * mi, gchar ** properties);
     53    ctypedef struct DbusmenuMenuitemClass:
     54        pass
     55
     56    DbusmenuMenuitem * dbusmenu_menuitem_new ()
     57    DbusmenuMenuitem * dbusmenu_menuitem_new_with_id (gint id)
     58    gint dbusmenu_menuitem_get_id (DbusmenuMenuitem * mi)
     59
     60    GList * dbusmenu_menuitem_get_children (DbusmenuMenuitem * mi)
     61    GList * dbusmenu_menuitem_take_children (DbusmenuMenuitem * mi)
     62    guint dbusmenu_menuitem_get_position (DbusmenuMenuitem * mi, DbusmenuMenuitem * parent)
     63    guint dbusmenu_menuitem_get_position_realized (DbusmenuMenuitem * mi, DbusmenuMenuitem * parent)
     64
     65    gboolean dbusmenu_menuitem_child_append (DbusmenuMenuitem * mi, DbusmenuMenuitem * child)
     66    gboolean dbusmenu_menuitem_child_prepend (DbusmenuMenuitem * mi, DbusmenuMenuitem * child)
     67    gboolean dbusmenu_menuitem_child_delete (DbusmenuMenuitem * mi, DbusmenuMenuitem * child)
     68    gboolean dbusmenu_menuitem_child_add_position (DbusmenuMenuitem * mi, DbusmenuMenuitem * child, guint position)
     69    gboolean dbusmenu_menuitem_child_reorder (DbusmenuMenuitem * mi, DbusmenuMenuitem * child, guint position)
     70    DbusmenuMenuitem * dbusmenu_menuitem_child_find (DbusmenuMenuitem * mi, gint id)
     71    DbusmenuMenuitem * dbusmenu_menuitem_find_id (DbusmenuMenuitem * mi, gint id)
     72
     73    gboolean dbusmenu_menuitem_set_parent (DbusmenuMenuitem * mi, DbusmenuMenuitem * parent)
     74    gboolean dbusmenu_menuitem_unparent (DbusmenuMenuitem *mi)
     75    DbusmenuMenuitem * dbusmenu_menuitem_get_parent (DbusmenuMenuitem * mi)
     76
     77    gboolean dbusmenu_menuitem_property_set (DbusmenuMenuitem * mi, const gchar * property, const gchar * value)
     78    gboolean dbusmenu_menuitem_property_set_variant (DbusmenuMenuitem * mi, const gchar * property, GVariant * value)
     79    gboolean dbusmenu_menuitem_property_set_bool (DbusmenuMenuitem * mi, const gchar * property, const gboolean value)
     80    gboolean dbusmenu_menuitem_property_set_int (DbusmenuMenuitem * mi, const gchar * property, const gint value)
     81    gboolean dbusmenu_menuitem_property_set_byte_array (DbusmenuMenuitem * mi, const gchar * property, const guchar * value, gsize nelements)
     82    const gchar * dbusmenu_menuitem_property_get (const DbusmenuMenuitem * mi, const gchar * property)
     83    GVariant * dbusmenu_menuitem_property_get_variant (const DbusmenuMenuitem * mi, const gchar * property)
     84    gboolean dbusmenu_menuitem_property_get_bool (const DbusmenuMenuitem * mi, const gchar * property)
     85    gint dbusmenu_menuitem_property_get_int (const DbusmenuMenuitem * mi, const gchar * property)
     86    const guchar * dbusmenu_menuitem_property_get_byte_array (const DbusmenuMenuitem * mi, const gchar * property, gsize * nelements)
     87    gboolean dbusmenu_menuitem_property_exist (const DbusmenuMenuitem * mi, const gchar * property)
     88    GList * dbusmenu_menuitem_properties_list (DbusmenuMenuitem * mi)
     89    GHashTable * dbusmenu_menuitem_properties_copy (DbusmenuMenuitem * mi)
     90    void dbusmenu_menuitem_property_remove (DbusmenuMenuitem * mi, const gchar * property)
     91
     92    void dbusmenu_menuitem_set_root (DbusmenuMenuitem * mi, gboolean root)
     93    gboolean dbusmenu_menuitem_get_root (DbusmenuMenuitem * mi)
     94
     95    void dbusmenu_menuitem_foreach (DbusmenuMenuitem * mi, void (*func) (DbusmenuMenuitem * mi, gpointer data), gpointer data)
     96    void dbusmenu_menuitem_handle_event (DbusmenuMenuitem * mi, const gchar * name, GVariant * variant, guint timestamp)
     97    void dbusmenu_menuitem_send_about_to_show (DbusmenuMenuitem * mi, void (*cb) (DbusmenuMenuitem * mi, gpointer user_data), gpointer cb_data)
     98
     99    void dbusmenu_menuitem_show_to_user (DbusmenuMenuitem * mi, guint timestamp)
     100