信号
GioApplication::handle-local-options
自:2.40
描述 [源]
在解析命令行选项后,会在本地的实例上发出::handle-local-options信号。
您可以使用g_application_add_main_option_entries()
和g_application_add_option_group()
来添加在解析命令行选项时将被识别的选项。
信号处理程序可以检查options
(包括从已安装的GOptionEntrys
的arg_data
指向的值),以便决定执行某些操作,包括直接本地处理(这可能对像—version这样的选项有帮助)。
如果应用程序设置了G_APPLICATION_HANDLES_COMMAND_LINE
,则“正常处理”会将选项字典发送到主实例,可以使用g_application_command_line_get_options_dict()
读取。信号处理程序可以在返回之前修改字典,并且修改后的字典将被发送。
如果没有设置G_APPLICATION_HANDLES_COMMAND_LINE
,则“正常处理”将剩余的未收集的命令行参数作为文件名或URI处理。如果没有参数,将使用g_application_activate()
激活应用程序。一个或多个参数将导致调用g_application_open()
。
如果您想自己处理本地命令行参数,通过转换为对g_application_open()
或g_action_group_activate_action()
的调用,则必须首先注册应用程序。然而,您可能不希望自己调用g_application_activate()
:只返回-1,并允许默认处理程序为您完成。这将确保--gapplication-service
开关正确工作(即在这种情况下不激活)。
请注意,此信号从local_command_line()的默认实现发出。如果您重写该函数并且不进行链式调用,则此信号将永远不会发出。
如果您需要比此处提供的更强大的功能,可以重写local_command_line()
,但这通常是不必要的。
默认处理程序 在调用 |
自:2.40 |
参数
options
-
类型:
GVariantDict
选项字典。
数据由函数调用者拥有。