Xfce Wiki

Sub domains
 

This is an old revision of the document!


Vala Bindings

Milestones

First milestone 0.1. Includes bindings for libxfce4util, libxfce4menu, libxfconf, libxfcegui4, libexo, and libxfce4panel.

VAPI

Here are some remarks about the changes between the original APIs and the resulting VAPIs.

libxfce4util

The generated VAPI file covers for these headers.

libxfce4util-config.h
xfce-debug.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 functions
    • 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 functions
    • 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

  • Kiosk Mode (xfce-kiosk.h)
    • Xfconf provides possibility to lock capabilities (see perchannel-xml.txt)
    • Xfconf.Channel.is_property_locked
  • Unicode Manipulation
  • File Utilities (xfce-fileutils.h)
    • Xfce.mkdirhier: use GLib.mkdir_with_parents instead
  • Miscellaneous Utilities
  • Generics

libxfce4menu

  • rename xfce_menu_monitor_* inside the class Xfce.MenuMonitor
  • drop properties (they are all redundant with get/set functions and some of them are not implemented for instance in XfceMenuItem)

xfconf

  • rename xfconf_g_property_* inside the class Xfconf.Property
  • drop the functions that take a va_list in argument
  • drop the functions that take or return a GPtrArray
  • drop xfconf_free_array
  • int16 GType is yet to be implemented

libxfcegui4

  • XfceAppMenuItem
    • deprecate new_from_desktop_entry
  • XfceTitledDialog
    • drop redundant get/set methods
  • move functions from Fundamentals and Core inside respective classes
  • new class WidgetHelpers with two functions create_framebox and create_framebox_with_content
  • deprecate everything else

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