2 <!-- This file was automatically generated from C sources - DO NOT EDIT!
3 To affect the contents of this file, edit the original C definitions,
4 and/or use gtk-doc annotations. -->
5 <repository version="1.1"
6 xmlns="http://www.gtk.org/introspection/core/1.0"
7 xmlns:c="http://www.gtk.org/introspection/c/1.0"
8 xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9 <include name="Atk" version="1.0"/>
10 <include name="GLib" version="2.0"/>
11 <include name="GModule" version="2.0"/>
12 <include name="GObject" version="2.0"/>
13 <include name="Gdk" version="2.0"/>
14 <include name="GdkPixbuf" version="2.0"/>
15 <include name="Gio" version="2.0"/>
16 <include name="Gtk" version="2.0"/>
17 <include name="Pango" version="1.0"/>
18 <include name="cairo" version="1.0"/>
19 <include name="xlib" version="2.0"/>
20 <package name="unique-1.0"/>
21 <namespace name="Unique"
23 shared-library="libunique-1.0.so.0"
25 <constant name="API_VERSION" value="1.0">
28 <constant name="API_VERSION_S" value="1.0">
33 parent="GObject.Object"
34 glib:type-name="UniqueApp"
35 glib:get-type="unique_app_get_type"
36 glib:type-struct="AppClass">
37 <doc xml:whitespace="preserve">The base class for every single instance application. The #UniqueApp
38 structure contains only private data and should be manipulated only
39 with the provided functions.</doc>
40 <constructor name="new" c:identifier="unique_app_new">
41 <return-value transfer-ownership="full">
42 <type name="App" c:type="UniqueApp*"/>
45 <parameter name="name" transfer-ownership="none">
46 <type name="utf8" c:type="gchar*"/>
48 <parameter name="startup_id" transfer-ownership="none">
49 <type name="utf8" c:type="gchar*"/>
53 <constructor name="new_with_commands"
54 c:identifier="unique_app_new_with_commands"
56 <return-value transfer-ownership="full">
57 <type name="App" c:type="UniqueApp*"/>
60 <parameter name="name" transfer-ownership="none">
61 <type name="utf8" c:type="gchar*"/>
63 <parameter name="startup_id" transfer-ownership="none">
64 <type name="utf8" c:type="gchar*"/>
66 <parameter name="first_command_name" transfer-ownership="none">
67 <type name="utf8" c:type="gchar*"/>
69 <parameter transfer-ownership="none">
75 <method name="add_command" c:identifier="unique_app_add_command">
76 <return-value transfer-ownership="none">
77 <type name="none" c:type="void"/>
80 <parameter name="command_name" transfer-ownership="none">
81 <type name="utf8" c:type="gchar*"/>
83 <parameter name="command_id" transfer-ownership="none">
84 <type name="int" c:type="gint"/>
88 <method name="watch_window" c:identifier="unique_app_watch_window">
89 <return-value transfer-ownership="none">
90 <type name="none" c:type="void"/>
93 <parameter name="window" transfer-ownership="none">
94 <type name="Gtk.Window" c:type="GtkWindow*"/>
98 <method name="is_running" c:identifier="unique_app_is_running">
99 <return-value transfer-ownership="none">
100 <type name="boolean" c:type="gboolean"/>
103 <method name="send_message" c:identifier="unique_app_send_message">
104 <return-value transfer-ownership="full">
105 <type name="Response" c:type="UniqueResponse"/>
108 <parameter name="command_id" transfer-ownership="none">
109 <type name="int" c:type="gint"/>
111 <parameter name="message_data" transfer-ownership="none">
112 <type name="MessageData" c:type="UniqueMessageData*"/>
116 <property name="is-running" transfer-ownership="none">
117 <type name="boolean" c:type="gboolean"/>
119 <property name="name"
122 transfer-ownership="none">
123 <type name="utf8" c:type="gchararray"/>
125 <property name="screen"
128 transfer-ownership="none">
129 <type name="Gdk.Screen" c:type="GdkScreen"/>
131 <property name="startup-id"
134 transfer-ownership="none">
135 <type name="utf8" c:type="gchararray"/>
137 <field name="parent_instance">
138 <type name="GObject.Object" c:type="GObject"/>
141 <type name="AppPrivate" c:type="UniqueAppPrivate*"/>
143 <glib:signal name="message-received">
144 <return-value transfer-ownership="full">
145 <type name="Response" c:type="UniqueResponse"/>
148 <parameter name="object" transfer-ownership="none">
149 <type name="int" c:type="gint"/>
151 <parameter name="p0" transfer-ownership="none">
152 <type name="MessageData" c:type="UniqueMessageData"/>
154 <parameter name="p1" transfer-ownership="none">
155 <type name="uint" c:type="guint"/>
160 <record name="AppClass"
161 c:type="UniqueAppClass"
162 glib:is-gtype-struct-for="App">
163 <doc xml:whitespace="preserve">Base class for every single instance application.</doc>
164 <field name="parent_class">
165 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
167 <field name="message_received">
168 <callback name="message_received" c:type="message_received">
169 <return-value transfer-ownership="full">
170 <type name="Response" c:type="UniqueResponse"/>
173 <parameter name="app" transfer-ownership="none">
174 <type name="App" c:type="UniqueApp*"/>
176 <parameter name="command" transfer-ownership="none">
177 <type name="int" c:type="gint"/>
179 <parameter name="message_data" transfer-ownership="none">
180 <type name="MessageData" c:type="UniqueMessageData*"/>
182 <parameter name="time_" transfer-ownership="none">
183 <type name="uint" c:type="guint"/>
188 <field name="unique_reserved1">
189 <callback name="unique_reserved1" c:type="_unique_reserved1">
190 <return-value transfer-ownership="none">
191 <type name="none" c:type="void"/>
195 <field name="unique_reserved2">
196 <callback name="unique_reserved2" c:type="_unique_reserved2">
197 <return-value transfer-ownership="none">
198 <type name="none" c:type="void"/>
202 <field name="unique_reserved3">
203 <callback name="unique_reserved3" c:type="_unique_reserved3">
204 <return-value transfer-ownership="none">
205 <type name="none" c:type="void"/>
209 <field name="unique_reserved4">
210 <callback name="unique_reserved4" c:type="_unique_reserved4">
211 <return-value transfer-ownership="none">
212 <type name="none" c:type="void"/>
217 <record name="AppPrivate" c:type="UniqueAppPrivate">
219 <class name="Backend"
220 c:type="UniqueBackend"
221 parent="GObject.Object"
223 glib:type-name="UniqueBackend"
224 glib:get-type="unique_backend_get_type"
225 glib:type-struct="BackendClass">
226 <doc xml:whitespace="preserve">The #UniqueBackend structure contains only private data and should only
227 be accessed using the provided functions.</doc>
228 <function name="create" c:identifier="unique_backend_create">
229 <return-value transfer-ownership="full">
230 <type name="Backend" c:type="UniqueBackend*"/>
233 <virtual-method name="request_name" invoker="request_name">
234 <return-value transfer-ownership="none">
235 <type name="boolean" c:type="gboolean"/>
238 <virtual-method name="send_message" invoker="send_message">
239 <return-value transfer-ownership="full">
240 <type name="Response" c:type="UniqueResponse"/>
243 <parameter name="command_id" transfer-ownership="none">
244 <type name="int" c:type="gint"/>
246 <parameter name="message_data" transfer-ownership="none">
247 <type name="MessageData" c:type="UniqueMessageData*"/>
249 <parameter name="time_" transfer-ownership="none">
250 <type name="uint" c:type="guint"/>
254 <method name="get_name" c:identifier="unique_backend_get_name">
255 <return-value transfer-ownership="none">
256 <type name="utf8" c:type="gchar*"/>
259 <method name="set_name" c:identifier="unique_backend_set_name">
260 <return-value transfer-ownership="none">
261 <type name="none" c:type="void"/>
264 <parameter name="name" transfer-ownership="none">
265 <type name="utf8" c:type="gchar*"/>
269 <method name="get_startup_id"
270 c:identifier="unique_backend_get_startup_id">
271 <return-value transfer-ownership="none">
272 <type name="utf8" c:type="gchar*"/>
275 <method name="set_startup_id"
276 c:identifier="unique_backend_set_startup_id">
277 <return-value transfer-ownership="none">
278 <type name="none" c:type="void"/>
281 <parameter name="startup_id" transfer-ownership="none">
282 <type name="utf8" c:type="gchar*"/>
286 <method name="get_screen" c:identifier="unique_backend_get_screen">
287 <return-value transfer-ownership="full">
288 <type name="Gdk.Screen" c:type="GdkScreen*"/>
291 <method name="set_screen" c:identifier="unique_backend_set_screen">
292 <return-value transfer-ownership="none">
293 <type name="none" c:type="void"/>
296 <parameter name="screen" transfer-ownership="none">
297 <type name="Gdk.Screen" c:type="GdkScreen*"/>
301 <method name="get_workspace" c:identifier="unique_backend_get_workspace">
302 <return-value transfer-ownership="none">
303 <type name="uint" c:type="guint"/>
306 <method name="request_name" c:identifier="unique_backend_request_name">
307 <return-value transfer-ownership="none">
308 <type name="boolean" c:type="gboolean"/>
311 <method name="send_message" c:identifier="unique_backend_send_message">
312 <return-value transfer-ownership="full">
313 <type name="Response" c:type="UniqueResponse"/>
316 <parameter name="command_id" transfer-ownership="none">
317 <type name="int" c:type="gint"/>
319 <parameter name="message_data" transfer-ownership="none">
320 <type name="MessageData" c:type="UniqueMessageData*"/>
322 <parameter name="time_" transfer-ownership="none">
323 <type name="uint" c:type="guint"/>
327 <field name="parent_instance">
328 <type name="GObject.Object" c:type="GObject"/>
330 <field name="parent">
331 <type name="App" c:type="UniqueApp*"/>
334 <type name="utf8" c:type="gchar*"/>
336 <field name="startup_id">
337 <type name="utf8" c:type="gchar*"/>
339 <field name="screen">
340 <type name="Gdk.Screen" c:type="GdkScreen*"/>
342 <field name="workspace">
343 <type name="uint" c:type="guint"/>
346 <record name="BackendClass"
347 c:type="UniqueBackendClass"
348 glib:is-gtype-struct-for="Backend">
349 <doc xml:whitespace="preserve">The class that should be implemented by every backend for #UniqueApp.</doc>
350 <field name="parent_instance">
351 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
353 <field name="request_name">
354 <callback name="request_name" c:type="request_name">
355 <return-value transfer-ownership="none">
356 <type name="boolean" c:type="gboolean"/>
359 <parameter name="backend" transfer-ownership="none">
360 <type name="Backend" c:type="UniqueBackend*"/>
365 <field name="send_message">
366 <callback name="send_message" c:type="send_message">
367 <return-value transfer-ownership="full">
368 <type name="Response" c:type="UniqueResponse"/>
371 <parameter name="backend" transfer-ownership="none">
372 <type name="Backend" c:type="UniqueBackend*"/>
374 <parameter name="command_id" transfer-ownership="none">
375 <type name="int" c:type="gint"/>
377 <parameter name="message_data" transfer-ownership="none">
378 <type name="MessageData" c:type="UniqueMessageData*"/>
380 <parameter name="time_" transfer-ownership="none">
381 <type name="uint" c:type="guint"/>
386 <field name="unique_reserved1">
387 <callback name="unique_reserved1" c:type="_unique_reserved1">
388 <return-value transfer-ownership="none">
389 <type name="none" c:type="void"/>
393 <field name="unique_reserved2">
394 <callback name="unique_reserved2" c:type="_unique_reserved2">
395 <return-value transfer-ownership="none">
396 <type name="none" c:type="void"/>
400 <field name="unique_reserved3">
401 <callback name="unique_reserved3" c:type="_unique_reserved3">
402 <return-value transfer-ownership="none">
403 <type name="none" c:type="void"/>
407 <field name="unique_reserved4">
408 <callback name="unique_reserved4" c:type="_unique_reserved4">
409 <return-value transfer-ownership="none">
410 <type name="none" c:type="void"/>
414 <field name="unique_reserved5">
415 <callback name="unique_reserved5" c:type="_unique_reserved5">
416 <return-value transfer-ownership="none">
417 <type name="none" c:type="void"/>
421 <field name="unique_reserved6">
422 <callback name="unique_reserved6" c:type="_unique_reserved6">
423 <return-value transfer-ownership="none">
424 <type name="none" c:type="void"/>
429 <enumeration name="Command"
430 glib:type-name="UniqueCommand"
431 glib:get-type="unique_command_get_type"
432 c:type="UniqueCommand">
433 <doc xml:whitespace="preserve">Command to send to a currently active instance. User defined commands
434 should be positive integers, and should be added using the
435 unique_app_add_command() function after creating a #UniqueApp instance</doc>
436 <member name="invalid"
438 c:identifier="UNIQUE_INVALID"
439 glib:nick="invalid"/>
440 <member name="activate"
442 c:identifier="UNIQUE_ACTIVATE"
443 glib:nick="activate"/>
444 <member name="new" value="-2" c:identifier="UNIQUE_NEW" glib:nick="new"/>
447 c:identifier="UNIQUE_OPEN"
451 c:identifier="UNIQUE_CLOSE"
454 <constant name="DEFAULT_BACKEND_S" value="dbus">
457 <constant name="MAJOR_VERSION" value="1">
460 <constant name="MICRO_VERSION" value="7">
463 <constant name="MINOR_VERSION" value="1">
466 <record name="MessageData"
467 c:type="UniqueMessageData"
468 glib:type-name="UniqueMessageData"
469 glib:get-type="unique_message_data_get_type">
470 <doc xml:whitespace="preserve">#UniqueMessageData contains the data passed between instances of
471 a #UniqueApp. The #UniqueMessageData structure received inside
472 the signal handlers for UniqueApp::message-received is guaranteed
473 to contain the #GdkScreen, the workspace and the startup notification
474 id of the instance sending the message.</doc>
475 <constructor name="new" c:identifier="unique_message_data_new">
476 <return-value transfer-ownership="full">
477 <type name="MessageData" c:type="UniqueMessageData*"/>
480 <method name="copy" c:identifier="unique_message_data_copy">
481 <return-value transfer-ownership="full">
482 <type name="MessageData" c:type="UniqueMessageData*"/>
485 <method name="free" c:identifier="unique_message_data_free">
486 <return-value transfer-ownership="none">
487 <type name="none" c:type="void"/>
490 <method name="set" c:identifier="unique_message_data_set">
491 <return-value transfer-ownership="none">
492 <type name="none" c:type="void"/>
495 <parameter name="data" transfer-ownership="none">
496 <array c:type="guchar*">
500 <parameter name="length" transfer-ownership="none">
501 <type name="gsize" c:type="gsize"/>
505 <method name="get" c:identifier="unique_message_data_get">
506 <return-value transfer-ownership="none">
507 <array c:type="guchar*">
512 <parameter name="length"
515 transfer-ownership="full">
516 <type name="gsize" c:type="gsize*"/>
520 <method name="set_text" c:identifier="unique_message_data_set_text">
521 <return-value transfer-ownership="none">
522 <type name="boolean" c:type="gboolean"/>
525 <parameter name="str" transfer-ownership="none">
526 <type name="utf8" c:type="gchar*"/>
528 <parameter name="length" transfer-ownership="none">
529 <type name="gssize" c:type="gssize"/>
533 <method name="get_text" c:identifier="unique_message_data_get_text">
534 <return-value transfer-ownership="full">
535 <type name="utf8" c:type="gchar*"/>
538 <method name="set_uris" c:identifier="unique_message_data_set_uris">
539 <return-value transfer-ownership="none">
540 <type name="boolean" c:type="gboolean"/>
543 <parameter name="uris" transfer-ownership="none">
544 <array c:type="gchar**">
550 <method name="get_uris" c:identifier="unique_message_data_get_uris">
551 <return-value transfer-ownership="full">
552 <array c:type="gchar**">
557 <method name="set_filename"
558 c:identifier="unique_message_data_set_filename">
559 <return-value transfer-ownership="none">
560 <type name="none" c:type="void"/>
563 <parameter name="filename" transfer-ownership="none">
564 <type name="utf8" c:type="gchar*"/>
568 <method name="get_filename"
569 c:identifier="unique_message_data_get_filename">
570 <return-value transfer-ownership="full">
571 <type name="utf8" c:type="gchar*"/>
574 <method name="get_screen" c:identifier="unique_message_data_get_screen">
575 <return-value transfer-ownership="full">
576 <type name="Gdk.Screen" c:type="GdkScreen*"/>
579 <method name="get_startup_id"
580 c:identifier="unique_message_data_get_startup_id">
581 <return-value transfer-ownership="none">
582 <type name="utf8" c:type="gchar*"/>
585 <method name="get_workspace"
586 c:identifier="unique_message_data_get_workspace">
587 <return-value transfer-ownership="none">
588 <type name="uint" c:type="guint"/>
592 <constant name="PROTOCOL_VERSION" value="1.0">
593 <type name="double"/>
595 <constant name="PROTOCOL_VERSION_S" value="1.0">
598 <enumeration name="Response"
599 glib:type-name="UniqueResponse"
600 glib:get-type="unique_response_get_type"
601 c:type="UniqueResponse">
602 <doc xml:whitespace="preserve">Response that a currently active instance of the application should
603 return to the caller which sent a command.</doc>
604 <member name="invalid"
606 c:identifier="UNIQUE_RESPONSE_INVALID"
607 glib:nick="invalid"/>
610 c:identifier="UNIQUE_RESPONSE_OK"
612 <member name="cancel"
614 c:identifier="UNIQUE_RESPONSE_CANCEL"
618 c:identifier="UNIQUE_RESPONSE_FAIL"
620 <member name="passthrough"
622 c:identifier="UNIQUE_RESPONSE_PASSTHROUGH"
623 glib:nick="passthrough"/>
625 <constant name="VERSION_HEX" value="0">
628 <constant name="VERSION_S" value="1.1.7">