summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJames Willcox <jwillcox@gnome.org>2002-11-10 09:13:34 +0000
committerJames Willcox <jwillcox@src.gnome.org>2002-11-10 09:13:34 +0000
commitd316d577259690a895fdfc52b3591f709f4e0388 (patch)
treee4de44408a39c7034ca3d0d8dfa39674c16dfe5c /docs
parentbd427ade3e8bb5e30a1fde1f0bb697c3881eade9 (diff)
downloadnautilus-d316d577259690a895fdfc52b3591f709f4e0388.tar.gz
Fixed a slight bug in the context menu query code, and added a bit of
2002-11-10 James Willcox <jwillcox@gnome.org> * docs/nautilus-context-menus.txt: * libnautilus-private/nautilus-mime-actions.c: (nautilus_mime_get_popup_components_for_file): Fixed a slight bug in the context menu query code, and added a bit of documentation.
Diffstat (limited to 'docs')
-rw-r--r--docs/nautilus-context-menus.txt35
1 files changed, 35 insertions, 0 deletions
diff --git a/docs/nautilus-context-menus.txt b/docs/nautilus-context-menus.txt
new file mode 100644
index 000000000..91329e4e8
--- /dev/null
+++ b/docs/nautilus-context-menus.txt
@@ -0,0 +1,35 @@
+Adding Mime-Type Sensitive Context Menus to Nautilus
+November 10, 2002
+James Willcox <jwillcox@gnome.org>
+
+Ok, this is how it works:
+
+1) User selects one or more files in the icon or list view
+
+2) Nautilus queries bonobo-activation for all components that have the
+ following properties:
+
+ a) Has an attribute named "nautilus:context_menu_handler", which is
+ a boolean.
+ b) Has an attribute named "nautilus:can_handle_multiple_files", which
+ is also a boolean (I think its meaning is self explanatory)
+ c) Implements IDL:Bonobo/Listener:1.0
+
+ Also, the normal nautilus component selection rules apply here, so it
+ will look at it bonobo:supported_mime_types,
+ bonobo:supported_uri_schemes, etc. as well.
+
+3) Then, we look at each component, and find all attributes that start with
+ "nautilusverb:". The part following the colon will be the event name that
+ gets passed to Bonobo::Listener::event(). The value of this attribute is
+ the text that should be displayed in the menu item. So, you might have
+ something like the following for unpacking an archive:
+
+ <oaf_attribute name="nautilusverb:DoExtract" type="string" _value="Extract To..."/>
+
+ If the component has "nauitlus:can_handle_multiple_files" set to false,
+ the item will still be displayed when multiple files are selected, but
+ it will be insensitive. When the user clicks the menu item, nautilus
+ activates the component, and invoked Bonobo::Listener::event() on it,
+ passing the event name and a CORBA sequence of the selected URIs as the
+ args.