Panel plugin interface
Jasper Huijsmans
jasper at xfce.org
Sat Sep 11 19:50:00 CEST 2004
Maarten Boekhold wrote:
> Hi all,
>
> Yesterday I asked for information on the panel plugin interface. On the
> suggestion of 'benny' on the #xfce IRC channel, I created a list of all
> the non-static functions in the panel source files (just the 'panel'
> sub-directory).
>
> I suspect that a lot of those functions are not intended to be used by
> plugins, so I'd appreciate it if somebody could have a look at the list
> of files/functions included below, and comment on it. Perhaps mark all
> functions that are intended to be accessed by panel plugins with a '*'?
> That list could be included in the XFCE docs as a quick/dirty reference
> for plugin writers as well...
>
> I'll also try to create a list of functions that a plugin is supposed to
> provide, and post that later.
>
> Maarten
>
Ok, let's give it a try. Useful functions are marked with a *. Most
public functions are for internal panel use only.
> add-control-dialog.c:
> add-control-dialog
>
> controls.c:
* (automatically used) > xfce_plugin_check_version
> control_class_list_init
> control_class_list_cleanup
> control_class_set_unique
> control_class_set_icon
> control_class_unref
> get_control_info_list
> insert_control
> get_controls_submenu
> create_control
> control_new
> control_free
> control_pack
> control_unpack
> control_attach_callbacks
> control_set_from_xml
> control_write_xml
> control_create_options
> control_set_settings
> control_set_orientation
> control_set_size
> control_set_theme
>
> controls_dialog.c:
> controls_dialog
> destroy_controls_dialog
>
> groups.c:
> create_panel_group
> groups_init
> groups_cleanup
> groups_pack
> groups_unpack
> old_groups_set_from_xml
> groups_set_from_xml
> groups_write_xml
> groups_set_orientation
> groups_set_layer
> groups_set_size
> groups_set_popup_position
> groups_set_theme
> groups_set_arrow_direction
> groups_get_arrow_direction
> groups_get_control
> groups_get_popup
> groups_move
> groups_remove
> groups_show_popup
> groups_add_control
> groups_get_n_controls
>
> icons.c:
> icons_init
> icon_theme_init
* > themed_pixbuf_from_name_list
* > get_pixbuf_by_id
* > get_pixbuf_from_file
* > get_panel_pixbuf
* > get_scaled_pixbuf
* > get_themed_pixbuf
>
> item.c:
> item_read_config
> item_write_config
> item_free
> item_set_theme
> item_apply_config
> menu_item_new
> create_addtomenu_item
> create_menu_item
> menu_item_set_popup_size
> create_panel_item
> panel_item_class_init
>
> item_dialog.c:
> create_command_options
> destroy_command_options
> command_options_set_command
> command_options_set_callback
> command_options_get_command
> icon_entry_lost_focus
> create_icon_options
> destroy_icon_options
> icon_options_set_icon
> icon_options_set_callback
> icon_options_get_icon
> panel_item_create_options
> edit_menu_item_dialog
> add_menu_item_dialog
> destroy_menu_dialog
>
> main.c:
* > quit
* > restart
>
> mcs_client.c:
> client_event_filter
> watch_cb
> mcs_watch_xfce_channel
> mcs_stop_watch
> mcs_dialog
>
> panel.c:
> handle_new
> panel_cleanup
> create_panel
> panel_set_orientation
> panel_set_layer
> panel_set_size
> panel_set_position
> panel_set_theme
> panel_set_settings
> panel_center
> panel_set_autohide
> panel_parse_xml
> panel_write_xml
> panel_register_open_menu
> panel_block_autohide
> panel_unblock_autohide
* > panel_get_side
>
> popup.c:
> hide_current_popup_menu
> toggle_popup
> tearoff_button
> delete_popup
> popup_key_pressed
> create_panel_popup
> panel_popup_pack
> panel_popup_unpack
> panel_popup_add_item
> panel_popup_remove_item
> panel_popup_set_from_xml
> panel_popup_write_xml
> panel_popup_free
> panel_popup_set_size
> panel_popup_set_popup_position
> panel_popup_set_layer
> panel_popup_set_theme
> panel_popup_set_arrow_type
>
> settings.c:
> get_global_prefs
> get_panel_config
> write_panel_config
>
> xfce_support.c:
* > get_save_dir
* > get_save_file
gone > get_read_dirs
* > get_read_file
> get_plugin_dirs
gone > get_theme_dirs
> write_backup_file
* > add_tooltip
> set_window_layer
> check_net_wm_support
> set_window_skip
* > dnd_set_drag_dest
* > dnd_set_callback
* > gnome_uri_list_free_strings
* > gnome_uri_list_extract_uris
* > gnome_uri_list_extract_filenames
* > select_file_name
* > select_file_with_preview
* > exec_cmd
* > exec_cmd_silent
That should be about it ;-)
More information about the Xfce4-dev
mailing list