Xfce Wiki

Sub domains
 

This is an old revision of the document!


Vala Bindings

Vala bindings can be downloaded at http://archive.xfce.org/src/bindings/xfce4-vala.

Git repository is available at http://git.xfce.org/bindings/xfce4-vala.

Automatic generated VAPI files are available in the directory http://git.xfce.org/bindings/xfce4-vala/tree/vapi, they are self explanatory.

libxfce4util

The generated VAPI file covers for these headers:

libxfce4util-config.h
xfce-generics.h
xfce-i18n.h
xfce-license.h
xfce-miscutils.h
xfce-posix-signal-handler.h
xfce-rc.h
xfce-resource.h
xfce-utf8.h

RC

  • Xfce.Rc: constructable class
    • new: xfce_rc_simple_open()
    • new_from_resource: xfce_rc_config_open()
    • destroy: xfce_rc_close()

Resource

xfce-resource.h excluded, custom VAPI.

  • Xfce.Resource: class with static methods
    • deprecate XfceMatchFunc, match_custom, pop_path, push_path
  • Xfce.ResourceType.*: XFCE_RESOURCE_TYPE_* enum

Signal Handling

xfce-posix-signal-handler.h excluded, custom VAPI.

  • Xfce.PosixSignalHandler: class with static methods
    • Xfce.PosixSignalHandler.Callback: callback for set_handler function

i18n

xfce-i18n.h excluded, custom VAPI.

  • Xfce.textdomain: xfce_textdomain
    • convenience function on top of the bindtextdomain and textdomain functions, all other related functions to libxfce4util/xfce-i18n.h are deprecated

Deprecated

  • Debug (xfce-debug.h)
    • Use GLib.debug instead, it prints the line number of the Vala source file
  • File Utilities (xfce-fileutils.h)
    • Xfce.mkdirhier: use GLib.mkdir_with_parents instead
  • Kiosk Mode (xfce-kiosk.h)
    • Xfconf provides possibility to lock capabilities (see perchannel-xml.txt)
    • Use Xfconf.Channel.is_property_locked instead

garcon

The generated VAPI file covers for these headers:

garcon-config.h
garcon-environment.h
garcon-marshal.h
garcon-menu-directory.h
garcon-menu-element.h
garcon-menu.h
garcon-menu-item-cache.h
garcon-menu-item.h
garcon-menu-item-pool.h
garcon-menu-merger.h
garcon-menu-node.h
garcon-menu-parser.h
garcon-menu-separator.h
garcon-menu-tree-provider.h

Hide two methods requires_terminal() and supports_startup_notification(), they are handled as get/set properties and conflict with the getter method name.

xfconf

The generated VAPI file covers for these headers:

xfconf-binding.h
xfconf-channel.h
xfconf-errors.h
xfconf.h

  • Custom VAPI for Xfconf.init in order to throw Xfconf.Error instead of GLib.Error
  • Xfconf.Property: class with static methods (bind, unbind)
  • Drop functions that take a va_list
  • Drop functions that take or return a GPtrArray
  • int16 GType is not implemented (source xfconf-types.h excluded)

libxfce4ui

The generated VAPI file covers for these headers:

libxfce4ui-config.h
libxfce4ui-enum-types.h
xfce-dialogs.h
xfce-gdk-extensions.h
xfce-gtk-extensions.h
xfce-sm-client.h
xfce-spawn.h
xfce-titled-dialog.h

exo

  • move extension functions to the class Exo.Extensions
  • move md5 digest functions that don't start with exo_md5_digest_* to the class Exo.Md5Digest
  • move exo_str_get_md5_str function into the class Exo.Md5
  • move exo_url_* functions to the class Exo.Url
  • move functions from execute.h to the class Exo.Execute
  • rename signal names duplicated with method names:
    • exo_icon_view_item_activated() ⇒ exo_icon_view_activate_item()
    • ExoIconView::select_all ⇒ all_selected
    • ExoIconView::unselect_all ⇒ all_unselected
    • ExoToolbarsModel::get_item_data ⇒ item_data
    • ExoToolbarsModel::get_item_id ⇒ item_id
    • ExoToolbarsModel::get_item_type ⇒ item_type