Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/remminadoc.gitlab.io.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntenore Gatta <antenore@simbiosi.org>2023-09-13 18:29:14 +0300
committerAntenore Gatta <antenore@simbiosi.org>2023-09-13 18:29:14 +0300
commite95280031114722a17c8e0ace8388d1f3ba095a5 (patch)
tree0d8acb04ffedc5b07a4b613097b866e6de3ab574
parent425b0af92fd847186f7ab506007b88a8779f1238 (diff)
Automatic doc build by remmina-ci
-rw-r--r--public/globals_func_r.html360
-rw-r--r--public/globals_r.html326
-rw-r--r--public/navtreedata.js26
-rw-r--r--public/navtreeindex10.js6
-rw-r--r--public/navtreeindex11.js10
-rw-r--r--public/navtreeindex12.js6
-rw-r--r--public/navtreeindex13.js6
-rw-r--r--public/navtreeindex14.js6
-rw-r--r--public/navtreeindex15.js6
-rw-r--r--public/navtreeindex16.js6
-rw-r--r--public/navtreeindex17.js6
-rw-r--r--public/navtreeindex18.js2
-rw-r--r--public/navtreeindex5.js12
-rw-r--r--public/navtreeindex6.js6
-rw-r--r--public/navtreeindex7.js6
-rw-r--r--public/navtreeindex8.js6
-rw-r--r--public/navtreeindex9.js6
-rw-r--r--public/rcw_8c_source.html4
-rw-r--r--public/remmina_8c_source.html4
-rw-r--r--public/remmina__exec_8c.html34
-rw-r--r--public/remmina__exec_8c.js1
-rw-r--r--public/remmina__exec_8c_source.html13
-rw-r--r--public/remmina__exec_8h.html28
-rw-r--r--public/remmina__exec_8h.js1
-rw-r--r--public/remmina__exec_8h_source.html9
-rw-r--r--public/remmina__icon_8c_source.html6
-rw-r--r--public/remmina__main_8c_source.html2
-rw-r--r--public/search/all_12.js5
-rw-r--r--public/search/functions_11.js1
29 files changed, 485 insertions, 425 deletions
diff --git a/public/globals_func_r.html b/public/globals_func_r.html
index ac5d274af..aefe2e3d2 100644
--- a/public/globals_func_r.html
+++ b/public/globals_func_r.html
@@ -657,6 +657,10 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec.c</a>
, <a class="el" href="remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f">remmina_exec.h</a>
</li>
+<li>remmina_exec_exitremmina_one_confirm()
+: <a class="el" href="remmina__exec_8c.html#adfa9ba9dcefd2b5f6ca8050f00731c73">remmina_exec.c</a>
+, <a class="el" href="remmina__exec_8h.html#a99081d2e250691f503eef8b3ae4d7ae6">remmina_exec.h</a>
+</li>
<li>remmina_exec_get_build_config()
: <a class="el" href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3">remmina_exec.c</a>
</li>
@@ -2209,8 +2213,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="vnc__plugin_8c.html#aa09286b99e12ea23e6a6ea14c5488469">vnc_plugin.c</a>
</li>
<li>remmina_plugin_vnc_update_scale()
-: <a class="el" href="vnc__plugin_8c.html#a1f57bda271e77f086885101650e8d82c">vnc_plugin.c</a>
-, <a class="el" href="vnc__plugin_8h.html#a8a70c9cdaf6821611a3311c0d4797db9">vnc_plugin.h</a>
+: <a class="el" href="vnc__plugin_8h.html#a8a70c9cdaf6821611a3311c0d4797db9">vnc_plugin.h</a>
+, <a class="el" href="vnc__plugin_8c.html#a1f57bda271e77f086885101650e8d82c">vnc_plugin.c</a>
</li>
<li>remmina_plugin_www_close_connection()
: <a class="el" href="www__plugin_8c.html#af1e5c3cccf8fcfb51c4518462b9b61ea">www_plugin.c</a>
@@ -2259,8 +2263,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="www__plugin_8c.html#a282f3f57584e24a15a8a5d5cf5aa8d72">www_plugin.c</a>
</li>
<li>remmina_plugin_www_response_received()
-: <a class="el" href="www__plugin_8c.html#a98eddc35144b89bce2e247d5ea49177b">www_plugin.c</a>
-, <a class="el" href="www__plugin_8h.html#a98eddc35144b89bce2e247d5ea49177b">www_plugin.h</a>
+: <a class="el" href="www__plugin_8h.html#a98eddc35144b89bce2e247d5ea49177b">www_plugin.h</a>
+, <a class="el" href="www__plugin_8c.html#a98eddc35144b89bce2e247d5ea49177b">www_plugin.c</a>
</li>
<li>remmina_plugin_www_save_snapshot()
: <a class="el" href="www__plugin_8c.html#a1a152b9760d6b4808393569b0409f8b8">www_plugin.c</a>
@@ -2283,8 +2287,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__pref__dialog_8c.html#a18bfbeb5d049a9f37f7624199b2b864a">remmina_pref_dialog.c</a>
</li>
<li>remmina_pref_dialog_get_dialog()
-: <a class="el" href="remmina__pref__dialog_8h.html#a73b901ed8ee7e318b512f716065adb29">remmina_pref_dialog.h</a>
-, <a class="el" href="remmina__pref__dialog_8c.html#a9f24dad52fd8f57961ac7c5df58f251e">remmina_pref_dialog.c</a>
+: <a class="el" href="remmina__pref__dialog_8c.html#a9f24dad52fd8f57961ac7c5df58f251e">remmina_pref_dialog.c</a>
+, <a class="el" href="remmina__pref__dialog_8h.html#a73b901ed8ee7e318b512f716065adb29">remmina_pref_dialog.h</a>
</li>
<li>remmina_pref_dialog_init()
: <a class="el" href="remmina__pref__dialog_8c.html#a9a050b69e373c90ea7d400aa94f34344">remmina_pref_dialog.c</a>
@@ -2327,12 +2331,12 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__pref_8c.html#a0296a8f5b359547a0aa4cbffb914edd3">remmina_pref.c</a>
</li>
<li>remmina_pref_get_recent()
-: <a class="el" href="remmina__pref_8c.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref.c</a>
-, <a class="el" href="remmina__pref_8h.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref.h</a>
+: <a class="el" href="remmina__pref_8h.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref.h</a>
+, <a class="el" href="remmina__pref_8c.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref.c</a>
</li>
<li>remmina_pref_get_scale_quality()
-: <a class="el" href="remmina__pref_8h.html#a37cd589f00c94cb28eabb1bce4646d0b">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#a37cd589f00c94cb28eabb1bce4646d0b">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#a37cd589f00c94cb28eabb1bce4646d0b">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#a37cd589f00c94cb28eabb1bce4646d0b">remmina_pref.h</a>
</li>
<li>remmina_pref_get_scale_quality_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#abf39b9982da287d8768a66e472965519">python_wrapper_remmina.c</a>
@@ -2375,8 +2379,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="python__wrapper__remmina_8c.html#aa3f81ddb59721fc45ae6752a357d2490">python_wrapper_remmina.c</a>
</li>
<li>remmina_pref_get_value()
-: <a class="el" href="remmina__pref_8h.html#a6bcbf4cc3a58ed4ee9f087b4270d8fd6">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#a6bcbf4cc3a58ed4ee9f087b4270d8fd6">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#a6bcbf4cc3a58ed4ee9f087b4270d8fd6">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#a6bcbf4cc3a58ed4ee9f087b4270d8fd6">remmina_pref.h</a>
</li>
<li>remmina_pref_get_value_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#a274f120396b0399dacab0565aa286ed6">python_wrapper_remmina.c</a>
@@ -2389,12 +2393,12 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__pref_8c.html#aed7f3859d4306419932df15131987355">remmina_pref.c</a>
</li>
<li>remmina_pref_is_rw()
-: <a class="el" href="remmina__pref_8c.html#a0dd25f5b3a055b936a5fa327bc71f19c">remmina_pref.c</a>
-, <a class="el" href="remmina__pref_8h.html#a0dd25f5b3a055b936a5fa327bc71f19c">remmina_pref.h</a>
+: <a class="el" href="remmina__pref_8h.html#a0dd25f5b3a055b936a5fa327bc71f19c">remmina_pref.h</a>
+, <a class="el" href="remmina__pref_8c.html#a0dd25f5b3a055b936a5fa327bc71f19c">remmina_pref.c</a>
</li>
<li>remmina_pref_keymap_get_keyval()
-: <a class="el" href="remmina__pref_8h.html#aaac087c000b0863a296f2739f6344af8">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#aaac087c000b0863a296f2739f6344af8">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#aaac087c000b0863a296f2739f6344af8">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#aaac087c000b0863a296f2739f6344af8">remmina_pref.h</a>
</li>
<li>remmina_pref_keymap_get_keyval_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#a094b4cbf549e774fc03e988c8fb904e7">python_wrapper_remmina.c</a>
@@ -2479,16 +2483,16 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="python__wrapper__protocol_8c.html#a4ad3d2c8c8a65d787389b134ab716807">python_wrapper_protocol.c</a>
</li>
<li>remmina_protocol_widget_call_feature_by_ref()
-: <a class="el" href="remmina__protocol__widget_8h.html#a605b69a9aa4393024369cc5070488692">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a605b69a9aa4393024369cc5070488692">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a605b69a9aa4393024369cc5070488692">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a605b69a9aa4393024369cc5070488692">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_call_feature_by_type()
-: <a class="el" href="remmina__protocol__widget_8c.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_chat_close()
-: <a class="el" href="remmina__protocol__widget_8h.html#a4a3a9ba7422fc302b0b412ac771c9953">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a4a3a9ba7422fc302b0b412ac771c9953">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a4a3a9ba7422fc302b0b412ac771c9953">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a4a3a9ba7422fc302b0b412ac771c9953">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_chat_on_destroy()
: <a class="el" href="remmina__protocol__widget_8c.html#a04f0a11e50cdbd98ab80984fd5aca16d">remmina_protocol_widget.c</a>
@@ -2525,16 +2529,16 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__protocol__widget_8c.html#aa9639b76ac0a92647ce08bdfe943d113">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_emit_signal()
-: <a class="el" href="remmina__protocol__widget_8h.html#ac3e5a7f14aef4adb2e57d35e9c180b3b">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#ac3e5a7f14aef4adb2e57d35e9c180b3b">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#ac3e5a7f14aef4adb2e57d35e9c180b3b">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#ac3e5a7f14aef4adb2e57d35e9c180b3b">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_cacert()
-: <a class="el" href="remmina__protocol__widget_8c.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_cacrl()
-: <a class="el" href="remmina__protocol__widget_8h.html#a70aecb9af2ea35527e8d058d1d87a0d3">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a70aecb9af2ea35527e8d058d1d87a0d3">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a70aecb9af2ea35527e8d058d1d87a0d3">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a70aecb9af2ea35527e8d058d1d87a0d3">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_clientcert()
: <a class="el" href="remmina__protocol__widget_8c.html#ab9632c73b32531b7bea976e10204670b">remmina_protocol_widget.c</a>
@@ -2545,28 +2549,28 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a08d312825fc0de9f9286279d99f763a1">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_current_scale_mode()
-: <a class="el" href="remmina__protocol__widget_8c.html#a5ec62969da54155e24edcb1d998f93f7">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a5ec62969da54155e24edcb1d998f93f7">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a5ec62969da54155e24edcb1d998f93f7">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a5ec62969da54155e24edcb1d998f93f7">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_domain()
-: <a class="el" href="remmina__protocol__widget_8h.html#a7c15fa81642c52ef382e1dbe34ffb6ac">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a7c15fa81642c52ef382e1dbe34ffb6ac">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a7c15fa81642c52ef382e1dbe34ffb6ac">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a7c15fa81642c52ef382e1dbe34ffb6ac">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_error_message()
-: <a class="el" href="remmina__protocol__widget_8c.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_expand()
-: <a class="el" href="remmina__protocol__widget_8h.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_features()
-: <a class="el" href="remmina__protocol__widget_8c.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_file()
-: <a class="el" href="remmina__protocol__widget_8h.html#a2506e80d482c34532d0e534856452069">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a2506e80d482c34532d0e534856452069">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a2506e80d482c34532d0e534856452069">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a2506e80d482c34532d0e534856452069">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_gtkwindow()
: <a class="el" href="remmina__protocol__widget_8c.html#a8127b4cc7c278216dff87a7e4a336dfb">remmina_protocol_widget.c</a>
@@ -2577,20 +2581,20 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#ae609b351fff17c235251b0ba7c480da5">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_multimon()
-: <a class="el" href="remmina__protocol__widget_8c.html#abdf99138612d02bc3921b0b77bdc89cb">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#abdf99138612d02bc3921b0b77bdc89cb">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#abdf99138612d02bc3921b0b77bdc89cb">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#abdf99138612d02bc3921b0b77bdc89cb">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_name()
-: <a class="el" href="remmina__protocol__widget_8h.html#ab224a0f643d291f86ede54e373bd0a6f">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#ab224a0f643d291f86ede54e373bd0a6f">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#ab224a0f643d291f86ede54e373bd0a6f">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#ab224a0f643d291f86ede54e373bd0a6f">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_password()
-: <a class="el" href="remmina__protocol__widget_8c.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_profile_remote_height()
-: <a class="el" href="remmina__protocol__widget_8h.html#ad8df6a87e19b7751b26820ef4a668de9">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#ad8df6a87e19b7751b26820ef4a668de9">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#ad8df6a87e19b7751b26820ef4a668de9">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#ad8df6a87e19b7751b26820ef4a668de9">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_profile_remote_height_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#ad1f61fdcb71c0511a084ee18b5f0e6a8">python_wrapper_remmina.c</a>
@@ -2636,8 +2640,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__protocol__widget_8c.html#a5567a5c55d9a880d174faabafcd15fa3">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_is_closed()
-: <a class="el" href="remmina__protocol__widget_8h.html#a2830f756dfc3d735b57b0c5753c429e3">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a2830f756dfc3d735b57b0c5753c429e3">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a2830f756dfc3d735b57b0c5753c429e3">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a2830f756dfc3d735b57b0c5753c429e3">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_lock_dynres()
: <a class="el" href="remmina__protocol__widget_8c.html#a36e01bda95825ee6b5f164f52af7c457">remmina_protocol_widget.c</a>
@@ -2648,16 +2652,16 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a1585ea6908dd5c0a9b0f47d409916435">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_mpdestroy()
-: <a class="el" href="remmina__protocol__widget_8c.html#a97cba8208a4348446159bf465b3233f5">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a97cba8208a4348446159bf465b3233f5">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a97cba8208a4348446159bf465b3233f5">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a97cba8208a4348446159bf465b3233f5">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_mpprogress()
-: <a class="el" href="remmina__protocol__widget_8h.html#a78b123eca6709bceeacda7d791a94bf1">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a78b123eca6709bceeacda7d791a94bf1">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a78b123eca6709bceeacda7d791a94bf1">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a78b123eca6709bceeacda7d791a94bf1">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_new()
-: <a class="el" href="remmina__protocol__widget_8c.html#a5c2137462d3168e90c812f1ce75a6e62">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a5c2137462d3168e90c812f1ce75a6e62">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a5c2137462d3168e90c812f1ce75a6e62">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a5c2137462d3168e90c812f1ce75a6e62">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_on_key_press()
: <a class="el" href="remmina__protocol__widget_8c.html#a1caaa7bea6ef53e5c7e8109f3d0814e1">remmina_protocol_widget.c</a>
@@ -2666,8 +2670,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__protocol__widget_8c.html#ac1f95eb1e31c05ae0bc4027496ceafb0">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_open_connection()
-: <a class="el" href="remmina__protocol__widget_8c.html#a6399c3828908e36ed6202b5599bd206b">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a6399c3828908e36ed6202b5599bd206b">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a6399c3828908e36ed6202b5599bd206b">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a6399c3828908e36ed6202b5599bd206b">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_open_connection_real()
: <a class="el" href="remmina__protocol__widget_8c.html#a76ad91e7f8648699f71c466e203aa6dd">remmina_protocol_widget.c</a>
@@ -2692,20 +2696,20 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__protocol__widget_8h.html#a78069d2e4c2773685126fc3127b26dae">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_panel_hide()
-: <a class="el" href="remmina__protocol__widget_8c.html#a8ef0523afadadc9984d53fb02ecc01ad">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a8ef0523afadadc9984d53fb02ecc01ad">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a8ef0523afadadc9984d53fb02ecc01ad">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a8ef0523afadadc9984d53fb02ecc01ad">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_panel_new_certificate()
-: <a class="el" href="remmina__protocol__widget_8h.html#a262d75d6b535bd8c623e607805db4084">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a262d75d6b535bd8c623e607805db4084">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a262d75d6b535bd8c623e607805db4084">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a262d75d6b535bd8c623e607805db4084">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_panel_question_yesno()
-: <a class="el" href="remmina__protocol__widget_8c.html#a9092c29f585fdabaf0ce7e865670053b">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a9092c29f585fdabaf0ce7e865670053b">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a9092c29f585fdabaf0ce7e865670053b">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a9092c29f585fdabaf0ce7e865670053b">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_panel_show()
-: <a class="el" href="remmina__protocol__widget_8h.html#a843c2455a10c9382aee454515f9e7f8b">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a843c2455a10c9382aee454515f9e7f8b">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a843c2455a10c9382aee454515f9e7f8b">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a843c2455a10c9382aee454515f9e7f8b">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_panel_show_listen()
: <a class="el" href="remmina__protocol__widget_8c.html#a278e13b53a4fdb65498e00e908edb98d">remmina_protocol_widget.c</a>
@@ -2716,28 +2720,28 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a7ed85f4ea19e0660dbf46f4f3dc4b895">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_plugin_receives_keystrokes()
-: <a class="el" href="remmina__protocol__widget_8c.html#a480f842fac65440c367bf3c3d87d2601">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a480f842fac65440c367bf3c3d87d2601">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a480f842fac65440c367bf3c3d87d2601">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a480f842fac65440c367bf3c3d87d2601">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_plugin_screenshot()
-: <a class="el" href="remmina__protocol__widget_8h.html#a57ac13fc4a2653c40e0601183628c0ca">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a57ac13fc4a2653c40e0601183628c0ca">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a57ac13fc4a2653c40e0601183628c0ca">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a57ac13fc4a2653c40e0601183628c0ca">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_query_feature_by_ref()
-: <a class="el" href="remmina__protocol__widget_8c.html#a4017a800d7803a40d606ffce2578509a">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a4017a800d7803a40d606ffce2578509a">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a4017a800d7803a40d606ffce2578509a">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a4017a800d7803a40d606ffce2578509a">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_query_feature_by_type()
-: <a class="el" href="remmina__protocol__widget_8h.html#adbe15328275677cb38bd8c8a2d5e039d">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#adbe15328275677cb38bd8c8a2d5e039d">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#adbe15328275677cb38bd8c8a2d5e039d">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#adbe15328275677cb38bd8c8a2d5e039d">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_register_hostkey()
-: <a class="el" href="remmina__protocol__widget_8c.html#a13e14fa81f7ca52942415a7caf5b932c">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a13e14fa81f7ca52942415a7caf5b932c">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a13e14fa81f7ca52942415a7caf5b932c">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a13e14fa81f7ca52942415a7caf5b932c">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_save_cred()
-: <a class="el" href="remmina__protocol__widget_8h.html#ab863cc1442a992adfa323bc77ab88504">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#ab863cc1442a992adfa323bc77ab88504">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#ab863cc1442a992adfa323bc77ab88504">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#ab863cc1442a992adfa323bc77ab88504">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_send_clip_strokes()
: <a class="el" href="remmina__protocol__widget_8c.html#a2f5270c5e5007a8e95f4d460c11b2a06">remmina_protocol_widget.c</a>
@@ -2767,8 +2771,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a95088334da86faf9520383629fff48af">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_set_expand()
-: <a class="el" href="remmina__protocol__widget_8h.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_set_height()
: <a class="el" href="remmina__protocol__widget_8c.html#aadd106cec729a80405c6097e4c662044">remmina_protocol_widget.c</a>
@@ -2814,8 +2818,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__protocol__widget_8c.html#aecd801fbe5399bbeb5832657bce193cb">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_unlock_dynres()
-: <a class="el" href="remmina__protocol__widget_8c.html#a2551dd6f53480609596d2695040fba5d">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a2551dd6f53480609596d2695040fba5d">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a2551dd6f53480609596d2695040fba5d">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a2551dd6f53480609596d2695040fba5d">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_unmap_event()
: <a class="el" href="remmina__protocol__widget_8c.html#ac9da39853a32523057759a498bf6ac0a">remmina_protocol_widget.c</a>
@@ -2842,8 +2846,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__protocol__widget_8c.html#aeaa588b63800d3762b738fbbfd4a1736">remmina_protocol_widget.c</a>
</li>
<li>remmina_public_combine_path()
-: <a class="el" href="remmina__public_8h.html#a86940733e5b9cf77b276084e437dcac0">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a86940733e5b9cf77b276084e437dcac0">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a86940733e5b9cf77b276084e437dcac0">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a86940733e5b9cf77b276084e437dcac0">remmina_public.h</a>
</li>
<li>remmina_public_combo_get_active_text()
: <a class="el" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public.c</a>
@@ -2866,24 +2870,24 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__public_8h.html#ad1feef5a6d19225b8fcbfd0f9555306b">remmina_public.h</a>
</li>
<li>remmina_public_create_combo_text_d()
-: <a class="el" href="remmina__public_8c.html#a3796b536244067e9a85923b1cefa6cde">remmina_public.c</a>
-, <a class="el" href="remmina__public_8h.html#a3796b536244067e9a85923b1cefa6cde">remmina_public.h</a>
+: <a class="el" href="remmina__public_8h.html#a3796b536244067e9a85923b1cefa6cde">remmina_public.h</a>
+, <a class="el" href="remmina__public_8c.html#a3796b536244067e9a85923b1cefa6cde">remmina_public.c</a>
</li>
<li>remmina_public_create_group()
: <a class="el" href="remmina__public_8c.html#af9c70a727bfeb32730b98ce5cf7a3739">remmina_public.c</a>
, <a class="el" href="remmina__public_8h.html#af9c70a727bfeb32730b98ce5cf7a3739">remmina_public.h</a>
</li>
<li>remmina_public_get_keycode_for_keyval()
-: <a class="el" href="remmina__public_8h.html#a95f1d68c7ab3e2a6b158db45f63538fb">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a95f1d68c7ab3e2a6b158db45f63538fb">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a95f1d68c7ab3e2a6b158db45f63538fb">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a95f1d68c7ab3e2a6b158db45f63538fb">remmina_public.h</a>
</li>
<li>remmina_public_get_modifier_for_keycode()
: <a class="el" href="remmina__public_8c.html#a1fac51670815da6a72700a10866c179a">remmina_public.c</a>
, <a class="el" href="remmina__public_8h.html#a1fac51670815da6a72700a10866c179a">remmina_public.h</a>
</li>
<li>remmina_public_get_server_port()
-: <a class="el" href="remmina__public_8c.html#adc8b77823386e00e610527d6b0b61149">remmina_public.c</a>
-, <a class="el" href="remmina__public_8h.html#adc8b77823386e00e610527d6b0b61149">remmina_public.h</a>
+: <a class="el" href="remmina__public_8h.html#adc8b77823386e00e610527d6b0b61149">remmina_public.h</a>
+, <a class="el" href="remmina__public_8c.html#adc8b77823386e00e610527d6b0b61149">remmina_public.c</a>
</li>
<li>remmina_public_get_server_port_old()
: <a class="el" href="remmina__public_8c.html#ad7fe0e4dc091d9227b9610517cf61667">remmina_public.c</a>
@@ -2909,12 +2913,12 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__public_8h.html#ac0f480277a5929212d389b4bcdd56912">remmina_public.h</a>
</li>
<li>remmina_public_load_combo_text_d()
-: <a class="el" href="remmina__public_8c.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public.c</a>
-, <a class="el" href="remmina__public_8h.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public.h</a>
+: <a class="el" href="remmina__public_8h.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public.h</a>
+, <a class="el" href="remmina__public_8c.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public.c</a>
</li>
<li>remmina_public_open_unix_sock()
-: <a class="el" href="remmina__public_8h.html#a4b8a7b85d58148cf856ea71b1d9f22c1">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a4b8a7b85d58148cf856ea71b1d9f22c1">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a4b8a7b85d58148cf856ea71b1d9f22c1">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a4b8a7b85d58148cf856ea71b1d9f22c1">remmina_public.h</a>
</li>
<li>remmina_public_open_xdisplay()
: <a class="el" href="remmina__public_8c.html#a52656bbe00a83068f36337f449bdc767">remmina_public.c</a>
@@ -2933,8 +2937,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__public_8h.html#a893f0cfe2d694ab700975f4f427ee2f6">remmina_public.h</a>
</li>
<li>remmina_public_split_resolution_string()
-: <a class="el" href="remmina__public_8h.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public.h</a>
</li>
<li>remmina_public_str_replace()
: <a class="el" href="remmina__public_8c.html#aea7547abe3a67e6126addc9ed91af640">remmina_public.c</a>
@@ -2962,22 +2966,22 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="rdp__cliprdr_8c.html#a4da95b96bf2c86b8f4cc63dcafdd1365">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_clipboard_init()
-: <a class="el" href="rdp__cliprdr_8h.html#ac3300142e3c2f416896948681ecd45f3">rdp_cliprdr.h</a>
-, <a class="el" href="rdp__cliprdr_8c.html#ac3300142e3c2f416896948681ecd45f3">rdp_cliprdr.c</a>
+: <a class="el" href="rdp__cliprdr_8c.html#ac3300142e3c2f416896948681ecd45f3">rdp_cliprdr.c</a>
+, <a class="el" href="rdp__cliprdr_8h.html#ac3300142e3c2f416896948681ecd45f3">rdp_cliprdr.h</a>
</li>
<li>remmina_rdp_cliprdr_cached_clipboard_free()
: <a class="el" href="rdp__cliprdr_8c.html#a48c10fa190a5f20e17d35b669c865209">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_cliprdr_detach_owner()
-: <a class="el" href="rdp__cliprdr_8h.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.h</a>
-, <a class="el" href="rdp__cliprdr_8c.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.c</a>
+: <a class="el" href="rdp__cliprdr_8c.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.c</a>
+, <a class="el" href="rdp__cliprdr_8h.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.h</a>
</li>
<li>remmina_rdp_cliprdr_empty_clipboard()
: <a class="el" href="rdp__cliprdr_8c.html#a719b6820f66508f8acb943a1bf1a495d">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_cliprdr_get_client_format_list()
-: <a class="el" href="rdp__cliprdr_8c.html#accb7cad54767b8f658b8ea438690ef4f">rdp_cliprdr.c</a>
-, <a class="el" href="rdp__cliprdr_8h.html#accb7cad54767b8f658b8ea438690ef4f">rdp_cliprdr.h</a>
+: <a class="el" href="rdp__cliprdr_8h.html#accb7cad54767b8f658b8ea438690ef4f">rdp_cliprdr.h</a>
+, <a class="el" href="rdp__cliprdr_8c.html#accb7cad54767b8f658b8ea438690ef4f">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_cliprdr_get_clipboard_data()
: <a class="el" href="rdp__cliprdr_8c.html#a1875ac25f73dd93e4b716746e7c6b8d5">rdp_cliprdr.c</a>
@@ -3066,8 +3070,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__event_8c.html#a40b4fd190055c10d5d2248a6eca5f50f">rdp_event.c</a>
</li>
<li>remmina_rdp_event_init()
-: <a class="el" href="rdp__event_8c.html#af3a991a02d35fb09c85f2e752a5393ca">rdp_event.c</a>
-, <a class="el" href="rdp__event_8h.html#afba21c241e7abe9fe72f6e5aeeaa99cc">rdp_event.h</a>
+: <a class="el" href="rdp__event_8h.html#afba21c241e7abe9fe72f6e5aeeaa99cc">rdp_event.h</a>
+, <a class="el" href="rdp__event_8c.html#af3a991a02d35fb09c85f2e752a5393ca">rdp_event.c</a>
</li>
<li>remmina_rdp_event_init_keymap()
: <a class="el" href="rdp__event_8c.html#a4eeb2bd828f9fae2c549f3ef8a1e20c0">rdp_event.c</a>
@@ -3101,8 +3105,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__event_8c.html#a9d63c3ac635001e62851ec4bc5fb7469">rdp_event.c</a>
</li>
<li>remmina_rdp_event_on_unmap()
-: <a class="el" href="rdp__event_8h.html#a393d4ec6673f6a9c2b71849c109facef">rdp_event.h</a>
-, <a class="el" href="rdp__event_8c.html#a393d4ec6673f6a9c2b71849c109facef">rdp_event.c</a>
+: <a class="el" href="rdp__event_8c.html#a393d4ec6673f6a9c2b71849c109facef">rdp_event.c</a>
+, <a class="el" href="rdp__event_8h.html#a393d4ec6673f6a9c2b71849c109facef">rdp_event.h</a>
</li>
<li>remmina_rdp_event_process_clipboard()
: <a class="el" href="rdp__cliprdr_8c.html#ad4fad618198e7746ea1e4ebd01a9b173">rdp_cliprdr.c</a>
@@ -3121,8 +3125,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__event_8c.html#a2b91746b782b7782432bd1d23c6a9945">rdp_event.c</a>
</li>
<li>remmina_rdp_event_queue_ui_async()
-: <a class="el" href="rdp__event_8h.html#ae445fd0a84c7c9414a177a69c86cf325">rdp_event.h</a>
-, <a class="el" href="rdp__event_8c.html#ae445fd0a84c7c9414a177a69c86cf325">rdp_event.c</a>
+: <a class="el" href="rdp__event_8c.html#ae445fd0a84c7c9414a177a69c86cf325">rdp_event.c</a>
+, <a class="el" href="rdp__event_8h.html#ae445fd0a84c7c9414a177a69c86cf325">rdp_event.h</a>
</li>
<li>remmina_rdp_event_queue_ui_sync_retint()
: <a class="el" href="rdp__event_8c.html#ab5fe43c1b1b77c39f118d2581942eb81">rdp_event.c</a>
@@ -3148,8 +3152,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__event_8c.html#a080ab4a0a8f592bb5484202175beaaa5">rdp_event.c</a>
</li>
<li>remmina_rdp_event_send_delayed_monitor_layout()
-: <a class="el" href="rdp__event_8c.html#ac7c8d626470553c1659312697811dbfe">rdp_event.c</a>
-, <a class="el" href="rdp__event_8h.html#ac7c8d626470553c1659312697811dbfe">rdp_event.h</a>
+: <a class="el" href="rdp__event_8h.html#ac7c8d626470553c1659312697811dbfe">rdp_event.h</a>
+, <a class="el" href="rdp__event_8c.html#ac7c8d626470553c1659312697811dbfe">rdp_event.c</a>
</li>
<li>remmina_rdp_event_set_pointer_position()
: <a class="el" href="rdp__event_8c.html#a34c7d3a1bb411e84d3b4e30fcccc9cd8">rdp_event.c</a>
@@ -3173,15 +3177,15 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__event_8c.html#a2ff2e46de1ad42c9aa8f792d629e0a89">rdp_event.c</a>
</li>
<li>remmina_rdp_event_update_scale()
-: <a class="el" href="rdp__event_8c.html#a64ce0c66bb4cb6ddaee263ce8563f497">rdp_event.c</a>
-, <a class="el" href="rdp__event_8h.html#a64ce0c66bb4cb6ddaee263ce8563f497">rdp_event.h</a>
+: <a class="el" href="rdp__event_8h.html#a64ce0c66bb4cb6ddaee263ce8563f497">rdp_event.h</a>
+, <a class="el" href="rdp__event_8c.html#a64ce0c66bb4cb6ddaee263ce8563f497">rdp_event.c</a>
</li>
<li>remmina_rdp_event_update_scale_factor()
: <a class="el" href="rdp__event_8c.html#a6076424eb759c91ca9c8da59432c66d6">rdp_event.c</a>
</li>
<li>remmina_rdp_file_export()
-: <a class="el" href="rdp__file_8h.html#a0141f87575bf2b97219541b419ed467e">rdp_file.h</a>
-, <a class="el" href="rdp__file_8c.html#a0141f87575bf2b97219541b419ed467e">rdp_file.c</a>
+: <a class="el" href="rdp__file_8c.html#a0141f87575bf2b97219541b419ed467e">rdp_file.c</a>
+, <a class="el" href="rdp__file_8h.html#a0141f87575bf2b97219541b419ed467e">rdp_file.h</a>
</li>
<li>remmina_rdp_file_export_channel()
: <a class="el" href="rdp__file_8c.html#af8f66ae61f0a025b3f69cd8e08d2c229">rdp_file.c</a>
@@ -3191,8 +3195,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="rdp__file_8h.html#aa3a9bcd9fdbbf8906d74acf57bd5ab90">rdp_file.h</a>
</li>
<li>remmina_rdp_file_import()
-: <a class="el" href="rdp__file_8c.html#a992b5a31dfa961cb3244cb3e2084c4cf">rdp_file.c</a>
-, <a class="el" href="rdp__file_8h.html#a992b5a31dfa961cb3244cb3e2084c4cf">rdp_file.h</a>
+: <a class="el" href="rdp__file_8h.html#a992b5a31dfa961cb3244cb3e2084c4cf">rdp_file.h</a>
+, <a class="el" href="rdp__file_8c.html#a992b5a31dfa961cb3244cb3e2084c4cf">rdp_file.c</a>
</li>
<li>remmina_rdp_file_import_channel()
: <a class="el" href="rdp__file_8c.html#a03125699e25c5b81dbe148815a10d642">rdp_file.c</a>
@@ -3236,8 +3240,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="rdp__monitor_8c.html#aa5969439ce0342765baea33fcf396940">rdp_monitor.c</a>
</li>
<li>remmina_rdp_mouse_jitter()
-: <a class="el" href="rdp__event_8c.html#af113a6f49730a1ec27d198ed3c2ccde6">rdp_event.c</a>
-, <a class="el" href="rdp__event_8h.html#af113a6f49730a1ec27d198ed3c2ccde6">rdp_event.h</a>
+: <a class="el" href="rdp__event_8h.html#af113a6f49730a1ec27d198ed3c2ccde6">rdp_event.h</a>
+, <a class="el" href="rdp__event_8c.html#af113a6f49730a1ec27d198ed3c2ccde6">rdp_event.c</a>
</li>
<li>remmina_rdp_OnChannelConnectedEventHandler()
: <a class="el" href="rdp__channels_8h.html#a81be0bdb718bc47b5296698a7b47ce20">rdp_channels.h</a>
@@ -3275,8 +3279,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__settings_8c.html#ab69390b3995c4b4fed872d5bb363d9d5">rdp_settings.c</a>
</li>
<li>remmina_rdp_settings_get_keyboard_layout()
-: <a class="el" href="rdp__settings_8c.html#a4052ab6359b14e8f9a4cf76bed4da90c">rdp_settings.c</a>
-, <a class="el" href="rdp__settings_8h.html#a4052ab6359b14e8f9a4cf76bed4da90c">rdp_settings.h</a>
+: <a class="el" href="rdp__settings_8h.html#a4052ab6359b14e8f9a4cf76bed4da90c">rdp_settings.h</a>
+, <a class="el" href="rdp__settings_8c.html#a4052ab6359b14e8f9a4cf76bed4da90c">rdp_settings.c</a>
</li>
<li>remmina_rdp_settings_get_orientation_scale_prefs()
: <a class="el" href="rdp__settings_8c.html#a5f05047cf10611ffb7a23a248650cb4c">rdp_settings.c</a>
@@ -3304,8 +3308,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__settings_8c.html#a1180d1f04b8a7bc00f58c770ecadc4dc">rdp_settings.c</a>
</li>
<li>remmina_rdp_settings_init()
-: <a class="el" href="rdp__settings_8h.html#a028a6997c2546d0399858e4479b4be87">rdp_settings.h</a>
-, <a class="el" href="rdp__settings_8c.html#acf37368f3376add8547723d13443cccb">rdp_settings.c</a>
+: <a class="el" href="rdp__settings_8c.html#acf37368f3376add8547723d13443cccb">rdp_settings.c</a>
+, <a class="el" href="rdp__settings_8h.html#a028a6997c2546d0399858e4479b4be87">rdp_settings.h</a>
</li>
<li>remmina_rdp_settings_kbd_init()
: <a class="el" href="rdp__settings_8c.html#a6ed11971f5d908da70e3104067efe485">rdp_settings.c</a>
@@ -3354,8 +3358,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__scheduler_8c.html#abdee2f0b202662d50de1f6e5835f81f1">remmina_scheduler.c</a>
</li>
<li>remmina_scheduler_setup()
-: <a class="el" href="remmina__scheduler_8c.html#a8ee49eb86004b98070d1514c2612251a">remmina_scheduler.c</a>
-, <a class="el" href="remmina__scheduler_8h.html#a5d69b073538851d85534b3090cf75da6">remmina_scheduler.h</a>
+: <a class="el" href="remmina__scheduler_8h.html#a5d69b073538851d85534b3090cf75da6">remmina_scheduler.h</a>
+, <a class="el" href="remmina__scheduler_8c.html#a8ee49eb86004b98070d1514c2612251a">remmina_scheduler.c</a>
</li>
<li>remmina_scrolled_viewport_class_init()
: <a class="el" href="remmina__scrolled__viewport_8c.html#a9efdaaa5d040cbad9f03bd2100caf011">remmina_scrolled_viewport.c</a>
@@ -3382,8 +3386,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__scrolled__viewport_8c.html#ab6821a1bbe2dbd787512236a68493b4f">remmina_scrolled_viewport.c</a>
</li>
<li>remmina_scrolled_viewport_new()
-: <a class="el" href="remmina__scrolled__viewport_8c.html#aadfe00c3960eab12d17bdb47495dd1ee">remmina_scrolled_viewport.c</a>
-, <a class="el" href="remmina__scrolled__viewport_8h.html#aadfe00c3960eab12d17bdb47495dd1ee">remmina_scrolled_viewport.h</a>
+: <a class="el" href="remmina__scrolled__viewport_8h.html#aadfe00c3960eab12d17bdb47495dd1ee">remmina_scrolled_viewport.h</a>
+, <a class="el" href="remmina__scrolled__viewport_8c.html#aadfe00c3960eab12d17bdb47495dd1ee">remmina_scrolled_viewport.c</a>
</li>
<li>remmina_scrolled_viewport_remove_motion()
: <a class="el" href="remmina__scrolled__viewport_8h.html#a0ba56f429a9c1ec05b093f5f78be692c">remmina_scrolled_viewport.h</a>
@@ -3405,8 +3409,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__ssh__plugin_8c.html#abb22b826bb7cf89a1af52b6b060edd4c">remmina_ssh_plugin.c</a>
</li>
<li>remmina_sftp_client_confirm_resume()
-: <a class="el" href="remmina__sftp__client_8c.html#a138904893cb9c7f6535b8dfc7ba17e33">remmina_sftp_client.c</a>
-, <a class="el" href="remmina__sftp__client_8h.html#a138904893cb9c7f6535b8dfc7ba17e33">remmina_sftp_client.h</a>
+: <a class="el" href="remmina__sftp__client_8h.html#a138904893cb9c7f6535b8dfc7ba17e33">remmina_sftp_client.h</a>
+, <a class="el" href="remmina__sftp__client_8c.html#a138904893cb9c7f6535b8dfc7ba17e33">remmina_sftp_client.c</a>
</li>
<li>remmina_sftp_client_destroy()
: <a class="el" href="remmina__sftp__client_8c.html#a396c50263fbc60962481655bdb7b24f2">remmina_sftp_client.c</a>
@@ -3493,16 +3497,16 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__sftp__plugin_8c.html#a14a447ab8a10b109967d92c8d2db0ff9">remmina_sftp_plugin.c</a>
</li>
<li>remmina_sha1_file()
-: <a class="el" href="remmina__utils_8h.html#aff7d3597f23cae366973218cc01a2ae8">remmina_utils.h</a>
-, <a class="el" href="remmina__utils_8c.html#aff7d3597f23cae366973218cc01a2ae8">remmina_utils.c</a>
+: <a class="el" href="remmina__utils_8c.html#aff7d3597f23cae366973218cc01a2ae8">remmina_utils.c</a>
+, <a class="el" href="remmina__utils_8h.html#aff7d3597f23cae366973218cc01a2ae8">remmina_utils.h</a>
</li>
<li>remmina_sodium_init()
-: <a class="el" href="remmina__sodium_8c.html#a17d17beeb57808af1c4299e3b4b94e9a">remmina_sodium.c</a>
-, <a class="el" href="remmina__sodium_8h.html#a17d17beeb57808af1c4299e3b4b94e9a">remmina_sodium.h</a>
+: <a class="el" href="remmina__sodium_8h.html#a17d17beeb57808af1c4299e3b4b94e9a">remmina_sodium.h</a>
+, <a class="el" href="remmina__sodium_8c.html#a17d17beeb57808af1c4299e3b4b94e9a">remmina_sodium.c</a>
</li>
<li>remmina_sodium_pwhash()
-: <a class="el" href="remmina__sodium_8h.html#ae661257deabb27ca05747be21aac253c">remmina_sodium.h</a>
-, <a class="el" href="remmina__sodium_8c.html#ae661257deabb27ca05747be21aac253c">remmina_sodium.c</a>
+: <a class="el" href="remmina__sodium_8c.html#ae661257deabb27ca05747be21aac253c">remmina_sodium.c</a>
+, <a class="el" href="remmina__sodium_8h.html#ae661257deabb27ca05747be21aac253c">remmina_sodium.h</a>
</li>
<li>remmina_sodium_pwhash_str()
: <a class="el" href="remmina__sodium_8c.html#a42b49fa9a654cb061a02f52577171e1e">remmina_sodium.c</a>
@@ -3513,8 +3517,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__sodium_8h.html#a6df48c8b8aafee07bfe41fb89581aa5f">remmina_sodium.h</a>
</li>
<li>remmina_ssh_auth()
-: <a class="el" href="remmina__ssh_8c.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh.c</a>
-, <a class="el" href="remmina__ssh_8h.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh.h</a>
+: <a class="el" href="remmina__ssh_8h.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh.h</a>
+, <a class="el" href="remmina__ssh_8c.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh.c</a>
</li>
<li>remmina_ssh_auth_agent()
: <a class="el" href="remmina__ssh_8c.html#a6e57a1b5ba4a3886c4cb79ece8894796">remmina_ssh.c</a>
@@ -3603,8 +3607,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__ssh_8c.html#a1f3297263703b4259c1c9607d710995d">remmina_ssh.c</a>
</li>
<li>remmina_ssh_set_error()
-: <a class="el" href="remmina__ssh_8h.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.h</a>
-, <a class="el" href="remmina__ssh_8c.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.c</a>
+: <a class="el" href="remmina__ssh_8c.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.c</a>
+, <a class="el" href="remmina__ssh_8h.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.h</a>
</li>
<li>remmina_ssh_set_nodelay()
: <a class="el" href="remmina__ssh_8c.html#a1daf0b140ecf3ef9665d1c5d4c0ec479">remmina_ssh.c</a>
@@ -3709,32 +3713,32 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__string__array_8c.html#ab93a69850cfb4117c223a3f145ced986">remmina_string_array.c</a>
</li>
<li>remmina_string_array_free()
-: <a class="el" href="remmina__string__array_8h.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array.h</a>
-, <a class="el" href="remmina__string__array_8c.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array.c</a>
+: <a class="el" href="remmina__string__array_8c.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array.c</a>
+, <a class="el" href="remmina__string__array_8h.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array.h</a>
</li>
<li>remmina_string_array_intersect()
-: <a class="el" href="remmina__string__array_8h.html#abf64b35316d6e97f5c5001913b307308">remmina_string_array.h</a>
-, <a class="el" href="remmina__string__array_8c.html#abf64b35316d6e97f5c5001913b307308">remmina_string_array.c</a>
+: <a class="el" href="remmina__string__array_8c.html#abf64b35316d6e97f5c5001913b307308">remmina_string_array.c</a>
+, <a class="el" href="remmina__string__array_8h.html#abf64b35316d6e97f5c5001913b307308">remmina_string_array.h</a>
</li>
<li>remmina_string_array_new()
-: <a class="el" href="remmina__string__array_8h.html#aff90e964c6541b1af02adf7ea39e6e02">remmina_string_array.h</a>
-, <a class="el" href="remmina__string__array_8c.html#aff90e964c6541b1af02adf7ea39e6e02">remmina_string_array.c</a>
+: <a class="el" href="remmina__string__array_8c.html#aff90e964c6541b1af02adf7ea39e6e02">remmina_string_array.c</a>
+, <a class="el" href="remmina__string__array_8h.html#aff90e964c6541b1af02adf7ea39e6e02">remmina_string_array.h</a>
</li>
<li>remmina_string_array_new_from_allocated_string()
: <a class="el" href="remmina__string__array_8h.html#a462a635b3a55cc0e3af087ff996fba9a">remmina_string_array.h</a>
, <a class="el" href="remmina__string__array_8c.html#a462a635b3a55cc0e3af087ff996fba9a">remmina_string_array.c</a>
</li>
<li>remmina_string_array_new_from_string()
-: <a class="el" href="remmina__string__array_8h.html#a7f1c8e427a25c2d5cede3952b1d0ad90">remmina_string_array.h</a>
-, <a class="el" href="remmina__string__array_8c.html#a7f1c8e427a25c2d5cede3952b1d0ad90">remmina_string_array.c</a>
+: <a class="el" href="remmina__string__array_8c.html#a7f1c8e427a25c2d5cede3952b1d0ad90">remmina_string_array.c</a>
+, <a class="el" href="remmina__string__array_8h.html#a7f1c8e427a25c2d5cede3952b1d0ad90">remmina_string_array.h</a>
</li>
<li>remmina_string_array_remove()
-: <a class="el" href="remmina__string__array_8c.html#a2a8a9753ebf61c9418a77ba3dd654ff3">remmina_string_array.c</a>
-, <a class="el" href="remmina__string__array_8h.html#a2a8a9753ebf61c9418a77ba3dd654ff3">remmina_string_array.h</a>
+: <a class="el" href="remmina__string__array_8h.html#a2a8a9753ebf61c9418a77ba3dd654ff3">remmina_string_array.h</a>
+, <a class="el" href="remmina__string__array_8c.html#a2a8a9753ebf61c9418a77ba3dd654ff3">remmina_string_array.c</a>
</li>
<li>remmina_string_array_remove_index()
-: <a class="el" href="remmina__string__array_8h.html#a40811c036e46f6544ab6c4cff445454b">remmina_string_array.h</a>
-, <a class="el" href="remmina__string__array_8c.html#a40811c036e46f6544ab6c4cff445454b">remmina_string_array.c</a>
+: <a class="el" href="remmina__string__array_8c.html#a40811c036e46f6544ab6c4cff445454b">remmina_string_array.c</a>
+, <a class="el" href="remmina__string__array_8h.html#a40811c036e46f6544ab6c4cff445454b">remmina_string_array.h</a>
</li>
<li>remmina_string_array_sort()
: <a class="el" href="remmina__string__array_8c.html#a3eab4bae72ff130ad10ec8fc7364ce70">remmina_string_array.c</a>
@@ -3745,8 +3749,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__string__array_8c.html#a96f7bec7ce32de6cf5deadcd5aec51ec">remmina_string_array.c</a>
</li>
<li>remmina_string_list_get_text()
-: <a class="el" href="remmina__string__list_8c.html#a74058eac0af28c05a55d041103457aec">remmina_string_list.c</a>
-, <a class="el" href="remmina__string__list_8h.html#a74058eac0af28c05a55d041103457aec">remmina_string_list.h</a>
+: <a class="el" href="remmina__string__list_8h.html#a74058eac0af28c05a55d041103457aec">remmina_string_list.h</a>
+, <a class="el" href="remmina__string__list_8c.html#a74058eac0af28c05a55d041103457aec">remmina_string_list.c</a>
</li>
<li>remmina_string_list_init()
: <a class="el" href="remmina__string__list_8c.html#a3c7633dffb5b6bab089c71c44506d8ab">remmina_string_list.c</a>
@@ -3774,12 +3778,12 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__string__list_8c.html#afa74f7320b1d5b8487eaadcd97d0d085">remmina_string_list.c</a>
</li>
<li>remmina_string_list_set_text()
-: <a class="el" href="remmina__string__list_8h.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list.h</a>
-, <a class="el" href="remmina__string__list_8c.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list.c</a>
+: <a class="el" href="remmina__string__list_8c.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list.c</a>
+, <a class="el" href="remmina__string__list_8h.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list.h</a>
</li>
<li>remmina_string_list_set_titles()
-: <a class="el" href="remmina__string__list_8c.html#aa9ca6ccf40b954051a0daa5c1efeef87">remmina_string_list.c</a>
-, <a class="el" href="remmina__string__list_8h.html#aa9ca6ccf40b954051a0daa5c1efeef87">remmina_string_list.h</a>
+: <a class="el" href="remmina__string__list_8h.html#aa9ca6ccf40b954051a0daa5c1efeef87">remmina_string_list.h</a>
+, <a class="el" href="remmina__string__list_8c.html#aa9ca6ccf40b954051a0daa5c1efeef87">remmina_string_list.c</a>
</li>
<li>remmina_string_list_set_validation_func()
: <a class="el" href="remmina__string__list_8c.html#a500b85eafd23280f998d2980d1eba80e">remmina_string_list.c</a>
@@ -3828,8 +3832,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="telepathy__channel__handler_8c.html#ad357875c68745a28847486b622e1ce3e">telepathy_channel_handler.c</a>
</li>
<li>remmina_tp_channel_handler_new()
-: <a class="el" href="telepathy__channel__handler_8c.html#a74693af8c8cbff4c2fb54908d3fee404">telepathy_channel_handler.c</a>
-, <a class="el" href="telepathy__channel__handler_8h.html#a3b6b67c39029f39b2eee1cd37b29f13c">telepathy_channel_handler.h</a>
+: <a class="el" href="telepathy__channel__handler_8h.html#a3b6b67c39029f39b2eee1cd37b29f13c">telepathy_channel_handler.h</a>
+, <a class="el" href="telepathy__channel__handler_8c.html#a74693af8c8cbff4c2fb54908d3fee404">telepathy_channel_handler.c</a>
</li>
<li>remmina_tp_channel_handler_on_disconnect()
: <a class="el" href="telepathy__channel__handler_8c.html#af46516580c333fdea97f6de9dc0b81f8">telepathy_channel_handler.c</a>
@@ -3860,8 +3864,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__unlock_8c.html#ac6e3a59f765b6d8012cb61005f1a3d18">remmina_unlock.c</a>
</li>
<li>remmina_unlock_new()
-: <a class="el" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock.c</a>
-, <a class="el" href="remmina__unlock_8h.html#a65839c333c02d3c1d7a4aad5b1098ef7">remmina_unlock.h</a>
+: <a class="el" href="remmina__unlock_8h.html#a65839c333c02d3c1d7a4aad5b1098ef7">remmina_unlock.h</a>
+, <a class="el" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock.c</a>
</li>
<li>remmina_unlock_timer_destroy()
: <a class="el" href="remmina__unlock_8c.html#af24c3977f6a1806914d22fead301a0cd">remmina_unlock.c</a>
@@ -3884,8 +3888,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__utils_8h.html#a116e7cd4565386fe531d3a6d1a3d3730">remmina_utils.h</a>
</li>
<li>remmina_utils_get_kernel_name()
-: <a class="el" href="remmina__utils_8h.html#abfc722d07d9936711794411bfbed0522">remmina_utils.h</a>
-, <a class="el" href="remmina__utils_8c.html#abfc722d07d9936711794411bfbed0522">remmina_utils.c</a>
+: <a class="el" href="remmina__utils_8c.html#abfc722d07d9936711794411bfbed0522">remmina_utils.c</a>
+, <a class="el" href="remmina__utils_8h.html#abfc722d07d9936711794411bfbed0522">remmina_utils.h</a>
</li>
<li>remmina_utils_get_kernel_release()
: <a class="el" href="remmina__utils_8c.html#a57603aa88df56e77e1a6de0f215f21aa">remmina_utils.c</a>
@@ -3900,35 +3904,35 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__utils_8c.html#a2b4dbb0da7c8ba4bd86877097b85d10c">remmina_utils.c</a>
</li>
<li>remmina_utils_get_lsb_description()
-: <a class="el" href="remmina__utils_8c.html#ac00cb21c5cb5efcf7afc6eeae2147a75">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#ac00cb21c5cb5efcf7afc6eeae2147a75">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#ac00cb21c5cb5efcf7afc6eeae2147a75">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#ac00cb21c5cb5efcf7afc6eeae2147a75">remmina_utils.c</a>
</li>
<li>remmina_utils_get_lsb_id()
-: <a class="el" href="remmina__utils_8c.html#aa768b6fe171695d212da4c6eaf74cf22">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#aa768b6fe171695d212da4c6eaf74cf22">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#aa768b6fe171695d212da4c6eaf74cf22">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#aa768b6fe171695d212da4c6eaf74cf22">remmina_utils.c</a>
</li>
<li>remmina_utils_get_lsb_release()
: <a class="el" href="remmina__utils_8h.html#a5ee50df5d7585d229a154a712c9161ca">remmina_utils.h</a>
, <a class="el" href="remmina__utils_8c.html#a5ee50df5d7585d229a154a712c9161ca">remmina_utils.c</a>
</li>
<li>remmina_utils_get_os_info()
-: <a class="el" href="remmina__utils_8c.html#af1acfeca84e3efd47ab1ef8365f94f99">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#af1acfeca84e3efd47ab1ef8365f94f99">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#af1acfeca84e3efd47ab1ef8365f94f99">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#af1acfeca84e3efd47ab1ef8365f94f99">remmina_utils.c</a>
</li>
<li>remmina_utils_read_distrofile()
: <a class="el" href="remmina__utils_8c.html#a297576937e5f9be372f1861a87c41dfa">remmina_utils.c</a>
</li>
<li>remmina_utils_string_find()
-: <a class="el" href="remmina__utils_8c.html#a75eb5f79df692dfe4db221d03a5fa355">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#a3ce53eeb3b090f86cfcdbce3e7cf71be">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#a3ce53eeb3b090f86cfcdbce3e7cf71be">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#a75eb5f79df692dfe4db221d03a5fa355">remmina_utils.c</a>
</li>
<li>remmina_utils_string_replace()
-: <a class="el" href="remmina__utils_8h.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.h</a>
-, <a class="el" href="remmina__utils_8c.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.c</a>
+: <a class="el" href="remmina__utils_8c.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.c</a>
+, <a class="el" href="remmina__utils_8h.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.h</a>
</li>
<li>remmina_utils_string_replace_all()
-: <a class="el" href="remmina__utils_8h.html#ac804e6111e538ee2fa425b8b6fd1fb66">remmina_utils.h</a>
-, <a class="el" href="remmina__utils_8c.html#ac804e6111e538ee2fa425b8b6fd1fb66">remmina_utils.c</a>
+: <a class="el" href="remmina__utils_8c.html#ac804e6111e538ee2fa425b8b6fd1fb66">remmina_utils.c</a>
+, <a class="el" href="remmina__utils_8h.html#ac804e6111e538ee2fa425b8b6fd1fb66">remmina_utils.h</a>
</li>
<li>remmina_utils_string_strip()
: <a class="el" href="remmina__utils_8h.html#afe83bd0997a1054045e17d3f66c8bb0d">remmina_utils.h</a>
@@ -3942,16 +3946,16 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__widget__pool_8h.html#af888e4e0c2d590e61c72608a7482f18a">remmina_widget_pool.h</a>
</li>
<li>remmina_widget_pool_find()
-: <a class="el" href="remmina__widget__pool_8c.html#ab776b24a3b829a1d5dd7974cb8582c05">remmina_widget_pool.c</a>
-, <a class="el" href="remmina__widget__pool_8h.html#ab776b24a3b829a1d5dd7974cb8582c05">remmina_widget_pool.h</a>
+: <a class="el" href="remmina__widget__pool_8h.html#ab776b24a3b829a1d5dd7974cb8582c05">remmina_widget_pool.h</a>
+, <a class="el" href="remmina__widget__pool_8c.html#ab776b24a3b829a1d5dd7974cb8582c05">remmina_widget_pool.c</a>
</li>
<li>remmina_widget_pool_find_by_window()
: <a class="el" href="remmina__widget__pool_8c.html#a0a6a2069cdbbb920fb09f95bec3e997e">remmina_widget_pool.c</a>
, <a class="el" href="remmina__widget__pool_8h.html#a0a6a2069cdbbb920fb09f95bec3e997e">remmina_widget_pool.h</a>
</li>
<li>remmina_widget_pool_foreach()
-: <a class="el" href="remmina__widget__pool_8h.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool.h</a>
-, <a class="el" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool.c</a>
+: <a class="el" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool.c</a>
+, <a class="el" href="remmina__widget__pool_8h.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool.h</a>
</li>
<li>remmina_widget_pool_init()
: <a class="el" href="remmina__widget__pool_8h.html#aadc178f8f991ba939827d235aae8ad09">remmina_widget_pool.h</a>
diff --git a/public/globals_r.html b/public/globals_r.html
index 839684f7c..754de8e92 100644
--- a/public/globals_r.html
+++ b/public/globals_r.html
@@ -768,6 +768,10 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec.c</a>
, <a class="el" href="remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f">remmina_exec.h</a>
</li>
+<li>remmina_exec_exitremmina_one_confirm()
+: <a class="el" href="remmina__exec_8c.html#adfa9ba9dcefd2b5f6ca8050f00731c73">remmina_exec.c</a>
+, <a class="el" href="remmina__exec_8h.html#a99081d2e250691f503eef8b3ae4d7ae6">remmina_exec.h</a>
+</li>
<li>remmina_exec_get_build_config()
: <a class="el" href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3">remmina_exec.c</a>
</li>
@@ -780,8 +784,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__ext__exec_8h.html#a7c81795162a70d06294fdf935ea210d7">remmina_ext_exec.h</a>
</li>
<li>remmina_external_tools_from_filename()
-: <a class="el" href="remmina__external__tools_8c.html#abe70273f7d1cbab092c6f6017695c56d">remmina_external_tools.c</a>
-, <a class="el" href="remmina__external__tools_8h.html#a32c8a5f638e3a38753d43fbeb3094e85">remmina_external_tools.h</a>
+: <a class="el" href="remmina__external__tools_8h.html#a32c8a5f638e3a38753d43fbeb3094e85">remmina_external_tools.h</a>
+, <a class="el" href="remmina__external__tools_8c.html#abe70273f7d1cbab092c6f6017695c56d">remmina_external_tools.c</a>
</li>
<li>remmina_external_tools_launcher()
: <a class="el" href="remmina__external__tools_8c.html#ae32c6ba6b03dffd2ccbf70ea7ab60c60">remmina_external_tools.c</a>
@@ -1428,8 +1432,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__icon_8c.html#ac424cc450aa98c2a0fe2494cddff48a6">remmina_icon.c</a>
</li>
<li>remmina_icon_init()
-: <a class="el" href="remmina__icon_8h.html#a741c81815e562f40672c4485172306d6">remmina_icon.h</a>
-, <a class="el" href="remmina__icon_8c.html#afbd7758d1d43c61a014b7ef00f11fa58">remmina_icon.c</a>
+: <a class="el" href="remmina__icon_8c.html#afbd7758d1d43c61a014b7ef00f11fa58">remmina_icon.c</a>
+, <a class="el" href="remmina__icon_8h.html#a741c81815e562f40672c4485172306d6">remmina_icon.h</a>
</li>
<li>remmina_icon_is_autostart()
: <a class="el" href="remmina__icon_8c.html#ae477ccd85ab1d878d243aed7fa5e48ae">remmina_icon.c</a>
@@ -2767,8 +2771,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__pref_8c.html#a7829d615a6c5b8a6f6c759043fb2ac81">remmina_pref.c</a>
</li>
<li>remmina_pref_file_load_colors()
-: <a class="el" href="remmina__pref_8c.html#ad6424eb32c9549eb3e26f167dc58c218">remmina_pref.c</a>
-, <a class="el" href="remmina__pref_8h.html#ad6424eb32c9549eb3e26f167dc58c218">remmina_pref.h</a>
+: <a class="el" href="remmina__pref_8h.html#ad6424eb32c9549eb3e26f167dc58c218">remmina_pref.h</a>
+, <a class="el" href="remmina__pref_8c.html#ad6424eb32c9549eb3e26f167dc58c218">remmina_pref.c</a>
</li>
<li>remmina_pref_gen_secret()
: <a class="el" href="remmina__pref_8c.html#afc609e167e078f1991320f79e9f9157c">remmina_pref.c</a>
@@ -2806,20 +2810,20 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="python__wrapper__remmina_8c.html#abd69575c9a3a3b1f6a551e78d1d73ecb">python_wrapper_remmina.c</a>
</li>
<li>remmina_pref_get_ssh_tcp_keepcnt()
-: <a class="el" href="remmina__pref_8c.html#a781431450dfcf639c8dd96701be3795b">remmina_pref.c</a>
-, <a class="el" href="remmina__pref_8h.html#a781431450dfcf639c8dd96701be3795b">remmina_pref.h</a>
+: <a class="el" href="remmina__pref_8h.html#a781431450dfcf639c8dd96701be3795b">remmina_pref.h</a>
+, <a class="el" href="remmina__pref_8c.html#a781431450dfcf639c8dd96701be3795b">remmina_pref.c</a>
</li>
<li>remmina_pref_get_ssh_tcp_keepidle()
-: <a class="el" href="remmina__pref_8h.html#a5ed143a13f2a3393e44fd5b2c4fee4be">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#a5ed143a13f2a3393e44fd5b2c4fee4be">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#a5ed143a13f2a3393e44fd5b2c4fee4be">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#a5ed143a13f2a3393e44fd5b2c4fee4be">remmina_pref.h</a>
</li>
<li>remmina_pref_get_ssh_tcp_keepintvl()
-: <a class="el" href="remmina__pref_8c.html#ad7040b17df053835bfb21eb24ae10414">remmina_pref.c</a>
-, <a class="el" href="remmina__pref_8h.html#ad7040b17df053835bfb21eb24ae10414">remmina_pref.h</a>
+: <a class="el" href="remmina__pref_8h.html#ad7040b17df053835bfb21eb24ae10414">remmina_pref.h</a>
+, <a class="el" href="remmina__pref_8c.html#ad7040b17df053835bfb21eb24ae10414">remmina_pref.c</a>
</li>
<li>remmina_pref_get_ssh_tcp_usrtimeout()
-: <a class="el" href="remmina__pref_8h.html#a1a695b64e75d6f49de220dc777e57714">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#a1a695b64e75d6f49de220dc777e57714">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#a1a695b64e75d6f49de220dc777e57714">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#a1a695b64e75d6f49de220dc777e57714">remmina_pref.h</a>
</li>
<li>remmina_pref_get_sshtunnel_port()
: <a class="el" href="remmina__pref_8c.html#a6982152fd0492586819ce1760a853e99">remmina_pref.c</a>
@@ -2836,8 +2840,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="python__wrapper__remmina_8c.html#a274f120396b0399dacab0565aa286ed6">python_wrapper_remmina.c</a>
</li>
<li>remmina_pref_init()
-: <a class="el" href="remmina__pref_8h.html#a400f7319fd3996a13399ef72bcf0a2fd">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#a400f7319fd3996a13399ef72bcf0a2fd">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#a400f7319fd3996a13399ef72bcf0a2fd">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#a400f7319fd3996a13399ef72bcf0a2fd">remmina_pref.h</a>
</li>
<li>remmina_pref_init_keymap()
: <a class="el" href="remmina__pref_8c.html#aed7f3859d4306419932df15131987355">remmina_pref.c</a>
@@ -2854,8 +2858,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="python__wrapper__remmina_8c.html#a094b4cbf549e774fc03e988c8fb904e7">python_wrapper_remmina.c</a>
</li>
<li>remmina_pref_keymap_get_table()
-: <a class="el" href="remmina__pref_8h.html#aa263ec4481bcac099b7a294fe42179b9">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#aa263ec4481bcac099b7a294fe42179b9">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#aa263ec4481bcac099b7a294fe42179b9">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#aa263ec4481bcac099b7a294fe42179b9">remmina_pref.h</a>
</li>
<li>remmina_pref_keymap_groups()
: <a class="el" href="remmina__pref_8c.html#a745bbef1d48a7462f8db997821742395">remmina_pref.c</a>
@@ -3020,16 +3024,16 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="python__wrapper__protocol_8c.html#a4ad3d2c8c8a65d787389b134ab716807">python_wrapper_protocol.c</a>
</li>
<li>remmina_protocol_widget_call_feature_by_ref()
-: <a class="el" href="remmina__protocol__widget_8c.html#a605b69a9aa4393024369cc5070488692">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a605b69a9aa4393024369cc5070488692">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a605b69a9aa4393024369cc5070488692">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a605b69a9aa4393024369cc5070488692">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_call_feature_by_type()
-: <a class="el" href="remmina__protocol__widget_8h.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_chat_close()
-: <a class="el" href="remmina__protocol__widget_8c.html#a4a3a9ba7422fc302b0b412ac771c9953">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a4a3a9ba7422fc302b0b412ac771c9953">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a4a3a9ba7422fc302b0b412ac771c9953">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a4a3a9ba7422fc302b0b412ac771c9953">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_chat_on_destroy()
: <a class="el" href="remmina__protocol__widget_8c.html#a04f0a11e50cdbd98ab80984fd5aca16d">remmina_protocol_widget.c</a>
@@ -3066,12 +3070,12 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__protocol__widget_8c.html#aa9639b76ac0a92647ce08bdfe943d113">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_emit_signal()
-: <a class="el" href="remmina__protocol__widget_8c.html#ac3e5a7f14aef4adb2e57d35e9c180b3b">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#ac3e5a7f14aef4adb2e57d35e9c180b3b">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#ac3e5a7f14aef4adb2e57d35e9c180b3b">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#ac3e5a7f14aef4adb2e57d35e9c180b3b">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_cacert()
-: <a class="el" href="remmina__protocol__widget_8h.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_cacrl()
: <a class="el" href="remmina__protocol__widget_8c.html#a70aecb9af2ea35527e8d058d1d87a0d3">remmina_protocol_widget.c</a>
@@ -3082,28 +3086,28 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#ab9632c73b32531b7bea976e10204670b">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_clientkey()
-: <a class="el" href="remmina__protocol__widget_8c.html#a08d312825fc0de9f9286279d99f763a1">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a08d312825fc0de9f9286279d99f763a1">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a08d312825fc0de9f9286279d99f763a1">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a08d312825fc0de9f9286279d99f763a1">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_current_scale_mode()
-: <a class="el" href="remmina__protocol__widget_8h.html#a5ec62969da54155e24edcb1d998f93f7">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a5ec62969da54155e24edcb1d998f93f7">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a5ec62969da54155e24edcb1d998f93f7">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a5ec62969da54155e24edcb1d998f93f7">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_domain()
-: <a class="el" href="remmina__protocol__widget_8c.html#a7c15fa81642c52ef382e1dbe34ffb6ac">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a7c15fa81642c52ef382e1dbe34ffb6ac">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a7c15fa81642c52ef382e1dbe34ffb6ac">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a7c15fa81642c52ef382e1dbe34ffb6ac">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_error_message()
-: <a class="el" href="remmina__protocol__widget_8h.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_expand()
-: <a class="el" href="remmina__protocol__widget_8c.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_features()
-: <a class="el" href="remmina__protocol__widget_8h.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_file()
: <a class="el" href="remmina__protocol__widget_8c.html#a2506e80d482c34532d0e534856452069">remmina_protocol_widget.c</a>
@@ -3114,24 +3118,24 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a8127b4cc7c278216dff87a7e4a336dfb">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_height()
-: <a class="el" href="remmina__protocol__widget_8c.html#ae609b351fff17c235251b0ba7c480da5">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#ae609b351fff17c235251b0ba7c480da5">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#ae609b351fff17c235251b0ba7c480da5">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#ae609b351fff17c235251b0ba7c480da5">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_multimon()
-: <a class="el" href="remmina__protocol__widget_8h.html#abdf99138612d02bc3921b0b77bdc89cb">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#abdf99138612d02bc3921b0b77bdc89cb">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#abdf99138612d02bc3921b0b77bdc89cb">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#abdf99138612d02bc3921b0b77bdc89cb">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_name()
-: <a class="el" href="remmina__protocol__widget_8c.html#ab224a0f643d291f86ede54e373bd0a6f">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#ab224a0f643d291f86ede54e373bd0a6f">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#ab224a0f643d291f86ede54e373bd0a6f">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#ab224a0f643d291f86ede54e373bd0a6f">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_password()
-: <a class="el" href="remmina__protocol__widget_8h.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_profile_remote_height()
-: <a class="el" href="remmina__protocol__widget_8c.html#ad8df6a87e19b7751b26820ef4a668de9">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#ad8df6a87e19b7751b26820ef4a668de9">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#ad8df6a87e19b7751b26820ef4a668de9">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#ad8df6a87e19b7751b26820ef4a668de9">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_profile_remote_height_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#ad1f61fdcb71c0511a084ee18b5f0e6a8">python_wrapper_remmina.c</a>
@@ -3218,16 +3222,16 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#aebc7c7d34c470081a52aa35d998ce868">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_panel_authuserpwd_ssh_tunnel()
-: <a class="el" href="remmina__protocol__widget_8c.html#ad637ec849c497e4a0d4c723396aa6fba">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#ad637ec849c497e4a0d4c723396aa6fba">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#ad637ec849c497e4a0d4c723396aa6fba">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#ad637ec849c497e4a0d4c723396aa6fba">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_panel_authx509()
-: <a class="el" href="remmina__protocol__widget_8h.html#aa674c14f3a46dd5eb6b53d6f8ce6bd31">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#aa674c14f3a46dd5eb6b53d6f8ce6bd31">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#aa674c14f3a46dd5eb6b53d6f8ce6bd31">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#aa674c14f3a46dd5eb6b53d6f8ce6bd31">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_panel_changed_certificate()
-: <a class="el" href="remmina__protocol__widget_8c.html#acf75fd4bac28a3d53da064b2905f23c1">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#acf75fd4bac28a3d53da064b2905f23c1">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#acf75fd4bac28a3d53da064b2905f23c1">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#acf75fd4bac28a3d53da064b2905f23c1">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_panel_destroy()
: <a class="el" href="remmina__protocol__widget_8h.html#a78069d2e4c2773685126fc3127b26dae">remmina_protocol_widget.h</a>
@@ -3352,16 +3356,16 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a12eddf3428a53201ee0a2ec422d2fa4a">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_start_direct_tunnel()
-: <a class="el" href="remmina__protocol__widget_8c.html#a9d55210413d6a313478f81cf76ecf1b7">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a9d55210413d6a313478f81cf76ecf1b7">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a9d55210413d6a313478f81cf76ecf1b7">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a9d55210413d6a313478f81cf76ecf1b7">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_start_reverse_tunnel()
-: <a class="el" href="remmina__protocol__widget_8h.html#aa6d9f2f558fcd9e7fe58eefcde1c3c5c">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#aa6d9f2f558fcd9e7fe58eefcde1c3c5c">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#aa6d9f2f558fcd9e7fe58eefcde1c3c5c">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#aa6d9f2f558fcd9e7fe58eefcde1c3c5c">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_start_xport_tunnel()
-: <a class="el" href="remmina__protocol__widget_8c.html#a172fa9cf2ce196c9846a3e47ea9036b4">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a172fa9cf2ce196c9846a3e47ea9036b4">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a172fa9cf2ce196c9846a3e47ea9036b4">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a172fa9cf2ce196c9846a3e47ea9036b4">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_tunnel_destroy()
: <a class="el" href="remmina__protocol__widget_8c.html#aecd801fbe5399bbeb5832657bce193cb">remmina_protocol_widget.c</a>
@@ -3454,28 +3458,28 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__public_8h.html#a3031598a6e4f67d1519d8e5afba7da41">remmina_public.h</a>
</li>
<li>remmina_public_gtk_builder_new_from_resource()
-: <a class="el" href="remmina__public_8c.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public.c</a>
-, <a class="el" href="remmina__public_8h.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public.h</a>
+: <a class="el" href="remmina__public_8h.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public.h</a>
+, <a class="el" href="remmina__public_8c.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public.c</a>
</li>
<li>remmina_public_gtk_widget_reparent()
-: <a class="el" href="remmina__public_8h.html#ac0f480277a5929212d389b4bcdd56912">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#ac0f480277a5929212d389b4bcdd56912">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#ac0f480277a5929212d389b4bcdd56912">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#ac0f480277a5929212d389b4bcdd56912">remmina_public.h</a>
</li>
<li>remmina_public_load_combo_text_d()
-: <a class="el" href="remmina__public_8c.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public.c</a>
-, <a class="el" href="remmina__public_8h.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public.h</a>
+: <a class="el" href="remmina__public_8h.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public.h</a>
+, <a class="el" href="remmina__public_8c.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public.c</a>
</li>
<li>remmina_public_open_unix_sock()
-: <a class="el" href="remmina__public_8h.html#a4b8a7b85d58148cf856ea71b1d9f22c1">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a4b8a7b85d58148cf856ea71b1d9f22c1">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a4b8a7b85d58148cf856ea71b1d9f22c1">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a4b8a7b85d58148cf856ea71b1d9f22c1">remmina_public.h</a>
</li>
<li>remmina_public_open_xdisplay()
-: <a class="el" href="remmina__public_8c.html#a52656bbe00a83068f36337f449bdc767">remmina_public.c</a>
-, <a class="el" href="remmina__public_8h.html#a52656bbe00a83068f36337f449bdc767">remmina_public.h</a>
+: <a class="el" href="remmina__public_8h.html#a52656bbe00a83068f36337f449bdc767">remmina_public.h</a>
+, <a class="el" href="remmina__public_8c.html#a52656bbe00a83068f36337f449bdc767">remmina_public.c</a>
</li>
<li>remmina_public_popup_position()
-: <a class="el" href="remmina__public_8h.html#a92025b5f6512955f9c29608b5451a12c">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a92025b5f6512955f9c29608b5451a12c">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a92025b5f6512955f9c29608b5451a12c">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a92025b5f6512955f9c29608b5451a12c">remmina_public.h</a>
</li>
<li>remmina_public_resolution_validation_func()
: <a class="el" href="remmina__public_8c.html#a098786d3aa6991aeba43a61e29d534d0">remmina_public.c</a>
@@ -3486,16 +3490,16 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__public_8h.html#a893f0cfe2d694ab700975f4f427ee2f6">remmina_public.h</a>
</li>
<li>remmina_public_split_resolution_string()
-: <a class="el" href="remmina__public_8c.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public.c</a>
-, <a class="el" href="remmina__public_8h.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public.h</a>
+: <a class="el" href="remmina__public_8h.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public.h</a>
+, <a class="el" href="remmina__public_8c.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public.c</a>
</li>
<li>remmina_public_str_replace()
-: <a class="el" href="remmina__public_8h.html#aea7547abe3a67e6126addc9ed91af640">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#aea7547abe3a67e6126addc9ed91af640">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#aea7547abe3a67e6126addc9ed91af640">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#aea7547abe3a67e6126addc9ed91af640">remmina_public.h</a>
</li>
<li>remmina_public_str_replace_in_place()
-: <a class="el" href="remmina__public_8c.html#a8d7d9b3c8050545469b1af9a35b043a2">remmina_public.c</a>
-, <a class="el" href="remmina__public_8h.html#a8d7d9b3c8050545469b1af9a35b043a2">remmina_public.h</a>
+: <a class="el" href="remmina__public_8h.html#a8d7d9b3c8050545469b1af9a35b043a2">remmina_public.h</a>
+, <a class="el" href="remmina__public_8c.html#a8d7d9b3c8050545469b1af9a35b043a2">remmina_public.c</a>
</li>
<li>remmina_python_module_type
: <a class="el" href="python__wrapper__remmina_8c.html#a822ee64f62b7bf7af738dfec34e69737">python_wrapper_remmina.c</a>
@@ -3540,15 +3544,15 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="rdp__cliprdr_8c.html#a48c10fa190a5f20e17d35b669c865209">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_cliprdr_detach_owner()
-: <a class="el" href="rdp__cliprdr_8h.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.h</a>
-, <a class="el" href="rdp__cliprdr_8c.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.c</a>
+: <a class="el" href="rdp__cliprdr_8c.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.c</a>
+, <a class="el" href="rdp__cliprdr_8h.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.h</a>
</li>
<li>remmina_rdp_cliprdr_empty_clipboard()
: <a class="el" href="rdp__cliprdr_8c.html#a719b6820f66508f8acb943a1bf1a495d">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_cliprdr_get_client_format_list()
-: <a class="el" href="rdp__cliprdr_8h.html#accb7cad54767b8f658b8ea438690ef4f">rdp_cliprdr.h</a>
-, <a class="el" href="rdp__cliprdr_8c.html#accb7cad54767b8f658b8ea438690ef4f">rdp_cliprdr.c</a>
+: <a class="el" href="rdp__cliprdr_8c.html#accb7cad54767b8f658b8ea438690ef4f">rdp_cliprdr.c</a>
+, <a class="el" href="rdp__cliprdr_8h.html#accb7cad54767b8f658b8ea438690ef4f">rdp_cliprdr.h</a>
</li>
<li>remmina_rdp_cliprdr_get_clipboard_data()
: <a class="el" href="rdp__cliprdr_8c.html#a1875ac25f73dd93e4b716746e7c6b8d5">rdp_cliprdr.c</a>
@@ -3640,8 +3644,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="rdp__event_8c.html#a40b4fd190055c10d5d2248a6eca5f50f">rdp_event.c</a>
</li>
<li>remmina_rdp_event_init()
-: <a class="el" href="rdp__event_8c.html#af3a991a02d35fb09c85f2e752a5393ca">rdp_event.c</a>
-, <a class="el" href="rdp__event_8h.html#afba21c241e7abe9fe72f6e5aeeaa99cc">rdp_event.h</a>
+: <a class="el" href="rdp__event_8h.html#afba21c241e7abe9fe72f6e5aeeaa99cc">rdp_event.h</a>
+, <a class="el" href="rdp__event_8c.html#af3a991a02d35fb09c85f2e752a5393ca">rdp_event.c</a>
</li>
<li>remmina_rdp_event_init_keymap()
: <a class="el" href="rdp__event_8c.html#a4eeb2bd828f9fae2c549f3ef8a1e20c0">rdp_event.c</a>
@@ -3679,8 +3683,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="rdp__event_8h.html#a393d4ec6673f6a9c2b71849c109facef">rdp_event.h</a>
</li>
<li>remmina_rdp_event_process_clipboard()
-: <a class="el" href="rdp__cliprdr_8h.html#ad4fad618198e7746ea1e4ebd01a9b173">rdp_cliprdr.h</a>
-, <a class="el" href="rdp__cliprdr_8c.html#ad4fad618198e7746ea1e4ebd01a9b173">rdp_cliprdr.c</a>
+: <a class="el" href="rdp__cliprdr_8c.html#ad4fad618198e7746ea1e4ebd01a9b173">rdp_cliprdr.c</a>
+, <a class="el" href="rdp__cliprdr_8h.html#ad4fad618198e7746ea1e4ebd01a9b173">rdp_cliprdr.h</a>
</li>
<li>remmina_rdp_event_process_event()
: <a class="el" href="rdp__event_8c.html#a5f5fcd2a5c81d0c8bec609e0428735c5">rdp_event.c</a>
@@ -3761,8 +3765,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="rdp__event_8h.html#a65eef99dc99f77be815a5da804ed94fc">rdp_event.h</a>
</li>
<li>remmina_rdp_event_update_rect()
-: <a class="el" href="rdp__event_8h.html#a712a9b04decd8b928d71db44b9b14fc9">rdp_event.h</a>
-, <a class="el" href="rdp__event_8c.html#a712a9b04decd8b928d71db44b9b14fc9">rdp_event.c</a>
+: <a class="el" href="rdp__event_8c.html#a712a9b04decd8b928d71db44b9b14fc9">rdp_event.c</a>
+, <a class="el" href="rdp__event_8h.html#a712a9b04decd8b928d71db44b9b14fc9">rdp_event.h</a>
</li>
<li>remmina_rdp_event_update_regions()
: <a class="el" href="rdp__event_8c.html#a2ff2e46de1ad42c9aa8f792d629e0a89">rdp_event.c</a>
@@ -3778,8 +3782,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="rdp__plugin_8c.html#ac66bd1c0ceb224f7a65f5b712148a43e">rdp_plugin.c</a>
</li>
<li>remmina_rdp_file_export()
-: <a class="el" href="rdp__file_8c.html#a0141f87575bf2b97219541b419ed467e">rdp_file.c</a>
-, <a class="el" href="rdp__file_8h.html#a0141f87575bf2b97219541b419ed467e">rdp_file.h</a>
+: <a class="el" href="rdp__file_8h.html#a0141f87575bf2b97219541b419ed467e">rdp_file.h</a>
+, <a class="el" href="rdp__file_8c.html#a0141f87575bf2b97219541b419ed467e">rdp_file.c</a>
</li>
<li>remmina_rdp_file_export_channel()
: <a class="el" href="rdp__file_8c.html#af8f66ae61f0a025b3f69cd8e08d2c229">rdp_file.c</a>
@@ -3799,8 +3803,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="rdp__file_8c.html#a9f46df2588faa5b2e9fe8590df9d1313">rdp_file.c</a>
</li>
<li>remmina_rdp_file_import_test()
-: <a class="el" href="rdp__file_8h.html#a4a3163f96d195f97bad0f3c33d8b9bb8">rdp_file.h</a>
-, <a class="el" href="rdp__file_8c.html#a5465339535714b34c0f60a4ca386e335">rdp_file.c</a>
+: <a class="el" href="rdp__file_8c.html#a5465339535714b34c0f60a4ca386e335">rdp_file.c</a>
+, <a class="el" href="rdp__file_8h.html#a4a3163f96d195f97bad0f3c33d8b9bb8">rdp_file.h</a>
</li>
<li>remmina_rdp_find_prdriver()
: <a class="el" href="rdp__plugin_8c.html#a32a408f4657dd9778d08923f8942e46a">rdp_plugin.c</a>
@@ -3838,8 +3842,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="rdp__event_8h.html#af113a6f49730a1ec27d198ed3c2ccde6">rdp_event.h</a>
</li>
<li>remmina_rdp_OnChannelConnectedEventHandler()
-: <a class="el" href="rdp__channels_8c.html#ac969423bc7cde10268f1d2870a5e6130">rdp_channels.c</a>
-, <a class="el" href="rdp__channels_8h.html#a81be0bdb718bc47b5296698a7b47ce20">rdp_channels.h</a>
+: <a class="el" href="rdp__channels_8h.html#a81be0bdb718bc47b5296698a7b47ce20">rdp_channels.h</a>
+, <a class="el" href="rdp__channels_8c.html#ac969423bc7cde10268f1d2870a5e6130">rdp_channels.c</a>
</li>
<li>remmina_rdp_OnChannelDisconnectedEventHandler()
: <a class="el" href="rdp__channels_8c.html#a2d82ea9a38463d03c07271a356ccaec2">rdp_channels.c</a>
@@ -3927,8 +3931,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="rdp__settings_8c.html#a6ed11971f5d908da70e3104067efe485">rdp_settings.c</a>
</li>
<li>remmina_rdp_settings_new()
-: <a class="el" href="rdp__settings_8h.html#a55dda4fb09dc13dafba65becda89e194">rdp_settings.h</a>
-, <a class="el" href="rdp__settings_8c.html#a55dda4fb09dc13dafba65becda89e194">rdp_settings.c</a>
+: <a class="el" href="rdp__settings_8c.html#a55dda4fb09dc13dafba65becda89e194">rdp_settings.c</a>
+, <a class="el" href="rdp__settings_8h.html#a55dda4fb09dc13dafba65becda89e194">rdp_settings.h</a>
</li>
<li>remmina_rdp_settings_quality_on_changed()
: <a class="el" href="rdp__settings_8c.html#a06bfe79d2df19ff863a1ed66c53fea35">rdp_settings.c</a>
@@ -4098,8 +4102,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__sftp__client_8c.html#a476effba1e0cf529dab3f75a501341ea">remmina_sftp_client.c</a>
</li>
<li>remmina_sftp_client_open()
-: <a class="el" href="remmina__sftp__client_8h.html#a9fb6d25e4676b2fa574f958a5ba271a1">remmina_sftp_client.h</a>
-, <a class="el" href="remmina__sftp__client_8c.html#a9fb6d25e4676b2fa574f958a5ba271a1">remmina_sftp_client.c</a>
+: <a class="el" href="remmina__sftp__client_8c.html#a9fb6d25e4676b2fa574f958a5ba271a1">remmina_sftp_client.c</a>
+, <a class="el" href="remmina__sftp__client_8h.html#a9fb6d25e4676b2fa574f958a5ba271a1">remmina_sftp_client.h</a>
</li>
<li>remmina_sftp_client_refresh()
: <a class="el" href="remmina__sftp__client_8c.html#ae87948f1c87c6eb6b16664665cac9a2c">remmina_sftp_client.c</a>
@@ -4153,8 +4157,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__ssh_8h.html#a1e09b32044c240a7dce0ad8afcbf0ff2">remmina_ssh.h</a>
</li>
<li>remmina_sftp_plugin_register()
-: <a class="el" href="remmina__sftp__plugin_8h.html#ac06b00323f7ac1e7faea66d135bffba4">remmina_sftp_plugin.h</a>
-, <a class="el" href="remmina__sftp__plugin_8c.html#a14a447ab8a10b109967d92c8d2db0ff9">remmina_sftp_plugin.c</a>
+: <a class="el" href="remmina__sftp__plugin_8c.html#a14a447ab8a10b109967d92c8d2db0ff9">remmina_sftp_plugin.c</a>
+, <a class="el" href="remmina__sftp__plugin_8h.html#ac06b00323f7ac1e7faea66d135bffba4">remmina_sftp_plugin.h</a>
</li>
<li>remmina_sha1_file()
: <a class="el" href="remmina__utils_8c.html#aff7d3597f23cae366973218cc01a2ae8">remmina_utils.c</a>
@@ -4169,8 +4173,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__sodium_8h.html#ae661257deabb27ca05747be21aac253c">remmina_sodium.h</a>
</li>
<li>remmina_sodium_pwhash_str()
-: <a class="el" href="remmina__sodium_8h.html#a42b49fa9a654cb061a02f52577171e1e">remmina_sodium.h</a>
-, <a class="el" href="remmina__sodium_8c.html#a42b49fa9a654cb061a02f52577171e1e">remmina_sodium.c</a>
+: <a class="el" href="remmina__sodium_8c.html#a42b49fa9a654cb061a02f52577171e1e">remmina_sodium.c</a>
+, <a class="el" href="remmina__sodium_8h.html#a42b49fa9a654cb061a02f52577171e1e">remmina_sodium.h</a>
</li>
<li>remmina_sodium_pwhash_str_verify()
: <a class="el" href="remmina__sodium_8c.html#a6df48c8b8aafee07bfe41fb89581aa5f">remmina_sodium.c</a>
@@ -4180,8 +4184,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__ssh__plugin_8c.html#a51b5159cc5a6833759bc87688221b807">remmina_ssh_plugin.c</a>
</li>
<li>remmina_ssh_auth()
-: <a class="el" href="remmina__ssh_8h.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh.h</a>
-, <a class="el" href="remmina__ssh_8c.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh.c</a>
+: <a class="el" href="remmina__ssh_8c.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh.c</a>
+, <a class="el" href="remmina__ssh_8h.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh.h</a>
</li>
<li>REMMINA_SSH_AUTH_AGAIN
: <a class="el" href="remmina__ssh_8h.html#a879c265f2e8050e4e72a061ab3747ee1a416a26d636d492c3530b6c5f0f04a623">remmina_ssh.h</a>
@@ -4259,8 +4263,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__ssh_8c.html#a998d504fc1ae83365d905bd0b72e07ef">remmina_ssh.c</a>
</li>
<li>remmina_ssh_find_identity()
-: <a class="el" href="remmina__ssh_8h.html#ab6d8bdad543b3caead2b2b0339484798">remmina_ssh.h</a>
-, <a class="el" href="remmina__ssh_8c.html#ab6d8bdad543b3caead2b2b0339484798">remmina_ssh.c</a>
+: <a class="el" href="remmina__ssh_8c.html#ab6d8bdad543b3caead2b2b0339484798">remmina_ssh.c</a>
+, <a class="el" href="remmina__ssh_8h.html#ab6d8bdad543b3caead2b2b0339484798">remmina_ssh.h</a>
</li>
<li>remmina_ssh_free()
: <a class="el" href="remmina__ssh_8h.html#acdb9f57d2f9b47913715a8d8a0ea0c02">remmina_ssh.h</a>
@@ -4300,8 +4304,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__ssh_8h.html#a1f3297263703b4259c1c9607d710995d">remmina_ssh.h</a>
</li>
<li>remmina_ssh_set_error()
-: <a class="el" href="remmina__ssh_8h.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.h</a>
-, <a class="el" href="remmina__ssh_8c.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.c</a>
+: <a class="el" href="remmina__ssh_8c.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.c</a>
+, <a class="el" href="remmina__ssh_8h.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.h</a>
</li>
<li>remmina_ssh_set_nodelay()
: <a class="el" href="remmina__ssh_8c.html#a1daf0b140ecf3ef9665d1c5d4c0ec479">remmina_ssh.c</a>
@@ -4333,12 +4337,12 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
<li>remmina_ssh_tunnel_new_from_file()
: <a class="el" href="remmina__ssh_8h.html#abf04fd329ab77bbd4f6aa1cb1eaa349d">remmina_ssh.h</a>
</li>
-<li>REMMINA_SSH_TUNNEL_OPEN
-: <a class="el" href="remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798a78cac65c66c1f72592488c7c5728ea14">remmina_ssh.h</a>
-</li>
<li>remmina_ssh_tunnel_open()
: <a class="el" href="remmina__ssh_8h.html#a52b3f47eac79f2781ba81d61505f4f53">remmina_ssh.h</a>
</li>
+<li>REMMINA_SSH_TUNNEL_OPEN
+: <a class="el" href="remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798a78cac65c66c1f72592488c7c5728ea14">remmina_ssh.h</a>
+</li>
<li>remmina_ssh_tunnel_reverse()
: <a class="el" href="remmina__ssh_8h.html#ae47c8270267b02b9c0ff5b36074101c2">remmina_ssh.h</a>
</li>
@@ -4348,12 +4352,12 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
<li>remmina_ssh_tunnel_terminated()
: <a class="el" href="remmina__ssh_8h.html#aeb20d31243a4d30e469a34fe01684e38">remmina_ssh.h</a>
</li>
-<li>REMMINA_SSH_TUNNEL_XPORT
-: <a class="el" href="remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798afbca41cd7b252c2594e1d53cd081b326">remmina_ssh.h</a>
-</li>
<li>remmina_ssh_tunnel_xport()
: <a class="el" href="remmina__ssh_8h.html#aba49db2ced40e21e8adfad69dcfda2c4">remmina_ssh.h</a>
</li>
+<li>REMMINA_SSH_TUNNEL_XPORT
+: <a class="el" href="remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798afbca41cd7b252c2594e1d53cd081b326">remmina_ssh.h</a>
+</li>
<li>remmina_ssh_unconvert()
: <a class="el" href="remmina__ssh_8h.html#aeccf94afb57bcad37b4241d45fcb3fea">remmina_ssh.h</a>
</li>
@@ -4367,8 +4371,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__ssh_8c.html#ab8f07d5ab2ee8aa8423a11808b6cb100">remmina_ssh.c</a>
</li>
<li>remmina_stats_get_all()
-: <a class="el" href="remmina__stats_8c.html#a7398b36347e3621772776c466b565641">remmina_stats.c</a>
-, <a class="el" href="remmina__stats_8h.html#a7a1c9ab1abc1fdf78239d11b802843ae">remmina_stats.h</a>
+: <a class="el" href="remmina__stats_8h.html#a7a1c9ab1abc1fdf78239d11b802843ae">remmina_stats.h</a>
+, <a class="el" href="remmina__stats_8c.html#a7398b36347e3621772776c466b565641">remmina_stats.c</a>
</li>
<li>remmina_stats_get_gtk_backend()
: <a class="el" href="remmina__stats_8c.html#a73fbf1064af209f1f7272d737168971c">remmina_stats.c</a>
@@ -4404,23 +4408,23 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__stats_8c.html#ae596da7901fb3b45b7290a1d70b3ea3a">remmina_stats.c</a>
</li>
<li>remmina_string_array_add()
-: <a class="el" href="remmina__string__array_8c.html#a2aaacca7db4b86f836486cfb559398f0">remmina_string_array.c</a>
-, <a class="el" href="remmina__string__array_8h.html#a2aaacca7db4b86f836486cfb559398f0">remmina_string_array.h</a>
+: <a class="el" href="remmina__string__array_8h.html#a2aaacca7db4b86f836486cfb559398f0">remmina_string_array.h</a>
+, <a class="el" href="remmina__string__array_8c.html#a2aaacca7db4b86f836486cfb559398f0">remmina_string_array.c</a>
</li>
<li>remmina_string_array_compare_func()
: <a class="el" href="remmina__string__array_8c.html#a404140e205363c778476feb6f320f5f5">remmina_string_array.c</a>
</li>
<li>remmina_string_array_find()
-: <a class="el" href="remmina__string__array_8h.html#ab93a69850cfb4117c223a3f145ced986">remmina_string_array.h</a>
-, <a class="el" href="remmina__string__array_8c.html#ab93a69850cfb4117c223a3f145ced986">remmina_string_array.c</a>
+: <a class="el" href="remmina__string__array_8c.html#ab93a69850cfb4117c223a3f145ced986">remmina_string_array.c</a>
+, <a class="el" href="remmina__string__array_8h.html#ab93a69850cfb4117c223a3f145ced986">remmina_string_array.h</a>
</li>
<li>remmina_string_array_free()
-: <a class="el" href="remmina__string__array_8h.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array.h</a>
-, <a class="el" href="remmina__string__array_8c.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array.c</a>
+: <a class="el" href="remmina__string__array_8c.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array.c</a>
+, <a class="el" href="remmina__string__array_8h.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array.h</a>
</li>
<li>remmina_string_array_intersect()
-: <a class="el" href="remmina__string__array_8c.html#abf64b35316d6e97f5c5001913b307308">remmina_string_array.c</a>
-, <a class="el" href="remmina__string__array_8h.html#abf64b35316d6e97f5c5001913b307308">remmina_string_array.h</a>
+: <a class="el" href="remmina__string__array_8h.html#abf64b35316d6e97f5c5001913b307308">remmina_string_array.h</a>
+, <a class="el" href="remmina__string__array_8c.html#abf64b35316d6e97f5c5001913b307308">remmina_string_array.c</a>
</li>
<li>remmina_string_array_new()
: <a class="el" href="remmina__string__array_8c.html#aff90e964c6541b1af02adf7ea39e6e02">remmina_string_array.c</a>
@@ -4435,20 +4439,20 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__string__array_8c.html#a7f1c8e427a25c2d5cede3952b1d0ad90">remmina_string_array.c</a>
</li>
<li>remmina_string_array_remove()
-: <a class="el" href="remmina__string__array_8c.html#a2a8a9753ebf61c9418a77ba3dd654ff3">remmina_string_array.c</a>
-, <a class="el" href="remmina__string__array_8h.html#a2a8a9753ebf61c9418a77ba3dd654ff3">remmina_string_array.h</a>
+: <a class="el" href="remmina__string__array_8h.html#a2a8a9753ebf61c9418a77ba3dd654ff3">remmina_string_array.h</a>
+, <a class="el" href="remmina__string__array_8c.html#a2a8a9753ebf61c9418a77ba3dd654ff3">remmina_string_array.c</a>
</li>
<li>remmina_string_array_remove_index()
-: <a class="el" href="remmina__string__array_8h.html#a40811c036e46f6544ab6c4cff445454b">remmina_string_array.h</a>
-, <a class="el" href="remmina__string__array_8c.html#a40811c036e46f6544ab6c4cff445454b">remmina_string_array.c</a>
+: <a class="el" href="remmina__string__array_8c.html#a40811c036e46f6544ab6c4cff445454b">remmina_string_array.c</a>
+, <a class="el" href="remmina__string__array_8h.html#a40811c036e46f6544ab6c4cff445454b">remmina_string_array.h</a>
</li>
<li>remmina_string_array_sort()
-: <a class="el" href="remmina__string__array_8c.html#a3eab4bae72ff130ad10ec8fc7364ce70">remmina_string_array.c</a>
-, <a class="el" href="remmina__string__array_8h.html#a3eab4bae72ff130ad10ec8fc7364ce70">remmina_string_array.h</a>
+: <a class="el" href="remmina__string__array_8h.html#a3eab4bae72ff130ad10ec8fc7364ce70">remmina_string_array.h</a>
+, <a class="el" href="remmina__string__array_8c.html#a3eab4bae72ff130ad10ec8fc7364ce70">remmina_string_array.c</a>
</li>
<li>remmina_string_array_to_string()
-: <a class="el" href="remmina__string__array_8h.html#a96f7bec7ce32de6cf5deadcd5aec51ec">remmina_string_array.h</a>
-, <a class="el" href="remmina__string__array_8c.html#a96f7bec7ce32de6cf5deadcd5aec51ec">remmina_string_array.c</a>
+: <a class="el" href="remmina__string__array_8c.html#a96f7bec7ce32de6cf5deadcd5aec51ec">remmina_string_array.c</a>
+, <a class="el" href="remmina__string__array_8h.html#a96f7bec7ce32de6cf5deadcd5aec51ec">remmina_string_array.h</a>
</li>
<li>remmina_string_list_get_text()
: <a class="el" href="remmina__string__list_8c.html#a74058eac0af28c05a55d041103457aec">remmina_string_list.c</a>
@@ -4461,8 +4465,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__string__list_8c.html#a5709fae6d1ab7827d9537715791fa819">remmina_string_list.c</a>
</li>
<li>remmina_string_list_new()
-: <a class="el" href="remmina__string__list_8c.html#a11147c41297537effe55f18a63ce9f7e">remmina_string_list.c</a>
-, <a class="el" href="remmina__string__list_8h.html#a26bc63cdb43ed3fda2d86ac1d95a5029">remmina_string_list.h</a>
+: <a class="el" href="remmina__string__list_8h.html#a26bc63cdb43ed3fda2d86ac1d95a5029">remmina_string_list.h</a>
+, <a class="el" href="remmina__string__list_8c.html#a11147c41297537effe55f18a63ce9f7e">remmina_string_list.c</a>
</li>
<li>remmina_string_list_on_action_add()
: <a class="el" href="remmina__string__list_8c.html#a4f02ba383d1c5376606dd494771d5a1b">remmina_string_list.c</a>
@@ -4480,8 +4484,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__string__list_8c.html#afa74f7320b1d5b8487eaadcd97d0d085">remmina_string_list.c</a>
</li>
<li>remmina_string_list_set_text()
-: <a class="el" href="remmina__string__list_8h.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list.h</a>
-, <a class="el" href="remmina__string__list_8c.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list.c</a>
+: <a class="el" href="remmina__string__list_8c.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list.c</a>
+, <a class="el" href="remmina__string__list_8h.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list.h</a>
</li>
<li>remmina_string_list_set_titles()
: <a class="el" href="remmina__string__list_8c.html#aa9ca6ccf40b954051a0daa5c1efeef87">remmina_string_list.c</a>
@@ -4495,16 +4499,16 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__string__list_8c.html#a777917055c80821e9bde6ac8fd06e2ff">remmina_string_list.c</a>
</li>
<li>remmina_sysinfo_get_gnome_shell_version()
-: <a class="el" href="remmina__sysinfo_8h.html#a9f1ea6410d45aaf5603439a5919aa1cb">remmina_sysinfo.h</a>
-, <a class="el" href="remmina__sysinfo_8c.html#a79fd36823613c320001f0cdd2a97490f">remmina_sysinfo.c</a>
+: <a class="el" href="remmina__sysinfo_8c.html#a79fd36823613c320001f0cdd2a97490f">remmina_sysinfo.c</a>
+, <a class="el" href="remmina__sysinfo_8h.html#a9f1ea6410d45aaf5603439a5919aa1cb">remmina_sysinfo.h</a>
</li>
<li>remmina_sysinfo_get_wm_name()
-: <a class="el" href="remmina__sysinfo_8h.html#a5e08ab3a66f27ada8e700ae42a181b6a">remmina_sysinfo.h</a>
-, <a class="el" href="remmina__sysinfo_8c.html#ae4441d62bb4075d1618b5750fea064b4">remmina_sysinfo.c</a>
+: <a class="el" href="remmina__sysinfo_8c.html#ae4441d62bb4075d1618b5750fea064b4">remmina_sysinfo.c</a>
+, <a class="el" href="remmina__sysinfo_8h.html#a5e08ab3a66f27ada8e700ae42a181b6a">remmina_sysinfo.h</a>
</li>
<li>remmina_sysinfo_is_appindicator_available()
-: <a class="el" href="remmina__sysinfo_8c.html#ae6ecf91edb905f3b2b39e33e05325590">remmina_sysinfo.c</a>
-, <a class="el" href="remmina__sysinfo_8h.html#a9e89ac64e13b47a651554d6a77af6b23">remmina_sysinfo.h</a>
+: <a class="el" href="remmina__sysinfo_8h.html#a9e89ac64e13b47a651554d6a77af6b23">remmina_sysinfo.h</a>
+, <a class="el" href="remmina__sysinfo_8c.html#ae6ecf91edb905f3b2b39e33e05325590">remmina_sysinfo.c</a>
</li>
<li>REMMINA_TAB_ALL
: <a class="el" href="remmina__pref_8h.html#a96a58e29e8dbf2b5bdeb775cba46556eafb68a1eeda5303774bbc922ef8d364e9">remmina_pref.h</a>
@@ -4608,8 +4612,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__unlock_8c.html#a18d0da78f53c4002601a59e85373f6d7">remmina_unlock.c</a>
</li>
<li>remmina_unlock_new()
-: <a class="el" href="remmina__unlock_8h.html#a65839c333c02d3c1d7a4aad5b1098ef7">remmina_unlock.h</a>
-, <a class="el" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock.c</a>
+: <a class="el" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock.c</a>
+, <a class="el" href="remmina__unlock_8h.html#a65839c333c02d3c1d7a4aad5b1098ef7">remmina_unlock.h</a>
</li>
<li>remmina_unlock_timer_destroy()
: <a class="el" href="remmina__unlock_8c.html#af24c3977f6a1806914d22fead301a0cd">remmina_unlock.c</a>
@@ -4667,20 +4671,20 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__utils_8c.html#a297576937e5f9be372f1861a87c41dfa">remmina_utils.c</a>
</li>
<li>remmina_utils_string_find()
-: <a class="el" href="remmina__utils_8c.html#a75eb5f79df692dfe4db221d03a5fa355">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#a3ce53eeb3b090f86cfcdbce3e7cf71be">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#a3ce53eeb3b090f86cfcdbce3e7cf71be">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#a75eb5f79df692dfe4db221d03a5fa355">remmina_utils.c</a>
</li>
<li>remmina_utils_string_replace()
-: <a class="el" href="remmina__utils_8c.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.c</a>
</li>
<li>remmina_utils_string_replace_all()
: <a class="el" href="remmina__utils_8c.html#ac804e6111e538ee2fa425b8b6fd1fb66">remmina_utils.c</a>
, <a class="el" href="remmina__utils_8h.html#ac804e6111e538ee2fa425b8b6fd1fb66">remmina_utils.h</a>
</li>
<li>remmina_utils_string_strip()
-: <a class="el" href="remmina__utils_8c.html#afe83bd0997a1054045e17d3f66c8bb0d">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#afe83bd0997a1054045e17d3f66c8bb0d">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#afe83bd0997a1054045e17d3f66c8bb0d">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#afe83bd0997a1054045e17d3f66c8bb0d">remmina_utils.c</a>
</li>
<li>remmina_utils_strpos()
: <a class="el" href="remmina__utils_8c.html#ae4318060ee81f8fbd907904892dd71d3">remmina_utils.c</a>
@@ -4695,8 +4699,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__widget__pool_8c.html#a904ecc5c259a92edee29d749b3406ac2">remmina_widget_pool.c</a>
</li>
<li>remmina_widget_pool_count()
-: <a class="el" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool.c</a>
-, <a class="el" href="remmina__widget__pool_8h.html#af888e4e0c2d590e61c72608a7482f18a">remmina_widget_pool.h</a>
+: <a class="el" href="remmina__widget__pool_8h.html#af888e4e0c2d590e61c72608a7482f18a">remmina_widget_pool.h</a>
+, <a class="el" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool.c</a>
</li>
<li>remmina_widget_pool_find()
: <a class="el" href="remmina__widget__pool_8c.html#ab776b24a3b829a1d5dd7974cb8582c05">remmina_widget_pool.c</a>
@@ -4707,8 +4711,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__widget__pool_8c.html#a0a6a2069cdbbb920fb09f95bec3e997e">remmina_widget_pool.c</a>
</li>
<li>remmina_widget_pool_foreach()
-: <a class="el" href="remmina__widget__pool_8h.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool.h</a>
-, <a class="el" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool.c</a>
+: <a class="el" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool.c</a>
+, <a class="el" href="remmina__widget__pool_8h.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool.h</a>
</li>
<li>remmina_widget_pool_init()
: <a class="el" href="remmina__widget__pool_8c.html#aadc178f8f991ba939827d235aae8ad09">remmina_widget_pool.c</a>
@@ -4718,8 +4722,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__widget__pool_8c.html#aa5fd17580202843eab40cabb258d2664">remmina_widget_pool.c</a>
</li>
<li>remmina_widget_pool_register()
-: <a class="el" href="remmina__widget__pool_8h.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool.h</a>
-, <a class="el" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool.c</a>
+: <a class="el" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool.c</a>
+, <a class="el" href="remmina__widget__pool_8h.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool.h</a>
</li>
<li>remmina_widget_pool_register_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#a923e3fd23d17372bec0ff951a46b7660">python_wrapper_remmina.c</a>
@@ -4863,12 +4867,12 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
<li>RemminaLogWindowClass
: <a class="el" href="remmina__log_8c.html#a5682db89dd84e1c413326e17a4f79dbe">remmina_log.c</a>
</li>
-<li>RemminaMain
-: <a class="el" href="remmina__main_8h.html#ad17d9a48f2b3f84e17baa91104bc6cb1">remmina_main.h</a>
-</li>
<li>remminamain
: <a class="el" href="remmina__main_8c.html#ab7c680e1f6ffeef21cb928a083d36d89">remmina_main.c</a>
</li>
+<li>RemminaMain
+: <a class="el" href="remmina__main_8h.html#ad17d9a48f2b3f84e17baa91104bc6cb1">remmina_main.h</a>
+</li>
<li>RemminaMainPriv
: <a class="el" href="remmina__main_8h.html#a49e7c1b5d4dcfd155886e39d78b3d052">remmina_main.h</a>
</li>
diff --git a/public/navtreedata.js b/public/navtreedata.js
index 31ae4ec5a..f4755c8a2 100644
--- a/public/navtreedata.js
+++ b/public/navtreedata.js
@@ -93,19 +93,19 @@ var NAVTREEINDEX =
"rcw_8c.html#a82c93bbb1ab73807b366b86928c37946",
"rdp__plugin_8c.html#a12e0199d082d510648cb27168486f4e0",
"remmina__chat__window_8h.html#ad80f333f09507226276104e015267fb4",
-"remmina__ftp__client_8c.html#a28b9006fa53e21e48df9237d68a847f3",
-"remmina__main_8c.html#aa4d9b76d32fa500f4b9f39a19e4eaaf2",
-"remmina__plugin__native_8h.html",
-"remmina__protocol__widget_8h.html#a12eddf3428a53201ee0a2ec422d2fa4a",
-"remmina__ssh_8c.html#aa8aee72091b09cde34c0e0efadde719a",
-"remmina__utils_8c.html#ac804e6111e538ee2fa425b8b6fd1fb66",
-"struct___remmina_color_pref.html#a2a14fc38e73351f9009fe155dd859808",
-"struct___remmina_plugin_service.html#a387f974b25c4164811f661128e200c8c",
-"struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c",
-"struct___remmina_s_f_t_p.html#a7dab48a7603f1dd6671a8dd1efe1958e",
-"structitem.html#a1bfbfa35087440a4b217fd9fa4466bdb",
-"structrf__context.html#a96c4689f6bc062482536038cb3b24e78",
-"www__plugin_8c.html#a1a152b9760d6b4808393569b0409f8b8"
+"remmina__ftp__client_8c.html#a27a70ad185d142086368c637b32e60ba",
+"remmina__main_8c.html#aa20963aed43242994c88d5a97a546355",
+"remmina__plugin__native_8c.html#ae60c5371a41a83ef94c6a2b3dc8c9520",
+"remmina__protocol__widget_8h.html#a08d312825fc0de9f9286279d99f763a1",
+"remmina__ssh_8c.html#a998d504fc1ae83365d905bd0b72e07ef",
+"remmina__utils_8c.html#abfc722d07d9936711794411bfbed0522",
+"struct___remmina_color_pref.html#a1d9bd13f411189c9d8d8a08ceb77e8d7",
+"struct___remmina_plugin_service.html#a3746762bfcf6f177c03dbd6ffef1a5e1",
+"struct___remmina_pref.html#a788378c190a4ec0ebcf60c570f3b50d5",
+"struct___remmina_protocol_widget_signal_data.html#a7a8b9ad6fdff86250a5eef649693d64a",
+"structdistro__info.html#a27013edbc763fecb35337ca0affacfc2",
+"structrf__context.html#a93dd55d1f081496959f1051d04cc3ba4",
+"www__plugin_8c.html#a05218b821edab542795439a87ad9d909"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/public/navtreeindex10.js b/public/navtreeindex10.js
index 17a969865..085527886 100644
--- a/public/navtreeindex10.js
+++ b/public/navtreeindex10.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX10 =
{
+"remmina__ssh_8c.html#a998d504fc1ae83365d905bd0b72e07ef":[61,0,133,15],
+"remmina__ssh_8c.html#aa836e9642f5703d984c65513c7220b56":[61,0,133,14],
"remmina__ssh_8c.html#aa8aee72091b09cde34c0e0efadde719a":[61,0,133,4],
"remmina__ssh_8c.html#aad84c6609cb431d48121ae5e0902441b":[61,0,133,2],
"remmina__ssh_8c.html#ab1ac2a91d14c557598f168f66ba130eb":[61,0,133,27],
@@ -247,7 +249,5 @@ var NAVTREEINDEX10 =
"remmina__utils_8c.html#a819abe021d49cefa64ffc7981aacc478":[61,0,149,21],
"remmina__utils_8c.html#a8b6ee6e66fba40ddaf4e735ba9d4208c":[61,0,149,22],
"remmina__utils_8c.html#aa6859a61aa28f46591750c9afdef66f4":[61,0,149,17],
-"remmina__utils_8c.html#aa768b6fe171695d212da4c6eaf74cf22":[61,0,149,12],
-"remmina__utils_8c.html#abfc722d07d9936711794411bfbed0522":[61,0,149,7],
-"remmina__utils_8c.html#ac00cb21c5cb5efcf7afc6eeae2147a75":[61,0,149,11]
+"remmina__utils_8c.html#aa768b6fe171695d212da4c6eaf74cf22":[61,0,149,12]
};
diff --git a/public/navtreeindex11.js b/public/navtreeindex11.js
index 65d7b204b..11dddfeba 100644
--- a/public/navtreeindex11.js
+++ b/public/navtreeindex11.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX11 =
{
+"remmina__utils_8c.html#abfc722d07d9936711794411bfbed0522":[61,0,149,7],
+"remmina__utils_8c.html#ac00cb21c5cb5efcf7afc6eeae2147a75":[61,0,149,11],
"remmina__utils_8c.html#ac804e6111e538ee2fa425b8b6fd1fb66":[61,0,149,18],
"remmina__utils_8c.html#ae4318060ee81f8fbd907904892dd71d3":[61,0,149,20],
"remmina__utils_8c.html#af1acfeca84e3efd47ab1ef8365f94f99":[61,0,149,14],
@@ -100,10 +102,10 @@ var NAVTREEINDEX11 =
"spice__plugin__usb_8c_source.html":[61,0,156],
"src_2pygobject_8h.html":[61,0,16],
"src_2pygobject_8h.html#a18eca93aad557c40e8a75b655961b159":[61,0,16,12],
-"src_2pygobject_8h.html#a18eca93aad557c40e8a75b655961b159a6ca21e5d81f80ca35b556f92f5ca35cc":[61,0,17,12,0],
"src_2pygobject_8h.html#a18eca93aad557c40e8a75b655961b159a6ca21e5d81f80ca35b556f92f5ca35cc":[61,0,16,12,0],
-"src_2pygobject_8h.html#a18eca93aad557c40e8a75b655961b159a9ed2edb74e687da7e752fd9968eece34":[61,0,17,12,1],
+"src_2pygobject_8h.html#a18eca93aad557c40e8a75b655961b159a6ca21e5d81f80ca35b556f92f5ca35cc":[61,0,17,12,0],
"src_2pygobject_8h.html#a18eca93aad557c40e8a75b655961b159a9ed2edb74e687da7e752fd9968eece34":[61,0,16,12,1],
+"src_2pygobject_8h.html#a18eca93aad557c40e8a75b655961b159a9ed2edb74e687da7e752fd9968eece34":[61,0,17,12,1],
"src_2pygobject_8h.html#a2fa9a05e0ca89774ce56238aa81a6cac":[61,0,16,14],
"src_2pygobject_8h.html#a31a009f7ec59c55c3ad1fe73343e543f":[61,0,16,15],
"src_2pygobject_8h.html#a4710f3c87d09751239a9ea9cd8fd4e15":[61,0,16,13],
@@ -247,7 +249,5 @@ var NAVTREEINDEX11 =
"struct___remmina_chat_window_class.html":[60,0,14],
"struct___remmina_chat_window_class.html#abdd29d9a92f995c4fc1664a61bd4cb19":[60,0,14,0],
"struct___remmina_chat_window_class.html#ac40f2808400f75787b0a1193744e3372":[60,0,14,1],
-"struct___remmina_color_pref.html":[60,0,15],
-"struct___remmina_color_pref.html#a1d9bd13f411189c9d8d8a08ceb77e8d7":[60,0,15,14],
-"struct___remmina_color_pref.html#a24a8c38ab11389b860d0658812ff7bbc":[60,0,15,6]
+"struct___remmina_color_pref.html":[60,0,15]
};
diff --git a/public/navtreeindex12.js b/public/navtreeindex12.js
index f1557eee2..fb8b3e5da 100644
--- a/public/navtreeindex12.js
+++ b/public/navtreeindex12.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX12 =
{
+"struct___remmina_color_pref.html#a1d9bd13f411189c9d8d8a08ceb77e8d7":[60,0,15,14],
+"struct___remmina_color_pref.html#a24a8c38ab11389b860d0658812ff7bbc":[60,0,15,6],
"struct___remmina_color_pref.html#a2a14fc38e73351f9009fe155dd859808":[60,0,15,1],
"struct___remmina_color_pref.html#a2d0facd5a0480a450d525ce9ef4fed60":[60,0,15,12],
"struct___remmina_color_pref.html#a3a897d3fdc112fd9f96d2363f4094fc4":[60,0,15,9],
@@ -247,7 +249,5 @@ var NAVTREEINDEX12 =
"struct___remmina_plugin_service.html#a2cf031e840ea76da2d17cfcd8d20c4e0":[60,0,43,16],
"struct___remmina_plugin_service.html#a2d6704aa58ecc18ecc178ea418addd87":[60,0,43,65],
"struct___remmina_plugin_service.html#a2d76917789e30f441015f878a344e0e3":[60,0,43,119],
-"struct___remmina_plugin_service.html#a2fa0887784511624d524af62589bd506":[60,0,43,114],
-"struct___remmina_plugin_service.html#a3746762bfcf6f177c03dbd6ffef1a5e1":[60,0,43,111],
-"struct___remmina_plugin_service.html#a383784716c9aa4135c09670c2ccc48cd":[60,0,43,89]
+"struct___remmina_plugin_service.html#a2fa0887784511624d524af62589bd506":[60,0,43,114]
};
diff --git a/public/navtreeindex13.js b/public/navtreeindex13.js
index 87e9c6e74..adab37448 100644
--- a/public/navtreeindex13.js
+++ b/public/navtreeindex13.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX13 =
{
+"struct___remmina_plugin_service.html#a3746762bfcf6f177c03dbd6ffef1a5e1":[60,0,43,111],
+"struct___remmina_plugin_service.html#a383784716c9aa4135c09670c2ccc48cd":[60,0,43,89],
"struct___remmina_plugin_service.html#a387f974b25c4164811f661128e200c8c":[60,0,43,34],
"struct___remmina_plugin_service.html#a3e05115143ed8a545605a25a497a2db5":[60,0,43,93],
"struct___remmina_plugin_service.html#a402cb9bb28e67cec7f643968767453cb":[60,0,43,117],
@@ -247,7 +249,5 @@ var NAVTREEINDEX13 =
"struct___remmina_pref.html#a6d77a2663675f01670ed7cc2f14e39c9":[60,0,54,1],
"struct___remmina_pref.html#a70f73ed240c2ce813dd9fa66fd1a6677":[60,0,54,76],
"struct___remmina_pref.html#a712773f926eb2ec030d6af80cdc33095":[60,0,54,54],
-"struct___remmina_pref.html#a766ea73df1b7d25866582ec209941de8":[60,0,54,30],
-"struct___remmina_pref.html#a788378c190a4ec0ebcf60c570f3b50d5":[60,0,54,15],
-"struct___remmina_pref.html#a793ae9c3e2f88eed85551c85d6832ebd":[60,0,54,65]
+"struct___remmina_pref.html#a766ea73df1b7d25866582ec209941de8":[60,0,54,30]
};
diff --git a/public/navtreeindex14.js b/public/navtreeindex14.js
index b7b9a2fef..c8bc9f211 100644
--- a/public/navtreeindex14.js
+++ b/public/navtreeindex14.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX14 =
{
+"struct___remmina_pref.html#a788378c190a4ec0ebcf60c570f3b50d5":[60,0,54,15],
+"struct___remmina_pref.html#a793ae9c3e2f88eed85551c85d6832ebd":[60,0,54,65],
"struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c":[60,0,54,9],
"struct___remmina_pref.html#a85e3d3ef34fb8969211860df159a04d8":[60,0,54,7],
"struct___remmina_pref.html#a887cbbd379d159cd0ac1acea7173d07b":[60,0,54,52],
@@ -247,7 +249,5 @@ var NAVTREEINDEX14 =
"struct___remmina_protocol_widget_priv.html#af72272c7e2f45d61130ab4e57eb86380":[60,0,64,12],
"struct___remmina_protocol_widget_priv.html#af9db6b4306852214f3dc2cdc06a635b4":[60,0,64,2],
"struct___remmina_protocol_widget_signal_data.html":[60,0,65],
-"struct___remmina_protocol_widget_signal_data.html#a2dfdc85f32d5eeed1d183088ac2a4ada":[60,0,65,1],
-"struct___remmina_protocol_widget_signal_data.html#a7a8b9ad6fdff86250a5eef649693d64a":[60,0,65,0],
-"struct___remmina_s_f_t_p.html":[60,0,69]
+"struct___remmina_protocol_widget_signal_data.html#a2dfdc85f32d5eeed1d183088ac2a4ada":[60,0,65,1]
};
diff --git a/public/navtreeindex15.js b/public/navtreeindex15.js
index 4602b30c2..446f8fc4d 100644
--- a/public/navtreeindex15.js
+++ b/public/navtreeindex15.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX15 =
{
+"struct___remmina_protocol_widget_signal_data.html#a7a8b9ad6fdff86250a5eef649693d64a":[60,0,65,0],
+"struct___remmina_s_f_t_p.html":[60,0,69],
"struct___remmina_s_f_t_p.html#a7dab48a7603f1dd6671a8dd1efe1958e":[60,0,69,1],
"struct___remmina_s_f_t_p.html#adef92bcfa7b9a86debf0531d0239a5df":[60,0,69,0],
"struct___remmina_s_f_t_p_client.html":[60,0,70],
@@ -247,7 +249,5 @@ var NAVTREEINDEX15 =
"struct_remmina_plugin_loader.html#a56f300db088d387cc4de9dbcd4b8e96f":[60,0,110,0],
"struct_remmina_plugin_loader.html#a89a0df31eaca09c7f3009d1100f3b078":[60,0,110,1],
"structdistro__info.html":[60,0,84],
-"structdistro__info.html#a1999084b11586bdb56bc2453fce7f633":[60,0,84,0],
-"structdistro__info.html#a27013edbc763fecb35337ca0affacfc2":[60,0,84,1],
-"structitem.html":[60,0,85]
+"structdistro__info.html#a1999084b11586bdb56bc2453fce7f633":[60,0,84,0]
};
diff --git a/public/navtreeindex16.js b/public/navtreeindex16.js
index 6787e3e00..9b8736fa5 100644
--- a/public/navtreeindex16.js
+++ b/public/navtreeindex16.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX16 =
{
+"structdistro__info.html#a27013edbc763fecb35337ca0affacfc2":[60,0,84,1],
+"structitem.html":[60,0,85],
"structitem.html#a1bfbfa35087440a4b217fd9fa4466bdb":[60,0,85,5],
"structitem.html#a38ed39bc82590b07b2746c48a2eef262":[60,0,85,4],
"structitem.html#a456c6639914adbd3be8b4da351775d04":[60,0,85,0],
@@ -247,7 +249,5 @@ var NAVTREEINDEX16 =
"structrf__context.html#a7c4234646c4b584e41e36521b7eab889":[60,0,113,14],
"structrf__context.html#a8a310c8fad5daf6b9f4d8f854b04a764":[60,0,113,41],
"structrf__context.html#a9134f0b8a6352cc257e1e91e162efea3":[60,0,113,4],
-"structrf__context.html#a91f20005b39ad9e1073cf25bf6d7c2f2":[60,0,113,47],
-"structrf__context.html#a93dd55d1f081496959f1051d04cc3ba4":[60,0,113,31],
-"structrf__context.html#a957e6f6867170470689210d55770342e":[60,0,113,12]
+"structrf__context.html#a91f20005b39ad9e1073cf25bf6d7c2f2":[60,0,113,47]
};
diff --git a/public/navtreeindex17.js b/public/navtreeindex17.js
index d63914c62..85509667a 100644
--- a/public/navtreeindex17.js
+++ b/public/navtreeindex17.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX17 =
{
+"structrf__context.html#a93dd55d1f081496959f1051d04cc3ba4":[60,0,113,31],
+"structrf__context.html#a957e6f6867170470689210d55770342e":[60,0,113,12],
"structrf__context.html#a96c4689f6bc062482536038cb3b24e78":[60,0,113,37],
"structrf__context.html#a9d28c775fe1ee90ad48941d753564a76":[60,0,113,44],
"structrf__context.html#aa04b5624216d612d134b7439658f8b17":[60,0,113,23],
@@ -247,7 +249,5 @@ var NAVTREEINDEX17 =
"vnc__plugin_8h_source.html":[61,0,167],
"www__config_8h.html":[61,0,168],
"www__config_8h_source.html":[61,0,168],
-"www__plugin_8c.html":[61,0,169],
-"www__plugin_8c.html#a05218b821edab542795439a87ad9d909":[61,0,169,5],
-"www__plugin_8c.html#a18fa028449a5d5d455ce6cde7bfd2ef2":[61,0,169,4]
+"www__plugin_8c.html":[61,0,169]
};
diff --git a/public/navtreeindex18.js b/public/navtreeindex18.js
index 6975add34..09d2d1bac 100644
--- a/public/navtreeindex18.js
+++ b/public/navtreeindex18.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX18 =
{
+"www__plugin_8c.html#a05218b821edab542795439a87ad9d909":[61,0,169,5],
+"www__plugin_8c.html#a18fa028449a5d5d455ce6cde7bfd2ef2":[61,0,169,4],
"www__plugin_8c.html#a1a152b9760d6b4808393569b0409f8b8":[61,0,169,18],
"www__plugin_8c.html#a282f3f57584e24a15a8a5d5cf5aa8d72":[61,0,169,16],
"www__plugin_8c.html#a298678121c7123265e772c0b060f5dcb":[61,0,169,20],
diff --git a/public/navtreeindex5.js b/public/navtreeindex5.js
index b4cdd147c..3bc6cc592 100644
--- a/public/navtreeindex5.js
+++ b/public/navtreeindex5.js
@@ -16,12 +16,13 @@ var NAVTREEINDEX5 =
"remmina__exec_8c.html#a0ffd51ed283da4640c920e75e89e694a":[61,0,72,0],
"remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271":[61,0,72,7],
"remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7":[61,0,72,5],
-"remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9":[61,0,72,9],
-"remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3":[61,0,72,8],
+"remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9":[61,0,72,10],
+"remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3":[61,0,72,9],
"remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31":[61,0,72,3],
"remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f":[61,0,72,1],
"remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305":[61,0,72,2],
"remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58":[61,0,72,6],
+"remmina__exec_8c.html#adfa9ba9dcefd2b5f6ca8050f00731c73":[61,0,72,8],
"remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d":[61,0,72,4],
"remmina__exec_8c_source.html":[61,0,72],
"remmina__exec_8h.html":[61,0,73],
@@ -40,7 +41,8 @@ var NAVTREEINDEX5 =
"remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65":[61,0,73,0,5],
"remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5":[61,0,73,0,1],
"remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7":[61,0,73,3],
-"remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9":[61,0,73,5],
+"remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9":[61,0,73,6],
+"remmina__exec_8h.html#a99081d2e250691f503eef8b3ae4d7ae6":[61,0,73,5],
"remmina__exec_8h.html#aaa67e07e2426828d7e7b9b30d2038d31":[61,0,73,2],
"remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f":[61,0,73,4],
"remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5":[61,0,73,1],
@@ -247,7 +249,5 @@ var NAVTREEINDEX5 =
"remmina__ftp__client_8c.html#a13529f504158679b5c2fef7f1c25b969":[61,0,86,56],
"remmina__ftp__client_8c.html#a1d9c5e03f84f108f4023fa7ecf1ec73a":[61,0,86,38],
"remmina__ftp__client_8c.html#a1ef77e687209d258ec576c31614ea60f":[61,0,86,50],
-"remmina__ftp__client_8c.html#a20d0575c04eb24553aeba7d0316e7a2e":[61,0,86,41],
-"remmina__ftp__client_8c.html#a27a70ad185d142086368c637b32e60ba":[61,0,86,32],
-"remmina__ftp__client_8c.html#a27d2465531f2031f521280cbb11d3e89":[61,0,86,22]
+"remmina__ftp__client_8c.html#a20d0575c04eb24553aeba7d0316e7a2e":[61,0,86,41]
};
diff --git a/public/navtreeindex6.js b/public/navtreeindex6.js
index f73712076..2d22b2d89 100644
--- a/public/navtreeindex6.js
+++ b/public/navtreeindex6.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX6 =
{
+"remmina__ftp__client_8c.html#a27a70ad185d142086368c637b32e60ba":[61,0,86,32],
+"remmina__ftp__client_8c.html#a27d2465531f2031f521280cbb11d3e89":[61,0,86,22],
"remmina__ftp__client_8c.html#a28b9006fa53e21e48df9237d68a847f3":[61,0,86,49],
"remmina__ftp__client_8c.html#a2aaef09531b1694c183a5ba530fcc2fa":[61,0,86,45],
"remmina__ftp__client_8c.html#a2e39a69f60d38b46bc603df0ae368aed":[61,0,86,21],
@@ -247,7 +249,5 @@ var NAVTREEINDEX6 =
"remmina__main_8c.html#a923b3e2712d969eb59d9291e99f933e8":[61,0,94,88],
"remmina__main_8c.html#a95532ac6d110eeeb2e41d4b2a329797c":[61,0,94,14],
"remmina__main_8c.html#a9896df7a92402b5a61e58420235c515a":[61,0,94,59],
-"remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12":[61,0,94,13],
-"remmina__main_8c.html#aa20963aed43242994c88d5a97a546355":[61,0,94,80],
-"remmina__main_8c.html#aa46e6b815c241d32a476a29053dbf296":[61,0,94,31]
+"remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12":[61,0,94,13]
};
diff --git a/public/navtreeindex7.js b/public/navtreeindex7.js
index 20838c9da..60106313e 100644
--- a/public/navtreeindex7.js
+++ b/public/navtreeindex7.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX7 =
{
+"remmina__main_8c.html#aa20963aed43242994c88d5a97a546355":[61,0,94,80],
+"remmina__main_8c.html#aa46e6b815c241d32a476a29053dbf296":[61,0,94,31],
"remmina__main_8c.html#aa4d9b76d32fa500f4b9f39a19e4eaaf2":[61,0,94,66],
"remmina__main_8c.html#aac0bb51159be042fecab0103e73a54dc":[61,0,94,38],
"remmina__main_8c.html#aac3aa116a8d8b527f1aa61b7395b4b32":[61,0,94,54],
@@ -247,7 +249,5 @@ var NAVTREEINDEX7 =
"remmina__plugin__manager_8h.html#afce14b101da527ada9b44a4503e91e07":[61,0,112,7],
"remmina__plugin__manager_8h.html#afe0881986b2a64bfb5460981dadcf28d":[61,0,112,16],
"remmina__plugin__manager_8h_source.html":[61,0,112],
-"remmina__plugin__native_8c.html":[61,0,113],
-"remmina__plugin__native_8c.html#ae60c5371a41a83ef94c6a2b3dc8c9520":[61,0,113,0],
-"remmina__plugin__native_8c_source.html":[61,0,113]
+"remmina__plugin__native_8c.html":[61,0,113]
};
diff --git a/public/navtreeindex8.js b/public/navtreeindex8.js
index efa665726..9b929cb32 100644
--- a/public/navtreeindex8.js
+++ b/public/navtreeindex8.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX8 =
{
+"remmina__plugin__native_8c.html#ae60c5371a41a83ef94c6a2b3dc8c9520":[61,0,113,0],
+"remmina__plugin__native_8c_source.html":[61,0,113],
"remmina__plugin__native_8h.html":[61,0,114],
"remmina__plugin__native_8h.html#a982cae6c913f388335a678c1070c924e":[61,0,114,1],
"remmina__plugin__native_8h.html#ae60c5371a41a83ef94c6a2b3dc8c9520":[61,0,114,0],
@@ -247,7 +249,5 @@ var NAVTREEINDEX8 =
"remmina__protocol__widget_8c.html#affb2413c00f0681fe08f90523f7e1471":[61,0,119,86],
"remmina__protocol__widget_8c_source.html":[61,0,119],
"remmina__protocol__widget_8h.html":[61,0,120],
-"remmina__protocol__widget_8h.html#a05b5edfc3d3d0dcff1745d1d35aaca5c":[61,0,120,73],
-"remmina__protocol__widget_8h.html#a08d312825fc0de9f9286279d99f763a1":[61,0,120,16],
-"remmina__protocol__widget_8h.html#a0b19dbe685e4465e7f06706270e120fa":[61,0,120,67]
+"remmina__protocol__widget_8h.html#a05b5edfc3d3d0dcff1745d1d35aaca5c":[61,0,120,73]
};
diff --git a/public/navtreeindex9.js b/public/navtreeindex9.js
index 07d51cc9e..085294e0e 100644
--- a/public/navtreeindex9.js
+++ b/public/navtreeindex9.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX9 =
{
+"remmina__protocol__widget_8h.html#a08d312825fc0de9f9286279d99f763a1":[61,0,120,16],
+"remmina__protocol__widget_8h.html#a0b19dbe685e4465e7f06706270e120fa":[61,0,120,67],
"remmina__protocol__widget_8h.html#a12eddf3428a53201ee0a2ec422d2fa4a":[61,0,120,74],
"remmina__protocol__widget_8h.html#a13e14fa81f7ca52942415a7caf5b932c":[61,0,120,59],
"remmina__protocol__widget_8h.html#a14684e3222e6afb1b43d77634a174767":[61,0,120,81],
@@ -247,7 +249,5 @@ var NAVTREEINDEX9 =
"remmina__ssh_8c.html#a8920b4663823da39661a108f04b33694":[61,0,133,28],
"remmina__ssh_8c.html#a8a66c667543dd8c4c4f7c8d929863fae":[61,0,133,10],
"remmina__ssh_8c.html#a91225eab16154f145e4d3f30a011d13a":[61,0,133,24],
-"remmina__ssh_8c.html#a976d3c1a549c17f00a64eb05d4e0823c":[61,0,133,6],
-"remmina__ssh_8c.html#a998d504fc1ae83365d905bd0b72e07ef":[61,0,133,15],
-"remmina__ssh_8c.html#aa836e9642f5703d984c65513c7220b56":[61,0,133,14]
+"remmina__ssh_8c.html#a976d3c1a549c17f00a64eb05d4e0823c":[61,0,133,6]
};
diff --git a/public/rcw_8c_source.html b/public/rcw_8c_source.html
index 3c647bb34..ed39b0cd8 100644
--- a/public/rcw_8c_source.html
+++ b/public/rcw_8c_source.html
@@ -277,7 +277,7 @@ $(document).ready(function(){initNavTree('rcw_8c_source.html','');});
<div class="ttc" id="remmina__file_8c_html_af153b0d289ac93f6ecdaa15d5f3b9b8c"><div class="ttname"><a href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a></div><div class="ttdeci">void remmina_file_set_int(RemminaFile *remminafile, const gchar *setting, gint value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00585">remmina_file.c:585</a></div></div>
<div class="ttc" id="struct___remmina_protocol_widget_html"><div class="ttname"><a href="struct___remmina_protocol_widget.html">_RemminaProtocolWidget</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8h_source.html#l00058">remmina_protocol_widget.h:58</a></div></div>
<div class="ttc" id="struct___remmina_pref_html_a17bfba7a11836808719d33d5f6edbdc7"><div class="ttname"><a href="struct___remmina_pref.html#a17bfba7a11836808719d33d5f6edbdc7">_RemminaPref::shortcutkey_disconnect</a></div><div class="ttdeci">guint shortcutkey_disconnect</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00186">remmina_pref.h:186</a></div></div>
-<div class="ttc" id="remmina__exec_8c_html_a424cabdcff647797061e7482049d62a7"><div class="ttname"><a href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a></div><div class="ttdeci">void remmina_exec_command(RemminaCommandType command, const gchar *data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00368">remmina_exec.c:368</a></div></div>
+<div class="ttc" id="remmina__exec_8c_html_a424cabdcff647797061e7482049d62a7"><div class="ttname"><a href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a></div><div class="ttdeci">void remmina_exec_command(RemminaCommandType command, const gchar *data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00382">remmina_exec.c:382</a></div></div>
<div class="ttc" id="remmina__pref_8h_html_a4caf8d8f829279fba122163d961608a4a4f58be8cee9e890445909866d5b11eaf"><div class="ttname"><a href="remmina__pref_8h.html#a4caf8d8f829279fba122163d961608a4a4f58be8cee9e890445909866d5b11eaf">TOOLBAR_PLACEMENT_LEFT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00080">remmina_pref.h:80</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00046">remmina_exec.h:46</a></div></div>
<div class="ttc" id="remmina__applet__menu__item_8h_html_a75e42156d38612a96ae48899316b4727a3a6eab177da4cc0bf8267148c3837bf1"><div class="ttname"><a href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a3a6eab177da4cc0bf8267148c3837bf1">REMMINA_APPLET_MENU_ITEM_DISCOVERED</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__applet__menu__item_8h_source.html#l00050">remmina_applet_menu_item.h:50</a></div></div>
@@ -388,7 +388,7 @@ $(document).ready(function(){initNavTree('rcw_8c_source.html','');});
<div class="ttc" id="struct___remmina_connection_object_html_a871e61a40fb0acd54b10191a3942d328"><div class="ttname"><a href="struct___remmina_connection_object.html#a871e61a40fb0acd54b10191a3942d328">_RemminaConnectionObject::cnnwin</a></div><div class="ttdeci">RemminaConnectionWindow * cnnwin</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l00164">rcw.c:164</a></div></div>
<div class="ttc" id="remmina__message__panel_8c_html_ae01d27ae9f678dc5a4fa32f0b401f434"><div class="ttname"><a href="remmina__message__panel_8c.html#ae01d27ae9f678dc5a4fa32f0b401f434">remmina_message_panel_setup_message</a></div><div class="ttdeci">void remmina_message_panel_setup_message(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00175">remmina_message_panel.c:175</a></div></div>
<div class="ttc" id="remmina_8c_html_ab4a9a67c5372ff07b71d0558679ab7ae"><div class="ttname"><a href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a></div><div class="ttdeci">gboolean kioskmode</div><div class="ttdef"><b>Definition:</b> <a href="remmina_8c_source.html#l00087">remmina.c:87</a></div></div>
-<div class="ttc" id="remmina__exec_8c_html_aaa67e07e2426828d7e7b9b30d2038d31"><div class="ttname"><a href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a></div><div class="ttdeci">void remmina_application_condexit(RemminaCondExitType why)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00123">remmina_exec.c:123</a></div></div>
+<div class="ttc" id="remmina__exec_8c_html_aaa67e07e2426828d7e7b9b30d2038d31"><div class="ttname"><a href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a></div><div class="ttdeci">void remmina_application_condexit(RemminaCondExitType why)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00137">remmina_exec.c:137</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a0b19dbe685e4465e7f06706270e120fa"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget_set_expand</a></div><div class="ttdeci">void remmina_protocol_widget_set_expand(RemminaProtocolWidget *gp, gboolean expand)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01458">remmina_protocol_widget.c:1458</a></div></div>
<div class="ttc" id="rcw_8c_html_a5472fed2058a6597c3c7b7c91e98a73e"><div class="ttname"><a href="rcw_8c.html#a5472fed2058a6597c3c7b7c91e98a73e">focus_in_delayed_grab</a></div><div class="ttdeci">static gboolean focus_in_delayed_grab(RemminaConnectionWindow *cnnwin)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l02933">rcw.c:2933</a></div></div>
<div class="ttc" id="rcw_8c_html_a23692809213a6dfe683afe3d0dece3aa"><div class="ttname"><a href="rcw_8c.html#a23692809213a6dfe683afe3d0dece3aa">rco_update_toolbar_autofit_button</a></div><div class="ttdeci">void rco_update_toolbar_autofit_button(RemminaConnectionObject *cnnobj)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l01635">rcw.c:1635</a></div></div>
diff --git a/public/remmina_8c_source.html b/public/remmina_8c_source.html
index 3e613e54f..7e0489b4a 100644
--- a/public/remmina_8c_source.html
+++ b/public/remmina_8c_source.html
@@ -86,7 +86,7 @@ $(document).ready(function(){initNavTree('remmina_8c_source.html','');});
<div class="title">remmina.c</div> </div>
</div><!--header-->
<div class="contents">
-<a href="remmina_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2014-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &lt;gdk/gdk.h&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#define G_LOG_USE_STRUCTURED</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#ifndef G_LOG_DOMAIN</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#define G_LOG_DOMAIN ((gchar*)&quot;remmina&quot;)</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* G_LOG_DOMAIN */</span><span class="preprocessor"></span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#ifdef GDK_WINDOWING_X11</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;gdk/gdkx.h&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#elif defined(GDK_WINDOWING_WAYLAND)</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &lt;gdk/gdkwayland.h&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &lt;gio/gio.h&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#include &lt;glib/gi18n.h&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__sodium_8h.html">remmina_sodium.h</a>&quot;</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina_8h.html">remmina.h</a>&quot;</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>&quot;</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>&quot;</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__main_8h.html">remmina_main.h</a>&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__masterthread__exec_8h.html">remmina_masterthread_exec.h</a>&quot;</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>&quot;</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__plugin__native_8h.html">remmina_plugin_native.h</a>&quot;</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor">#ifdef WITH_PYTHONLIBS</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor">#include &quot;remmina_plugin_python.h&quot;</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>&quot;</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__public_8h.html">remmina_public.h</a>&quot;</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__sftp__plugin_8h.html">remmina_sftp_plugin.h</a>&quot;</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__ssh__plugin_8h.html">remmina_ssh_plugin.h</a>&quot;</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#ifdef HAVE_ERRNO_H</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor">#include &lt;errno.h&gt;</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor">#include &lt;pthread.h&gt;</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBGCRYPT</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#include &lt;gcrypt.h&gt;</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor"># if GCRYPT_VERSION_NUMBER &lt; 0x010600</span></div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="remmina_8c.html#a3d760300165528383af409d2964d79d2"> 77</a></span>&#160;<a class="code" href="remmina_8c.html#a3d760300165528383af409d2964d79d2">GCRY_THREAD_OPTION_PTHREAD_IMPL</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* !GCRYPT_VERSION_NUMBER */</span><span class="preprocessor"></span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HAVE_LIBGCRYPT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBGCRYPT</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor"># if GCRYPT_VERSION_NUMBER &lt; 0x010600</span></div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="remmina_8c.html#a87cf5ad579b1e914ce7ea788cead4104"> 83</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="remmina_8c.html#a87cf5ad579b1e914ce7ea788cead4104">gcrypt_thread_initialized</a> = 0;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* !GCRYPT_VERSION_NUMBER */</span><span class="preprocessor"></span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HAVE_LIBGCRYPT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="remmina_8h.html#a806213b48f3332bbb4bb771ddde38ab1"> 87</a></span>&#160;gboolean <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="remmina__pref_8h.html#a86d25bcf3c47f758f813a175a18b6ff1"> 88</a></span>&#160;gboolean <a class="code" href="remmina_8c.html#a86d25bcf3c47f758f813a175a18b6ff1">disabletoolbar</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="remmina__pref_8h.html#ae0e3cdfa06abe7e29f987421869713e1"> 89</a></span>&#160;gboolean <a class="code" href="remmina_8c.html#ae0e3cdfa06abe7e29f987421869713e1">fullscreen</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="remmina__pref_8h.html#ae729d4262682c8674b8dd0135014810a"> 90</a></span>&#160;gboolean <a class="code" href="remmina_8c.html#ae729d4262682c8674b8dd0135014810a">extrahardening</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="remmina__pref_8h.html#af2649a017ee95bd78adf58fda09c3e58"> 91</a></span>&#160;gboolean <a class="code" href="remmina_8c.html#af2649a017ee95bd78adf58fda09c3e58">disabletrayicon</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="remmina_8c.html#a3837fb7dd2ca88b6f7acaecc0d062ac5"> 93</a></span>&#160;<span class="keyword">static</span> GOptionEntry <a class="code" href="remmina_8c.html#a3837fb7dd2ca88b6f7acaecc0d062ac5">remmina_options</a>[] =</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;{</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; { <span class="stringliteral">&quot;about&quot;</span>, <span class="charliteral">&#39;a&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Show \&#39;About\&#39;&quot;</span>), NULL },</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; { <span class="stringliteral">&quot;connect&quot;</span>, <span class="charliteral">&#39;c&#39;</span>, 0, G_OPTION_ARG_FILENAME_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Connect either to a desktop described in a file (.remmina or a filetype supported by a plugin) or a supported URI (RDP, VNC, SSH or SPICE)&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;FILE&quot;</span>) },</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; { G_OPTION_REMAINING, <span class="charliteral">&#39;\0&#39;</span>, 0, G_OPTION_ARG_FILENAME_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Connect to a desktop described in a file (.remmina or a filetype supported by a plugin)&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;FILE&quot;</span>) },</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; { <span class="stringliteral">&quot;edit&quot;</span>, <span class="charliteral">&#39;e&#39;</span>, 0, G_OPTION_ARG_FILENAME_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Edit desktop connection described in file (.remmina or a filetype supported by plugin)&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;FILE&quot;</span>) },</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; { <span class="stringliteral">&quot;help&quot;</span>, <span class="charliteral">&#39;?&#39;</span>, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, NULL, NULL, NULL },</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; { <span class="stringliteral">&quot;kiosk&quot;</span>, <span class="charliteral">&#39;k&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Start in kiosk mode&quot;</span>), NULL },</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; { <span class="stringliteral">&quot;new&quot;</span>, <span class="charliteral">&#39;n&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Create new connection profile&quot;</span>), NULL },</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; { <span class="stringliteral">&quot;pref&quot;</span>, <span class="charliteral">&#39;p&#39;</span>, 0, G_OPTION_ARG_STRING, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Show preferences&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;TABINDEX&quot;</span>) },</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="preprocessor">#if 0</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="comment">/* This option was used mainly for telepathy, let&#39;s keep it if we will need it in the future */</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="comment">//{ &quot;plugin&quot;, &#39;x&#39;, 0, G_OPTION_ARG_STRING, NULL, N_(&quot;Run a plugin&quot;), N_(&quot;PLUGIN&quot;) },</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; { <span class="stringliteral">&quot;quit&quot;</span>, <span class="charliteral">&#39;q&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Quit&quot;</span>), NULL },</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; { <span class="stringliteral">&quot;server&quot;</span>, <span class="charliteral">&#39;s&#39;</span>, 0, G_OPTION_ARG_STRING, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Use default server name (for --new)&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;SERVER&quot;</span>) },</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; { <span class="stringliteral">&quot;protocol&quot;</span>, <span class="charliteral">&#39;t&#39;</span>, 0, G_OPTION_ARG_STRING, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Use default protocol (for --new)&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;PROTOCOL&quot;</span>) },</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; { <span class="stringliteral">&quot;icon&quot;</span>, <span class="charliteral">&#39;i&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Start in tray&quot;</span>), NULL },</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; { <span class="stringliteral">&quot;version&quot;</span>, <span class="charliteral">&#39;v&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Show the application version&quot;</span>), NULL },</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; { <span class="stringliteral">&quot;full-version&quot;</span>, <span class="charliteral">&#39;V&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Show version of the application and its plugins&quot;</span>), NULL },</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; { <span class="stringliteral">&quot;update-profile&quot;</span>, 0, 0, G_OPTION_ARG_FILENAME, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Modify connection profile (requires --set-option)&quot;</span>), NULL },</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; { <span class="stringliteral">&quot;set-option&quot;</span>, 0, 0, G_OPTION_ARG_STRING_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Set one or more profile settings, to be used with --update-profile&quot;</span>), NULL },</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; { <span class="stringliteral">&quot;encrypt-password&quot;</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Encrypt a password&quot;</span>), NULL },</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; { <span class="stringliteral">&quot;disable-toolbar&quot;</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Disable toolbar&quot;</span>), NULL },</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; { <span class="stringliteral">&quot;enable-fullscreen&quot;</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Enable fullscreen&quot;</span>), NULL },</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; { <span class="stringliteral">&quot;enable-extra-hardening&quot;</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Enable extra hardening (disable closing confirmation, disable unsafe shortcut keys, hide tabs, hide search bar)&quot;</span>), NULL },</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; { <span class="stringliteral">&quot;no-tray-icon&quot;</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Disable tray icon&quot;</span>), NULL },</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; { NULL }</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;};</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="preprocessor">#ifdef WITH_LIBGCRYPT</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="remmina_8c.html#a1ecec6e37469e2e927a612747269587c"> 141</a></span>&#160;<a class="code" href="remmina_8c.html#a1ecec6e37469e2e927a612747269587c">_gpg_error_to_errno</a>(gcry_error_t e)</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;{</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="comment">/* be lazy right now */</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (e == GPG_ERR_NO_ERROR)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">return</span> EINVAL;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;}</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* !WITH_LIBGCRYPT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="remmina_8c.html#aeb286fc5bd52ab5382ab8cb495dc2914"> 151</a></span>&#160;<span class="keyword">static</span> gint <a class="code" href="remmina_8c.html#aeb286fc5bd52ab5382ab8cb495dc2914">remmina_on_command_line</a>(GApplication *app, GApplicationCommandLine *cmdline)</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;{</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; gint status = 0;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; gboolean executed = FALSE;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; GVariantDict *opts;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; gchar *str;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keyword">const</span> gchar **files;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keyword">const</span> gchar **remaining_args;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; gchar *protocol;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; gchar *server;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="preprocessor">#if SODIUM_VERSION_INT &gt;= 90200</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="remmina__sodium_8c.html#a17d17beeb57808af1c4299e3b4b94e9a">remmina_sodium_init</a>();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; opts = g_application_command_line_get_options_dict(cmdline);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;disable-toolbar&quot;</span>, NULL)) {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="remmina_8c.html#a86d25bcf3c47f758f813a175a18b6ff1">disabletoolbar</a> = TRUE;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;enable-fullscreen&quot;</span>, NULL)) {</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="remmina_8c.html#ae0e3cdfa06abe7e29f987421869713e1">fullscreen</a> = TRUE;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;enable-extra-hardening&quot;</span>, NULL)) {</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="remmina_8c.html#ae729d4262682c8674b8dd0135014810a">extrahardening</a> = TRUE;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;no-tray-icon&quot;</span>, NULL)) {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="remmina_8c.html#af2649a017ee95bd78adf58fda09c3e58">disabletrayicon</a> = TRUE;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="remmina__pref_8c.html#a400f7319fd3996a13399ef72bcf0a2fd">remmina_pref_init</a>();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;quit&quot;</span>, NULL)) {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a>, NULL);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; executed = TRUE;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; status = 1;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; }</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;about&quot;</span>, NULL)) {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b">REMMINA_COMMAND_ABOUT</a>, NULL);</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; executed = TRUE;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; }</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;connect&quot;</span>, <span class="stringliteral">&quot;^aay&quot;</span>, &amp;files)) {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (files)</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">for</span> (gint i = 0; files[i]; i++) {</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; g_debug (<span class="stringliteral">&quot;Connecting to: %s&quot;</span>, files[i]);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d">REMMINA_COMMAND_CONNECT</a>, files[i]);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; }</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; executed = TRUE;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, G_OPTION_REMAINING, <span class="stringliteral">&quot;^a&amp;ay&quot;</span>, &amp;remaining_args)) {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d">REMMINA_COMMAND_CONNECT</a>, remaining_args[0]);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; g_free(remaining_args);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; executed = TRUE;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;edit&quot;</span>, <span class="stringliteral">&quot;^aay&quot;</span>, &amp;files)) {</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">if</span> (files)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">for</span> (gint i = 0; files[i]; i++) {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; g_debug (<span class="stringliteral">&quot;Editing file: %s&quot;</span>, files[i]);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65">REMMINA_COMMAND_EDIT</a>, files[i]);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="comment">//remmina_exec_command(REMMINA_COMMAND_EDIT, str);</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="comment">//g_free(str);</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; executed = TRUE;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; }</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;kiosk&quot;</span>, NULL)) {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> = TRUE;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5">REMMINA_COMMAND_MAIN</a>, NULL);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; executed = TRUE;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;new&quot;</span>, NULL)) {</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">if</span> (!g_variant_dict_lookup(opts, <span class="stringliteral">&quot;protocol&quot;</span>, <span class="stringliteral">&quot;&amp;s&quot;</span>, &amp;protocol))</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; protocol = NULL;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;server&quot;</span>, <span class="stringliteral">&quot;&amp;s&quot;</span>, &amp;server))</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; str = g_strdup_printf(<span class="stringliteral">&quot;%s,%s&quot;</span>, protocol, server);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; str = g_strdup(protocol);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a>, str);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; g_free(str);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; executed = TRUE;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; }</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;pref&quot;</span>, <span class="stringliteral">&quot;&amp;s&quot;</span>, &amp;str)) {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca822f35bcbc0737231ada0aa4ecfcd704">REMMINA_COMMAND_PREF</a>, str);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; executed = TRUE;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;plugin&quot;</span>, <span class="stringliteral">&quot;&amp;s&quot;</span>, &amp;str)) {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cabb2bf3aea0dd6f02ba402ec12a6ccbad">REMMINA_COMMAND_PLUGIN</a>, str);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; executed = TRUE;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;icon&quot;</span>, NULL)) {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca45777bb1a8f6a617da7eca5f7181d224">REMMINA_COMMAND_NONE</a>, NULL);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; executed = TRUE;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;encrypt-password&quot;</span>, NULL)) {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab4e4dc22219fe0323279276222efb0b5">REMMINA_COMMAND_ENCRYPT_PASSWORD</a>, NULL);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; executed = TRUE;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; status = 1;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; }</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">if</span> (!executed)</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5">REMMINA_COMMAND_MAIN</a>, NULL);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;}</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="remmina_8c.html#a26d2c20be18ff44f239b756f1d5be01a"> 274</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina_8c.html#a26d2c20be18ff44f239b756f1d5be01a">remmina_on_startup</a>(GApplication *app)</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;{</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <a class="code" href="struct___remmina_secret_plugin.html">RemminaSecretPlugin</a> *secret_plugin;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#aadc178f8f991ba939827d235aae8ad09">remmina_widget_pool_init</a>();</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="remmina__sftp__plugin_8c.html#a14a447ab8a10b109967d92c8d2db0ff9">remmina_sftp_plugin_register</a>();</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="remmina__ssh__plugin_8c.html#a6f594d157e09639e09b1f32a420da96c">remmina_ssh_plugin_register</a>();</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="remmina__icon_8c.html#afbd7758d1d43c61a014b7ef00f11fa58">remmina_icon_init</a>();</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; g_set_application_name(<span class="stringliteral">&quot;Remmina&quot;</span>);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; gtk_window_set_default_icon_name(REMMINA_APP_ID);</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="comment">/* Setting the X11 program class (WM_CLASS) is necessary to group</span></div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;<span class="comment"> * windows with .desktop file which has the same StartupWMClass */</span></div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; gdk_set_program_class(REMMINA_APP_ID);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(),</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; REMMINA_RUNTIME_DATADIR G_DIR_SEPARATOR_S <span class="stringliteral">&quot;icons&quot;</span>);</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; g_application_hold(app);</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="comment">/* Check for secret plugin and service initialization and show console warnings if</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;<span class="comment"> * something is missing */</span></div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; secret_plugin = <a class="code" href="remmina__plugin__manager_8c.html#ad380a98f6624aa8c830015c8b428b7b4">remmina_plugin_manager_get_secret_plugin</a>();</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">if</span> (!secret_plugin)</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; g_print(<span class="stringliteral">&quot;Warning: Remmina is running without a secret plugin. Passwords will be saved in a less secure way.\n&quot;</span>);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">if</span> (!secret_plugin-&gt;<a class="code" href="struct___remmina_secret_plugin.html#a2123e14795b104f5fe8d77a4b7847261">is_service_available</a>(secret_plugin))</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; g_print(<span class="stringliteral">&quot;Warning: Remmina is running with a secrecy plugin, but it cannot connect to a secrecy service.\n&quot;</span>);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacc1267f3834ff091be0587522f2182b8">REMMINA_COMMAND_AUTOSTART</a>, NULL);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;}</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="remmina_8c.html#a9e8319f901232eb5fada98335217979c"> 308</a></span>&#160;<span class="keyword">static</span> gint <a class="code" href="remmina_8c.html#a9e8319f901232eb5fada98335217979c">remmina_on_local_cmdline</a>(GApplication *app, GVariantDict *opts, gpointer user_data)</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;{</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordtype">int</span> status = -1;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; gchar *str;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; gchar **settings;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="comment">/* Here you handle any command line options that you want to be executed</span></div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;<span class="comment"> * in the local instance (the non-unique instance) */</span></div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;version&quot;</span>, NULL)) {</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caa436b39160d5ab6b73f6758dc5c30c06">REMMINA_COMMAND_VERSION</a>, NULL);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; status = 0;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; }</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;full-version&quot;</span>, NULL)) {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab9f0b4fd42775c1d2b2311e0b9692885">REMMINA_COMMAND_FULL_VERSION</a>, NULL);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; status = 0;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;update-profile&quot;</span>, <span class="stringliteral">&quot;^&amp;ay&quot;</span>, &amp;str)) { <span class="comment">/* ^&amp;ay no need to free */</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;set-option&quot;</span>, <span class="stringliteral">&quot;^a&amp;s&quot;</span>, &amp;settings)) {</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">if</span> (settings != NULL) {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; status = <a class="code" href="remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a>(str, settings);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; g_free(settings);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; status = 1;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; }</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; status = 1;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; g_print(<span class="stringliteral">&quot;Error: --update-profile requires --set-option\n&quot;</span>);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="comment">/* Returning a non negative value here makes the application exit */</span></div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;}</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div><div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="remmina_8c.html#a0ddf1224851353fc92bfbff6f499fa97"> 347</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="remmina_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[])</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;{</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; GtkApplication *app;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keyword">const</span> gchar *app_id;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordtype">int</span> status;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; g_unsetenv(<span class="stringliteral">&quot;GDK_CORE_DEVICE_EVENTS&quot;</span>);</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="comment">// Checking for environment variable &quot;G_MESSAGES_DEBUG&quot;</span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="comment">// Give the less familiar with GLib a tip on where to get</span></div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="comment">// more debugging info.</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">if</span>(!getenv(<span class="stringliteral">&quot;G_MESSAGES_DEBUG&quot;</span>)) {</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="comment">/* TRANSLATORS:</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;<span class="comment"> * This link should point to a resource explaining how to get Remmina</span></div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;<span class="comment"> * to log more verbose statements.</span></div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; g_message(_(<span class="stringliteral">&quot;Remmina does not log all output statements. &quot;</span></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="stringliteral">&quot;Turn on more verbose output by using &quot;</span></div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="stringliteral">&quot;\&quot;G_MESSAGES_DEBUG=all\&quot; as an environment variable.\n&quot;</span></div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="stringliteral">&quot;More info available on the Remmina wiki at:\n&quot;</span></div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="stringliteral">&quot;https://gitlab.com/Remmina/Remmina/-/wikis/Usage/Remmina-debugging&quot;</span></div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; ));</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="comment">/* Enable wayland backend only after GTK 3.22.27 or the clipboard</span></div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;<span class="comment"> * will not work. See GTK bug 790031 */</span></div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__public_8c.html#ad7c29f17323086e08ac56e1636fd41c3">remmina_gtk_check_version</a>(3, 22, 27))</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; gdk_set_allowed_backends(<span class="stringliteral">&quot;wayland,x11,broadway,quartz,mir&quot;</span>);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; gdk_set_allowed_backends(<span class="stringliteral">&quot;x11,broadway,quartz,mir&quot;</span>);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <a class="code" href="remmina__masterthread__exec_8c.html#a4a595ce198f8adda31fe11348b0f734e">remmina_masterthread_exec_save_main_thread_id</a>();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; bindtextdomain(GETTEXT_PACKAGE, REMMINA_RUNTIME_LOCALEDIR);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; bind_textdomain_codeset(GETTEXT_PACKAGE, <span class="stringliteral">&quot;UTF-8&quot;</span>);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; textdomain(GETTEXT_PACKAGE);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBGCRYPT</span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;<span class="preprocessor"># if GCRYPT_VERSION_NUMBER &lt; 0x010600</span></div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; gcry_error_t e;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina_8c.html#a87cf5ad579b1e914ce7ea788cead4104">gcrypt_thread_initialized</a>) {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">if</span> ((e = gcry_control(GCRYCTL_SET_THREAD_CBS, &amp;gcry_threads_pthread)) != GPG_ERR_NO_ERROR)</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="remmina_8c.html#a87cf5ad579b1e914ce7ea788cead4104">gcrypt_thread_initialized</a>++;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; }</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* !GCRYPT_VERSION_NUMBER */</span><span class="preprocessor"></span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; gcry_check_version(NULL);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; gcry_control(GCRYCTL_DISABLE_SECMEM, 0);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* !HAVE_LIBGCRYPT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="comment">/* Initialize some Remmina parts needed also on a local instance for correct handle-local-options */</span></div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <a class="code" href="remmina__pref_8c.html#a400f7319fd3996a13399ef72bcf0a2fd">remmina_pref_init</a>();</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <a class="code" href="remmina__file__manager_8c.html#afa2b1889dced4289b0f7d7edffc82e72">remmina_file_manager_init</a>();</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#a9df07091ff7d32bcde595a6d3a3598f5">remmina_plugin_manager_init</a>();</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; app_id = g_application_id_is_valid(REMMINA_APP_ID) ? REMMINA_APP_ID : NULL;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; app = gtk_application_new(app_id, G_APPLICATION_HANDLES_COMMAND_LINE | G_APPLICATION_CAN_OVERRIDE_APP_ID);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;<span class="preprocessor">#if !GTK_CHECK_VERSION(4, 0, 0) </span><span class="comment">/* This is not needed anymore starting from GTK 4 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; g_set_prgname(app_id);</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; g_application_add_main_option_entries(G_APPLICATION(app), <a class="code" href="remmina_8c.html#a3837fb7dd2ca88b6f7acaecc0d062ac5">remmina_options</a>);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="preprocessor">#if GLIB_CHECK_VERSION(2,56,0)</span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; gchar *summary = g_strdup_printf (<span class="stringliteral">&quot;%s %s&quot;</span>, app_id, VERSION);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; g_application_set_option_context_summary (G_APPLICATION(app), summary);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; g_free(summary);</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; g_application_set_option_context_parameter_string (G_APPLICATION(app), _(<span class="stringliteral">&quot;- or protocol://username:encryptedpassword@host:port&quot;</span>));</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; g_application_set_option_context_description (G_APPLICATION(app),</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; _(<span class="stringliteral">&quot;Examples:\n&quot;</span></div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="stringliteral">&quot;To connect using an existing connection profile, use:\n&quot;</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="stringliteral">&quot;\tremmina -c FILE.remmina\n&quot;</span></div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="stringliteral">&quot;To quick connect using a URI:\n&quot;</span></div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="stringliteral">&quot;\tremmina -c rdp://username@server\n&quot;</span></div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="stringliteral">&quot;\tremmina -c rdp://domain\\\\username@server\n&quot;</span></div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="stringliteral">&quot;\tremmina -c vnc://username@server\n&quot;</span></div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="stringliteral">&quot;\tremmina -c vnc://server?VncUsername=username\n&quot;</span></div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="stringliteral">&quot;\tremmina -c ssh://user@server\n&quot;</span></div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="stringliteral">&quot;\tremmina -c spice://server\n&quot;</span></div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="stringliteral">&quot;To quick connect using a URI along with an encrypted password:\n&quot;</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="stringliteral">&quot;\tremmina -c rdp://username:encrypted-password@server\n&quot;</span></div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="stringliteral">&quot;\tremmina -c vnc://username:encrypted-password@server\n&quot;</span></div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="stringliteral">&quot;\tremmina -c vnc://server?VncUsername=username\\&amp;VncPassword=encrypted-password\n&quot;</span></div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="stringliteral">&quot;To encrypt a password for use with a URI:\n&quot;</span></div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="stringliteral">&quot;\tremmina --encrypt-password\n&quot;</span></div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="stringliteral">&quot;To update username and password and set a different resolution mode of a Remmina connection profile, use:\n&quot;</span></div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="stringliteral">&quot;\techo \&quot;username\\napassword\&quot; | remmina --update-profile /PATH/TO/FOO.remmina --set-option username --set-option resolution_mode=2 --set-option password\n&quot;</span>));</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; g_signal_connect(app, <span class="stringliteral">&quot;startup&quot;</span>, G_CALLBACK(<a class="code" href="remmina_8c.html#a26d2c20be18ff44f239b756f1d5be01a">remmina_on_startup</a>), NULL);</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; g_signal_connect(app, <span class="stringliteral">&quot;command-line&quot;</span>, G_CALLBACK(<a class="code" href="remmina_8c.html#aeb286fc5bd52ab5382ab8cb495dc2914">remmina_on_command_line</a>), NULL);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; g_signal_connect(app, <span class="stringliteral">&quot;handle-local-options&quot;</span>, G_CALLBACK(<a class="code" href="remmina_8c.html#a9e8319f901232eb5fada98335217979c">remmina_on_local_cmdline</a>), NULL);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; g_application_set_inactivity_timeout(G_APPLICATION(app), 10000);</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; status = g_application_run(G_APPLICATION(app), argc, argv);</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; g_object_unref(app);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;}</div><div class="ttc" id="remmina__exec_8c_html_a4e202866339a104ffdbfa519cfbcdca9"><div class="ttname"><a href="remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a></div><div class="ttdeci">int remmina_exec_set_setting(gchar *profilefilename, gchar **settings)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00166">remmina_exec.c:166</a></div></div>
+<a href="remmina_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2014-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &lt;gdk/gdk.h&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#define G_LOG_USE_STRUCTURED</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#ifndef G_LOG_DOMAIN</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#define G_LOG_DOMAIN ((gchar*)&quot;remmina&quot;)</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* G_LOG_DOMAIN */</span><span class="preprocessor"></span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#ifdef GDK_WINDOWING_X11</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;gdk/gdkx.h&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#elif defined(GDK_WINDOWING_WAYLAND)</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &lt;gdk/gdkwayland.h&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &lt;gio/gio.h&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#include &lt;glib/gi18n.h&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__sodium_8h.html">remmina_sodium.h</a>&quot;</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina_8h.html">remmina.h</a>&quot;</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>&quot;</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>&quot;</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__main_8h.html">remmina_main.h</a>&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__masterthread__exec_8h.html">remmina_masterthread_exec.h</a>&quot;</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>&quot;</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__plugin__native_8h.html">remmina_plugin_native.h</a>&quot;</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor">#ifdef WITH_PYTHONLIBS</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor">#include &quot;remmina_plugin_python.h&quot;</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>&quot;</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__public_8h.html">remmina_public.h</a>&quot;</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__sftp__plugin_8h.html">remmina_sftp_plugin.h</a>&quot;</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__ssh__plugin_8h.html">remmina_ssh_plugin.h</a>&quot;</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#ifdef HAVE_ERRNO_H</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor">#include &lt;errno.h&gt;</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor">#include &lt;pthread.h&gt;</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBGCRYPT</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#include &lt;gcrypt.h&gt;</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor"># if GCRYPT_VERSION_NUMBER &lt; 0x010600</span></div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="remmina_8c.html#a3d760300165528383af409d2964d79d2"> 77</a></span>&#160;<a class="code" href="remmina_8c.html#a3d760300165528383af409d2964d79d2">GCRY_THREAD_OPTION_PTHREAD_IMPL</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* !GCRYPT_VERSION_NUMBER */</span><span class="preprocessor"></span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HAVE_LIBGCRYPT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBGCRYPT</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor"># if GCRYPT_VERSION_NUMBER &lt; 0x010600</span></div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="remmina_8c.html#a87cf5ad579b1e914ce7ea788cead4104"> 83</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="remmina_8c.html#a87cf5ad579b1e914ce7ea788cead4104">gcrypt_thread_initialized</a> = 0;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* !GCRYPT_VERSION_NUMBER */</span><span class="preprocessor"></span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HAVE_LIBGCRYPT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="remmina_8h.html#a806213b48f3332bbb4bb771ddde38ab1"> 87</a></span>&#160;gboolean <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="remmina__pref_8h.html#a86d25bcf3c47f758f813a175a18b6ff1"> 88</a></span>&#160;gboolean <a class="code" href="remmina_8c.html#a86d25bcf3c47f758f813a175a18b6ff1">disabletoolbar</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="remmina__pref_8h.html#ae0e3cdfa06abe7e29f987421869713e1"> 89</a></span>&#160;gboolean <a class="code" href="remmina_8c.html#ae0e3cdfa06abe7e29f987421869713e1">fullscreen</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="remmina__pref_8h.html#ae729d4262682c8674b8dd0135014810a"> 90</a></span>&#160;gboolean <a class="code" href="remmina_8c.html#ae729d4262682c8674b8dd0135014810a">extrahardening</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="remmina__pref_8h.html#af2649a017ee95bd78adf58fda09c3e58"> 91</a></span>&#160;gboolean <a class="code" href="remmina_8c.html#af2649a017ee95bd78adf58fda09c3e58">disabletrayicon</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="remmina_8c.html#a3837fb7dd2ca88b6f7acaecc0d062ac5"> 93</a></span>&#160;<span class="keyword">static</span> GOptionEntry <a class="code" href="remmina_8c.html#a3837fb7dd2ca88b6f7acaecc0d062ac5">remmina_options</a>[] =</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;{</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; { <span class="stringliteral">&quot;about&quot;</span>, <span class="charliteral">&#39;a&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Show \&#39;About\&#39;&quot;</span>), NULL },</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; { <span class="stringliteral">&quot;connect&quot;</span>, <span class="charliteral">&#39;c&#39;</span>, 0, G_OPTION_ARG_FILENAME_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Connect either to a desktop described in a file (.remmina or a filetype supported by a plugin) or a supported URI (RDP, VNC, SSH or SPICE)&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;FILE&quot;</span>) },</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; { G_OPTION_REMAINING, <span class="charliteral">&#39;\0&#39;</span>, 0, G_OPTION_ARG_FILENAME_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Connect to a desktop described in a file (.remmina or a filetype supported by a plugin)&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;FILE&quot;</span>) },</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; { <span class="stringliteral">&quot;edit&quot;</span>, <span class="charliteral">&#39;e&#39;</span>, 0, G_OPTION_ARG_FILENAME_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Edit desktop connection described in file (.remmina or a filetype supported by plugin)&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;FILE&quot;</span>) },</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; { <span class="stringliteral">&quot;help&quot;</span>, <span class="charliteral">&#39;?&#39;</span>, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, NULL, NULL, NULL },</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; { <span class="stringliteral">&quot;kiosk&quot;</span>, <span class="charliteral">&#39;k&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Start in kiosk mode&quot;</span>), NULL },</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; { <span class="stringliteral">&quot;new&quot;</span>, <span class="charliteral">&#39;n&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Create new connection profile&quot;</span>), NULL },</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; { <span class="stringliteral">&quot;pref&quot;</span>, <span class="charliteral">&#39;p&#39;</span>, 0, G_OPTION_ARG_STRING, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Show preferences&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;TABINDEX&quot;</span>) },</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="preprocessor">#if 0</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="comment">/* This option was used mainly for telepathy, let&#39;s keep it if we will need it in the future */</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="comment">//{ &quot;plugin&quot;, &#39;x&#39;, 0, G_OPTION_ARG_STRING, NULL, N_(&quot;Run a plugin&quot;), N_(&quot;PLUGIN&quot;) },</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; { <span class="stringliteral">&quot;quit&quot;</span>, <span class="charliteral">&#39;q&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Quit&quot;</span>), NULL },</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; { <span class="stringliteral">&quot;server&quot;</span>, <span class="charliteral">&#39;s&#39;</span>, 0, G_OPTION_ARG_STRING, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Use default server name (for --new)&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;SERVER&quot;</span>) },</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; { <span class="stringliteral">&quot;protocol&quot;</span>, <span class="charliteral">&#39;t&#39;</span>, 0, G_OPTION_ARG_STRING, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Use default protocol (for --new)&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;PROTOCOL&quot;</span>) },</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; { <span class="stringliteral">&quot;icon&quot;</span>, <span class="charliteral">&#39;i&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Start in tray&quot;</span>), NULL },</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; { <span class="stringliteral">&quot;version&quot;</span>, <span class="charliteral">&#39;v&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Show the application version&quot;</span>), NULL },</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; { <span class="stringliteral">&quot;full-version&quot;</span>, <span class="charliteral">&#39;V&#39;</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Show version of the application and its plugins&quot;</span>), NULL },</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; { <span class="stringliteral">&quot;update-profile&quot;</span>, 0, 0, G_OPTION_ARG_FILENAME, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Modify connection profile (requires --set-option)&quot;</span>), NULL },</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; { <span class="stringliteral">&quot;set-option&quot;</span>, 0, 0, G_OPTION_ARG_STRING_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Set one or more profile settings, to be used with --update-profile&quot;</span>), NULL },</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; { <span class="stringliteral">&quot;encrypt-password&quot;</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Encrypt a password&quot;</span>), NULL },</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; { <span class="stringliteral">&quot;disable-toolbar&quot;</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Disable toolbar&quot;</span>), NULL },</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; { <span class="stringliteral">&quot;enable-fullscreen&quot;</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Enable fullscreen&quot;</span>), NULL },</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; { <span class="stringliteral">&quot;enable-extra-hardening&quot;</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Enable extra hardening (disable closing confirmation, disable unsafe shortcut keys, hide tabs, hide search bar)&quot;</span>), NULL },</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; { <span class="stringliteral">&quot;no-tray-icon&quot;</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Disable tray icon&quot;</span>), NULL },</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; { NULL }</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;};</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="preprocessor">#ifdef WITH_LIBGCRYPT</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="remmina_8c.html#a1ecec6e37469e2e927a612747269587c"> 141</a></span>&#160;<a class="code" href="remmina_8c.html#a1ecec6e37469e2e927a612747269587c">_gpg_error_to_errno</a>(gcry_error_t e)</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;{</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="comment">/* be lazy right now */</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (e == GPG_ERR_NO_ERROR)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">return</span> EINVAL;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;}</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* !WITH_LIBGCRYPT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="remmina_8c.html#aeb286fc5bd52ab5382ab8cb495dc2914"> 151</a></span>&#160;<span class="keyword">static</span> gint <a class="code" href="remmina_8c.html#aeb286fc5bd52ab5382ab8cb495dc2914">remmina_on_command_line</a>(GApplication *app, GApplicationCommandLine *cmdline)</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;{</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; gint status = 0;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; gboolean executed = FALSE;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; GVariantDict *opts;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; gchar *str;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keyword">const</span> gchar **files;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keyword">const</span> gchar **remaining_args;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; gchar *protocol;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; gchar *server;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="preprocessor">#if SODIUM_VERSION_INT &gt;= 90200</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="remmina__sodium_8c.html#a17d17beeb57808af1c4299e3b4b94e9a">remmina_sodium_init</a>();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; opts = g_application_command_line_get_options_dict(cmdline);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;disable-toolbar&quot;</span>, NULL)) {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="remmina_8c.html#a86d25bcf3c47f758f813a175a18b6ff1">disabletoolbar</a> = TRUE;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;enable-fullscreen&quot;</span>, NULL)) {</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="remmina_8c.html#ae0e3cdfa06abe7e29f987421869713e1">fullscreen</a> = TRUE;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;enable-extra-hardening&quot;</span>, NULL)) {</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="remmina_8c.html#ae729d4262682c8674b8dd0135014810a">extrahardening</a> = TRUE;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;no-tray-icon&quot;</span>, NULL)) {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="remmina_8c.html#af2649a017ee95bd78adf58fda09c3e58">disabletrayicon</a> = TRUE;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="remmina__pref_8c.html#a400f7319fd3996a13399ef72bcf0a2fd">remmina_pref_init</a>();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;quit&quot;</span>, NULL)) {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a>, NULL);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; executed = TRUE;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; status = 1;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; }</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;about&quot;</span>, NULL)) {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b">REMMINA_COMMAND_ABOUT</a>, NULL);</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; executed = TRUE;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; }</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;connect&quot;</span>, <span class="stringliteral">&quot;^aay&quot;</span>, &amp;files)) {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (files)</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">for</span> (gint i = 0; files[i]; i++) {</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; g_debug (<span class="stringliteral">&quot;Connecting to: %s&quot;</span>, files[i]);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d">REMMINA_COMMAND_CONNECT</a>, files[i]);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; }</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; executed = TRUE;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, G_OPTION_REMAINING, <span class="stringliteral">&quot;^a&amp;ay&quot;</span>, &amp;remaining_args)) {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d">REMMINA_COMMAND_CONNECT</a>, remaining_args[0]);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; g_free(remaining_args);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; executed = TRUE;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;edit&quot;</span>, <span class="stringliteral">&quot;^aay&quot;</span>, &amp;files)) {</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">if</span> (files)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">for</span> (gint i = 0; files[i]; i++) {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; g_debug (<span class="stringliteral">&quot;Editing file: %s&quot;</span>, files[i]);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65">REMMINA_COMMAND_EDIT</a>, files[i]);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="comment">//remmina_exec_command(REMMINA_COMMAND_EDIT, str);</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="comment">//g_free(str);</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; executed = TRUE;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; }</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;kiosk&quot;</span>, NULL)) {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> = TRUE;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5">REMMINA_COMMAND_MAIN</a>, NULL);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; executed = TRUE;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;new&quot;</span>, NULL)) {</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">if</span> (!g_variant_dict_lookup(opts, <span class="stringliteral">&quot;protocol&quot;</span>, <span class="stringliteral">&quot;&amp;s&quot;</span>, &amp;protocol))</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; protocol = NULL;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;server&quot;</span>, <span class="stringliteral">&quot;&amp;s&quot;</span>, &amp;server))</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; str = g_strdup_printf(<span class="stringliteral">&quot;%s,%s&quot;</span>, protocol, server);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; str = g_strdup(protocol);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a>, str);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; g_free(str);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; executed = TRUE;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; }</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;pref&quot;</span>, <span class="stringliteral">&quot;&amp;s&quot;</span>, &amp;str)) {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca822f35bcbc0737231ada0aa4ecfcd704">REMMINA_COMMAND_PREF</a>, str);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; executed = TRUE;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;plugin&quot;</span>, <span class="stringliteral">&quot;&amp;s&quot;</span>, &amp;str)) {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cabb2bf3aea0dd6f02ba402ec12a6ccbad">REMMINA_COMMAND_PLUGIN</a>, str);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; executed = TRUE;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;icon&quot;</span>, NULL)) {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca45777bb1a8f6a617da7eca5f7181d224">REMMINA_COMMAND_NONE</a>, NULL);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; executed = TRUE;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;encrypt-password&quot;</span>, NULL)) {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab4e4dc22219fe0323279276222efb0b5">REMMINA_COMMAND_ENCRYPT_PASSWORD</a>, NULL);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; executed = TRUE;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; status = 1;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; }</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">if</span> (!executed)</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5">REMMINA_COMMAND_MAIN</a>, NULL);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;}</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="remmina_8c.html#a26d2c20be18ff44f239b756f1d5be01a"> 274</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina_8c.html#a26d2c20be18ff44f239b756f1d5be01a">remmina_on_startup</a>(GApplication *app)</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;{</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <a class="code" href="struct___remmina_secret_plugin.html">RemminaSecretPlugin</a> *secret_plugin;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#aadc178f8f991ba939827d235aae8ad09">remmina_widget_pool_init</a>();</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="remmina__sftp__plugin_8c.html#a14a447ab8a10b109967d92c8d2db0ff9">remmina_sftp_plugin_register</a>();</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="remmina__ssh__plugin_8c.html#a6f594d157e09639e09b1f32a420da96c">remmina_ssh_plugin_register</a>();</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="remmina__icon_8c.html#afbd7758d1d43c61a014b7ef00f11fa58">remmina_icon_init</a>();</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; g_set_application_name(<span class="stringliteral">&quot;Remmina&quot;</span>);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; gtk_window_set_default_icon_name(REMMINA_APP_ID);</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="comment">/* Setting the X11 program class (WM_CLASS) is necessary to group</span></div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;<span class="comment"> * windows with .desktop file which has the same StartupWMClass */</span></div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; gdk_set_program_class(REMMINA_APP_ID);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(),</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; REMMINA_RUNTIME_DATADIR G_DIR_SEPARATOR_S <span class="stringliteral">&quot;icons&quot;</span>);</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; g_application_hold(app);</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="comment">/* Check for secret plugin and service initialization and show console warnings if</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;<span class="comment"> * something is missing */</span></div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; secret_plugin = <a class="code" href="remmina__plugin__manager_8c.html#ad380a98f6624aa8c830015c8b428b7b4">remmina_plugin_manager_get_secret_plugin</a>();</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">if</span> (!secret_plugin)</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; g_print(<span class="stringliteral">&quot;Warning: Remmina is running without a secret plugin. Passwords will be saved in a less secure way.\n&quot;</span>);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">if</span> (!secret_plugin-&gt;<a class="code" href="struct___remmina_secret_plugin.html#a2123e14795b104f5fe8d77a4b7847261">is_service_available</a>(secret_plugin))</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; g_print(<span class="stringliteral">&quot;Warning: Remmina is running with a secrecy plugin, but it cannot connect to a secrecy service.\n&quot;</span>);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacc1267f3834ff091be0587522f2182b8">REMMINA_COMMAND_AUTOSTART</a>, NULL);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;}</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="remmina_8c.html#a9e8319f901232eb5fada98335217979c"> 308</a></span>&#160;<span class="keyword">static</span> gint <a class="code" href="remmina_8c.html#a9e8319f901232eb5fada98335217979c">remmina_on_local_cmdline</a>(GApplication *app, GVariantDict *opts, gpointer user_data)</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;{</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordtype">int</span> status = -1;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; gchar *str;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; gchar **settings;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="comment">/* Here you handle any command line options that you want to be executed</span></div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;<span class="comment"> * in the local instance (the non-unique instance) */</span></div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;version&quot;</span>, NULL)) {</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caa436b39160d5ab6b73f6758dc5c30c06">REMMINA_COMMAND_VERSION</a>, NULL);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; status = 0;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; }</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">&quot;full-version&quot;</span>, NULL)) {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab9f0b4fd42775c1d2b2311e0b9692885">REMMINA_COMMAND_FULL_VERSION</a>, NULL);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; status = 0;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;update-profile&quot;</span>, <span class="stringliteral">&quot;^&amp;ay&quot;</span>, &amp;str)) { <span class="comment">/* ^&amp;ay no need to free */</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">&quot;set-option&quot;</span>, <span class="stringliteral">&quot;^a&amp;s&quot;</span>, &amp;settings)) {</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">if</span> (settings != NULL) {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; status = <a class="code" href="remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a>(str, settings);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; g_free(settings);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; status = 1;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; }</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; status = 1;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; g_print(<span class="stringliteral">&quot;Error: --update-profile requires --set-option\n&quot;</span>);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="comment">/* Returning a non negative value here makes the application exit */</span></div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;}</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div><div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="remmina_8c.html#a0ddf1224851353fc92bfbff6f499fa97"> 347</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="remmina_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[])</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;{</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; GtkApplication *app;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keyword">const</span> gchar *app_id;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordtype">int</span> status;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; g_unsetenv(<span class="stringliteral">&quot;GDK_CORE_DEVICE_EVENTS&quot;</span>);</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="comment">// Checking for environment variable &quot;G_MESSAGES_DEBUG&quot;</span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="comment">// Give the less familiar with GLib a tip on where to get</span></div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="comment">// more debugging info.</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">if</span>(!getenv(<span class="stringliteral">&quot;G_MESSAGES_DEBUG&quot;</span>)) {</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="comment">/* TRANSLATORS:</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;<span class="comment"> * This link should point to a resource explaining how to get Remmina</span></div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;<span class="comment"> * to log more verbose statements.</span></div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; g_message(_(<span class="stringliteral">&quot;Remmina does not log all output statements. &quot;</span></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="stringliteral">&quot;Turn on more verbose output by using &quot;</span></div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="stringliteral">&quot;\&quot;G_MESSAGES_DEBUG=all\&quot; as an environment variable.\n&quot;</span></div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="stringliteral">&quot;More info available on the Remmina wiki at:\n&quot;</span></div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="stringliteral">&quot;https://gitlab.com/Remmina/Remmina/-/wikis/Usage/Remmina-debugging&quot;</span></div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; ));</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="comment">/* Enable wayland backend only after GTK 3.22.27 or the clipboard</span></div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;<span class="comment"> * will not work. See GTK bug 790031 */</span></div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__public_8c.html#ad7c29f17323086e08ac56e1636fd41c3">remmina_gtk_check_version</a>(3, 22, 27))</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; gdk_set_allowed_backends(<span class="stringliteral">&quot;wayland,x11,broadway,quartz,mir&quot;</span>);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; gdk_set_allowed_backends(<span class="stringliteral">&quot;x11,broadway,quartz,mir&quot;</span>);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <a class="code" href="remmina__masterthread__exec_8c.html#a4a595ce198f8adda31fe11348b0f734e">remmina_masterthread_exec_save_main_thread_id</a>();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; bindtextdomain(GETTEXT_PACKAGE, REMMINA_RUNTIME_LOCALEDIR);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; bind_textdomain_codeset(GETTEXT_PACKAGE, <span class="stringliteral">&quot;UTF-8&quot;</span>);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; textdomain(GETTEXT_PACKAGE);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBGCRYPT</span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;<span class="preprocessor"># if GCRYPT_VERSION_NUMBER &lt; 0x010600</span></div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; gcry_error_t e;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina_8c.html#a87cf5ad579b1e914ce7ea788cead4104">gcrypt_thread_initialized</a>) {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">if</span> ((e = gcry_control(GCRYCTL_SET_THREAD_CBS, &amp;gcry_threads_pthread)) != GPG_ERR_NO_ERROR)</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="remmina_8c.html#a87cf5ad579b1e914ce7ea788cead4104">gcrypt_thread_initialized</a>++;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; }</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* !GCRYPT_VERSION_NUMBER */</span><span class="preprocessor"></span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; gcry_check_version(NULL);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; gcry_control(GCRYCTL_DISABLE_SECMEM, 0);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* !HAVE_LIBGCRYPT */</span><span class="preprocessor"></span></div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="comment">/* Initialize some Remmina parts needed also on a local instance for correct handle-local-options */</span></div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <a class="code" href="remmina__pref_8c.html#a400f7319fd3996a13399ef72bcf0a2fd">remmina_pref_init</a>();</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <a class="code" href="remmina__file__manager_8c.html#afa2b1889dced4289b0f7d7edffc82e72">remmina_file_manager_init</a>();</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#a9df07091ff7d32bcde595a6d3a3598f5">remmina_plugin_manager_init</a>();</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; app_id = g_application_id_is_valid(REMMINA_APP_ID) ? REMMINA_APP_ID : NULL;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; app = gtk_application_new(app_id, G_APPLICATION_HANDLES_COMMAND_LINE | G_APPLICATION_CAN_OVERRIDE_APP_ID);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;<span class="preprocessor">#if !GTK_CHECK_VERSION(4, 0, 0) </span><span class="comment">/* This is not needed anymore starting from GTK 4 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; g_set_prgname(app_id);</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; g_application_add_main_option_entries(G_APPLICATION(app), <a class="code" href="remmina_8c.html#a3837fb7dd2ca88b6f7acaecc0d062ac5">remmina_options</a>);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="preprocessor">#if GLIB_CHECK_VERSION(2,56,0)</span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; gchar *summary = g_strdup_printf (<span class="stringliteral">&quot;%s %s&quot;</span>, app_id, VERSION);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; g_application_set_option_context_summary (G_APPLICATION(app), summary);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; g_free(summary);</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; g_application_set_option_context_parameter_string (G_APPLICATION(app), _(<span class="stringliteral">&quot;- or protocol://username:encryptedpassword@host:port&quot;</span>));</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="comment">// TRANSLATORS: Shown in terminal. Do not use characters that may be not supported on a terminal</span></div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; g_application_set_option_context_description (G_APPLICATION(app),</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; _(<span class="stringliteral">&quot;Examples:\n&quot;</span></div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="stringliteral">&quot;To connect using an existing connection profile, use:\n&quot;</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="stringliteral">&quot;\tremmina -c FILE.remmina\n&quot;</span></div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="stringliteral">&quot;To quick connect using a URI:\n&quot;</span></div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="stringliteral">&quot;\tremmina -c rdp://username@server\n&quot;</span></div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="stringliteral">&quot;\tremmina -c rdp://domain\\\\username@server\n&quot;</span></div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="stringliteral">&quot;\tremmina -c vnc://username@server\n&quot;</span></div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="stringliteral">&quot;\tremmina -c vnc://server?VncUsername=username\n&quot;</span></div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="stringliteral">&quot;\tremmina -c ssh://user@server\n&quot;</span></div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="stringliteral">&quot;\tremmina -c spice://server\n&quot;</span></div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="stringliteral">&quot;To quick connect using a URI along with an encrypted password:\n&quot;</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="stringliteral">&quot;\tremmina -c rdp://username:encrypted-password@server\n&quot;</span></div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="stringliteral">&quot;\tremmina -c vnc://username:encrypted-password@server\n&quot;</span></div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="stringliteral">&quot;\tremmina -c vnc://server?VncUsername=username\\&amp;VncPassword=encrypted-password\n&quot;</span></div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="stringliteral">&quot;To encrypt a password for use with a URI:\n&quot;</span></div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="stringliteral">&quot;\tremmina --encrypt-password\n&quot;</span></div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="stringliteral">&quot;To update username and password and set a different resolution mode of a Remmina connection profile, use:\n&quot;</span></div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="stringliteral">&quot;\techo \&quot;username\\napassword\&quot; | remmina --update-profile /PATH/TO/FOO.remmina --set-option username --set-option resolution_mode=2 --set-option password\n&quot;</span>));</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; g_signal_connect(app, <span class="stringliteral">&quot;startup&quot;</span>, G_CALLBACK(<a class="code" href="remmina_8c.html#a26d2c20be18ff44f239b756f1d5be01a">remmina_on_startup</a>), NULL);</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; g_signal_connect(app, <span class="stringliteral">&quot;command-line&quot;</span>, G_CALLBACK(<a class="code" href="remmina_8c.html#aeb286fc5bd52ab5382ab8cb495dc2914">remmina_on_command_line</a>), NULL);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; g_signal_connect(app, <span class="stringliteral">&quot;handle-local-options&quot;</span>, G_CALLBACK(<a class="code" href="remmina_8c.html#a9e8319f901232eb5fada98335217979c">remmina_on_local_cmdline</a>), NULL);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; g_application_set_inactivity_timeout(G_APPLICATION(app), 10000);</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; status = g_application_run(G_APPLICATION(app), argc, argv);</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; g_object_unref(app);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;}</div><div class="ttc" id="remmina__exec_8c_html_a4e202866339a104ffdbfa519cfbcdca9"><div class="ttname"><a href="remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a></div><div class="ttdeci">int remmina_exec_set_setting(gchar *profilefilename, gchar **settings)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00180">remmina_exec.c:180</a></div></div>
<div class="ttc" id="remmina_8c_html_a3837fb7dd2ca88b6f7acaecc0d062ac5"><div class="ttname"><a href="remmina_8c.html#a3837fb7dd2ca88b6f7acaecc0d062ac5">remmina_options</a></div><div class="ttdeci">static GOptionEntry remmina_options[]</div><div class="ttdef"><b>Definition:</b> <a href="remmina_8c_source.html#l00093">remmina.c:93</a></div></div>
<div class="ttc" id="remmina__sodium_8h_html"><div class="ttname"><a href="remmina__sodium_8h.html">remmina_sodium.h</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8h_html"><div class="ttname"><a href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a></div></div>
@@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('remmina_8c_source.html','');});
<div class="ttc" id="remmina_8c_html_a9e8319f901232eb5fada98335217979c"><div class="ttname"><a href="remmina_8c.html#a9e8319f901232eb5fada98335217979c">remmina_on_local_cmdline</a></div><div class="ttdeci">static gint remmina_on_local_cmdline(GApplication *app, GVariantDict *opts, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina_8c_source.html#l00308">remmina.c:308</a></div></div>
<div class="ttc" id="remmina_8c_html_a86d25bcf3c47f758f813a175a18b6ff1"><div class="ttname"><a href="remmina_8c.html#a86d25bcf3c47f758f813a175a18b6ff1">disabletoolbar</a></div><div class="ttdeci">gboolean disabletoolbar</div><div class="ttdef"><b>Definition:</b> <a href="remmina_8c_source.html#l00088">remmina.c:88</a></div></div>
<div class="ttc" id="remmina_8c_html_a87cf5ad579b1e914ce7ea788cead4104"><div class="ttname"><a href="remmina_8c.html#a87cf5ad579b1e914ce7ea788cead4104">gcrypt_thread_initialized</a></div><div class="ttdeci">static int gcrypt_thread_initialized</div><div class="ttdef"><b>Definition:</b> <a href="remmina_8c_source.html#l00083">remmina.c:83</a></div></div>
-<div class="ttc" id="remmina__exec_8c_html_a424cabdcff647797061e7482049d62a7"><div class="ttname"><a href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a></div><div class="ttdeci">void remmina_exec_command(RemminaCommandType command, const gchar *data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00368">remmina_exec.c:368</a></div></div>
+<div class="ttc" id="remmina__exec_8c_html_a424cabdcff647797061e7482049d62a7"><div class="ttname"><a href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a></div><div class="ttdeci">void remmina_exec_command(RemminaCommandType command, const gchar *data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00382">remmina_exec.c:382</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b">REMMINA_COMMAND_ABOUT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00049">remmina_exec.h:49</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00046">remmina_exec.h:46</a></div></div>
<div class="ttc" id="remmina_8c_html_ae0e3cdfa06abe7e29f987421869713e1"><div class="ttname"><a href="remmina_8c.html#ae0e3cdfa06abe7e29f987421869713e1">fullscreen</a></div><div class="ttdeci">gboolean fullscreen</div><div class="ttdef"><b>Definition:</b> <a href="remmina_8c_source.html#l00089">remmina.c:89</a></div></div>
diff --git a/public/remmina__exec_8c.html b/public/remmina__exec_8c.html
index d992f7925..be17d675e 100644
--- a/public/remmina__exec_8c.html
+++ b/public/remmina__exec_8c.html
@@ -101,6 +101,8 @@ Functions</h2></td></tr>
<tr class="separator:a206abe0e916081b29c5faa52330e2271"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacc2a2ffd19e56fcb3e4b025d180ab8f"><td class="memItemLeft" align="right" valign="top">static gboolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f">disable_rcw_delete_confirm_cb</a> (GtkWidget *widget, gpointer data)</td></tr>
<tr class="separator:aacc2a2ffd19e56fcb3e4b025d180ab8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adfa9ba9dcefd2b5f6ca8050f00731c73"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__exec_8c.html#adfa9ba9dcefd2b5f6ca8050f00731c73">remmina_exec_exitremmina_one_confirm</a> ()</td></tr>
+<tr class="separator:adfa9ba9dcefd2b5f6ca8050f00731c73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa67e07e2426828d7e7b9b30d2038d31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a> (<a class="el" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a> why)</td></tr>
<tr class="separator:aaa67e07e2426828d7e7b9b30d2038d31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca2d356a03e1aac7b716b408183aa305"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305">newline_remove</a> (char *s)</td></tr>
@@ -215,7 +217,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00155">155</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00169">169</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
</div>
</div>
@@ -235,7 +237,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00123">123</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00137">137</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
</div>
</div>
@@ -273,7 +275,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00210">210</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00224">224</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
</div>
</div>
@@ -304,7 +306,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>This should be a G_OPTION_ARG_FILENAME_ARRAY (^aay) so that we can implement multi profile connection: <a href="https://gitlab.com/Remmina/Remmina/issues/915">https://gitlab.com/Remmina/Remmina/issues/915</a> </dd></dl>
-<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00368">368</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00382">382</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
</div>
</div>
@@ -332,7 +334,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00221">221</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00235">235</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
</div>
</div>
@@ -356,6 +358,26 @@ Functions</h2></td></tr>
</div>
</div>
+<a id="adfa9ba9dcefd2b5f6ca8050f00731c73"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adfa9ba9dcefd2b5f6ca8050f00731c73">&#9670;&nbsp;</a></span>remmina_exec_exitremmina_one_confirm()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void remmina_exec_exitremmina_one_confirm </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00123">123</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
+
+</div>
+</div>
<a id="a93f5633a6348dc1df1a5723b3054a2a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93f5633a6348dc1df1a5723b3054a2a3">&#9670;&nbsp;</a></span>remmina_exec_get_build_config()</h2>
@@ -402,7 +424,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00166">166</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00180">180</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
</div>
</div>
diff --git a/public/remmina__exec_8c.js b/public/remmina__exec_8c.js
index b1172662a..ce7870b5c 100644
--- a/public/remmina__exec_8c.js
+++ b/public/remmina__exec_8c.js
@@ -8,6 +8,7 @@ var remmina__exec_8c =
[ "remmina_exec_command", "remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7", null ],
[ "remmina_exec_connect", "remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58", null ],
[ "remmina_exec_exitremmina", "remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271", null ],
+ [ "remmina_exec_exitremmina_one_confirm", "remmina__exec_8c.html#adfa9ba9dcefd2b5f6ca8050f00731c73", null ],
[ "remmina_exec_get_build_config", "remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3", null ],
[ "remmina_exec_set_setting", "remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9", null ]
]; \ No newline at end of file
diff --git a/public/remmina__exec_8c_source.html b/public/remmina__exec_8c_source.html
index e310d8426..6cedc2384 100644
--- a/public/remmina__exec_8c_source.html
+++ b/public/remmina__exec_8c_source.html
@@ -86,7 +86,7 @@ $(document).ready(function(){initNavTree('remmina__exec_8c_source.html','');});
<div class="title">remmina_exec.c</div> </div>
</div><!--header-->
<div class="contents">
-<a href="remmina__exec_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2010 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;buildflags.h&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;glib/gi18n.h&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina_8h.html">remmina.h</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__main_8h.html">remmina_main.h</a>&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__log_8h.html">remmina_log.h</a>&quot;</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__unlock_8h.html">remmina_unlock.h</a>&quot;</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref__dialog_8h.html">remmina_pref_dialog.h</a>&quot;</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file_8h.html">remmina_file.h</a>&quot;</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>&quot;</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__editor_8h.html">remmina_file_editor.h</a>&quot;</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rcw_8h.html">rcw.h</a>&quot;</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__about_8h.html">remmina_about.h</a>&quot;</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>&quot;</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__crypt_8h.html">remmina_crypt.h</a>&quot;</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>&quot;</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor">#ifdef SNAP_BUILD</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor"># define ISSNAP &quot;- SNAP Build -&quot;</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor"># define ISSNAP &quot;-&quot;</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#a0ffd51ed283da4640c920e75e89e694a"> 67</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__exec_8c.html#a0ffd51ed283da4640c920e75e89e694a">cb_closewidget</a>(GtkWidget *widget, gpointer data)</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;{</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="comment">/* The correct way to close a rcw is to send</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> * it a &quot;delete-event&quot; signal. Simply destroying it will not close</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> * all network connections */</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span> (REMMINA_IS_CONNECTION_WINDOW(widget))</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <a class="code" href="rcw_8c.html#adae469553aa0647d0df5d88b180e7cd7">rcw_delete</a>(RCW(widget));</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;}</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3"> 78</a></span>&#160;<span class="keyword">const</span> gchar* <a class="code" href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3">remmina_exec_get_build_config</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> gchar build_config[] =</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="stringliteral">&quot;Build configuration: &quot;</span> BUILD_CONFIG <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="stringliteral">&quot;Build type: &quot;</span> BUILD_TYPE <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="stringliteral">&quot;CFLAGS: &quot;</span> CFLAGS <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="stringliteral">&quot;Compiler: &quot;</span> COMPILER_ID <span class="stringliteral">&quot;, &quot;</span> COMPILER_VERSION <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="stringliteral">&quot;Target architecture: &quot;</span> TARGET_ARCH <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> build_config;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;}</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f"> 89</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>()</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;{</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">/* Save main window state/position */</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="remmina__main_8c.html#a009f32092bd1d8dcd8e783d25416f3df">remmina_main_save_before_destroy</a>();</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="comment">/* Delete all widgets, main window not included */</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool_foreach</a>(<a class="code" href="remmina__exec_8c.html#a0ffd51ed283da4640c920e75e89e694a">cb_closewidget</a>, NULL);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAPPINDICATOR</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">/* Remove systray menu */</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="remmina__icon_8c.html#a25b1d13f76ddf6a51836d780eda5fab1">remmina_icon_destroy</a>();</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="comment">/* close/destroy main window struct and window */</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="remmina__main_8c.html#a95532ac6d110eeeb2e41d4b2a329797c">remmina_main_destroy</a>();</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="comment">/* Exit from Remmina */</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; g_application_quit(g_application_get_default());</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;}</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f"> 111</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f">disable_rcw_delete_confirm_cb</a>(GtkWidget *widget, gpointer data)</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;{</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="struct___remmina_connection_window.html">RemminaConnectionWindow</a> *rcw;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">if</span> (REMMINA_IS_CONNECTION_WINDOW(widget)) {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; rcw = (<a class="code" href="struct___remmina_connection_window.html">RemminaConnectionWindow</a>*)widget;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="rcw_8c.html#a4204fcd726a60493b290dd5590ec693d">rcw_set_delete_confirm_mode</a>(rcw, <a class="code" href="rcw_8h.html#a2450dfe27d3ded59370ea879419f307fadd57127d30bc4755bf3a8323045922bc">RCW_ONDELETE_NOCONFIRM</a>);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;}</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#aaa67e07e2426828d7e7b9b30d2038d31"> 123</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a>(<a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a> why)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;{</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="comment">/* Exit remmina only if there are no interesting windows left:</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * no main window, no systray menu, no connection window.</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * This function is usually called after a disconnection */</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">switch</span> (why) {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a3272be70c922ec6a1eaf498461943c51">REMMINA_CONDEXIT_ONDISCONNECT</a>:</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="comment">// A connection has disconnected, should we exit remmina ?</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool_count</a>() &lt; 1 &amp;&amp; !<a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>() &amp;&amp; !<a class="code" href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon_is_available</a>())</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5ae79d14a54e119795478a6e390d7d3b40">REMMINA_CONDEXIT_ONMAINWINDELETE</a>:</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="comment">/* If we are in Kiosk mode, we just exit */</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE)</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="comment">// Main window has been deleted</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool_count</a>() &lt; 1 &amp;&amp; !<a class="code" href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon_is_available</a>())</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284">REMMINA_CONDEXIT_ONQUIT</a>:</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="comment">// Quit command has been sent from main window or appindicator/systray menu</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="comment">// quit means QUIT.</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool_foreach</a>(<a class="code" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f">disable_rcw_delete_confirm_cb</a>, NULL);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;}</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305"> 155</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305">newline_remove</a>(<span class="keywordtype">char</span> *s)</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;{</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordtype">char</span> c;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">while</span>((c = *s) != 0 &amp;&amp; c != <span class="charliteral">&#39;\r&#39;</span> &amp;&amp; c != <span class="charliteral">&#39;\n&#39;</span>)</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; s++;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; *s = 0;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;}</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment">/* used for commandline parameter --update-profile X --set-option Y --set-option Z</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> * return a status code for exit()</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9"> 166</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a>(gchar *profilefilename, gchar **settings)</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;{</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; gchar **tk, *value = NULL;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordtype">char</span> *line = NULL;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordtype">size_t</span> len = 0;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; ssize_t read;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; gboolean abort = FALSE;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; remminafile = <a class="code" href="remmina__file__manager_8c.html#af7b58659604660eb0cb40b0e0f8348ab">remmina_file_manager_load_file</a>(profilefilename);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">if</span> (!remminafile) {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; g_print(<span class="stringliteral">&quot;Unable to open profile file %s\n&quot;</span>, profilefilename);</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; }</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">for</span>(i = 0; settings[i] != NULL &amp;&amp; !abort; i++) {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">if</span> (strlen(settings[i]) &gt; 0) {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; tk = g_strsplit(settings[i], <span class="stringliteral">&quot;=&quot;</span>, 2);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">if</span> (tk[1] == NULL) {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; read = getline(&amp;line, &amp;len, stdin);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">if</span> (read &gt; 0) {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305">newline_remove</a>(line);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; value = line;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; g_print(<span class="stringliteral">&quot;Error: an extra line of standard input is needed\n&quot;</span>);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; abort = TRUE;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; } <span class="keywordflow">else</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; value = tk[1];</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, tk[0], value);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; g_strfreev(tk);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; }</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (line) free(line);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">if</span> (!abort) <a class="code" href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a>(remminafile);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;}</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d"> 210</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d">remmina_exec_autostart_cb</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile, gpointer user_data)</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;{</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(remminafile, <span class="stringliteral">&quot;enable-autostart&quot;</span>, FALSE)) {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; REMMINA_DEBUG (<span class="stringliteral">&quot;Profile %s is set to autostart&quot;</span>, remminafile-&gt;filename);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(remminafile-&gt;filename);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;}</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58"> 221</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58">remmina_exec_connect</a>(<span class="keyword">const</span> gchar *data)</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;{</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; gchar *protocol;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; gchar **protocolserver;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; gchar *server;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; gchar **userat;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; gchar **userpass;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; gchar *user;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; gchar *password;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; gchar **domainuser;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; gchar **serverquery;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; gchar **querystring;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; gchar **querystringpart;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; gchar **querystringpartkv;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; gchar *value;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; gchar *temp;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; GError *error = NULL;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; protocol = NULL;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;rdp://&quot;</span>, data, 6) == 0 || strncmp(<span class="stringliteral">&quot;RDP://&quot;</span>, data, 6) == 0)</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; protocol = <span class="stringliteral">&quot;RDP&quot;</span>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;vnc://&quot;</span>, data, 6) == 0 || strncmp(<span class="stringliteral">&quot;VNC://&quot;</span>, data, 6) == 0)</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; protocol = <span class="stringliteral">&quot;VNC&quot;</span>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;ssh://&quot;</span>, data, 6) == 0 || strncmp(<span class="stringliteral">&quot;SSH://&quot;</span>, data, 6) == 0)</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; protocol = <span class="stringliteral">&quot;SSH&quot;</span>;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;spice://&quot;</span>, data, 8) == 0 || strncmp(<span class="stringliteral">&quot;SPICE://&quot;</span>, data, 8) == 0)</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; protocol = <span class="stringliteral">&quot;SPICE&quot;</span>;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;file://&quot;</span>, data, 6) == 0) {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; gchar *filename = g_filename_from_uri (data, NULL, &amp;error);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">if</span> (filename != NULL) {</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(filename);</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; } <span class="keywordflow">else</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; REMMINA_DEBUG (<span class="stringliteral">&quot;Opening URI %s failed with error %s&quot;</span>, data, error-&gt;message);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; g_error_free(error);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">if</span> (protocol == NULL) {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(data);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; protocolserver = g_strsplit(data, <span class="stringliteral">&quot;://&quot;</span>, 2);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; server = g_strdup(protocolserver[1]);</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="comment">// Support loading .remmina files using handler</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">if</span> ((temp = strrchr(server, <span class="charliteral">&#39;.&#39;</span>)) != NULL &amp;&amp; g_strcmp0(temp + 1, <span class="stringliteral">&quot;remmina&quot;</span>) == 0) {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; g_strfreev(protocolserver);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; temp = g_uri_unescape_string(server, NULL);</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; g_free(server);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; server = temp;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(server);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; }</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#a5e421ba636d34e21bba5ece463e98892">remmina_file_new</a>();</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="comment">// Check for username@server</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">if</span> ((strcmp(protocol, <span class="stringliteral">&quot;RDP&quot;</span>) == 0 || strcmp(protocol, <span class="stringliteral">&quot;VNC&quot;</span>) == 0 || strcmp(protocol, <span class="stringliteral">&quot;SSH&quot;</span>) == 0) &amp;&amp; strstr(server, <span class="stringliteral">&quot;@&quot;</span>) != NULL) {</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; userat = g_strsplit(server, <span class="stringliteral">&quot;@&quot;</span>, 2);</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="comment">// Check for username:password</span></div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">if</span> (strstr(userat[0], <span class="stringliteral">&quot;:&quot;</span>) != NULL) {</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; userpass = g_strsplit(userat[0], <span class="stringliteral">&quot;:&quot;</span>, 2);</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; user = g_uri_unescape_string(userpass[0], NULL);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; password = g_uri_unescape_string(userpass[1], NULL);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="comment">// Try to decrypt the password field if it contains =</span></div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; temp = password != NULL &amp;&amp; strrchr(password, <span class="charliteral">&#39;=&#39;</span>) != NULL ? <a class="code" href="remmina__crypt_8c.html#a3fe2fa245d401146adf02a3a8f996ab9">remmina_crypt_decrypt</a>(password) : NULL;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">if</span> (temp != NULL) {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; g_free(password);</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; password = temp;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;password&quot;</span>, password);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; g_free(password);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; g_strfreev(userpass);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; user = g_uri_unescape_string(userat[0], NULL);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="comment">// Check for domain\user for RDP connections</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">if</span> (strcmp(protocol, <span class="stringliteral">&quot;RDP&quot;</span>) == 0 &amp;&amp; strstr(user, <span class="stringliteral">&quot;\\&quot;</span>) != NULL) {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; domainuser = g_strsplit(user, <span class="stringliteral">&quot;\\&quot;</span>, 2);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;domain&quot;</span>, domainuser[0]);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; g_free(user);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; user = g_strdup(domainuser[1]);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;username&quot;</span>, user);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; g_free(user);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; g_free(server);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; server = g_strdup(userat[1]);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; g_strfreev(userat);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; }</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">if</span> (strcmp(protocol, <span class="stringliteral">&quot;VNC&quot;</span>) == 0 &amp;&amp; strstr(server, <span class="stringliteral">&quot;?&quot;</span>) != NULL) {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="comment">// https://tools.ietf.org/html/rfc7869</span></div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="comment">// VncUsername, VncPassword and ColorLevel supported for vnc-params</span></div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="comment">// Check for query string parameters</span></div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; serverquery = g_strsplit(server, <span class="stringliteral">&quot;?&quot;</span>, 2);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; querystring = g_strsplit(serverquery[1], <span class="stringliteral">&quot;&amp;&quot;</span>, -1);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">for</span> (querystringpart = querystring; *querystringpart; querystringpart++) {</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">if</span> (strstr(*querystringpart, <span class="stringliteral">&quot;=&quot;</span>) == NULL)</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; querystringpartkv = g_strsplit(*querystringpart, <span class="stringliteral">&quot;=&quot;</span>, 2);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; value = g_uri_unescape_string(querystringpartkv[1], NULL);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">&quot;VncPassword&quot;</span>) == 0) {</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="comment">// Try to decrypt password field if it contains =</span></div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; temp = value != NULL &amp;&amp; strrchr(value, <span class="charliteral">&#39;=&#39;</span>) != NULL ? <a class="code" href="remmina__crypt_8c.html#a3fe2fa245d401146adf02a3a8f996ab9">remmina_crypt_decrypt</a>(value) : NULL;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">if</span> (temp != NULL) {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; g_free(value);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; value = temp;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;password&quot;</span>, value);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">&quot;VncUsername&quot;</span>) == 0) {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;username&quot;</span>, value);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">&quot;ColorLevel&quot;</span>) == 0) {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;colordepth&quot;</span>, value);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; }</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; g_free(value);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; g_strfreev(querystringpartkv);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; }</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; g_strfreev(querystring);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; g_free(server);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; server = g_strdup(serverquery[0]);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; g_strfreev(serverquery);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="comment">// Unescape server</span></div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; temp = g_uri_unescape_string(server, NULL);</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; g_free(server);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; server = temp;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;server&quot;</span>, server);</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;name&quot;</span>, server);</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;sound&quot;</span>, <span class="stringliteral">&quot;off&quot;</span>);</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;protocol&quot;</span>, protocol);</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; g_free(server);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; g_strfreev(protocolserver);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="code" href="rcw_8c.html#a1b7a771392e15e527005305e71cc2546">rcw_open_from_file</a>(remminafile);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;}</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7"> 368</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c">RemminaCommandType</a> command, <span class="keyword">const</span> gchar* data)</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;{</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; gchar *s1;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; gchar *s2;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; gchar *temp;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; GtkWindow *mainwindow;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; GtkWidget *prefdialog;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <a class="code" href="struct___remmina_entry_plugin.html">RemminaEntryPlugin</a> *plugin;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordtype">int</span> ch;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; mainwindow = <a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>();</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">switch</span> (command) {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacc1267f3834ff091be0587522f2182b8">REMMINA_COMMAND_AUTOSTART</a>:</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <a class="code" href="remmina__file__manager_8c.html#a55a717aafc046713380bd2c55f29165a">remmina_file_manager_iterate</a>((GFunc)<a class="code" href="remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d">remmina_exec_autostart_cb</a>, NULL);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5">REMMINA_COMMAND_MAIN</a>:</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; gtk_window_present(mainwindow);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; gtk_window_deiconify(GTK_WINDOW(mainwindow));</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; widget = <a class="code" href="remmina__main_8c.html#af14b1942a754d7b2f5c10266208ebe01">remmina_main_new</a>();</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; }</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca822f35bcbc0737231ada0aa4ecfcd704">REMMINA_COMMAND_PREF</a>:</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; prefdialog = <a class="code" href="remmina__pref__dialog_8c.html#a9f24dad52fd8f57961ac7c5df58f251e">remmina_pref_dialog_get_dialog</a>();</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">if</span> (prefdialog) {</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; gtk_window_present(GTK_WINDOW(prefdialog));</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; gtk_window_deiconify(GTK_WINDOW(prefdialog));</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="comment">/* Create a new preference dialog */</span></div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; widget = <a class="code" href="remmina__pref__dialog_8c.html#ab09f64d25a5a016281a56edca7e2d70a">remmina_pref_dialog_new</a>(atoi(data), NULL);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; }</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a>:</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; s1 = (data ? strchr(data, <span class="charliteral">&#39;,&#39;</span>) : NULL);</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">if</span> (s1) {</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; s1 = g_strdup(data);</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; s2 = strchr(s1, <span class="charliteral">&#39;,&#39;</span>);</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; *s2++ = <span class="charliteral">&#39;\0&#39;</span>;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a>(s2, s1);</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; g_free(s1);</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a>(NULL, data);</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; }</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d">REMMINA_COMMAND_CONNECT</a>:</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; REMMINA_DEBUG (<span class="stringliteral">&quot;Initiating connection&quot;</span>);</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_connect&quot;</span>)</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <a class="code" href="remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58">remmina_exec_connect</a>(data);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65">REMMINA_COMMAND_EDIT</a>:</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a>(data);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">if</span> (widget)</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b">REMMINA_COMMAND_ABOUT</a>:</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <a class="code" href="remmina__about_8c.html#a3ad768979e0945a162018c6d596c90f4">remmina_about_open</a>(NULL);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caa436b39160d5ab6b73f6758dc5c30c06">REMMINA_COMMAND_VERSION</a>:</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; mainwindow = <a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>();</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <a class="code" href="remmina__about_8c.html#a3ad768979e0945a162018c6d596c90f4">remmina_about_open</a>(NULL);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; g_print(<span class="stringliteral">&quot;%s %s %s (git %s)\n&quot;</span>, g_get_application_name(), ISSNAP, VERSION, REMMINA_GIT_REVISION);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="comment">/* As we do not use the &quot;handle-local-options&quot; signal, we have to exit Remmina */</span></div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a>, NULL);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; }</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab9f0b4fd42775c1d2b2311e0b9692885">REMMINA_COMMAND_FULL_VERSION</a>:</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; mainwindow = <a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>();</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="comment">/* Show th widget with the list of plugins and versions */</span></div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#aedec4e9cf18d99a559aa51065c2bc276">remmina_plugin_manager_show</a>(mainwindow);</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; g_print(<span class="stringliteral">&quot;\n%s %s %s (git %s)\n\n&quot;</span>, g_get_application_name(), ISSNAP, VERSION, REMMINA_GIT_REVISION);</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#afe0881986b2a64bfb5460981dadcf28d">remmina_plugin_manager_show_stdout</a>();</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; g_print(<span class="stringliteral">&quot;\n%s\n&quot;</span>, <a class="code" href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3">remmina_exec_get_build_config</a>());</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a>, NULL);</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; }</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cabb2bf3aea0dd6f02ba402ec12a6ccbad">REMMINA_COMMAND_PLUGIN</a>:</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; plugin = (<a class="code" href="struct___remmina_entry_plugin.html">RemminaEntryPlugin</a>*)<a class="code" href="remmina__plugin__manager_8c.html#a3872c8656a8a3d5147bcc603471c1932">remmina_plugin_manager_get_plugin</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aae2648710d57bdd48a15a95e9c4cc234e">REMMINA_PLUGIN_TYPE_ENTRY</a>, data);</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">if</span> (plugin) {</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; plugin-&gt;<a class="code" href="struct___remmina_entry_plugin.html#afb2a9a6ff9289c08eccaaec0962f3c19">entry_func</a>(plugin);</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; widget = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; _(<span class="stringliteral">&quot;Plugin %s is not registered.&quot;</span>), data);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;response&quot;</span>, G_CALLBACK(gtk_widget_destroy), NULL);</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool_register</a>(widget);</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; }</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab4e4dc22219fe0323279276222efb0b5">REMMINA_COMMAND_ENCRYPT_PASSWORD</a>:</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; i = 0;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; g_print(<span class="stringliteral">&quot;Enter the password you want to encrypt: &quot;</span>);</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; temp = (<span class="keywordtype">char</span> *)g_malloc(255 * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">while</span> ((ch = getchar()) != EOF &amp;&amp; ch != <span class="charliteral">&#39;\n&#39;</span>) {</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">if</span> (i &lt; 254) {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; temp[i] = ch;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; i++;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; }</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; temp[i] = <span class="charliteral">&#39;\0&#39;</span>;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; s1 = <a class="code" href="remmina__crypt_8c.html#aa02cf0fed3eb68d6a89815c3ba3bf7b1">remmina_crypt_encrypt</a>(temp);</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; s2 = g_uri_escape_string(s1, NULL, TRUE);</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; g_print(<span class="stringliteral">&quot;\nEncrypted password: %s\n\n&quot;</span>, s1);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; g_print(<span class="stringliteral">&quot;Usage:\n&quot;</span>);</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; g_print(<span class="stringliteral">&quot;rdp://username:%s@server\n&quot;</span>, s1);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; g_print(<span class="stringliteral">&quot;vnc://username:%s@server\n&quot;</span>, s1);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; g_print(<span class="stringliteral">&quot;vnc://server?VncUsername=user\\&amp;VncPassword=%s\n&quot;</span>, s2);</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; g_free(s1);</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; g_free(s2);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; g_free(temp);</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a>:</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool_foreach</a>(<a class="code" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f">disable_rcw_delete_confirm_cb</a>, NULL);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; }</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;}</div><div class="ttc" id="remmina__exec_8c_html_a4e202866339a104ffdbfa519cfbcdca9"><div class="ttname"><a href="remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a></div><div class="ttdeci">int remmina_exec_set_setting(gchar *profilefilename, gchar **settings)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00166">remmina_exec.c:166</a></div></div>
+<a href="remmina__exec_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2010 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;buildflags.h&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;glib/gi18n.h&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina_8h.html">remmina.h</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__main_8h.html">remmina_main.h</a>&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__log_8h.html">remmina_log.h</a>&quot;</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__unlock_8h.html">remmina_unlock.h</a>&quot;</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref__dialog_8h.html">remmina_pref_dialog.h</a>&quot;</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file_8h.html">remmina_file.h</a>&quot;</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>&quot;</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__editor_8h.html">remmina_file_editor.h</a>&quot;</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rcw_8h.html">rcw.h</a>&quot;</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__about_8h.html">remmina_about.h</a>&quot;</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>&quot;</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__crypt_8h.html">remmina_crypt.h</a>&quot;</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>&quot;</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor">#ifdef SNAP_BUILD</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor"># define ISSNAP &quot;- SNAP Build -&quot;</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor"># define ISSNAP &quot;-&quot;</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#a0ffd51ed283da4640c920e75e89e694a"> 67</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__exec_8c.html#a0ffd51ed283da4640c920e75e89e694a">cb_closewidget</a>(GtkWidget *widget, gpointer data)</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;{</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="comment">/* The correct way to close a rcw is to send</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> * it a &quot;delete-event&quot; signal. Simply destroying it will not close</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> * all network connections */</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span> (REMMINA_IS_CONNECTION_WINDOW(widget))</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <a class="code" href="rcw_8c.html#adae469553aa0647d0df5d88b180e7cd7">rcw_delete</a>(RCW(widget));</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;}</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3"> 78</a></span>&#160;<span class="keyword">const</span> gchar* <a class="code" href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3">remmina_exec_get_build_config</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> gchar build_config[] =</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="stringliteral">&quot;Build configuration: &quot;</span> BUILD_CONFIG <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="stringliteral">&quot;Build type: &quot;</span> BUILD_TYPE <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="stringliteral">&quot;CFLAGS: &quot;</span> CFLAGS <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="stringliteral">&quot;Compiler: &quot;</span> COMPILER_ID <span class="stringliteral">&quot;, &quot;</span> COMPILER_VERSION <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="stringliteral">&quot;Target architecture: &quot;</span> TARGET_ARCH <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> build_config;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;}</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f"> 89</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>()</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;{</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">/* Save main window state/position */</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="remmina__main_8c.html#a009f32092bd1d8dcd8e783d25416f3df">remmina_main_save_before_destroy</a>();</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="comment">/* Delete all widgets, main window not included */</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool_foreach</a>(<a class="code" href="remmina__exec_8c.html#a0ffd51ed283da4640c920e75e89e694a">cb_closewidget</a>, NULL);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAPPINDICATOR</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">/* Remove systray menu */</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="remmina__icon_8c.html#a25b1d13f76ddf6a51836d780eda5fab1">remmina_icon_destroy</a>();</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="comment">/* close/destroy main window struct and window */</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="remmina__main_8c.html#a95532ac6d110eeeb2e41d4b2a329797c">remmina_main_destroy</a>();</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="comment">/* Exit from Remmina */</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; g_application_quit(g_application_get_default());</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;}</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f"> 111</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f">disable_rcw_delete_confirm_cb</a>(GtkWidget *widget, gpointer data)</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;{</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="struct___remmina_connection_window.html">RemminaConnectionWindow</a> *rcw;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">if</span> (REMMINA_IS_CONNECTION_WINDOW(widget)) {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; rcw = (<a class="code" href="struct___remmina_connection_window.html">RemminaConnectionWindow</a>*)widget;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="rcw_8c.html#a4204fcd726a60493b290dd5590ec693d">rcw_set_delete_confirm_mode</a>(rcw, <a class="code" href="rcw_8h.html#a2450dfe27d3ded59370ea879419f307fadd57127d30bc4755bf3a8323045922bc">RCW_ONDELETE_NOCONFIRM</a>);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;}</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a99081d2e250691f503eef8b3ae4d7ae6"> 123</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#adfa9ba9dcefd2b5f6ca8050f00731c73">remmina_exec_exitremmina_one_confirm</a>()</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;{</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; GtkWidget* dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION,</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; GTK_BUTTONS_YES_NO,</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; _(<span class="stringliteral">&quot;Are you sure you want to fully quit Remmina?\n This will close any active connections.&quot;</span>));</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordtype">int</span> response = gtk_dialog_run(GTK_DIALOG(dialog));</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">if</span> (response != GTK_RESPONSE_YES)</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool_foreach</a>(<a class="code" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f">disable_rcw_delete_confirm_cb</a>, NULL);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#aaa67e07e2426828d7e7b9b30d2038d31"> 137</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a>(<a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a> why)</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;{</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="comment">/* Exit remmina only if there are no interesting windows left:</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> * no main window, no systray menu, no connection window.</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> * This function is usually called after a disconnection */</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">switch</span> (why) {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a3272be70c922ec6a1eaf498461943c51">REMMINA_CONDEXIT_ONDISCONNECT</a>:</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="comment">// A connection has disconnected, should we exit remmina ?</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool_count</a>() &lt; 1 &amp;&amp; !<a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>() &amp;&amp; !<a class="code" href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon_is_available</a>())</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5ae79d14a54e119795478a6e390d7d3b40">REMMINA_CONDEXIT_ONMAINWINDELETE</a>:</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="comment">/* If we are in Kiosk mode, we just exit */</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE)</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="comment">// Main window has been deleted</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool_count</a>() &lt; 1 &amp;&amp; !<a class="code" href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon_is_available</a>())</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284">REMMINA_CONDEXIT_ONQUIT</a>:</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="comment">// Quit command has been sent from main window or appindicator/systray menu</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="comment">// quit means QUIT.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool_foreach</a>(<a class="code" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f">disable_rcw_delete_confirm_cb</a>, NULL);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;}</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305"> 169</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305">newline_remove</a>(<span class="keywordtype">char</span> *s)</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;{</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordtype">char</span> c;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">while</span>((c = *s) != 0 &amp;&amp; c != <span class="charliteral">&#39;\r&#39;</span> &amp;&amp; c != <span class="charliteral">&#39;\n&#39;</span>)</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; s++;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; *s = 0;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;}</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment">/* used for commandline parameter --update-profile X --set-option Y --set-option Z</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> * return a status code for exit()</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9"> 180</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a>(gchar *profilefilename, gchar **settings)</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;{</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; gchar **tk, *value = NULL;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordtype">char</span> *line = NULL;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordtype">size_t</span> len = 0;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; ssize_t read;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; gboolean abort = FALSE;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; remminafile = <a class="code" href="remmina__file__manager_8c.html#af7b58659604660eb0cb40b0e0f8348ab">remmina_file_manager_load_file</a>(profilefilename);</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">if</span> (!remminafile) {</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; g_print(<span class="stringliteral">&quot;Unable to open profile file %s\n&quot;</span>, profilefilename);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">for</span>(i = 0; settings[i] != NULL &amp;&amp; !abort; i++) {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span> (strlen(settings[i]) &gt; 0) {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; tk = g_strsplit(settings[i], <span class="stringliteral">&quot;=&quot;</span>, 2);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">if</span> (tk[1] == NULL) {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; read = getline(&amp;line, &amp;len, stdin);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (read &gt; 0) {</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305">newline_remove</a>(line);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; value = line;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; g_print(<span class="stringliteral">&quot;Error: an extra line of standard input is needed\n&quot;</span>);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; abort = TRUE;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; } <span class="keywordflow">else</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; value = tk[1];</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, tk[0], value);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; g_strfreev(tk);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">if</span> (line) free(line);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">if</span> (!abort) <a class="code" href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a>(remminafile);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;}</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d"> 224</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d">remmina_exec_autostart_cb</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile, gpointer user_data)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;{</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(remminafile, <span class="stringliteral">&quot;enable-autostart&quot;</span>, FALSE)) {</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; REMMINA_DEBUG (<span class="stringliteral">&quot;Profile %s is set to autostart&quot;</span>, remminafile-&gt;filename);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(remminafile-&gt;filename);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;}</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58"> 235</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58">remmina_exec_connect</a>(<span class="keyword">const</span> gchar *data)</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;{</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; gchar *protocol;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; gchar **protocolserver;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; gchar *server;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; gchar **userat;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; gchar **userpass;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; gchar *user;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; gchar *password;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; gchar **domainuser;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; gchar **serverquery;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; gchar **querystring;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; gchar **querystringpart;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; gchar **querystringpartkv;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; gchar *value;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; gchar *temp;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; GError *error = NULL;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; protocol = NULL;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;rdp://&quot;</span>, data, 6) == 0 || strncmp(<span class="stringliteral">&quot;RDP://&quot;</span>, data, 6) == 0)</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; protocol = <span class="stringliteral">&quot;RDP&quot;</span>;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;vnc://&quot;</span>, data, 6) == 0 || strncmp(<span class="stringliteral">&quot;VNC://&quot;</span>, data, 6) == 0)</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; protocol = <span class="stringliteral">&quot;VNC&quot;</span>;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;ssh://&quot;</span>, data, 6) == 0 || strncmp(<span class="stringliteral">&quot;SSH://&quot;</span>, data, 6) == 0)</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; protocol = <span class="stringliteral">&quot;SSH&quot;</span>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;spice://&quot;</span>, data, 8) == 0 || strncmp(<span class="stringliteral">&quot;SPICE://&quot;</span>, data, 8) == 0)</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; protocol = <span class="stringliteral">&quot;SPICE&quot;</span>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;file://&quot;</span>, data, 6) == 0) {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; gchar *filename = g_filename_from_uri (data, NULL, &amp;error);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">if</span> (filename != NULL) {</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(filename);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; } <span class="keywordflow">else</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; REMMINA_DEBUG (<span class="stringliteral">&quot;Opening URI %s failed with error %s&quot;</span>, data, error-&gt;message);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; g_error_free(error);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; }</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">if</span> (protocol == NULL) {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(data);</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; }</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; protocolserver = g_strsplit(data, <span class="stringliteral">&quot;://&quot;</span>, 2);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; server = g_strdup(protocolserver[1]);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="comment">// Support loading .remmina files using handler</span></div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">if</span> ((temp = strrchr(server, <span class="charliteral">&#39;.&#39;</span>)) != NULL &amp;&amp; g_strcmp0(temp + 1, <span class="stringliteral">&quot;remmina&quot;</span>) == 0) {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; g_strfreev(protocolserver);</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; temp = g_uri_unescape_string(server, NULL);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; g_free(server);</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; server = temp;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(server);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; }</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#a5e421ba636d34e21bba5ece463e98892">remmina_file_new</a>();</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="comment">// Check for username@server</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">if</span> ((strcmp(protocol, <span class="stringliteral">&quot;RDP&quot;</span>) == 0 || strcmp(protocol, <span class="stringliteral">&quot;VNC&quot;</span>) == 0 || strcmp(protocol, <span class="stringliteral">&quot;SSH&quot;</span>) == 0) &amp;&amp; strstr(server, <span class="stringliteral">&quot;@&quot;</span>) != NULL) {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; userat = g_strsplit(server, <span class="stringliteral">&quot;@&quot;</span>, 2);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="comment">// Check for username:password</span></div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">if</span> (strstr(userat[0], <span class="stringliteral">&quot;:&quot;</span>) != NULL) {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; userpass = g_strsplit(userat[0], <span class="stringliteral">&quot;:&quot;</span>, 2);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; user = g_uri_unescape_string(userpass[0], NULL);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; password = g_uri_unescape_string(userpass[1], NULL);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="comment">// Try to decrypt the password field if it contains =</span></div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; temp = password != NULL &amp;&amp; strrchr(password, <span class="charliteral">&#39;=&#39;</span>) != NULL ? <a class="code" href="remmina__crypt_8c.html#a3fe2fa245d401146adf02a3a8f996ab9">remmina_crypt_decrypt</a>(password) : NULL;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">if</span> (temp != NULL) {</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; g_free(password);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; password = temp;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;password&quot;</span>, password);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; g_free(password);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; g_strfreev(userpass);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; user = g_uri_unescape_string(userat[0], NULL);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="comment">// Check for domain\user for RDP connections</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">if</span> (strcmp(protocol, <span class="stringliteral">&quot;RDP&quot;</span>) == 0 &amp;&amp; strstr(user, <span class="stringliteral">&quot;\\&quot;</span>) != NULL) {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; domainuser = g_strsplit(user, <span class="stringliteral">&quot;\\&quot;</span>, 2);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;domain&quot;</span>, domainuser[0]);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; g_free(user);</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; user = g_strdup(domainuser[1]);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; }</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;username&quot;</span>, user);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; g_free(user);</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; g_free(server);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; server = g_strdup(userat[1]);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; g_strfreev(userat);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; }</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">if</span> (strcmp(protocol, <span class="stringliteral">&quot;VNC&quot;</span>) == 0 &amp;&amp; strstr(server, <span class="stringliteral">&quot;?&quot;</span>) != NULL) {</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="comment">// https://tools.ietf.org/html/rfc7869</span></div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="comment">// VncUsername, VncPassword and ColorLevel supported for vnc-params</span></div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="comment">// Check for query string parameters</span></div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; serverquery = g_strsplit(server, <span class="stringliteral">&quot;?&quot;</span>, 2);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; querystring = g_strsplit(serverquery[1], <span class="stringliteral">&quot;&amp;&quot;</span>, -1);</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">for</span> (querystringpart = querystring; *querystringpart; querystringpart++) {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">if</span> (strstr(*querystringpart, <span class="stringliteral">&quot;=&quot;</span>) == NULL)</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; querystringpartkv = g_strsplit(*querystringpart, <span class="stringliteral">&quot;=&quot;</span>, 2);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; value = g_uri_unescape_string(querystringpartkv[1], NULL);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">&quot;VncPassword&quot;</span>) == 0) {</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="comment">// Try to decrypt password field if it contains =</span></div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; temp = value != NULL &amp;&amp; strrchr(value, <span class="charliteral">&#39;=&#39;</span>) != NULL ? <a class="code" href="remmina__crypt_8c.html#a3fe2fa245d401146adf02a3a8f996ab9">remmina_crypt_decrypt</a>(value) : NULL;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">if</span> (temp != NULL) {</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; g_free(value);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; value = temp;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;password&quot;</span>, value);</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">&quot;VncUsername&quot;</span>) == 0) {</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;username&quot;</span>, value);</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">&quot;ColorLevel&quot;</span>) == 0) {</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;colordepth&quot;</span>, value);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; }</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; g_free(value);</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; g_strfreev(querystringpartkv);</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; }</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; g_strfreev(querystring);</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; g_free(server);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; server = g_strdup(serverquery[0]);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; g_strfreev(serverquery);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="comment">// Unescape server</span></div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; temp = g_uri_unescape_string(server, NULL);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; g_free(server);</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; server = temp;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;server&quot;</span>, server);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;name&quot;</span>, server);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;sound&quot;</span>, <span class="stringliteral">&quot;off&quot;</span>);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;protocol&quot;</span>, protocol);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; g_free(server);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; g_strfreev(protocolserver);</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <a class="code" href="rcw_8c.html#a1b7a771392e15e527005305e71cc2546">rcw_open_from_file</a>(remminafile);</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;}</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7"> 382</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c">RemminaCommandType</a> command, <span class="keyword">const</span> gchar* data)</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;{</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; gchar *s1;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; gchar *s2;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; gchar *temp;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; GtkWindow *mainwindow;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; GtkWidget *prefdialog;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="struct___remmina_entry_plugin.html">RemminaEntryPlugin</a> *plugin;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordtype">int</span> ch;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; mainwindow = <a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>();</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">switch</span> (command) {</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacc1267f3834ff091be0587522f2182b8">REMMINA_COMMAND_AUTOSTART</a>:</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <a class="code" href="remmina__file__manager_8c.html#a55a717aafc046713380bd2c55f29165a">remmina_file_manager_iterate</a>((GFunc)<a class="code" href="remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d">remmina_exec_autostart_cb</a>, NULL);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5">REMMINA_COMMAND_MAIN</a>:</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; gtk_window_present(mainwindow);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; gtk_window_deiconify(GTK_WINDOW(mainwindow));</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; widget = <a class="code" href="remmina__main_8c.html#af14b1942a754d7b2f5c10266208ebe01">remmina_main_new</a>();</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; }</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca822f35bcbc0737231ada0aa4ecfcd704">REMMINA_COMMAND_PREF</a>:</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; prefdialog = <a class="code" href="remmina__pref__dialog_8c.html#a9f24dad52fd8f57961ac7c5df58f251e">remmina_pref_dialog_get_dialog</a>();</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">if</span> (prefdialog) {</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; gtk_window_present(GTK_WINDOW(prefdialog));</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; gtk_window_deiconify(GTK_WINDOW(prefdialog));</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="comment">/* Create a new preference dialog */</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; widget = <a class="code" href="remmina__pref__dialog_8c.html#ab09f64d25a5a016281a56edca7e2d70a">remmina_pref_dialog_new</a>(atoi(data), NULL);</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; }</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a>:</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; s1 = (data ? strchr(data, <span class="charliteral">&#39;,&#39;</span>) : NULL);</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordflow">if</span> (s1) {</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; s1 = g_strdup(data);</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; s2 = strchr(s1, <span class="charliteral">&#39;,&#39;</span>);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; *s2++ = <span class="charliteral">&#39;\0&#39;</span>;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a>(s2, s1);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; g_free(s1);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a>(NULL, data);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; }</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d">REMMINA_COMMAND_CONNECT</a>:</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; REMMINA_DEBUG (<span class="stringliteral">&quot;Initiating connection&quot;</span>);</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_connect&quot;</span>)</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <a class="code" href="remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58">remmina_exec_connect</a>(data);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65">REMMINA_COMMAND_EDIT</a>:</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a>(data);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">if</span> (widget)</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b">REMMINA_COMMAND_ABOUT</a>:</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <a class="code" href="remmina__about_8c.html#a3ad768979e0945a162018c6d596c90f4">remmina_about_open</a>(NULL);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caa436b39160d5ab6b73f6758dc5c30c06">REMMINA_COMMAND_VERSION</a>:</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; mainwindow = <a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>();</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <a class="code" href="remmina__about_8c.html#a3ad768979e0945a162018c6d596c90f4">remmina_about_open</a>(NULL);</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; g_print(<span class="stringliteral">&quot;%s %s %s (git %s)\n&quot;</span>, g_get_application_name(), ISSNAP, VERSION, REMMINA_GIT_REVISION);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="comment">/* As we do not use the &quot;handle-local-options&quot; signal, we have to exit Remmina */</span></div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a>, NULL);</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; }</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab9f0b4fd42775c1d2b2311e0b9692885">REMMINA_COMMAND_FULL_VERSION</a>:</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; mainwindow = <a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>();</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="comment">/* Show th widget with the list of plugins and versions */</span></div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#aedec4e9cf18d99a559aa51065c2bc276">remmina_plugin_manager_show</a>(mainwindow);</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; g_print(<span class="stringliteral">&quot;\n%s %s %s (git %s)\n\n&quot;</span>, g_get_application_name(), ISSNAP, VERSION, REMMINA_GIT_REVISION);</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#afe0881986b2a64bfb5460981dadcf28d">remmina_plugin_manager_show_stdout</a>();</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; g_print(<span class="stringliteral">&quot;\n%s\n&quot;</span>, <a class="code" href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3">remmina_exec_get_build_config</a>());</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a>, NULL);</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cabb2bf3aea0dd6f02ba402ec12a6ccbad">REMMINA_COMMAND_PLUGIN</a>:</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; plugin = (<a class="code" href="struct___remmina_entry_plugin.html">RemminaEntryPlugin</a>*)<a class="code" href="remmina__plugin__manager_8c.html#a3872c8656a8a3d5147bcc603471c1932">remmina_plugin_manager_get_plugin</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aae2648710d57bdd48a15a95e9c4cc234e">REMMINA_PLUGIN_TYPE_ENTRY</a>, data);</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">if</span> (plugin) {</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; plugin-&gt;<a class="code" href="struct___remmina_entry_plugin.html#afb2a9a6ff9289c08eccaaec0962f3c19">entry_func</a>(plugin);</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; widget = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; _(<span class="stringliteral">&quot;Plugin %s is not registered.&quot;</span>), data);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;response&quot;</span>, G_CALLBACK(gtk_widget_destroy), NULL);</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool_register</a>(widget);</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; }</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab4e4dc22219fe0323279276222efb0b5">REMMINA_COMMAND_ENCRYPT_PASSWORD</a>:</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; i = 0;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; g_print(<span class="stringliteral">&quot;Enter the password you want to encrypt: &quot;</span>);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; temp = (<span class="keywordtype">char</span> *)g_malloc(255 * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">while</span> ((ch = getchar()) != EOF &amp;&amp; ch != <span class="charliteral">&#39;\n&#39;</span>) {</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">if</span> (i &lt; 254) {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; temp[i] = ch;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; i++;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; }</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; }</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; temp[i] = <span class="charliteral">&#39;\0&#39;</span>;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; s1 = <a class="code" href="remmina__crypt_8c.html#aa02cf0fed3eb68d6a89815c3ba3bf7b1">remmina_crypt_encrypt</a>(temp);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; s2 = g_uri_escape_string(s1, NULL, TRUE);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; g_print(<span class="stringliteral">&quot;\nEncrypted password: %s\n\n&quot;</span>, s1);</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; g_print(<span class="stringliteral">&quot;Usage:\n&quot;</span>);</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; g_print(<span class="stringliteral">&quot;rdp://username:%s@server\n&quot;</span>, s1);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; g_print(<span class="stringliteral">&quot;vnc://username:%s@server\n&quot;</span>, s1);</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; g_print(<span class="stringliteral">&quot;vnc://server?VncUsername=user\\&amp;VncPassword=%s\n&quot;</span>, s2);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; g_free(s1);</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; g_free(s2);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; g_free(temp);</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a>:</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool_foreach</a>(<a class="code" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f">disable_rcw_delete_confirm_cb</a>, NULL);</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; }</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;}</div><div class="ttc" id="remmina__exec_8c_html_a4e202866339a104ffdbfa519cfbcdca9"><div class="ttname"><a href="remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a></div><div class="ttdeci">int remmina_exec_set_setting(gchar *profilefilename, gchar **settings)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00180">remmina_exec.c:180</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8h_html"><div class="ttname"><a href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_ae9dfd6986f18cb3d846a4933ac792fd5"><div class="ttname"><a href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a></div><div class="ttdeci">RemminaCondExitType</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00058">remmina_exec.h:58</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a7740488de65c0e642895cc9dfba07b6e"><div class="ttname"><a href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01736">remmina_main.c:1736</a></div></div>
@@ -102,6 +102,7 @@ $(document).ready(function(){initNavTree('remmina__exec_8c_source.html','');});
<div class="ttc" id="remmina__trace__calls_8h_html"><div class="ttname"><a href="remmina__trace__calls_8h.html">remmina_trace_calls.h</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0cab4e4dc22219fe0323279276222efb0b5"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab4e4dc22219fe0323279276222efb0b5">REMMINA_COMMAND_ENCRYPT_PASSWORD</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00055">remmina_exec.h:55</a></div></div>
<div class="ttc" id="remmina__pref__dialog_8h_html"><div class="ttname"><a href="remmina__pref__dialog_8h.html">remmina_pref_dialog.h</a></div></div>
+<div class="ttc" id="remmina__exec_8c_html_adfa9ba9dcefd2b5f6ca8050f00731c73"><div class="ttname"><a href="remmina__exec_8c.html#adfa9ba9dcefd2b5f6ca8050f00731c73">remmina_exec_exitremmina_one_confirm</a></div><div class="ttdeci">void remmina_exec_exitremmina_one_confirm()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00123">remmina_exec.c:123</a></div></div>
<div class="ttc" id="remmina__about_8h_html"><div class="ttname"><a href="remmina__about_8h.html">remmina_about.h</a></div></div>
<div class="ttc" id="remmina__icon_8c_html_a42f087b679b43b8a1d36cd9e9781a8b6"><div class="ttname"><a href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon_is_available</a></div><div class="ttdeci">gboolean remmina_icon_is_available(void)</div><div class="ttdoc">Determine whenever the Remmina icon is available. </div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00330">remmina_icon.c:330</a></div></div>
<div class="ttc" id="remmina__file__editor_8c_html_ab563344276cbcdf0fcea05b0b64c7aeb"><div class="ttname"><a href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_full(const gchar *server, const gchar *protocol)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02136">remmina_file_editor.c:2136</a></div></div>
@@ -116,13 +117,13 @@ $(document).ready(function(){initNavTree('remmina__exec_8c_source.html','');});
<div class="ttc" id="remmina__plugin__manager_8c_html_aedec4e9cf18d99a559aa51065c2bc276"><div class="ttname"><a href="remmina__plugin__manager_8c.html#aedec4e9cf18d99a559aa51065c2bc276">remmina_plugin_manager_show</a></div><div class="ttdeci">void remmina_plugin_manager_show(GtkWindow *parent)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00521">remmina_plugin_manager.c:521</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5">REMMINA_COMMAND_MAIN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00044">remmina_exec.h:44</a></div></div>
<div class="ttc" id="remmina__icon_8h_html"><div class="ttname"><a href="remmina__icon_8h.html">remmina_icon.h</a></div></div>
-<div class="ttc" id="remmina__exec_8c_html_ae3299f9cf136cb759dc052ee799b1f0d"><div class="ttname"><a href="remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d">remmina_exec_autostart_cb</a></div><div class="ttdeci">static void remmina_exec_autostart_cb(RemminaFile *remminafile, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00210">remmina_exec.c:210</a></div></div>
+<div class="ttc" id="remmina__exec_8c_html_ae3299f9cf136cb759dc052ee799b1f0d"><div class="ttname"><a href="remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d">remmina_exec_autostart_cb</a></div><div class="ttdeci">static void remmina_exec_autostart_cb(RemminaFile *remminafile, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00224">remmina_exec.c:224</a></div></div>
<div class="ttc" id="remmina__icon_8c_html_a25b1d13f76ddf6a51836d780eda5fab1"><div class="ttname"><a href="remmina__icon_8c.html#a25b1d13f76ddf6a51836d780eda5fab1">remmina_icon_destroy</a></div><div class="ttdeci">void remmina_icon_destroy(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00075">remmina_icon.c:75</a></div></div>
<div class="ttc" id="remmina__log_8h_html"><div class="ttname"><a href="remmina__log_8h.html">remmina_log.h</a></div></div>
<div class="ttc" id="remmina__widget__pool_8c_html_a9cbb5b8d01a6d44ba7b46434467c02f8"><div class="ttname"><a href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool_count</a></div><div class="ttdeci">gint remmina_widget_pool_count()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__widget__pool_8c_source.html#l00139">remmina_widget_pool.c:139</a></div></div>
<div class="ttc" id="remmina__crypt_8c_html_aa02cf0fed3eb68d6a89815c3ba3bf7b1"><div class="ttname"><a href="remmina__crypt_8c.html#aa02cf0fed3eb68d6a89815c3ba3bf7b1">remmina_crypt_encrypt</a></div><div class="ttdeci">gchar * remmina_crypt_encrypt(const gchar *str)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__crypt_8c_source.html#l00093">remmina_crypt.c:93</a></div></div>
<div class="ttc" id="rcw_8c_html_a4204fcd726a60493b290dd5590ec693d"><div class="ttname"><a href="rcw_8c.html#a4204fcd726a60493b290dd5590ec693d">rcw_set_delete_confirm_mode</a></div><div class="ttdeci">void rcw_set_delete_confirm_mode(RemminaConnectionWindow *cnnwin, RemminaConnectionWindowOnDeleteConfirmMode mode)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l04725">rcw.c:4725</a></div></div>
-<div class="ttc" id="remmina__exec_8c_html_a424cabdcff647797061e7482049d62a7"><div class="ttname"><a href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a></div><div class="ttdeci">void remmina_exec_command(RemminaCommandType command, const gchar *data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00368">remmina_exec.c:368</a></div></div>
+<div class="ttc" id="remmina__exec_8c_html_a424cabdcff647797061e7482049d62a7"><div class="ttname"><a href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a></div><div class="ttdeci">void remmina_exec_command(RemminaCommandType command, const gchar *data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00382">remmina_exec.c:382</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b">REMMINA_COMMAND_ABOUT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00049">remmina_exec.h:49</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00046">remmina_exec.h:46</a></div></div>
<div class="ttc" id="remmina__file__editor_8h_html"><div class="ttname"><a href="remmina__file__editor_8h.html">remmina_file_editor.h</a></div></div>
@@ -140,20 +141,20 @@ $(document).ready(function(){initNavTree('remmina__exec_8c_source.html','');});
<div class="ttc" id="remmina__crypt_8h_html"><div class="ttname"><a href="remmina__crypt_8h.html">remmina_crypt.h</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284"><div class="ttname"><a href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284">REMMINA_CONDEXIT_ONQUIT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00060">remmina_exec.h:60</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a3872c8656a8a3d5147bcc603471c1932"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a3872c8656a8a3d5147bcc603471c1932">remmina_plugin_manager_get_plugin</a></div><div class="ttdeci">RemminaPlugin * remmina_plugin_manager_get_plugin(RemminaPluginType type, const gchar *name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00441">remmina_plugin_manager.c:441</a></div></div>
-<div class="ttc" id="remmina__exec_8c_html_ad4535dd84752c2943b8fb996ffcbcb58"><div class="ttname"><a href="remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58">remmina_exec_connect</a></div><div class="ttdeci">static void remmina_exec_connect(const gchar *data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00221">remmina_exec.c:221</a></div></div>
+<div class="ttc" id="remmina__exec_8c_html_ad4535dd84752c2943b8fb996ffcbcb58"><div class="ttname"><a href="remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58">remmina_exec_connect</a></div><div class="ttdeci">static void remmina_exec_connect(const gchar *data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00235">remmina_exec.c:235</a></div></div>
<div class="ttc" id="remmina__pref_8h_html"><div class="ttname"><a href="remmina__pref_8h.html">remmina_pref.h</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00053">remmina_exec.h:53</a></div></div>
<div class="ttc" id="rcw_8h_html_a2450dfe27d3ded59370ea879419f307fadd57127d30bc4755bf3a8323045922bc"><div class="ttname"><a href="rcw_8h.html#a2450dfe27d3ded59370ea879419f307fadd57127d30bc4755bf3a8323045922bc">RCW_ONDELETE_NOCONFIRM</a></div><div class="ttdef"><b>Definition:</b> <a href="rcw_8h_source.html#l00068">rcw.h:68</a></div></div>
<div class="ttc" id="rcw_8c_html_aa37f2a9c56df0ce1a0dbc32f8989e4b5"><div class="ttname"><a href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a></div><div class="ttdeci">gboolean rcw_open_from_filename(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l04418">rcw.c:4418</a></div></div>
<div class="ttc" id="remmina__exec_8c_html_a0ffd51ed283da4640c920e75e89e694a"><div class="ttname"><a href="remmina__exec_8c.html#a0ffd51ed283da4640c920e75e89e694a">cb_closewidget</a></div><div class="ttdeci">static gboolean cb_closewidget(GtkWidget *widget, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00067">remmina_exec.c:67</a></div></div>
<div class="ttc" id="remmina_8c_html_ab4a9a67c5372ff07b71d0558679ab7ae"><div class="ttname"><a href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a></div><div class="ttdeci">gboolean kioskmode</div><div class="ttdef"><b>Definition:</b> <a href="remmina_8c_source.html#l00087">remmina.c:87</a></div></div>
-<div class="ttc" id="remmina__exec_8c_html_aaa67e07e2426828d7e7b9b30d2038d31"><div class="ttname"><a href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a></div><div class="ttdeci">void remmina_application_condexit(RemminaCondExitType why)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00123">remmina_exec.c:123</a></div></div>
+<div class="ttc" id="remmina__exec_8c_html_aaa67e07e2426828d7e7b9b30d2038d31"><div class="ttname"><a href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a></div><div class="ttdeci">void remmina_application_condexit(RemminaCondExitType why)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00137">remmina_exec.c:137</a></div></div>
<div class="ttc" id="remmina__exec_8c_html_aacc2a2ffd19e56fcb3e4b025d180ab8f"><div class="ttname"><a href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f">disable_rcw_delete_confirm_cb</a></div><div class="ttdeci">static gboolean disable_rcw_delete_confirm_cb(GtkWidget *widget, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00111">remmina_exec.c:111</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a85ca1ca2d0bf9ef29e490c6f4527a954"><div class="ttname"><a href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a></div><div class="ttdeci">void remmina_file_set_string(RemminaFile *remminafile, const gchar *setting, const gchar *value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00469">remmina_file.c:469</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a8c893a5deec9bc446bd89cc9973416c7"><div class="ttname"><a href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a></div><div class="ttdeci">void remmina_file_save(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00730">remmina_file.c:730</a></div></div>
<div class="ttc" id="struct___remmina_connection_window_html"><div class="ttname"><a href="struct___remmina_connection_window.html">_RemminaConnectionWindow</a></div><div class="ttdef"><b>Definition:</b> <a href="rcw_8h_source.html#l00054">rcw.h:54</a></div></div>
<div class="ttc" id="remmina__file__manager_8c_html_af7b58659604660eb0cb40b0e0f8348ab"><div class="ttname"><a href="remmina__file__manager_8c.html#af7b58659604660eb0cb40b0e0f8348ab">remmina_file_manager_load_file</a></div><div class="ttdeci">RemminaFile * remmina_file_manager_load_file(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__manager_8c_source.html#l00356">remmina_file_manager.c:356</a></div></div>
-<div class="ttc" id="remmina__exec_8c_html_aca2d356a03e1aac7b716b408183aa305"><div class="ttname"><a href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305">newline_remove</a></div><div class="ttdeci">static void newline_remove(char *s)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00155">remmina_exec.c:155</a></div></div>
+<div class="ttc" id="remmina__exec_8c_html_aca2d356a03e1aac7b716b408183aa305"><div class="ttname"><a href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305">newline_remove</a></div><div class="ttdeci">static void newline_remove(char *s)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00169">remmina_exec.c:169</a></div></div>
<div class="ttc" id="remmina__unlock_8c_html_a81e79e5c1c230b7e2bf27b2457801d4e"><div class="ttname"><a href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a></div><div class="ttdeci">gint remmina_unlock_new(GtkWindow *parent)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__unlock_8c_source.html#l00113">remmina_unlock.c:113</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_afe0881986b2a64bfb5460981dadcf28d"><div class="ttname"><a href="remmina__plugin__manager_8c.html#afe0881986b2a64bfb5460981dadcf28d">remmina_plugin_manager_show_stdout</a></div><div class="ttdeci">void remmina_plugin_manager_show_stdout()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00503">remmina_plugin_manager.c:503</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0c"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c">RemminaCommandType</a></div><div class="ttdeci">RemminaCommandType</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00042">remmina_exec.h:42</a></div></div>
diff --git a/public/remmina__exec_8h.html b/public/remmina__exec_8h.html
index 5979646cb..00489a60a 100644
--- a/public/remmina__exec_8h.html
+++ b/public/remmina__exec_8h.html
@@ -126,6 +126,8 @@ Functions</h2></td></tr>
<tr class="separator:a424cabdcff647797061e7482049d62a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbaf105af1039e44ba503a8d7174535f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f">remmina_exec_exitremmina</a> (void)</td></tr>
<tr class="separator:adbaf105af1039e44ba503a8d7174535f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99081d2e250691f503eef8b3ae4d7ae6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__exec_8h.html#a99081d2e250691f503eef8b3ae4d7ae6">remmina_exec_exitremmina_one_confirm</a> (void)</td></tr>
+<tr class="separator:a99081d2e250691f503eef8b3ae4d7ae6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa67e07e2426828d7e7b9b30d2038d31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__exec_8h.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a> (<a class="el" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a> why)</td></tr>
<tr class="separator:aaa67e07e2426828d7e7b9b30d2038d31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e202866339a104ffdbfa519cfbcdca9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a> (gchar *profilefilename, gchar **settings)</td></tr>
@@ -201,7 +203,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00123">123</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00137">137</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
</div>
</div>
@@ -232,7 +234,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>This should be a G_OPTION_ARG_FILENAME_ARRAY (^aay) so that we can implement multi profile connection: <a href="https://gitlab.com/Remmina/Remmina/issues/915">https://gitlab.com/Remmina/Remmina/issues/915</a> </dd></dl>
-<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00368">368</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00382">382</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
</div>
</div>
@@ -256,6 +258,26 @@ Functions</h2></td></tr>
</div>
</div>
+<a id="a99081d2e250691f503eef8b3ae4d7ae6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a99081d2e250691f503eef8b3ae4d7ae6">&#9670;&nbsp;</a></span>remmina_exec_exitremmina_one_confirm()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void remmina_exec_exitremmina_one_confirm </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00123">123</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
+
+</div>
+</div>
<a id="a4e202866339a104ffdbfa519cfbcdca9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e202866339a104ffdbfa519cfbcdca9">&#9670;&nbsp;</a></span>remmina_exec_set_setting()</h2>
@@ -282,7 +304,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00166">166</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__exec_8c_source.html#l00180">180</a> of file <a class="el" href="remmina__exec_8c_source.html">remmina_exec.c</a>.</p>
</div>
</div>
diff --git a/public/remmina__exec_8h.js b/public/remmina__exec_8h.js
index 46049642b..f3e7050f2 100644
--- a/public/remmina__exec_8h.js
+++ b/public/remmina__exec_8h.js
@@ -23,5 +23,6 @@ var remmina__exec_8h =
[ "remmina_application_condexit", "remmina__exec_8h.html#aaa67e07e2426828d7e7b9b30d2038d31", null ],
[ "remmina_exec_command", "remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7", null ],
[ "remmina_exec_exitremmina", "remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f", null ],
+ [ "remmina_exec_exitremmina_one_confirm", "remmina__exec_8h.html#a99081d2e250691f503eef8b3ae4d7ae6", null ],
[ "remmina_exec_set_setting", "remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9", null ]
]; \ No newline at end of file
diff --git a/public/remmina__exec_8h_source.html b/public/remmina__exec_8h_source.html
index 7046e936e..c75744059 100644
--- a/public/remmina__exec_8h_source.html
+++ b/public/remmina__exec_8h_source.html
@@ -86,26 +86,27 @@ $(document).ready(function(){initNavTree('remmina__exec_8h_source.html','');});
<div class="title">remmina_exec.h</div> </div>
</div><!--header-->
<div class="contents">
-<a href="remmina__exec_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2010 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2017-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;gtk/gtk.h&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;G_BEGIN_DECLS</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c"> 42</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca45777bb1a8f6a617da7eca5f7181d224"> 43</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca45777bb1a8f6a617da7eca5f7181d224">REMMINA_COMMAND_NONE</a> = 0,</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5"> 44</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5">REMMINA_COMMAND_MAIN</a> = 1,</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca822f35bcbc0737231ada0aa4ecfcd704"> 45</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca822f35bcbc0737231ada0aa4ecfcd704">REMMINA_COMMAND_PREF</a> = 2,</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7"> 46</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a> = 3,</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d"> 47</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d">REMMINA_COMMAND_CONNECT</a> = 4,</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65"> 48</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65">REMMINA_COMMAND_EDIT</a> = 5,</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b"> 49</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b">REMMINA_COMMAND_ABOUT</a> = 6,</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caa436b39160d5ab6b73f6758dc5c30c06"> 50</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caa436b39160d5ab6b73f6758dc5c30c06">REMMINA_COMMAND_VERSION</a> = 7,</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab9f0b4fd42775c1d2b2311e0b9692885"> 51</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab9f0b4fd42775c1d2b2311e0b9692885">REMMINA_COMMAND_FULL_VERSION</a> = 8,</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cabb2bf3aea0dd6f02ba402ec12a6ccbad"> 52</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cabb2bf3aea0dd6f02ba402ec12a6ccbad">REMMINA_COMMAND_PLUGIN</a> = 9,</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a"> 53</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a> = 10,</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacc1267f3834ff091be0587522f2182b8"> 54</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacc1267f3834ff091be0587522f2182b8">REMMINA_COMMAND_AUTOSTART</a> = 11,</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab4e4dc22219fe0323279276222efb0b5"> 55</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab4e4dc22219fe0323279276222efb0b5">REMMINA_COMMAND_ENCRYPT_PASSWORD</a> = 12</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;} <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c">RemminaCommandType</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5"> 58</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a3272be70c922ec6a1eaf498461943c51"> 59</a></span>&#160; <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a3272be70c922ec6a1eaf498461943c51">REMMINA_CONDEXIT_ONDISCONNECT</a> = 0,</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284"> 60</a></span>&#160; <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284">REMMINA_CONDEXIT_ONQUIT</a> = 1,</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5ae79d14a54e119795478a6e390d7d3b40"> 61</a></span>&#160; <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5ae79d14a54e119795478a6e390d7d3b40">REMMINA_CONDEXIT_ONMAINWINDELETE</a> = 2</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;} <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c">RemminaCommandType</a> command, <span class="keyword">const</span> gchar *data);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f">remmina_exec_exitremmina</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8h.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a>(<a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a> why);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="keywordtype">int</span> <a class="code" href="remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a>(gchar *profilefilename, gchar **settings);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;G_END_DECLS</div><div class="ttc" id="remmina__exec_8h_html_ae9dfd6986f18cb3d846a4933ac792fd5"><div class="ttname"><a href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a></div><div class="ttdeci">RemminaCondExitType</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00058">remmina_exec.h:58</a></div></div>
+<a href="remmina__exec_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2010 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2017-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;gtk/gtk.h&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;G_BEGIN_DECLS</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c"> 42</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca45777bb1a8f6a617da7eca5f7181d224"> 43</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca45777bb1a8f6a617da7eca5f7181d224">REMMINA_COMMAND_NONE</a> = 0,</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5"> 44</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5">REMMINA_COMMAND_MAIN</a> = 1,</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca822f35bcbc0737231ada0aa4ecfcd704"> 45</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca822f35bcbc0737231ada0aa4ecfcd704">REMMINA_COMMAND_PREF</a> = 2,</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7"> 46</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a> = 3,</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d"> 47</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d">REMMINA_COMMAND_CONNECT</a> = 4,</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65"> 48</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65">REMMINA_COMMAND_EDIT</a> = 5,</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b"> 49</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b">REMMINA_COMMAND_ABOUT</a> = 6,</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caa436b39160d5ab6b73f6758dc5c30c06"> 50</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caa436b39160d5ab6b73f6758dc5c30c06">REMMINA_COMMAND_VERSION</a> = 7,</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab9f0b4fd42775c1d2b2311e0b9692885"> 51</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab9f0b4fd42775c1d2b2311e0b9692885">REMMINA_COMMAND_FULL_VERSION</a> = 8,</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cabb2bf3aea0dd6f02ba402ec12a6ccbad"> 52</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cabb2bf3aea0dd6f02ba402ec12a6ccbad">REMMINA_COMMAND_PLUGIN</a> = 9,</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a"> 53</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a> = 10,</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacc1267f3834ff091be0587522f2182b8"> 54</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacc1267f3834ff091be0587522f2182b8">REMMINA_COMMAND_AUTOSTART</a> = 11,</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab4e4dc22219fe0323279276222efb0b5"> 55</a></span>&#160; <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab4e4dc22219fe0323279276222efb0b5">REMMINA_COMMAND_ENCRYPT_PASSWORD</a> = 12</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;} <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c">RemminaCommandType</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5"> 58</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a3272be70c922ec6a1eaf498461943c51"> 59</a></span>&#160; <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a3272be70c922ec6a1eaf498461943c51">REMMINA_CONDEXIT_ONDISCONNECT</a> = 0,</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284"> 60</a></span>&#160; <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284">REMMINA_CONDEXIT_ONQUIT</a> = 1,</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5ae79d14a54e119795478a6e390d7d3b40"> 61</a></span>&#160; <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5ae79d14a54e119795478a6e390d7d3b40">REMMINA_CONDEXIT_ONMAINWINDELETE</a> = 2</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;} <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c">RemminaCommandType</a> command, <span class="keyword">const</span> gchar *data);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f">remmina_exec_exitremmina</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8h.html#a99081d2e250691f503eef8b3ae4d7ae6">remmina_exec_exitremmina_one_confirm</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8h.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a>(<a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a> why);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="keywordtype">int</span> <a class="code" href="remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a>(gchar *profilefilename, gchar **settings);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;G_END_DECLS</div><div class="ttc" id="remmina__exec_8h_html_ae9dfd6986f18cb3d846a4933ac792fd5"><div class="ttname"><a href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a></div><div class="ttdeci">RemminaCondExitType</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00058">remmina_exec.h:58</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0cab9f0b4fd42775c1d2b2311e0b9692885"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab9f0b4fd42775c1d2b2311e0b9692885">REMMINA_COMMAND_FULL_VERSION</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00051">remmina_exec.h:51</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_ae9dfd6986f18cb3d846a4933ac792fd5a3272be70c922ec6a1eaf498461943c51"><div class="ttname"><a href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a3272be70c922ec6a1eaf498461943c51">REMMINA_CONDEXIT_ONDISCONNECT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00059">remmina_exec.h:59</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0cab4e4dc22219fe0323279276222efb0b5"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab4e4dc22219fe0323279276222efb0b5">REMMINA_COMMAND_ENCRYPT_PASSWORD</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00055">remmina_exec.h:55</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0ca45777bb1a8f6a617da7eca5f7181d224"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca45777bb1a8f6a617da7eca5f7181d224">REMMINA_COMMAND_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00043">remmina_exec.h:43</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65">REMMINA_COMMAND_EDIT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00048">remmina_exec.h:48</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_ae9dfd6986f18cb3d846a4933ac792fd5ae79d14a54e119795478a6e390d7d3b40"><div class="ttname"><a href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5ae79d14a54e119795478a6e390d7d3b40">REMMINA_CONDEXIT_ONMAINWINDELETE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00061">remmina_exec.h:61</a></div></div>
-<div class="ttc" id="remmina__exec_8h_html_aaa67e07e2426828d7e7b9b30d2038d31"><div class="ttname"><a href="remmina__exec_8h.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a></div><div class="ttdeci">void remmina_application_condexit(RemminaCondExitType why)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00123">remmina_exec.c:123</a></div></div>
+<div class="ttc" id="remmina__exec_8h_html_aaa67e07e2426828d7e7b9b30d2038d31"><div class="ttname"><a href="remmina__exec_8h.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a></div><div class="ttdeci">void remmina_application_condexit(RemminaCondExitType why)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00137">remmina_exec.c:137</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_adbaf105af1039e44ba503a8d7174535f"><div class="ttname"><a href="remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f">remmina_exec_exitremmina</a></div><div class="ttdeci">void remmina_exec_exitremmina(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00089">remmina_exec.c:89</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5">REMMINA_COMMAND_MAIN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00044">remmina_exec.h:44</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b">REMMINA_COMMAND_ABOUT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00049">remmina_exec.h:49</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00046">remmina_exec.h:46</a></div></div>
-<div class="ttc" id="remmina__exec_8h_html_a4e202866339a104ffdbfa519cfbcdca9"><div class="ttname"><a href="remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a></div><div class="ttdeci">int remmina_exec_set_setting(gchar *profilefilename, gchar **settings)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00166">remmina_exec.c:166</a></div></div>
+<div class="ttc" id="remmina__exec_8h_html_a4e202866339a104ffdbfa519cfbcdca9"><div class="ttname"><a href="remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a></div><div class="ttdeci">int remmina_exec_set_setting(gchar *profilefilename, gchar **settings)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00180">remmina_exec.c:180</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0cacc1267f3834ff091be0587522f2182b8"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacc1267f3834ff091be0587522f2182b8">REMMINA_COMMAND_AUTOSTART</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00054">remmina_exec.h:54</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0cabb2bf3aea0dd6f02ba402ec12a6ccbad"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cabb2bf3aea0dd6f02ba402ec12a6ccbad">REMMINA_COMMAND_PLUGIN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00052">remmina_exec.h:52</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284"><div class="ttname"><a href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284">REMMINA_CONDEXIT_ONQUIT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00060">remmina_exec.h:60</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00053">remmina_exec.h:53</a></div></div>
+<div class="ttc" id="remmina__exec_8h_html_a99081d2e250691f503eef8b3ae4d7ae6"><div class="ttname"><a href="remmina__exec_8h.html#a99081d2e250691f503eef8b3ae4d7ae6">remmina_exec_exitremmina_one_confirm</a></div><div class="ttdeci">void remmina_exec_exitremmina_one_confirm(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00123">remmina_exec.c:123</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0c"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c">RemminaCommandType</a></div><div class="ttdeci">RemminaCommandType</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00042">remmina_exec.h:42</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d">REMMINA_COMMAND_CONNECT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00047">remmina_exec.h:47</a></div></div>
-<div class="ttc" id="remmina__exec_8h_html_a424cabdcff647797061e7482049d62a7"><div class="ttname"><a href="remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a></div><div class="ttdeci">void remmina_exec_command(RemminaCommandType command, const gchar *data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00368">remmina_exec.c:368</a></div></div>
+<div class="ttc" id="remmina__exec_8h_html_a424cabdcff647797061e7482049d62a7"><div class="ttname"><a href="remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a></div><div class="ttdeci">void remmina_exec_command(RemminaCommandType command, const gchar *data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00382">remmina_exec.c:382</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0ca822f35bcbc0737231ada0aa4ecfcd704"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca822f35bcbc0737231ada0aa4ecfcd704">REMMINA_COMMAND_PREF</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00045">remmina_exec.h:45</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0caa436b39160d5ab6b73f6758dc5c30c06"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caa436b39160d5ab6b73f6758dc5c30c06">REMMINA_COMMAND_VERSION</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00050">remmina_exec.h:50</a></div></div>
</div><!-- fragment --></div><!-- contents -->
diff --git a/public/remmina__icon_8c_source.html b/public/remmina__icon_8c_source.html
index 184591a87..d1ee176c6 100644
--- a/public/remmina__icon_8c_source.html
+++ b/public/remmina__icon_8c_source.html
@@ -86,7 +86,7 @@ $(document).ready(function(){initNavTree('remmina__icon_8c_source.html','');});
<div class="title">remmina_icon.c</div> </div>
</div><!--header-->
<div class="contents">
-<a href="remmina__icon_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2010 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;glib/gi18n.h&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAPPINDICATOR</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor"># ifdef HAVE_AYATANA_LIBAPPINDICATOR</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor"># include &lt;libayatana-appindicator/app-indicator.h&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor"># else</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor"># include &lt;libappindicator/app-indicator.h&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor"># endif</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>&quot;</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>&quot;</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__avahi_8h.html">remmina_avahi.h</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__applet__menu__item_8h.html">remmina_applet_menu_item.h</a>&quot;</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__applet__menu_8h.html">remmina_applet_menu.h</a>&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rcw_8h.html">rcw.h</a>&quot;</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__log_8h.html">remmina_log.h</a>&quot;</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__sysinfo_8h.html">remmina_sysinfo.h</a>&quot;</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html"> 62</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_icon.html">_RemminaIcon</a> {</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626"> 63</a></span>&#160; AppIndicator * <a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html#a963a8dea27a0b2ae6d8f0b8e4234119d"> 64</a></span>&#160; gboolean <a class="code" href="struct___remmina_icon.html#a963a8dea27a0b2ae6d8f0b8e4234119d">indicator_connected</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2"> 66</a></span>&#160; <a class="code" href="struct___remmina_avahi.html">RemminaAvahi</a> * <a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html#a40565240018bc9fb3392dc6e57070333"> 68</a></span>&#160; guint32 <a class="code" href="struct___remmina_icon.html#a40565240018bc9fb3392dc6e57070333">popup_time</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca"> 69</a></span>&#160; gchar * <a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;} <a class="code" href="remmina__icon_8c.html#a7d506eafc267175d941402f28744d2d5">RemminaIcon</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a912ed1addd1481ff94b775aad48731f0"> 72</a></span>&#160;<span class="keyword">static</span> <a class="code" href="struct___remmina_icon.html">RemminaIcon</a> <a class="code" href="remmina__icon_8c.html#a912ed1addd1481ff94b775aad48731f0">remmina_icon</a> =</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;{ 0 };</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a25b1d13f76ddf6a51836d780eda5fab1"> 75</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a25b1d13f76ddf6a51836d780eda5fab1">remmina_icon_destroy</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;{</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>) {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; app_indicator_set_status(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, APP_INDICATOR_STATUS_PASSIVE);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a> = NULL;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>) {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="remmina__avahi_8c.html#a2710b09d09507f1c91ba8a2bd01b0436">remmina_avahi_free</a>(remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a> = NULL;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>) {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; g_free(remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> = NULL;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;}</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a920476110ab6410c8fc8cf734109e497"> 94</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a920476110ab6410c8fc8cf734109e497">remmina_icon_main</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;{</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5">REMMINA_COMMAND_MAIN</a>, NULL);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;}</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#ad3b0e3d12e4854eae05b1afea19da404"> 100</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#ad3b0e3d12e4854eae05b1afea19da404">remmina_icon_preferences</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;{</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca822f35bcbc0737231ada0aa4ecfcd704">REMMINA_COMMAND_PREF</a>, <span class="stringliteral">&quot;2&quot;</span>);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;}</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a5cdf1958ef01e49889bcee2e90e2cf71"> 106</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a5cdf1958ef01e49889bcee2e90e2cf71">remmina_icon_about</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;{</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b">REMMINA_COMMAND_ABOUT</a>, NULL);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;}</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#ac424cc450aa98c2a0fe2494cddff48a6"> 113</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#ac424cc450aa98c2a0fe2494cddff48a6">remmina_icon_enable_avahi</a>(GtkCheckMenuItem *checkmenuitem, gpointer data)</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;{</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>)</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span> (gtk_check_menu_item_get_active(checkmenuitem)) {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#abbd08ed0c74b8f216e633aae6b141792">applet_enable_avahi</a> = TRUE;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>-&gt;<a class="code" href="struct___remmina_avahi.html#ab73788ec8ee72842428712efb932d58e">started</a>)</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="remmina__avahi_8c.html#a1ec851b22607dd1171ecdd5cca735b71">remmina_avahi_start</a>(remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#abbd08ed0c74b8f216e633aae6b141792">applet_enable_avahi</a> = FALSE;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="remmina__avahi_8c.html#a74b9962d6ef442e9c0a84293e2eaed30">remmina_avahi_stop</a>(remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;}</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a8aaf73ed94cf20dcce1c7be26262cb56"> 131</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a8aaf73ed94cf20dcce1c7be26262cb56">remmina_icon_populate_additional_menu_item</a>(GtkWidget *menu)</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; GtkWidget *menuitem;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; menuitem = gtk_separator_menu_item_new();</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; menuitem = gtk_check_menu_item_new_with_label(_(<span class="stringliteral">&quot;Enable Service Discovery&quot;</span>));</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#abbd08ed0c74b8f216e633aae6b141792">applet_enable_avahi</a>)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), TRUE);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">&quot;toggled&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#ac424cc450aa98c2a0fe2494cddff48a6">remmina_icon_enable_avahi</a>), NULL);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; menuitem = gtk_separator_menu_item_new();</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; menuitem = gtk_menu_item_new_with_mnemonic(_(<span class="stringliteral">&quot;_Quit&quot;</span>));</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">&quot;activate&quot;</span>, G_CALLBACK(<a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>), NULL);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; menuitem = gtk_menu_item_new_with_mnemonic(_(<span class="stringliteral">&quot;_About&quot;</span>));</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">&quot;activate&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#a5cdf1958ef01e49889bcee2e90e2cf71">remmina_icon_about</a>), NULL);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; menuitem = gtk_menu_item_new_with_mnemonic(_(<span class="stringliteral">&quot;_Preferences&quot;</span>));</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">&quot;activate&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#ad3b0e3d12e4854eae05b1afea19da404">remmina_icon_preferences</a>), NULL);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; menuitem = gtk_menu_item_new_with_label(_(<span class="stringliteral">&quot;Open Main Window&quot;</span>));</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">&quot;activate&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#a920476110ab6410c8fc8cf734109e497">remmina_icon_main</a>), NULL);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;}</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#ad1699688680e12abcfd5c74dd2f76d83"> 180</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#ad1699688680e12abcfd5c74dd2f76d83">remmina_icon_on_launch_item</a>(<a class="code" href="struct___remmina_applet_menu.html">RemminaAppletMenu</a> *menu, <a class="code" href="struct___remmina_applet_menu_item.html">RemminaAppletMenuItem</a> *menuitem, gpointer data)</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;{</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; gchar *s;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">switch</span> (menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#a770b749c60737542802925cd6f3524fa">item_type</a>) {</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a9056a1ad9722374064fe166aa77e69a3">REMMINA_APPLET_MENU_ITEM_NEW</a>:</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a>, NULL);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a9edd77222ca6a7576822feebf0588572">REMMINA_APPLET_MENU_ITEM_FILE</a>:</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d">REMMINA_COMMAND_CONNECT</a>, menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#aac9b89701606ff0f130f36ec0df55674">filename</a>);</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a3a6eab177da4cc0bf8267148c3837bf1">REMMINA_APPLET_MENU_ITEM_DISCOVERED</a>:</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; s = g_strdup_printf(<span class="stringliteral">&quot;%s,%s&quot;</span>, menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#a0c122a469388d5000ce5af4ec29a561e">protocol</a>, menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#abfc6c501c400171718ddf4a520154e8c">name</a>);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a>, s);</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; g_free(s);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;}</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#af8708120906a8dc41a7998ebf9ecd129"> 200</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#af8708120906a8dc41a7998ebf9ecd129">remmina_icon_on_edit_item</a>(<a class="code" href="struct___remmina_applet_menu.html">RemminaAppletMenu</a> *menu, <a class="code" href="struct___remmina_applet_menu_item.html">RemminaAppletMenuItem</a> *menuitem, gpointer data)</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;{</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; gchar *s;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">switch</span> (menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#a770b749c60737542802925cd6f3524fa">item_type</a>) {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a9056a1ad9722374064fe166aa77e69a3">REMMINA_APPLET_MENU_ITEM_NEW</a>:</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a>, NULL);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a9edd77222ca6a7576822feebf0588572">REMMINA_APPLET_MENU_ITEM_FILE</a>:</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65">REMMINA_COMMAND_EDIT</a>, menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#aac9b89701606ff0f130f36ec0df55674">filename</a>);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a3a6eab177da4cc0bf8267148c3837bf1">REMMINA_APPLET_MENU_ITEM_DISCOVERED</a>:</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; s = g_strdup_printf(<span class="stringliteral">&quot;%s,%s&quot;</span>, menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#a0c122a469388d5000ce5af4ec29a561e">protocol</a>, menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#abfc6c501c400171718ddf4a520154e8c">name</a>);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a>, s);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; g_free(s);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;}</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a2847311861df3a2f1c8bbcd35cf3fd6f"> 220</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a2847311861df3a2f1c8bbcd35cf3fd6f">remmina_icon_populate_extra_menu_item</a>(GtkWidget *menu)</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;{</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; GtkWidget *menuitem;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; gboolean new_ontop;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; new_ontop = <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a999b74e3aab2e7fbc4431e803511b568">applet_new_ontop</a>;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; GHashTableIter iter;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; gchar *tmp;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="comment">/* Iterate all discovered services from Avahi */</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>) {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; g_hash_table_iter_init(&amp;iter, remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>-&gt;<a class="code" href="struct___remmina_avahi.html#a52430cc6a84651509f25bc746d31e675">discovered_services</a>);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">while</span> (g_hash_table_iter_next(&amp;iter, NULL, (gpointer *)&amp;tmp)) {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; menuitem = <a class="code" href="remmina__applet__menu__item_8c.html#a8518d5abbcb0cf2ff0923e41d55e1a96">remmina_applet_menu_item_new</a>(<a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a3a6eab177da4cc0bf8267148c3837bf1">REMMINA_APPLET_MENU_ITEM_DISCOVERED</a>, tmp);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="remmina__applet__menu_8c.html#a261d344be12cd270d8b81a26e1ad9d23">remmina_applet_menu_add_item</a>(REMMINA_APPLET_MENU(menu), REMMINA_APPLET_MENU_ITEM(menuitem));</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="comment">/* New Connection */</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; menuitem = <a class="code" href="remmina__applet__menu__item_8c.html#a8518d5abbcb0cf2ff0923e41d55e1a96">remmina_applet_menu_item_new</a>(<a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a9056a1ad9722374064fe166aa77e69a3">REMMINA_APPLET_MENU_ITEM_NEW</a>);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="remmina__applet__menu_8c.html#abb924051b4e37930bed6aed12b653751">remmina_applet_menu_register_item</a>(REMMINA_APPLET_MENU(menu), REMMINA_APPLET_MENU_ITEM(menuitem));</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">if</span> (new_ontop)</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; g_signal_connect(G_OBJECT(menu), <span class="stringliteral">&quot;launch-item&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#ad1699688680e12abcfd5c74dd2f76d83">remmina_icon_on_launch_item</a>), NULL);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; g_signal_connect(G_OBJECT(menu), <span class="stringliteral">&quot;edit-item&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#af8708120906a8dc41a7998ebf9ecd129">remmina_icon_on_edit_item</a>), NULL);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;}</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="keywordtype">void</span></div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#af80ed314f91d653237249d839c7fc3b2"> 256</a></span>&#160;<a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;{</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; GtkWidget *menu;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; GtkWidget *menuitem;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a> &amp;&amp; !<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#afcd157a6f3bddb4b23b4e328cd18358c">disable_tray_icon</a>) {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; menu = <a class="code" href="remmina__applet__menu_8c.html#adc65e597bc73ddbda587caa929efe872">remmina_applet_menu_new</a>();</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; app_indicator_set_menu(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, GTK_MENU(menu));</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <a class="code" href="remmina__applet__menu_8c.html#af2baabd1750dd1a95a0b36e601d99cfe">remmina_applet_menu_set_hide_count</a>(REMMINA_APPLET_MENU(menu), <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#acee9d7384a5e3949df53cdf54390bbcd">applet_hide_count</a>);</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="remmina__applet__menu_8c.html#a8029065504aef0e850d79f3823d18f66">remmina_applet_menu_populate</a>(REMMINA_APPLET_MENU(menu));</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; </div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; menuitem = gtk_separator_menu_item_new();</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="remmina__icon_8c.html#a8aaf73ed94cf20dcce1c7be26262cb56">remmina_icon_populate_additional_menu_item</a>(menu);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="remmina__icon_8c.html#a2847311861df3a2f1c8bbcd35cf3fd6f">remmina_icon_populate_extra_menu_item</a>(menu);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;}</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a15b625603bb0eb191fca9e77d2821735"> 279</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a15b625603bb0eb191fca9e77d2821735">remmina_icon_save_autostart_file</a>(GKeyFile *gkeyfile)</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;{</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; gchar *content;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; gsize length;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; content = g_key_file_to_data(gkeyfile, &amp;length, NULL);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> != NULL) {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; g_file_set_contents(remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>, content, length, NULL);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">else</span> {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; REMMINA_WARNING(<span class="stringliteral">&quot;Cannot save remmina icon autostart file. Uncheck Preferences -&gt; Applet -&gt; No Tray Icon to recreate it.&quot;</span>);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; }</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; g_free(content);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;}</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a5a3b4f281c19f24645a895d3caab3ea0"> 295</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a5a3b4f281c19f24645a895d3caab3ea0">remmina_icon_create_autostart_file</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;{</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">if</span> (g_file_test(remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>, G_FILE_TEST_EXISTS))</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; GKeyFile *gkeyfile;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; gkeyfile = g_key_file_new();</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Version&quot;</span>, <span class="stringliteral">&quot;1.0&quot;</span>);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="comment">// TRANSLATORS: Applet name as per the Freedesktop Desktop entry specification https://specifications.freedesktop.org/desktop-entry-spec/latest/</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Name&quot;</span>, _(<span class="stringliteral">&quot;Remmina Applet&quot;</span>));</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="comment">// TRANSLATORS: Applet comment/description as per the Freedesktop Desktop entry specification https://specifications.freedesktop.org/desktop-entry-spec/latest/</span></div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Comment&quot;</span>, _(<span class="stringliteral">&quot;Connect to remote desktops through the applet menu&quot;</span>));</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Icon&quot;</span>, REMMINA_APP_ID);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">if</span> (getenv(<span class="stringliteral">&quot;FLATPAK_ID&quot;</span>)){</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Exec&quot;</span>, <span class="stringliteral">&quot;flatpak run org.remmina.Remmina -i&quot;</span>);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; }</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">else</span>{</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Exec&quot;</span>, <span class="stringliteral">&quot;remmina -i&quot;</span>);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; }</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; g_key_file_set_boolean(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Terminal&quot;</span>, FALSE);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Type&quot;</span>, <span class="stringliteral">&quot;Application&quot;</span>);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; g_key_file_set_boolean(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Hidden&quot;</span>, FALSE);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="remmina__icon_8c.html#a15b625603bb0eb191fca9e77d2821735">remmina_icon_save_autostart_file</a>(gkeyfile);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; g_key_file_free(gkeyfile);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;}</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a42f087b679b43b8a1d36cd9e9781a8b6"> 330</a></span>&#160;gboolean <a class="code" href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon_is_available</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;{</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>)</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#afcd157a6f3bddb4b23b4e328cd18358c">disable_tray_icon</a>)</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a963a8dea27a0b2ae6d8f0b8e4234119d">indicator_connected</a> == FALSE) {</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Indicator is not connected to panel, thus it cannot be displayed.&quot;</span>);</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Indicator is connected to panel, thus it can be displayed.&quot;</span>);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; }</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;}</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a49a019c1669f627f4a8a3246a1346e32"> 355</a></span>&#160;<a class="code" href="remmina__icon_8c.html#a49a019c1669f627f4a8a3246a1346e32">remmina_icon_connection_changed_cb</a>(AppIndicator *indicator, gboolean connected, gpointer data)</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;{</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Indicator connection changed to: %d&quot;</span>, connected);</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#a963a8dea27a0b2ae6d8f0b8e4234119d">indicator_connected</a> = connected;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;}</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;</div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a741c81815e562f40672c4485172306d6"> 362</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#afbd7758d1d43c61a014b7ef00f11fa58">remmina_icon_init</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;{</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; gchar remmina_panel[29];</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; gboolean sni_supported;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; g_stpcpy(remmina_panel, <span class="stringliteral">&quot;org.remmina.Remmina-status&quot;</span>);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="comment">/* Print on stdout the availability of appindicators on DBUS */</span></div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; sni_supported = <a class="code" href="remmina__sysinfo_8c.html#ae6ecf91edb905f3b2b39e33e05325590">remmina_sysinfo_is_appindicator_available</a>();</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; g_autofree gchar *wmname = g_ascii_strdown(<a class="code" href="remmina__sysinfo_8c.html#ae4441d62bb4075d1618b5750fea064b4">remmina_sysinfo_get_wm_name</a>(), -1);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="comment">//TRANSLATORS: These are Linux desktop components to show icons in the system tray, after the “ there&#39;s the Desktop Name (like GNOME).</span></div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; g_autofree gchar *msg = g_strconcat(</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; _(<span class="stringliteral">&quot;StatusNotifier/Appindicator support in “&quot;</span>),</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; wmname,</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="stringliteral">&quot;”:&quot;</span>,</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; NULL);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">if</span> (sni_supported) {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s your desktop does support it&quot;</span>), msg);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s and Remmina has built-in (compiled) support for libappindicator.&quot;</span>), msg);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s not supported natively by your Desktop Environment. libappindicator will try to fallback to GtkStatusIcon/xembed&quot;</span>), msg);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">&quot;mate&quot;</span>) != NULL)</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s You may need to install, and use XApp Status Applet&quot;</span>), msg);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">&quot;kde&quot;</span>) != NULL)</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s You may need to install, and use KStatusNotifierItem&quot;</span>), msg);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">&quot;plasma&quot;</span>) != NULL)</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s You may need to install, and use XEmbed SNI Proxy&quot;</span>), msg);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">&quot;gnome&quot;</span>) != NULL)</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s You may need to install, and use Gnome Shell Extension Appindicator&quot;</span>), msg);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a> &amp;&amp; !<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#afcd157a6f3bddb4b23b4e328cd18358c">disable_tray_icon</a>) {</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a> = app_indicator_new(<span class="stringliteral">&quot;remmina-icon&quot;</span>, remmina_panel, APP_INDICATOR_CATEGORY_APPLICATION_STATUS);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; app_indicator_set_status(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, APP_INDICATOR_STATUS_ACTIVE);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; app_indicator_set_title(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, <span class="stringliteral">&quot;Remmina&quot;</span>);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>();</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>) {</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; app_indicator_set_status(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#afcd157a6f3bddb4b23b4e328cd18358c">disable_tray_icon</a> ?</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; APP_INDICATOR_STATUS_PASSIVE : APP_INDICATOR_STATUS_ACTIVE);</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="comment">/* With libappindicator we can also change the icon on the fly */</span></div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; app_indicator_set_icon(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, remmina_panel);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; }</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#a963a8dea27a0b2ae6d8f0b8e4234119d">indicator_connected</a> = TRUE;</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>)</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a> = <a class="code" href="remmina__avahi_8c.html#a43319a5eff255c9b41dc8848cea6185f">remmina_avahi_new</a>();</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>) {</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#abbd08ed0c74b8f216e633aae6b141792">applet_enable_avahi</a>) {</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>-&gt;<a class="code" href="struct___remmina_avahi.html#ab73788ec8ee72842428712efb932d58e">started</a>)</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <a class="code" href="remmina__avahi_8c.html#a1ec851b22607dd1171ecdd5cca735b71">remmina_avahi_start</a>(remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>);</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <a class="code" href="remmina__avahi_8c.html#a74b9962d6ef442e9c0a84293e2eaed30">remmina_avahi_stop</a>(remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>);</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; }</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; }</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> &amp;&amp; !<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#afcd157a6f3bddb4b23b4e328cd18358c">disable_tray_icon</a>) {</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> = g_strdup_printf(<span class="stringliteral">&quot;%s/.config/autostart/remmina-applet.desktop&quot;</span>, g_get_home_dir());</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <a class="code" href="remmina__icon_8c.html#a5a3b4f281c19f24645a895d3caab3ea0">remmina_icon_create_autostart_file</a>();</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="comment">// &quot;connected&quot; property means a visible indicator, otherwise could be hidden. or fall back to GtkStatusIcon</span></div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>)</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; g_signal_connect(G_OBJECT(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>), <span class="stringliteral">&quot;connection-changed&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#a49a019c1669f627f4a8a3246a1346e32">remmina_icon_connection_changed_cb</a>), NULL);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="comment">//g_object_get(G_OBJECT(remmina_icon.icon), &quot;connected&quot;, &amp;remmina_icon.indicator_connected, NULL);</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;}</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#ae477ccd85ab1d878d243aed7fa5e48ae"> 438</a></span>&#160;gboolean <a class="code" href="remmina__icon_8c.html#ae477ccd85ab1d878d243aed7fa5e48ae">remmina_icon_is_autostart</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;{</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; GKeyFile *gkeyfile;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; gboolean b;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; gkeyfile = g_key_file_new();</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> != NULL) {</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; g_key_file_load_from_file(gkeyfile, remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>, G_KEY_FILE_NONE, NULL);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; }</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">else</span> {</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; REMMINA_WARNING(<span class="stringliteral">&quot;Cannot load remmina icon autostart file. Uncheck Preferences -&gt; Applet -&gt; No Tray Icon to recreate it.&quot;</span>);</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; }</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; b = !g_key_file_get_boolean(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Hidden&quot;</span>, NULL);</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; g_key_file_free(gkeyfile);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">return</span> b;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;}</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;</div><div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a5b1bc5b1130b31ea9c9cb7164fb82f1d"> 458</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a5b1bc5b1130b31ea9c9cb7164fb82f1d">remmina_icon_set_autostart</a>(gboolean autostart)</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;{</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; GKeyFile *gkeyfile;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; gboolean b;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> != NULL) {</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; gkeyfile = g_key_file_new();</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; g_key_file_load_from_file(gkeyfile, remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>, G_KEY_FILE_NONE, NULL);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; b = !g_key_file_get_boolean(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Hidden&quot;</span>, NULL);</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <span class="keywordflow">if</span> (b != autostart) {</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; g_key_file_set_boolean(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Hidden&quot;</span>, !autostart);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="comment">/* Refresh it in case translation is updated */</span></div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="comment">// TRANSLATORS: Applet Name as per the Freedesktop Desktop entry specification https://specifications.freedesktop.org/desktop-entry-spec/latest/</span></div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Name&quot;</span>, _(<span class="stringliteral">&quot;Remmina Applet&quot;</span>));</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="comment">// TRANSLATORS: Applet comment/description as per the Freedesktop Desktop entry specification https://specifications.freedesktop.org/desktop-entry-spec/latest/</span></div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Comment&quot;</span>, _(<span class="stringliteral">&quot;Connect to remote desktops through the applet menu&quot;</span>));</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <a class="code" href="remmina__icon_8c.html#a15b625603bb0eb191fca9e77d2821735">remmina_icon_save_autostart_file</a>(gkeyfile);</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; g_key_file_free(gkeyfile);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; }</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">else</span> {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; REMMINA_WARNING(<span class="stringliteral">&quot;Cannot load remmina icon autostart file. Uncheck Preferences -&gt; Applet -&gt; No Tray Icon to recreate it.&quot;</span>);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;}</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#afbd7758d1d43c61a014b7ef00f11fa58">remmina_icon_init</a>(<span class="keywordtype">void</span>) {};</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a25b1d13f76ddf6a51836d780eda5fab1">remmina_icon_destroy</a>(<span class="keywordtype">void</span>) {};</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;gboolean <a class="code" href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon_is_available</a>(<span class="keywordtype">void</span>) {<span class="keywordflow">return</span> FALSE;};</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>(<span class="keywordtype">void</span>) {};</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a5b1bc5b1130b31ea9c9cb7164fb82f1d">remmina_icon_set_autostart</a>(gboolean autostart) {} ;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;gboolean <a class="code" href="remmina__icon_8c.html#ae477ccd85ab1d878d243aed7fa5e48ae">remmina_icon_is_autostart</a>(<span class="keywordtype">void</span>) {<span class="keywordflow">return</span> FALSE;};</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="struct___remmina_icon_html_a963a8dea27a0b2ae6d8f0b8e4234119d"><div class="ttname"><a href="struct___remmina_icon.html#a963a8dea27a0b2ae6d8f0b8e4234119d">_RemminaIcon::indicator_connected</a></div><div class="ttdeci">gboolean indicator_connected</div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00064">remmina_icon.c:64</a></div></div>
+<a href="remmina__icon_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2010 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;glib/gi18n.h&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAPPINDICATOR</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor"># ifdef HAVE_AYATANA_LIBAPPINDICATOR</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor"># include &lt;libayatana-appindicator/app-indicator.h&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor"># else</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor"># include &lt;libappindicator/app-indicator.h&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor"># endif</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>&quot;</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>&quot;</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__avahi_8h.html">remmina_avahi.h</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__applet__menu__item_8h.html">remmina_applet_menu_item.h</a>&quot;</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__applet__menu_8h.html">remmina_applet_menu.h</a>&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rcw_8h.html">rcw.h</a>&quot;</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__log_8h.html">remmina_log.h</a>&quot;</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__sysinfo_8h.html">remmina_sysinfo.h</a>&quot;</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html"> 62</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_icon.html">_RemminaIcon</a> {</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626"> 63</a></span>&#160; AppIndicator * <a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html#a963a8dea27a0b2ae6d8f0b8e4234119d"> 64</a></span>&#160; gboolean <a class="code" href="struct___remmina_icon.html#a963a8dea27a0b2ae6d8f0b8e4234119d">indicator_connected</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2"> 66</a></span>&#160; <a class="code" href="struct___remmina_avahi.html">RemminaAvahi</a> * <a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html#a40565240018bc9fb3392dc6e57070333"> 68</a></span>&#160; guint32 <a class="code" href="struct___remmina_icon.html#a40565240018bc9fb3392dc6e57070333">popup_time</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca"> 69</a></span>&#160; gchar * <a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;} <a class="code" href="remmina__icon_8c.html#a7d506eafc267175d941402f28744d2d5">RemminaIcon</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a912ed1addd1481ff94b775aad48731f0"> 72</a></span>&#160;<span class="keyword">static</span> <a class="code" href="struct___remmina_icon.html">RemminaIcon</a> <a class="code" href="remmina__icon_8c.html#a912ed1addd1481ff94b775aad48731f0">remmina_icon</a> =</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;{ 0 };</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a25b1d13f76ddf6a51836d780eda5fab1"> 75</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a25b1d13f76ddf6a51836d780eda5fab1">remmina_icon_destroy</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;{</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>) {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; app_indicator_set_status(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, APP_INDICATOR_STATUS_PASSIVE);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a> = NULL;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>) {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="remmina__avahi_8c.html#a2710b09d09507f1c91ba8a2bd01b0436">remmina_avahi_free</a>(remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a> = NULL;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>) {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; g_free(remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> = NULL;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;}</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a920476110ab6410c8fc8cf734109e497"> 94</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a920476110ab6410c8fc8cf734109e497">remmina_icon_main</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;{</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5">REMMINA_COMMAND_MAIN</a>, NULL);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;}</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#ad3b0e3d12e4854eae05b1afea19da404"> 100</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#ad3b0e3d12e4854eae05b1afea19da404">remmina_icon_preferences</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;{</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca822f35bcbc0737231ada0aa4ecfcd704">REMMINA_COMMAND_PREF</a>, <span class="stringliteral">&quot;2&quot;</span>);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;}</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a5cdf1958ef01e49889bcee2e90e2cf71"> 106</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a5cdf1958ef01e49889bcee2e90e2cf71">remmina_icon_about</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;{</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b">REMMINA_COMMAND_ABOUT</a>, NULL);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;}</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#ac424cc450aa98c2a0fe2494cddff48a6"> 113</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#ac424cc450aa98c2a0fe2494cddff48a6">remmina_icon_enable_avahi</a>(GtkCheckMenuItem *checkmenuitem, gpointer data)</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;{</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>)</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span> (gtk_check_menu_item_get_active(checkmenuitem)) {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#abbd08ed0c74b8f216e633aae6b141792">applet_enable_avahi</a> = TRUE;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>-&gt;<a class="code" href="struct___remmina_avahi.html#ab73788ec8ee72842428712efb932d58e">started</a>)</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="remmina__avahi_8c.html#a1ec851b22607dd1171ecdd5cca735b71">remmina_avahi_start</a>(remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#abbd08ed0c74b8f216e633aae6b141792">applet_enable_avahi</a> = FALSE;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="remmina__avahi_8c.html#a74b9962d6ef442e9c0a84293e2eaed30">remmina_avahi_stop</a>(remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;}</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a8aaf73ed94cf20dcce1c7be26262cb56"> 131</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a8aaf73ed94cf20dcce1c7be26262cb56">remmina_icon_populate_additional_menu_item</a>(GtkWidget *menu)</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; GtkWidget *menuitem;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; menuitem = gtk_separator_menu_item_new();</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; menuitem = gtk_check_menu_item_new_with_label(_(<span class="stringliteral">&quot;Enable Service Discovery&quot;</span>));</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#abbd08ed0c74b8f216e633aae6b141792">applet_enable_avahi</a>)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), TRUE);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">&quot;toggled&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#ac424cc450aa98c2a0fe2494cddff48a6">remmina_icon_enable_avahi</a>), NULL);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; menuitem = gtk_separator_menu_item_new();</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; menuitem = gtk_menu_item_new_with_mnemonic(_(<span class="stringliteral">&quot;_Quit&quot;</span>));</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">&quot;activate&quot;</span>, G_CALLBACK(<a class="code" href="remmina__exec_8c.html#adfa9ba9dcefd2b5f6ca8050f00731c73">remmina_exec_exitremmina_one_confirm</a>), NULL);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; menuitem = gtk_menu_item_new_with_mnemonic(_(<span class="stringliteral">&quot;_About&quot;</span>));</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">&quot;activate&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#a5cdf1958ef01e49889bcee2e90e2cf71">remmina_icon_about</a>), NULL);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; menuitem = gtk_menu_item_new_with_mnemonic(_(<span class="stringliteral">&quot;_Preferences&quot;</span>));</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">&quot;activate&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#ad3b0e3d12e4854eae05b1afea19da404">remmina_icon_preferences</a>), NULL);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; menuitem = gtk_menu_item_new_with_label(_(<span class="stringliteral">&quot;Open Main Window&quot;</span>));</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">&quot;activate&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#a920476110ab6410c8fc8cf734109e497">remmina_icon_main</a>), NULL);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;}</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#ad1699688680e12abcfd5c74dd2f76d83"> 180</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#ad1699688680e12abcfd5c74dd2f76d83">remmina_icon_on_launch_item</a>(<a class="code" href="struct___remmina_applet_menu.html">RemminaAppletMenu</a> *menu, <a class="code" href="struct___remmina_applet_menu_item.html">RemminaAppletMenuItem</a> *menuitem, gpointer data)</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;{</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; gchar *s;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">switch</span> (menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#a770b749c60737542802925cd6f3524fa">item_type</a>) {</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a9056a1ad9722374064fe166aa77e69a3">REMMINA_APPLET_MENU_ITEM_NEW</a>:</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a>, NULL);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a9edd77222ca6a7576822feebf0588572">REMMINA_APPLET_MENU_ITEM_FILE</a>:</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d">REMMINA_COMMAND_CONNECT</a>, menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#aac9b89701606ff0f130f36ec0df55674">filename</a>);</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a3a6eab177da4cc0bf8267148c3837bf1">REMMINA_APPLET_MENU_ITEM_DISCOVERED</a>:</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; s = g_strdup_printf(<span class="stringliteral">&quot;%s,%s&quot;</span>, menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#a0c122a469388d5000ce5af4ec29a561e">protocol</a>, menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#abfc6c501c400171718ddf4a520154e8c">name</a>);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a>, s);</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; g_free(s);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;}</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#af8708120906a8dc41a7998ebf9ecd129"> 200</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#af8708120906a8dc41a7998ebf9ecd129">remmina_icon_on_edit_item</a>(<a class="code" href="struct___remmina_applet_menu.html">RemminaAppletMenu</a> *menu, <a class="code" href="struct___remmina_applet_menu_item.html">RemminaAppletMenuItem</a> *menuitem, gpointer data)</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;{</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; gchar *s;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">switch</span> (menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#a770b749c60737542802925cd6f3524fa">item_type</a>) {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a9056a1ad9722374064fe166aa77e69a3">REMMINA_APPLET_MENU_ITEM_NEW</a>:</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a>, NULL);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a9edd77222ca6a7576822feebf0588572">REMMINA_APPLET_MENU_ITEM_FILE</a>:</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65">REMMINA_COMMAND_EDIT</a>, menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#aac9b89701606ff0f130f36ec0df55674">filename</a>);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a3a6eab177da4cc0bf8267148c3837bf1">REMMINA_APPLET_MENU_ITEM_DISCOVERED</a>:</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; s = g_strdup_printf(<span class="stringliteral">&quot;%s,%s&quot;</span>, menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#a0c122a469388d5000ce5af4ec29a561e">protocol</a>, menuitem-&gt;<a class="code" href="struct___remmina_applet_menu_item.html#abfc6c501c400171718ddf4a520154e8c">name</a>);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a>, s);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; g_free(s);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;}</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a2847311861df3a2f1c8bbcd35cf3fd6f"> 220</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a2847311861df3a2f1c8bbcd35cf3fd6f">remmina_icon_populate_extra_menu_item</a>(GtkWidget *menu)</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;{</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; GtkWidget *menuitem;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; gboolean new_ontop;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; new_ontop = <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a999b74e3aab2e7fbc4431e803511b568">applet_new_ontop</a>;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; GHashTableIter iter;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; gchar *tmp;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="comment">/* Iterate all discovered services from Avahi */</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>) {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; g_hash_table_iter_init(&amp;iter, remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>-&gt;<a class="code" href="struct___remmina_avahi.html#a52430cc6a84651509f25bc746d31e675">discovered_services</a>);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">while</span> (g_hash_table_iter_next(&amp;iter, NULL, (gpointer *)&amp;tmp)) {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; menuitem = <a class="code" href="remmina__applet__menu__item_8c.html#a8518d5abbcb0cf2ff0923e41d55e1a96">remmina_applet_menu_item_new</a>(<a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a3a6eab177da4cc0bf8267148c3837bf1">REMMINA_APPLET_MENU_ITEM_DISCOVERED</a>, tmp);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="remmina__applet__menu_8c.html#a261d344be12cd270d8b81a26e1ad9d23">remmina_applet_menu_add_item</a>(REMMINA_APPLET_MENU(menu), REMMINA_APPLET_MENU_ITEM(menuitem));</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="comment">/* New Connection */</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; menuitem = <a class="code" href="remmina__applet__menu__item_8c.html#a8518d5abbcb0cf2ff0923e41d55e1a96">remmina_applet_menu_item_new</a>(<a class="code" href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a9056a1ad9722374064fe166aa77e69a3">REMMINA_APPLET_MENU_ITEM_NEW</a>);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="remmina__applet__menu_8c.html#abb924051b4e37930bed6aed12b653751">remmina_applet_menu_register_item</a>(REMMINA_APPLET_MENU(menu), REMMINA_APPLET_MENU_ITEM(menuitem));</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">if</span> (new_ontop)</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; g_signal_connect(G_OBJECT(menu), <span class="stringliteral">&quot;launch-item&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#ad1699688680e12abcfd5c74dd2f76d83">remmina_icon_on_launch_item</a>), NULL);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; g_signal_connect(G_OBJECT(menu), <span class="stringliteral">&quot;edit-item&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#af8708120906a8dc41a7998ebf9ecd129">remmina_icon_on_edit_item</a>), NULL);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;}</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="keywordtype">void</span></div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#af80ed314f91d653237249d839c7fc3b2"> 256</a></span>&#160;<a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;{</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; GtkWidget *menu;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; GtkWidget *menuitem;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a> &amp;&amp; !<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#afcd157a6f3bddb4b23b4e328cd18358c">disable_tray_icon</a>) {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; menu = <a class="code" href="remmina__applet__menu_8c.html#adc65e597bc73ddbda587caa929efe872">remmina_applet_menu_new</a>();</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; app_indicator_set_menu(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, GTK_MENU(menu));</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <a class="code" href="remmina__applet__menu_8c.html#af2baabd1750dd1a95a0b36e601d99cfe">remmina_applet_menu_set_hide_count</a>(REMMINA_APPLET_MENU(menu), <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#acee9d7384a5e3949df53cdf54390bbcd">applet_hide_count</a>);</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="remmina__applet__menu_8c.html#a8029065504aef0e850d79f3823d18f66">remmina_applet_menu_populate</a>(REMMINA_APPLET_MENU(menu));</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; </div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; menuitem = gtk_separator_menu_item_new();</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="remmina__icon_8c.html#a8aaf73ed94cf20dcce1c7be26262cb56">remmina_icon_populate_additional_menu_item</a>(menu);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="remmina__icon_8c.html#a2847311861df3a2f1c8bbcd35cf3fd6f">remmina_icon_populate_extra_menu_item</a>(menu);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;}</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a15b625603bb0eb191fca9e77d2821735"> 279</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a15b625603bb0eb191fca9e77d2821735">remmina_icon_save_autostart_file</a>(GKeyFile *gkeyfile)</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;{</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; gchar *content;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; gsize length;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; content = g_key_file_to_data(gkeyfile, &amp;length, NULL);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> != NULL) {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; g_file_set_contents(remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>, content, length, NULL);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">else</span> {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; REMMINA_WARNING(<span class="stringliteral">&quot;Cannot save remmina icon autostart file. Uncheck Preferences -&gt; Applet -&gt; No Tray Icon to recreate it.&quot;</span>);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; }</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; g_free(content);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;}</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a5a3b4f281c19f24645a895d3caab3ea0"> 295</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a5a3b4f281c19f24645a895d3caab3ea0">remmina_icon_create_autostart_file</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;{</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">if</span> (g_file_test(remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>, G_FILE_TEST_EXISTS))</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; GKeyFile *gkeyfile;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; gkeyfile = g_key_file_new();</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Version&quot;</span>, <span class="stringliteral">&quot;1.0&quot;</span>);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="comment">// TRANSLATORS: Applet name as per the Freedesktop Desktop entry specification https://specifications.freedesktop.org/desktop-entry-spec/latest/</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Name&quot;</span>, _(<span class="stringliteral">&quot;Remmina Applet&quot;</span>));</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="comment">// TRANSLATORS: Applet comment/description as per the Freedesktop Desktop entry specification https://specifications.freedesktop.org/desktop-entry-spec/latest/</span></div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Comment&quot;</span>, _(<span class="stringliteral">&quot;Connect to remote desktops through the applet menu&quot;</span>));</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Icon&quot;</span>, REMMINA_APP_ID);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">if</span> (getenv(<span class="stringliteral">&quot;FLATPAK_ID&quot;</span>)){</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Exec&quot;</span>, <span class="stringliteral">&quot;flatpak run org.remmina.Remmina -i&quot;</span>);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; }</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">else</span>{</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Exec&quot;</span>, <span class="stringliteral">&quot;remmina -i&quot;</span>);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; }</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; g_key_file_set_boolean(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Terminal&quot;</span>, FALSE);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Type&quot;</span>, <span class="stringliteral">&quot;Application&quot;</span>);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; g_key_file_set_boolean(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Hidden&quot;</span>, FALSE);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="remmina__icon_8c.html#a15b625603bb0eb191fca9e77d2821735">remmina_icon_save_autostart_file</a>(gkeyfile);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; g_key_file_free(gkeyfile);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;}</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a42f087b679b43b8a1d36cd9e9781a8b6"> 330</a></span>&#160;gboolean <a class="code" href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon_is_available</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;{</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>)</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#afcd157a6f3bddb4b23b4e328cd18358c">disable_tray_icon</a>)</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a963a8dea27a0b2ae6d8f0b8e4234119d">indicator_connected</a> == FALSE) {</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Indicator is not connected to panel, thus it cannot be displayed.&quot;</span>);</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Indicator is connected to panel, thus it can be displayed.&quot;</span>);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; }</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;}</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a49a019c1669f627f4a8a3246a1346e32"> 355</a></span>&#160;<a class="code" href="remmina__icon_8c.html#a49a019c1669f627f4a8a3246a1346e32">remmina_icon_connection_changed_cb</a>(AppIndicator *indicator, gboolean connected, gpointer data)</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;{</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Indicator connection changed to: %d&quot;</span>, connected);</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#a963a8dea27a0b2ae6d8f0b8e4234119d">indicator_connected</a> = connected;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;}</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;</div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a741c81815e562f40672c4485172306d6"> 362</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#afbd7758d1d43c61a014b7ef00f11fa58">remmina_icon_init</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;{</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; gchar remmina_panel[29];</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; gboolean sni_supported;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; g_stpcpy(remmina_panel, <span class="stringliteral">&quot;org.remmina.Remmina-status&quot;</span>);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="comment">/* Print on stdout the availability of appindicators on DBUS */</span></div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; sni_supported = <a class="code" href="remmina__sysinfo_8c.html#ae6ecf91edb905f3b2b39e33e05325590">remmina_sysinfo_is_appindicator_available</a>();</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; g_autofree gchar *wmname = g_ascii_strdown(<a class="code" href="remmina__sysinfo_8c.html#ae4441d62bb4075d1618b5750fea064b4">remmina_sysinfo_get_wm_name</a>(), -1);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="comment">//TRANSLATORS: These are Linux desktop components to show icons in the system tray, after the “ there&#39;s the Desktop Name (like GNOME).</span></div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; g_autofree gchar *msg = g_strconcat(</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; _(<span class="stringliteral">&quot;StatusNotifier/Appindicator support in “&quot;</span>),</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; wmname,</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="stringliteral">&quot;”:&quot;</span>,</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; NULL);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">if</span> (sni_supported) {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s your desktop does support it&quot;</span>), msg);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s and Remmina has built-in (compiled) support for libappindicator.&quot;</span>), msg);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s not supported natively by your Desktop Environment. libappindicator will try to fallback to GtkStatusIcon/xembed&quot;</span>), msg);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">&quot;mate&quot;</span>) != NULL)</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s You may need to install, and use XApp Status Applet&quot;</span>), msg);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">&quot;kde&quot;</span>) != NULL)</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s You may need to install, and use KStatusNotifierItem&quot;</span>), msg);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">&quot;plasma&quot;</span>) != NULL)</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s You may need to install, and use XEmbed SNI Proxy&quot;</span>), msg);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">&quot;gnome&quot;</span>) != NULL)</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="comment">//TRANSLATORS: %s is a placeholder for &quot;StatusNotifier/Appindicator suppor in “DESKTOP NAME”: &quot;</span></div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; REMMINA_INFO(_(<span class="stringliteral">&quot;%s You may need to install, and use Gnome Shell Extension Appindicator&quot;</span>), msg);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a> &amp;&amp; !<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#afcd157a6f3bddb4b23b4e328cd18358c">disable_tray_icon</a>) {</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a> = app_indicator_new(<span class="stringliteral">&quot;remmina-icon&quot;</span>, remmina_panel, APP_INDICATOR_CATEGORY_APPLICATION_STATUS);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; app_indicator_set_status(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, APP_INDICATOR_STATUS_ACTIVE);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; app_indicator_set_title(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, <span class="stringliteral">&quot;Remmina&quot;</span>);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>();</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>) {</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; app_indicator_set_status(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#afcd157a6f3bddb4b23b4e328cd18358c">disable_tray_icon</a> ?</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; APP_INDICATOR_STATUS_PASSIVE : APP_INDICATOR_STATUS_ACTIVE);</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="comment">/* With libappindicator we can also change the icon on the fly */</span></div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; app_indicator_set_icon(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, remmina_panel);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; }</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#a963a8dea27a0b2ae6d8f0b8e4234119d">indicator_connected</a> = TRUE;</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>)</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a> = <a class="code" href="remmina__avahi_8c.html#a43319a5eff255c9b41dc8848cea6185f">remmina_avahi_new</a>();</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>) {</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#abbd08ed0c74b8f216e633aae6b141792">applet_enable_avahi</a>) {</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>-&gt;<a class="code" href="struct___remmina_avahi.html#ab73788ec8ee72842428712efb932d58e">started</a>)</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <a class="code" href="remmina__avahi_8c.html#a1ec851b22607dd1171ecdd5cca735b71">remmina_avahi_start</a>(remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>);</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <a class="code" href="remmina__avahi_8c.html#a74b9962d6ef442e9c0a84293e2eaed30">remmina_avahi_stop</a>(remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>);</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; }</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; }</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> &amp;&amp; !<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#afcd157a6f3bddb4b23b4e328cd18358c">disable_tray_icon</a>) {</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> = g_strdup_printf(<span class="stringliteral">&quot;%s/.config/autostart/remmina-applet.desktop&quot;</span>, g_get_home_dir());</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <a class="code" href="remmina__icon_8c.html#a5a3b4f281c19f24645a895d3caab3ea0">remmina_icon_create_autostart_file</a>();</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="comment">// &quot;connected&quot; property means a visible indicator, otherwise could be hidden. or fall back to GtkStatusIcon</span></div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>)</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; g_signal_connect(G_OBJECT(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>), <span class="stringliteral">&quot;connection-changed&quot;</span>, G_CALLBACK(<a class="code" href="remmina__icon_8c.html#a49a019c1669f627f4a8a3246a1346e32">remmina_icon_connection_changed_cb</a>), NULL);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="comment">//g_object_get(G_OBJECT(remmina_icon.icon), &quot;connected&quot;, &amp;remmina_icon.indicator_connected, NULL);</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;}</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#ae477ccd85ab1d878d243aed7fa5e48ae"> 438</a></span>&#160;gboolean <a class="code" href="remmina__icon_8c.html#ae477ccd85ab1d878d243aed7fa5e48ae">remmina_icon_is_autostart</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;{</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; GKeyFile *gkeyfile;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; gboolean b;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; gkeyfile = g_key_file_new();</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> != NULL) {</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; g_key_file_load_from_file(gkeyfile, remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>, G_KEY_FILE_NONE, NULL);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; }</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">else</span> {</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; REMMINA_WARNING(<span class="stringliteral">&quot;Cannot load remmina icon autostart file. Uncheck Preferences -&gt; Applet -&gt; No Tray Icon to recreate it.&quot;</span>);</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; }</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; b = !g_key_file_get_boolean(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Hidden&quot;</span>, NULL);</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; g_key_file_free(gkeyfile);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">return</span> b;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;}</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;</div><div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a5b1bc5b1130b31ea9c9cb7164fb82f1d"> 458</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a5b1bc5b1130b31ea9c9cb7164fb82f1d">remmina_icon_set_autostart</a>(gboolean autostart)</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;{</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; GKeyFile *gkeyfile;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; gboolean b;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">if</span> (remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> != NULL) {</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; gkeyfile = g_key_file_new();</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; g_key_file_load_from_file(gkeyfile, remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a>, G_KEY_FILE_NONE, NULL);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; b = !g_key_file_get_boolean(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Hidden&quot;</span>, NULL);</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <span class="keywordflow">if</span> (b != autostart) {</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; g_key_file_set_boolean(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Hidden&quot;</span>, !autostart);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="comment">/* Refresh it in case translation is updated */</span></div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="comment">// TRANSLATORS: Applet Name as per the Freedesktop Desktop entry specification https://specifications.freedesktop.org/desktop-entry-spec/latest/</span></div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Name&quot;</span>, _(<span class="stringliteral">&quot;Remmina Applet&quot;</span>));</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="comment">// TRANSLATORS: Applet comment/description as per the Freedesktop Desktop entry specification https://specifications.freedesktop.org/desktop-entry-spec/latest/</span></div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; g_key_file_set_string(gkeyfile, <span class="stringliteral">&quot;Desktop Entry&quot;</span>, <span class="stringliteral">&quot;Comment&quot;</span>, _(<span class="stringliteral">&quot;Connect to remote desktops through the applet menu&quot;</span>));</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <a class="code" href="remmina__icon_8c.html#a15b625603bb0eb191fca9e77d2821735">remmina_icon_save_autostart_file</a>(gkeyfile);</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; g_key_file_free(gkeyfile);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; }</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">else</span> {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; REMMINA_WARNING(<span class="stringliteral">&quot;Cannot load remmina icon autostart file. Uncheck Preferences -&gt; Applet -&gt; No Tray Icon to recreate it.&quot;</span>);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;}</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#afbd7758d1d43c61a014b7ef00f11fa58">remmina_icon_init</a>(<span class="keywordtype">void</span>) {};</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a25b1d13f76ddf6a51836d780eda5fab1">remmina_icon_destroy</a>(<span class="keywordtype">void</span>) {};</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;gboolean <a class="code" href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon_is_available</a>(<span class="keywordtype">void</span>) {<span class="keywordflow">return</span> FALSE;};</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>(<span class="keywordtype">void</span>) {};</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__icon_8c.html#a5b1bc5b1130b31ea9c9cb7164fb82f1d">remmina_icon_set_autostart</a>(gboolean autostart) {} ;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;gboolean <a class="code" href="remmina__icon_8c.html#ae477ccd85ab1d878d243aed7fa5e48ae">remmina_icon_is_autostart</a>(<span class="keywordtype">void</span>) {<span class="keywordflow">return</span> FALSE;};</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="struct___remmina_icon_html_a963a8dea27a0b2ae6d8f0b8e4234119d"><div class="ttname"><a href="struct___remmina_icon.html#a963a8dea27a0b2ae6d8f0b8e4234119d">_RemminaIcon::indicator_connected</a></div><div class="ttdeci">gboolean indicator_connected</div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00064">remmina_icon.c:64</a></div></div>
<div class="ttc" id="remmina__avahi_8h_html"><div class="ttname"><a href="remmina__avahi_8h.html">remmina_avahi.h</a></div></div>
<div class="ttc" id="remmina__icon_8c_html_a920476110ab6410c8fc8cf734109e497"><div class="ttname"><a href="remmina__icon_8c.html#a920476110ab6410c8fc8cf734109e497">remmina_icon_main</a></div><div class="ttdeci">static void remmina_icon_main(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00094">remmina_icon.c:94</a></div></div>
<div class="ttc" id="struct___remmina_applet_menu_item_html"><div class="ttname"><a href="struct___remmina_applet_menu_item.html">_RemminaAppletMenuItem</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__applet__menu__item_8h_source.html#l00053">remmina_applet_menu_item.h:53</a></div></div>
@@ -97,6 +97,7 @@ $(document).ready(function(){initNavTree('remmina__icon_8c_source.html','');});
<div class="ttc" id="remmina__widget__pool_8h_html"><div class="ttname"><a href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a></div></div>
<div class="ttc" id="remmina__icon_8c_html_ad1699688680e12abcfd5c74dd2f76d83"><div class="ttname"><a href="remmina__icon_8c.html#ad1699688680e12abcfd5c74dd2f76d83">remmina_icon_on_launch_item</a></div><div class="ttdeci">static void remmina_icon_on_launch_item(RemminaAppletMenu *menu, RemminaAppletMenuItem *menuitem, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00180">remmina_icon.c:180</a></div></div>
<div class="ttc" id="remmina__trace__calls_8h_html"><div class="ttname"><a href="remmina__trace__calls_8h.html">remmina_trace_calls.h</a></div></div>
+<div class="ttc" id="remmina__exec_8c_html_adfa9ba9dcefd2b5f6ca8050f00731c73"><div class="ttname"><a href="remmina__exec_8c.html#adfa9ba9dcefd2b5f6ca8050f00731c73">remmina_exec_exitremmina_one_confirm</a></div><div class="ttdeci">void remmina_exec_exitremmina_one_confirm()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00123">remmina_exec.c:123</a></div></div>
<div class="ttc" id="remmina__icon_8c_html_af80ed314f91d653237249d839c7fc3b2"><div class="ttname"><a href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a></div><div class="ttdeci">void remmina_icon_populate_menu(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00256">remmina_icon.c:256</a></div></div>
<div class="ttc" id="remmina__icon_8c_html_a42f087b679b43b8a1d36cd9e9781a8b6"><div class="ttname"><a href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon_is_available</a></div><div class="ttdeci">gboolean remmina_icon_is_available(void)</div><div class="ttdoc">Determine whenever the Remmina icon is available. </div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00330">remmina_icon.c:330</a></div></div>
<div class="ttc" id="struct___remmina_applet_menu_item_html_a0c122a469388d5000ce5af4ec29a561e"><div class="ttname"><a href="struct___remmina_applet_menu_item.html#a0c122a469388d5000ce5af4ec29a561e">_RemminaAppletMenuItem::protocol</a></div><div class="ttdeci">gchar * protocol</div><div class="ttdef"><b>Definition:</b> <a href="remmina__applet__menu__item_8h_source.html#l00060">remmina_applet_menu_item.h:60</a></div></div>
@@ -116,7 +117,7 @@ $(document).ready(function(){initNavTree('remmina__icon_8c_source.html','');});
<div class="ttc" id="remmina__icon_8c_html_a912ed1addd1481ff94b775aad48731f0"><div class="ttname"><a href="remmina__icon_8c.html#a912ed1addd1481ff94b775aad48731f0">remmina_icon</a></div><div class="ttdeci">static RemminaIcon remmina_icon</div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00072">remmina_icon.c:72</a></div></div>
<div class="ttc" id="remmina__applet__menu_8c_html_af2baabd1750dd1a95a0b36e601d99cfe"><div class="ttname"><a href="remmina__applet__menu_8c.html#af2baabd1750dd1a95a0b36e601d99cfe">remmina_applet_menu_set_hide_count</a></div><div class="ttdeci">void remmina_applet_menu_set_hide_count(RemminaAppletMenu *menu, gboolean hide_count)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__applet__menu_8c_source.html#l00236">remmina_applet_menu.c:236</a></div></div>
<div class="ttc" id="remmina__icon_8c_html_a7d506eafc267175d941402f28744d2d5"><div class="ttname"><a href="remmina__icon_8c.html#a7d506eafc267175d941402f28744d2d5">RemminaIcon</a></div><div class="ttdeci">struct _RemminaIcon RemminaIcon</div></div>
-<div class="ttc" id="remmina__exec_8c_html_a424cabdcff647797061e7482049d62a7"><div class="ttname"><a href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a></div><div class="ttdeci">void remmina_exec_command(RemminaCommandType command, const gchar *data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00368">remmina_exec.c:368</a></div></div>
+<div class="ttc" id="remmina__exec_8c_html_a424cabdcff647797061e7482049d62a7"><div class="ttname"><a href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a></div><div class="ttdeci">void remmina_exec_command(RemminaCommandType command, const gchar *data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00382">remmina_exec.c:382</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b">REMMINA_COMMAND_ABOUT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00049">remmina_exec.h:49</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00046">remmina_exec.h:46</a></div></div>
<div class="ttc" id="remmina__applet__menu__item_8h_html_a75e42156d38612a96ae48899316b4727a3a6eab177da4cc0bf8267148c3837bf1"><div class="ttname"><a href="remmina__applet__menu__item_8h.html#a75e42156d38612a96ae48899316b4727a3a6eab177da4cc0bf8267148c3837bf1">REMMINA_APPLET_MENU_ITEM_DISCOVERED</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__applet__menu__item_8h_source.html#l00050">remmina_applet_menu_item.h:50</a></div></div>
@@ -125,7 +126,6 @@ $(document).ready(function(){initNavTree('remmina__icon_8c_source.html','');});
<div class="ttc" id="struct___remmina_icon_html"><div class="ttname"><a href="struct___remmina_icon.html">_RemminaIcon</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00062">remmina_icon.c:62</a></div></div>
<div class="ttc" id="remmina__icon_8c_html_ae477ccd85ab1d878d243aed7fa5e48ae"><div class="ttname"><a href="remmina__icon_8c.html#ae477ccd85ab1d878d243aed7fa5e48ae">remmina_icon_is_autostart</a></div><div class="ttdeci">gboolean remmina_icon_is_autostart(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00438">remmina_icon.c:438</a></div></div>
<div class="ttc" id="remmina__icon_8c_html_a2847311861df3a2f1c8bbcd35cf3fd6f"><div class="ttname"><a href="remmina__icon_8c.html#a2847311861df3a2f1c8bbcd35cf3fd6f">remmina_icon_populate_extra_menu_item</a></div><div class="ttdeci">static void remmina_icon_populate_extra_menu_item(GtkWidget *menu)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00220">remmina_icon.c:220</a></div></div>
-<div class="ttc" id="remmina__exec_8c_html_a206abe0e916081b29c5faa52330e2271"><div class="ttname"><a href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a></div><div class="ttdeci">void remmina_exec_exitremmina()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00089">remmina_exec.c:89</a></div></div>
<div class="ttc" id="remmina__applet__menu_8c_html_a8029065504aef0e850d79f3823d18f66"><div class="ttname"><a href="remmina__applet__menu_8c.html#a8029065504aef0e850d79f3823d18f66">remmina_applet_menu_populate</a></div><div class="ttdeci">void remmina_applet_menu_populate(RemminaAppletMenu *menu)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__applet__menu_8c_source.html#l00242">remmina_applet_menu.c:242</a></div></div>
<div class="ttc" id="remmina__avahi_8c_html_a2710b09d09507f1c91ba8a2bd01b0436"><div class="ttname"><a href="remmina__avahi_8c.html#a2710b09d09507f1c91ba8a2bd01b0436">remmina_avahi_free</a></div><div class="ttdeci">void remmina_avahi_free(RemminaAvahi *ga)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__avahi_8c_source.html#l00263">remmina_avahi.c:263</a></div></div>
<div class="ttc" id="struct___remmina_avahi_html_ab73788ec8ee72842428712efb932d58e"><div class="ttname"><a href="struct___remmina_avahi.html#ab73788ec8ee72842428712efb932d58e">_RemminaAvahi::started</a></div><div class="ttdeci">gboolean started</div><div class="ttdef"><b>Definition:</b> <a href="remmina__avahi_8h_source.html#l00046">remmina_avahi.h:46</a></div></div>
diff --git a/public/remmina__main_8c_source.html b/public/remmina__main_8c_source.html
index 1816182c1..5ab7e8119 100644
--- a/public/remmina__main_8c_source.html
+++ b/public/remmina__main_8c_source.html
@@ -281,7 +281,7 @@ $(document).ready(function(){initNavTree('remmina__main_8c_source.html','');});
<div class="ttc" id="struct___remmina_file_plugin_html_a8bf634ff09caba624ecf93c42e12af78"><div class="ttname"><a href="struct___remmina_file_plugin.html#a8bf634ff09caba624ecf93c42e12af78">_RemminaFilePlugin::export_func</a></div><div class="ttdeci">gboolean(* export_func)(struct _RemminaFilePlugin *instance, RemminaFile *file, const gchar *to_file)</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00110">plugin.h:110</a></div></div>
<div class="ttc" id="remmina_8c_html_ab4a9a67c5372ff07b71d0558679ab7ae"><div class="ttname"><a href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a></div><div class="ttdeci">gboolean kioskmode</div><div class="ttdef"><b>Definition:</b> <a href="remmina_8c_source.html#l00087">remmina.c:87</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a82aa6f22340fc4f3df185aba7b01afc2"><div class="ttname"><a href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">_RemminaMain::window</a></div><div class="ttdeci">GtkWindow * window</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00050">remmina_main.h:50</a></div></div>
-<div class="ttc" id="remmina__exec_8c_html_aaa67e07e2426828d7e7b9b30d2038d31"><div class="ttname"><a href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a></div><div class="ttdeci">void remmina_application_condexit(RemminaCondExitType why)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00123">remmina_exec.c:123</a></div></div>
+<div class="ttc" id="remmina__exec_8c_html_aaa67e07e2426828d7e7b9b30d2038d31"><div class="ttname"><a href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a></div><div class="ttdeci">void remmina_application_condexit(RemminaCondExitType why)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00137">remmina_exec.c:137</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a85ca1ca2d0bf9ef29e490c6f4527a954"><div class="ttname"><a href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a></div><div class="ttdeci">void remmina_file_set_string(RemminaFile *remminafile, const gchar *setting, const gchar *value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00469">remmina_file.c:469</a></div></div>
<div class="ttc" id="remmina__main_8c_html_aace9ecdd0b74d392ad6ed541bd605c1c"><div class="ttname"><a href="remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c">quick_connect_plugin_list</a></div><div class="ttdeci">static char * quick_connect_plugin_list[]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00131">remmina_main.c:131</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a8c893a5deec9bc446bd89cc9973416c7"><div class="ttname"><a href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a></div><div class="ttdeci">void remmina_file_save(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00730">remmina_file.c:730</a></div></div>
diff --git a/public/search/all_12.js b/public/search/all_12.js
index acbac037b..225248ab7 100644
--- a/public/search/all_12.js
+++ b/public/search/all_12.js
@@ -293,6 +293,7 @@ var searchData=
['remmina_5fexec_5fcommand',['remmina_exec_command',['../remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7',1,'remmina_exec_command(RemminaCommandType command, const gchar *data):&#160;remmina_exec.c'],['../remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7',1,'remmina_exec_command(RemminaCommandType command, const gchar *data):&#160;remmina_exec.c']]],
['remmina_5fexec_5fconnect',['remmina_exec_connect',['../remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58',1,'remmina_exec.c']]],
['remmina_5fexec_5fexitremmina',['remmina_exec_exitremmina',['../remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271',1,'remmina_exec_exitremmina():&#160;remmina_exec.c'],['../remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f',1,'remmina_exec_exitremmina(void):&#160;remmina_exec.c']]],
+ ['remmina_5fexec_5fexitremmina_5fone_5fconfirm',['remmina_exec_exitremmina_one_confirm',['../remmina__exec_8c.html#adfa9ba9dcefd2b5f6ca8050f00731c73',1,'remmina_exec_exitremmina_one_confirm():&#160;remmina_exec.c'],['../remmina__exec_8h.html#a99081d2e250691f503eef8b3ae4d7ae6',1,'remmina_exec_exitremmina_one_confirm(void):&#160;remmina_exec.c']]],
['remmina_5fexec_5fget_5fbuild_5fconfig',['remmina_exec_get_build_config',['../remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3',1,'remmina_exec.c']]],
['remmina_5fexec_5fset_5fsetting',['remmina_exec_set_setting',['../remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9',1,'remmina_exec_set_setting(gchar *profilefilename, gchar **settings):&#160;remmina_exec.c'],['../remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9',1,'remmina_exec_set_setting(gchar *profilefilename, gchar **settings):&#160;remmina_exec.c']]],
['remmina_5fext_5fexec_2ec',['remmina_ext_exec.c',['../remmina__ext__exec_8c.html',1,'']]],
@@ -1430,8 +1431,8 @@ var searchData=
['remmina_5fssh_5ftunnel_5fcancel_5faccept',['remmina_ssh_tunnel_cancel_accept',['../remmina__ssh_8h.html#ae9f52b1a3a545acae8c93007e20ec909',1,'remmina_ssh.h']]],
['remmina_5fssh_5ftunnel_5ffree',['remmina_ssh_tunnel_free',['../remmina__ssh_8h.html#a223f8dd7a678bcec2ece40a2d8f7ea06',1,'remmina_ssh.h']]],
['remmina_5fssh_5ftunnel_5fnew_5ffrom_5ffile',['remmina_ssh_tunnel_new_from_file',['../remmina__ssh_8h.html#abf04fd329ab77bbd4f6aa1cb1eaa349d',1,'remmina_ssh.h']]],
- ['remmina_5fssh_5ftunnel_5fopen',['remmina_ssh_tunnel_open',['../remmina__ssh_8h.html#a52b3f47eac79f2781ba81d61505f4f53',1,'remmina_ssh_tunnel_open(RemminaSSHTunnel *tunnel, const gchar *host, gint port, gint local_port):&#160;remmina_ssh.h'],['../remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798a78cac65c66c1f72592488c7c5728ea14',1,'REMMINA_SSH_TUNNEL_OPEN():&#160;remmina_ssh.h']]],
- ['remmina_5fssh_5ftunnel_5freverse',['remmina_ssh_tunnel_reverse',['../remmina__ssh_8h.html#ae47c8270267b02b9c0ff5b36074101c2',1,'remmina_ssh_tunnel_reverse(RemminaSSHTunnel *tunnel, gint port, gint local_port):&#160;remmina_ssh.h'],['../remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798ae14c0d50235951946ca18866a1329459',1,'REMMINA_SSH_TUNNEL_REVERSE():&#160;remmina_ssh.h']]],
+ ['remmina_5fssh_5ftunnel_5fopen',['REMMINA_SSH_TUNNEL_OPEN',['../remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798a78cac65c66c1f72592488c7c5728ea14',1,'REMMINA_SSH_TUNNEL_OPEN():&#160;remmina_ssh.h'],['../remmina__ssh_8h.html#a52b3f47eac79f2781ba81d61505f4f53',1,'remmina_ssh_tunnel_open(RemminaSSHTunnel *tunnel, const gchar *host, gint port, gint local_port):&#160;remmina_ssh.h']]],
+ ['remmina_5fssh_5ftunnel_5freverse',['REMMINA_SSH_TUNNEL_REVERSE',['../remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798ae14c0d50235951946ca18866a1329459',1,'REMMINA_SSH_TUNNEL_REVERSE():&#160;remmina_ssh.h'],['../remmina__ssh_8h.html#ae47c8270267b02b9c0ff5b36074101c2',1,'remmina_ssh_tunnel_reverse(RemminaSSHTunnel *tunnel, gint port, gint local_port):&#160;remmina_ssh.h']]],
['remmina_5fssh_5ftunnel_5fterminated',['remmina_ssh_tunnel_terminated',['../remmina__ssh_8h.html#aeb20d31243a4d30e469a34fe01684e38',1,'remmina_ssh.h']]],
['remmina_5fssh_5ftunnel_5fxport',['REMMINA_SSH_TUNNEL_XPORT',['../remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798afbca41cd7b252c2594e1d53cd081b326',1,'REMMINA_SSH_TUNNEL_XPORT():&#160;remmina_ssh.h'],['../remmina__ssh_8h.html#aba49db2ced40e21e8adfad69dcfda2c4',1,'remmina_ssh_tunnel_xport(RemminaSSHTunnel *tunnel, gboolean bindlocalhost):&#160;remmina_ssh.h']]],
['remmina_5fssh_5funconvert',['remmina_ssh_unconvert',['../remmina__ssh_8h.html#aeccf94afb57bcad37b4241d45fcb3fea',1,'remmina_ssh.h']]],
diff --git a/public/search/functions_11.js b/public/search/functions_11.js
index 36a2ade57..5d1dd69ac 100644
--- a/public/search/functions_11.js
+++ b/public/search/functions_11.js
@@ -181,6 +181,7 @@ var searchData=
['remmina_5fexec_5fcommand',['remmina_exec_command',['../remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7',1,'remmina_exec_command(RemminaCommandType command, const gchar *data):&#160;remmina_exec.c'],['../remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7',1,'remmina_exec_command(RemminaCommandType command, const gchar *data):&#160;remmina_exec.c']]],
['remmina_5fexec_5fconnect',['remmina_exec_connect',['../remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58',1,'remmina_exec.c']]],
['remmina_5fexec_5fexitremmina',['remmina_exec_exitremmina',['../remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271',1,'remmina_exec_exitremmina():&#160;remmina_exec.c'],['../remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f',1,'remmina_exec_exitremmina(void):&#160;remmina_exec.c']]],
+ ['remmina_5fexec_5fexitremmina_5fone_5fconfirm',['remmina_exec_exitremmina_one_confirm',['../remmina__exec_8c.html#adfa9ba9dcefd2b5f6ca8050f00731c73',1,'remmina_exec_exitremmina_one_confirm():&#160;remmina_exec.c'],['../remmina__exec_8h.html#a99081d2e250691f503eef8b3ae4d7ae6',1,'remmina_exec_exitremmina_one_confirm(void):&#160;remmina_exec.c']]],
['remmina_5fexec_5fget_5fbuild_5fconfig',['remmina_exec_get_build_config',['../remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3',1,'remmina_exec.c']]],
['remmina_5fexec_5fset_5fsetting',['remmina_exec_set_setting',['../remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9',1,'remmina_exec_set_setting(gchar *profilefilename, gchar **settings):&#160;remmina_exec.c'],['../remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9',1,'remmina_exec_set_setting(gchar *profilefilename, gchar **settings):&#160;remmina_exec.c']]],
['remmina_5fext_5fexec_5fnew',['remmina_ext_exec_new',['../remmina__ext__exec_8c.html#a7c81795162a70d06294fdf935ea210d7',1,'remmina_ext_exec_new(RemminaFile *remminafile, const char *remmina_ext_exec_type):&#160;remmina_ext_exec.c'],['../remmina__ext__exec_8h.html#a7c81795162a70d06294fdf935ea210d7',1,'remmina_ext_exec_new(RemminaFile *remminafile, const char *remmina_ext_exec_type):&#160;remmina_ext_exec.c']]],