====== Vala Bindings ====== Xfce4 Vala provides bindings for the Xfce framework. [[http://live.gnome.org/Vala|Vala]] is a new programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C. * [[http://archive.xfce.org/src/bindings/xfce4-vala|Xfce4-vala download archive]] * [[http://git.xfce.org/bindings/xfce4-vala|Git repository]] The automatic generated VAPI files are available in the [[http://git.xfce.org/bindings/xfce4-vala/tree/vapi|vapi]] subdirectory, those are usually self-explanatory. ===== libxfce4util ===== The generated VAPI file covers 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 [[http://git.xfce.org/xfce/xfconf/tree/docs/spec/perchannel-xml.txt|perchannel-xml.txt]]) * Use Xfconf.Channel.is_property_locked instead ===== garcon ===== The generated VAPI file covers 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 ==== MenuItem ==== 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 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 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 ===== The generated VAPI file covers these headers: exo-binding.h \\ exo-cell-renderer-ellipsized-text.h \\ exo-cell-renderer-icon.h \\ exo-config.h \\ exo-enum-types.h \\ exo-execute.h \\ exo-gdk-pixbuf-extensions.h \\ exo-gobject-extensions.h \\ exo-gtk-extensions.h \\ exo-icon-bar.h \\ exo-icon-chooser-dialog.h \\ exo-icon-view.h \\ exo-job.h \\ exo-simple-job.h \\ exo-string.h \\ exo-toolbars-editor-dialog.h \\ exo-toolbars-editor.h \\ exo-toolbars-model.h \\ exo-toolbars-view.h \\ exo-tree-view.h \\ exo-wrap-table.h \\ exo-xsession-client.h ==== Static Classes ==== //exo-gobject-extensions.h exo-gdk-pixbuf-extensions.h exo-gtk-extensions.h excluded, custom VAPI.// * **Exo.Extensions**: class with static methods (exo_g_value_*, exo_gdk_pixbuf_*, exo_gtk_*) * Moved all related functions to extensions provided by exo (gobject, gdk-pixbuf, gtk) into this class //exo-execute.h excluded, custom VAPI.// * **Exo.Execute**: class with static methods (exo_execute_*) //exo-string.h excluded, custom VAPI.// * **Exo.String**: class with static methods (exo_str*) ==== Name Conflicts ==== * 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 ==== Excluded ==== * Utils (exo-utils.h) ===== libxfce4panel ===== The generated VAPI file covers these headers: libxfce4panel-config.h \\ libxfce4panel-enums.h \\ libxfce4panel-enum-types.h \\ xfce-arrow-button.h \\ xfce-hvbox.h \\ xfce-panel-convenience.h \\ xfce-panel-image.h \\ xfce-panel-macros.h \\ xfce-panel-plugin.h \\ xfce-panel-plugin-provider.h ==== Excluded ==== * Xfce 4.6 macros (xfce-panel-macros-46.h)