diff options
author | Antenore Gatta <antenore@simbiosi.org> | 2023-09-13 18:29:14 +0300 |
---|---|---|
committer | Antenore Gatta <antenore@simbiosi.org> | 2023-09-13 18:29:14 +0300 |
commit | e95280031114722a17c8e0ace8388d1f3ba095a5 (patch) | |
tree | 0d8acb04ffedc5b07a4b613097b866e6de3ab574 | |
parent | 425b0af92fd847186f7ab506007b88a8779f1238 (diff) |
Automatic doc build by remmina-ci
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> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Remmina - The GTK Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <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> <span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <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> <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> <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> <span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <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> <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> <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> <span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <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> <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> <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> *</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <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> <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> <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> <span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * including the two.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <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> <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> <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> <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> <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> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> */</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <gdk/gdk.h></span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#define G_LOG_USE_STRUCTURED</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#ifndef G_LOG_DOMAIN</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#define G_LOG_DOMAIN ((gchar*)"remmina")</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <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> <span class="preprocessor">#ifdef GDK_WINDOWING_X11</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <gdk/gdkx.h></span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#elif defined(GDK_WINDOWING_WAYLAND)</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <gdk/gdkwayland.h></span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <gio/gio.h></span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <glib/gi18n.h></span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <stdlib.h></span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "config.h"</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "<a class="code" href="remmina__sodium_8h.html">remmina_sodium.h</a>"</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include "<a class="code" href="remmina_8h.html">remmina.h</a>"</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>"</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include "<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>"</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include "<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>"</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "<a class="code" href="remmina__main_8h.html">remmina_main.h</a>"</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "<a class="code" href="remmina__masterthread__exec_8h.html">remmina_masterthread_exec.h</a>"</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include "<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>"</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include "<a class="code" href="remmina__plugin__native_8h.html">remmina_plugin_native.h</a>"</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#ifdef WITH_PYTHONLIBS</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include "remmina_plugin_python.h"</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include "<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>"</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include "<a class="code" href="remmina__public_8h.html">remmina_public.h</a>"</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include "<a class="code" href="remmina__sftp__plugin_8h.html">remmina_sftp_plugin.h</a>"</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include "<a class="code" href="remmina__ssh__plugin_8h.html">remmina_ssh_plugin.h</a>"</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include "<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>"</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include "<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>"</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#ifdef HAVE_ERRNO_H</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#include <errno.h></span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#include <pthread.h></span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#ifdef HAVE_LIBGCRYPT</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#include <gcrypt.h></span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"># if GCRYPT_VERSION_NUMBER < 0x010600</span></div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="remmina_8c.html#a3d760300165528383af409d2964d79d2"> 77</a></span> <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> <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> <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> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor">#ifdef HAVE_LIBGCRYPT</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"># if GCRYPT_VERSION_NUMBER < 0x010600</span></div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="remmina_8c.html#a87cf5ad579b1e914ce7ea788cead4104"> 83</a></span> <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> <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> <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> </div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="remmina_8h.html#a806213b48f3332bbb4bb771ddde38ab1"> 87</a></span> 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> 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> 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> 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> gboolean <a class="code" href="remmina_8c.html#af2649a017ee95bd78adf58fda09c3e58">disabletrayicon</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="remmina_8c.html#a3837fb7dd2ca88b6f7acaecc0d062ac5"> 93</a></span> <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> {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <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>  { <span class="stringliteral">"about"</span>, <span class="charliteral">'a'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Show \'About\'"</span>), NULL },</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <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>  { <span class="stringliteral">"connect"</span>, <span class="charliteral">'c'</span>, 0, G_OPTION_ARG_FILENAME_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"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)"</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"FILE"</span>) },</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <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>  { G_OPTION_REMAINING, <span class="charliteral">'\0'</span>, 0, G_OPTION_ARG_FILENAME_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Connect to a desktop described in a file (.remmina or a filetype supported by a plugin)"</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"FILE"</span>) },</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <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>  { <span class="stringliteral">"edit"</span>, <span class="charliteral">'e'</span>, 0, G_OPTION_ARG_FILENAME_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Edit desktop connection described in file (.remmina or a filetype supported by plugin)"</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"FILE"</span>) },</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  { <span class="stringliteral">"help"</span>, <span class="charliteral">'?'</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>  <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>  { <span class="stringliteral">"kiosk"</span>, <span class="charliteral">'k'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Start in kiosk mode"</span>), NULL },</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <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>  { <span class="stringliteral">"new"</span>, <span class="charliteral">'n'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Create new connection profile"</span>), NULL },</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <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>  { <span class="stringliteral">"pref"</span>, <span class="charliteral">'p'</span>, 0, G_OPTION_ARG_STRING, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Show preferences"</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"TABINDEX"</span>) },</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor">#if 0</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="comment">/* This option was used mainly for telepathy, let'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>  <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>  <span class="comment">//{ "plugin", 'x', 0, G_OPTION_ARG_STRING, NULL, N_("Run a plugin"), N_("PLUGIN") },</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <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>  { <span class="stringliteral">"quit"</span>, <span class="charliteral">'q'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Quit"</span>), NULL },</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <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>  { <span class="stringliteral">"server"</span>, <span class="charliteral">'s'</span>, 0, G_OPTION_ARG_STRING, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Use default server name (for --new)"</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"SERVER"</span>) },</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <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>  { <span class="stringliteral">"protocol"</span>, <span class="charliteral">'t'</span>, 0, G_OPTION_ARG_STRING, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Use default protocol (for --new)"</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"PROTOCOL"</span>) },</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <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>  { <span class="stringliteral">"icon"</span>, <span class="charliteral">'i'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Start in tray"</span>), NULL },</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <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>  { <span class="stringliteral">"version"</span>, <span class="charliteral">'v'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Show the application version"</span>), NULL },</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <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>  { <span class="stringliteral">"full-version"</span>, <span class="charliteral">'V'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Show version of the application and its plugins"</span>), NULL },</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <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>  { <span class="stringliteral">"update-profile"</span>, 0, 0, G_OPTION_ARG_FILENAME, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Modify connection profile (requires --set-option)"</span>), NULL },</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <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>  { <span class="stringliteral">"set-option"</span>, 0, 0, G_OPTION_ARG_STRING_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Set one or more profile settings, to be used with --update-profile"</span>), NULL },</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  { <span class="stringliteral">"encrypt-password"</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Encrypt a password"</span>), NULL },</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  { <span class="stringliteral">"disable-toolbar"</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Disable toolbar"</span>), NULL },</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  { <span class="stringliteral">"enable-fullscreen"</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Enable fullscreen"</span>), NULL },</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  { <span class="stringliteral">"enable-extra-hardening"</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Enable extra hardening (disable closing confirmation, disable unsafe shortcut keys, hide tabs, hide search bar)"</span>), NULL },</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  { <span class="stringliteral">"no-tray-icon"</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Disable tray icon"</span>), NULL },</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  { NULL }</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> };</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="preprocessor">#ifdef WITH_LIBGCRYPT</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <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> <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> {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="comment">/* be lazy right now */</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">if</span> (e == GPG_ERR_NO_ERROR)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">return</span> EINVAL;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> }</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <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> </div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="remmina_8c.html#aeb286fc5bd52ab5382ab8cb495dc2914"> 151</a></span> <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> {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  gint status = 0;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  gboolean executed = FALSE;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  GVariantDict *opts;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  gchar *str;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keyword">const</span> gchar **files;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keyword">const</span> gchar **remaining_args;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  gchar *protocol;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  gchar *server;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor">#if SODIUM_VERSION_INT >= 90200</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <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> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  opts = g_application_command_line_get_options_dict(cmdline);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"disable-toolbar"</span>, NULL)) {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="remmina_8c.html#a86d25bcf3c47f758f813a175a18b6ff1">disabletoolbar</a> = TRUE;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"enable-fullscreen"</span>, NULL)) {</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <a class="code" href="remmina_8c.html#ae0e3cdfa06abe7e29f987421869713e1">fullscreen</a> = TRUE;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"enable-extra-hardening"</span>, NULL)) {</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="remmina_8c.html#ae729d4262682c8674b8dd0135014810a">extrahardening</a> = TRUE;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"no-tray-icon"</span>, NULL)) {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="remmina_8c.html#af2649a017ee95bd78adf58fda09c3e58">disabletrayicon</a> = TRUE;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <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> </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"quit"</span>, NULL)) {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  status = 1;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  }</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"about"</span>, NULL)) {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  }</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"connect"</span>, <span class="stringliteral">"^aay"</span>, &files)) {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">if</span> (files)</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">for</span> (gint i = 0; files[i]; i++) {</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  g_debug (<span class="stringliteral">"Connecting to: %s"</span>, files[i]);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <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>  }</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  executed = TRUE;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, G_OPTION_REMAINING, <span class="stringliteral">"^a&ay"</span>, &remaining_args)) {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <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>  g_free(remaining_args);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  executed = TRUE;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  }</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"edit"</span>, <span class="stringliteral">"^aay"</span>, &files)) {</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">if</span> (files)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">for</span> (gint i = 0; files[i]; i++) {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  g_debug (<span class="stringliteral">"Editing file: %s"</span>, files[i]);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <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>  }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="comment">//remmina_exec_command(REMMINA_COMMAND_EDIT, str);</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="comment">//g_free(str);</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  executed = TRUE;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"kiosk"</span>, NULL)) {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> = TRUE;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  }</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"new"</span>, NULL)) {</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">if</span> (!g_variant_dict_lookup(opts, <span class="stringliteral">"protocol"</span>, <span class="stringliteral">"&s"</span>, &protocol))</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  protocol = NULL;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"server"</span>, <span class="stringliteral">"&s"</span>, &server))</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  str = g_strdup_printf(<span class="stringliteral">"%s,%s"</span>, protocol, server);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  str = g_strdup(protocol);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <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>  g_free(str);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  executed = TRUE;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  }</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"pref"</span>, <span class="stringliteral">"&s"</span>, &str)) {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"plugin"</span>, <span class="stringliteral">"&s"</span>, &str)) {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"icon"</span>, NULL)) {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"encrypt-password"</span>, NULL)) {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  status = 1;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  }</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">if</span> (!executed)</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <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> </div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="remmina_8c.html#a26d2c20be18ff44f239b756f1d5be01a"> 274</a></span> <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> {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <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> </div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <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>  <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>  <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>  <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> </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  g_set_application_name(<span class="stringliteral">"Remmina"</span>);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  gtk_window_set_default_icon_name(REMMINA_APP_ID);</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <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> <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>  gdk_set_program_class(REMMINA_APP_ID);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(),</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  REMMINA_RUNTIME_DATADIR G_DIR_SEPARATOR_S <span class="stringliteral">"icons"</span>);</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  g_application_hold(app);</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <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> <span class="comment"> * something is missing */</span></div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  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>  <span class="keywordflow">if</span> (!secret_plugin)</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  g_print(<span class="stringliteral">"Warning: Remmina is running without a secret plugin. Passwords will be saved in a less secure way.\n"</span>);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">if</span> (!secret_plugin-><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>  g_print(<span class="stringliteral">"Warning: Remmina is running with a secrecy plugin, but it cannot connect to a secrecy service.\n"</span>);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <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> }</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div><div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="remmina_8c.html#a9e8319f901232eb5fada98335217979c"> 308</a></span> <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> {</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordtype">int</span> status = -1;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  gchar *str;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  gchar **settings;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <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> <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> </div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"version"</span>, NULL)) {</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <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>  status = 0;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  }</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"full-version"</span>, NULL)) {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <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>  status = 0;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"update-profile"</span>, <span class="stringliteral">"^&ay"</span>, &str)) { <span class="comment">/* ^&ay no need to free */</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"set-option"</span>, <span class="stringliteral">"^a&s"</span>, &settings)) {</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">if</span> (settings != NULL) {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  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>  g_free(settings);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  status = 1;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  }</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  status = 1;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  g_print(<span class="stringliteral">"Error: --update-profile requires --set-option\n"</span>);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  }</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  }</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <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>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> }</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div><div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="remmina_8c.html#a0ddf1224851353fc92bfbff6f499fa97"> 347</a></span> <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> {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  GtkApplication *app;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keyword">const</span> gchar *app_id;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordtype">int</span> status;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  g_unsetenv(<span class="stringliteral">"GDK_CORE_DEVICE_EVENTS"</span>);</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="comment">// Checking for environment variable "G_MESSAGES_DEBUG"</span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <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>  <span class="comment">// more debugging info.</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">if</span>(!getenv(<span class="stringliteral">"G_MESSAGES_DEBUG"</span>)) {</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="comment">/* TRANSLATORS:</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <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> <span class="comment"> * to log more verbose statements.</span></div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment"> */</span></div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  g_message(_(<span class="stringliteral">"Remmina does not log all output statements. "</span></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="stringliteral">"Turn on more verbose output by using "</span></div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="stringliteral">"\"G_MESSAGES_DEBUG=all\" as an environment variable.\n"</span></div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="stringliteral">"More info available on the Remmina wiki at:\n"</span></div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="stringliteral">"https://gitlab.com/Remmina/Remmina/-/wikis/Usage/Remmina-debugging"</span></div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  ));</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <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> <span class="comment"> * will not work. See GTK bug 790031 */</span></div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <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>  gdk_set_allowed_backends(<span class="stringliteral">"wayland,x11,broadway,quartz,mir"</span>);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  gdk_set_allowed_backends(<span class="stringliteral">"x11,broadway,quartz,mir"</span>);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <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> </div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  bindtextdomain(GETTEXT_PACKAGE, REMMINA_RUNTIME_LOCALEDIR);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  bind_textdomain_codeset(GETTEXT_PACKAGE, <span class="stringliteral">"UTF-8"</span>);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  textdomain(GETTEXT_PACKAGE);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="preprocessor">#ifdef HAVE_LIBGCRYPT</span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="preprocessor"># if GCRYPT_VERSION_NUMBER < 0x010600</span></div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  gcry_error_t e;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <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>  <span class="keywordflow">if</span> ((e = gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread)) != GPG_ERR_NO_ERROR)</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <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>  }</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <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>  gcry_check_version(NULL);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  gcry_control(GCRYCTL_DISABLE_SECMEM, 0);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <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> </div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <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>  <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>  <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> </div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <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> </div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  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>  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> <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>  g_set_prgname(app_id);</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  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> <span class="preprocessor">#if GLIB_CHECK_VERSION(2,56,0)</span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  gchar *summary = g_strdup_printf (<span class="stringliteral">"%s %s"</span>, app_id, VERSION);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  g_application_set_option_context_summary (G_APPLICATION(app), summary);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  g_free(summary);</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <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>  g_application_set_option_context_parameter_string (G_APPLICATION(app), _(<span class="stringliteral">"- or protocol://username:encryptedpassword@host:port"</span>));</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <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>  g_application_set_option_context_description (G_APPLICATION(app),</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  _(<span class="stringliteral">"Examples:\n"</span></div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="stringliteral">"To connect using an existing connection profile, use:\n"</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <span class="stringliteral">"\tremmina -c FILE.remmina\n"</span></div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="stringliteral">"To quick connect using a URI:\n"</span></div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="stringliteral">"\tremmina -c rdp://username@server\n"</span></div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <span class="stringliteral">"\tremmina -c rdp://domain\\\\username@server\n"</span></div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="stringliteral">"\tremmina -c vnc://username@server\n"</span></div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <span class="stringliteral">"\tremmina -c vnc://server?VncUsername=username\n"</span></div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="stringliteral">"\tremmina -c ssh://user@server\n"</span></div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="stringliteral">"\tremmina -c spice://server\n"</span></div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="stringliteral">"To quick connect using a URI along with an encrypted password:\n"</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="stringliteral">"\tremmina -c rdp://username:encrypted-password@server\n"</span></div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="stringliteral">"\tremmina -c vnc://username:encrypted-password@server\n"</span></div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <span class="stringliteral">"\tremmina -c vnc://server?VncUsername=username\\&VncPassword=encrypted-password\n"</span></div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="stringliteral">"To encrypt a password for use with a URI:\n"</span></div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="stringliteral">"\tremmina --encrypt-password\n"</span></div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="stringliteral">"To update username and password and set a different resolution mode of a Remmina connection profile, use:\n"</span></div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="stringliteral">"\techo \"username\\napassword\" | remmina --update-profile /PATH/TO/FOO.remmina --set-option username --set-option resolution_mode=2 --set-option password\n"</span>));</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  g_signal_connect(app, <span class="stringliteral">"startup"</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>  g_signal_connect(app, <span class="stringliteral">"command-line"</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>  g_signal_connect(app, <span class="stringliteral">"handle-local-options"</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> </div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  g_application_set_inactivity_timeout(G_APPLICATION(app), 10000);</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  status = g_application_run(G_APPLICATION(app), argc, argv);</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  g_object_unref(app);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span> </div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> }</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> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Remmina - The GTK Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <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> <span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <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> <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> <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> <span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <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> <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> <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> <span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <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> <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> <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> *</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <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> <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> <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> <span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * including the two.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <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> <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> <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> <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> <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> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> */</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <gdk/gdk.h></span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#define G_LOG_USE_STRUCTURED</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#ifndef G_LOG_DOMAIN</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#define G_LOG_DOMAIN ((gchar*)"remmina")</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <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> <span class="preprocessor">#ifdef GDK_WINDOWING_X11</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <gdk/gdkx.h></span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#elif defined(GDK_WINDOWING_WAYLAND)</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <gdk/gdkwayland.h></span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <gio/gio.h></span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <glib/gi18n.h></span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <stdlib.h></span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "config.h"</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "<a class="code" href="remmina__sodium_8h.html">remmina_sodium.h</a>"</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include "<a class="code" href="remmina_8h.html">remmina.h</a>"</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>"</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include "<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>"</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include "<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>"</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "<a class="code" href="remmina__main_8h.html">remmina_main.h</a>"</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "<a class="code" href="remmina__masterthread__exec_8h.html">remmina_masterthread_exec.h</a>"</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include "<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>"</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include "<a class="code" href="remmina__plugin__native_8h.html">remmina_plugin_native.h</a>"</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#ifdef WITH_PYTHONLIBS</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include "remmina_plugin_python.h"</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include "<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>"</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include "<a class="code" href="remmina__public_8h.html">remmina_public.h</a>"</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include "<a class="code" href="remmina__sftp__plugin_8h.html">remmina_sftp_plugin.h</a>"</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include "<a class="code" href="remmina__ssh__plugin_8h.html">remmina_ssh_plugin.h</a>"</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include "<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>"</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include "<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>"</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#ifdef HAVE_ERRNO_H</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#include <errno.h></span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#include <pthread.h></span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#ifdef HAVE_LIBGCRYPT</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#include <gcrypt.h></span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"># if GCRYPT_VERSION_NUMBER < 0x010600</span></div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="remmina_8c.html#a3d760300165528383af409d2964d79d2"> 77</a></span> <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> <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> <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> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor">#ifdef HAVE_LIBGCRYPT</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"># if GCRYPT_VERSION_NUMBER < 0x010600</span></div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="remmina_8c.html#a87cf5ad579b1e914ce7ea788cead4104"> 83</a></span> <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> <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> <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> </div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="remmina_8h.html#a806213b48f3332bbb4bb771ddde38ab1"> 87</a></span> 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> 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> 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> 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> gboolean <a class="code" href="remmina_8c.html#af2649a017ee95bd78adf58fda09c3e58">disabletrayicon</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="remmina_8c.html#a3837fb7dd2ca88b6f7acaecc0d062ac5"> 93</a></span> <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> {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <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>  { <span class="stringliteral">"about"</span>, <span class="charliteral">'a'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Show \'About\'"</span>), NULL },</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <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>  { <span class="stringliteral">"connect"</span>, <span class="charliteral">'c'</span>, 0, G_OPTION_ARG_FILENAME_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"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)"</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"FILE"</span>) },</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <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>  { G_OPTION_REMAINING, <span class="charliteral">'\0'</span>, 0, G_OPTION_ARG_FILENAME_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Connect to a desktop described in a file (.remmina or a filetype supported by a plugin)"</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"FILE"</span>) },</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <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>  { <span class="stringliteral">"edit"</span>, <span class="charliteral">'e'</span>, 0, G_OPTION_ARG_FILENAME_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Edit desktop connection described in file (.remmina or a filetype supported by plugin)"</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"FILE"</span>) },</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  { <span class="stringliteral">"help"</span>, <span class="charliteral">'?'</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>  <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>  { <span class="stringliteral">"kiosk"</span>, <span class="charliteral">'k'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Start in kiosk mode"</span>), NULL },</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <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>  { <span class="stringliteral">"new"</span>, <span class="charliteral">'n'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Create new connection profile"</span>), NULL },</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <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>  { <span class="stringliteral">"pref"</span>, <span class="charliteral">'p'</span>, 0, G_OPTION_ARG_STRING, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Show preferences"</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"TABINDEX"</span>) },</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor">#if 0</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="comment">/* This option was used mainly for telepathy, let'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>  <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>  <span class="comment">//{ "plugin", 'x', 0, G_OPTION_ARG_STRING, NULL, N_("Run a plugin"), N_("PLUGIN") },</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <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>  { <span class="stringliteral">"quit"</span>, <span class="charliteral">'q'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Quit"</span>), NULL },</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <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>  { <span class="stringliteral">"server"</span>, <span class="charliteral">'s'</span>, 0, G_OPTION_ARG_STRING, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Use default server name (for --new)"</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"SERVER"</span>) },</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <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>  { <span class="stringliteral">"protocol"</span>, <span class="charliteral">'t'</span>, 0, G_OPTION_ARG_STRING, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Use default protocol (for --new)"</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"PROTOCOL"</span>) },</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <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>  { <span class="stringliteral">"icon"</span>, <span class="charliteral">'i'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Start in tray"</span>), NULL },</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <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>  { <span class="stringliteral">"version"</span>, <span class="charliteral">'v'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Show the application version"</span>), NULL },</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <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>  { <span class="stringliteral">"full-version"</span>, <span class="charliteral">'V'</span>, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Show version of the application and its plugins"</span>), NULL },</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <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>  { <span class="stringliteral">"update-profile"</span>, 0, 0, G_OPTION_ARG_FILENAME, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Modify connection profile (requires --set-option)"</span>), NULL },</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <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>  { <span class="stringliteral">"set-option"</span>, 0, 0, G_OPTION_ARG_STRING_ARRAY, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Set one or more profile settings, to be used with --update-profile"</span>), NULL },</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  { <span class="stringliteral">"encrypt-password"</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Encrypt a password"</span>), NULL },</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  { <span class="stringliteral">"disable-toolbar"</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Disable toolbar"</span>), NULL },</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  { <span class="stringliteral">"enable-fullscreen"</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Enable fullscreen"</span>), NULL },</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  { <span class="stringliteral">"enable-extra-hardening"</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Enable extra hardening (disable closing confirmation, disable unsafe shortcut keys, hide tabs, hide search bar)"</span>), NULL },</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  { <span class="stringliteral">"no-tray-icon"</span>, 0, 0, G_OPTION_ARG_NONE, NULL, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">"Disable tray icon"</span>), NULL },</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  { NULL }</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> };</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="preprocessor">#ifdef WITH_LIBGCRYPT</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <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> <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> {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="comment">/* be lazy right now */</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">if</span> (e == GPG_ERR_NO_ERROR)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">return</span> EINVAL;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> }</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <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> </div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="remmina_8c.html#aeb286fc5bd52ab5382ab8cb495dc2914"> 151</a></span> <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> {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  gint status = 0;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  gboolean executed = FALSE;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  GVariantDict *opts;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  gchar *str;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keyword">const</span> gchar **files;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keyword">const</span> gchar **remaining_args;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  gchar *protocol;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  gchar *server;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor">#if SODIUM_VERSION_INT >= 90200</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <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> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  opts = g_application_command_line_get_options_dict(cmdline);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"disable-toolbar"</span>, NULL)) {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="remmina_8c.html#a86d25bcf3c47f758f813a175a18b6ff1">disabletoolbar</a> = TRUE;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"enable-fullscreen"</span>, NULL)) {</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <a class="code" href="remmina_8c.html#ae0e3cdfa06abe7e29f987421869713e1">fullscreen</a> = TRUE;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"enable-extra-hardening"</span>, NULL)) {</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="remmina_8c.html#ae729d4262682c8674b8dd0135014810a">extrahardening</a> = TRUE;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"no-tray-icon"</span>, NULL)) {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="remmina_8c.html#af2649a017ee95bd78adf58fda09c3e58">disabletrayicon</a> = TRUE;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <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> </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"quit"</span>, NULL)) {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  status = 1;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  }</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"about"</span>, NULL)) {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  }</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"connect"</span>, <span class="stringliteral">"^aay"</span>, &files)) {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">if</span> (files)</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">for</span> (gint i = 0; files[i]; i++) {</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  g_debug (<span class="stringliteral">"Connecting to: %s"</span>, files[i]);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <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>  }</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  executed = TRUE;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, G_OPTION_REMAINING, <span class="stringliteral">"^a&ay"</span>, &remaining_args)) {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <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>  g_free(remaining_args);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  executed = TRUE;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  }</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"edit"</span>, <span class="stringliteral">"^aay"</span>, &files)) {</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">if</span> (files)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">for</span> (gint i = 0; files[i]; i++) {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  g_debug (<span class="stringliteral">"Editing file: %s"</span>, files[i]);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <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>  }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="comment">//remmina_exec_command(REMMINA_COMMAND_EDIT, str);</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="comment">//g_free(str);</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  executed = TRUE;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"kiosk"</span>, NULL)) {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> = TRUE;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  }</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"new"</span>, NULL)) {</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">if</span> (!g_variant_dict_lookup(opts, <span class="stringliteral">"protocol"</span>, <span class="stringliteral">"&s"</span>, &protocol))</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  protocol = NULL;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"server"</span>, <span class="stringliteral">"&s"</span>, &server))</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  str = g_strdup_printf(<span class="stringliteral">"%s,%s"</span>, protocol, server);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  str = g_strdup(protocol);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <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>  g_free(str);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  executed = TRUE;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  }</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"pref"</span>, <span class="stringliteral">"&s"</span>, &str)) {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"plugin"</span>, <span class="stringliteral">"&s"</span>, &str)) {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"icon"</span>, NULL)) {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"encrypt-password"</span>, NULL)) {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <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>  executed = TRUE;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  status = 1;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  }</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">if</span> (!executed)</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <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> </div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="remmina_8c.html#a26d2c20be18ff44f239b756f1d5be01a"> 274</a></span> <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> {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <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> </div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <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>  <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>  <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>  <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> </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  g_set_application_name(<span class="stringliteral">"Remmina"</span>);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  gtk_window_set_default_icon_name(REMMINA_APP_ID);</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <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> <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>  gdk_set_program_class(REMMINA_APP_ID);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(),</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  REMMINA_RUNTIME_DATADIR G_DIR_SEPARATOR_S <span class="stringliteral">"icons"</span>);</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  g_application_hold(app);</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <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> <span class="comment"> * something is missing */</span></div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  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>  <span class="keywordflow">if</span> (!secret_plugin)</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  g_print(<span class="stringliteral">"Warning: Remmina is running without a secret plugin. Passwords will be saved in a less secure way.\n"</span>);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">if</span> (!secret_plugin-><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>  g_print(<span class="stringliteral">"Warning: Remmina is running with a secrecy plugin, but it cannot connect to a secrecy service.\n"</span>);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <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> }</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div><div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="remmina_8c.html#a9e8319f901232eb5fada98335217979c"> 308</a></span> <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> {</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordtype">int</span> status = -1;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  gchar *str;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  gchar **settings;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <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> <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> </div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"version"</span>, NULL)) {</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <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>  status = 0;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  }</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup_value(opts, <span class="stringliteral">"full-version"</span>, NULL)) {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <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>  status = 0;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"update-profile"</span>, <span class="stringliteral">"^&ay"</span>, &str)) { <span class="comment">/* ^&ay no need to free */</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordflow">if</span> (g_variant_dict_lookup(opts, <span class="stringliteral">"set-option"</span>, <span class="stringliteral">"^a&s"</span>, &settings)) {</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">if</span> (settings != NULL) {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  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>  g_free(settings);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  status = 1;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  }</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  status = 1;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  g_print(<span class="stringliteral">"Error: --update-profile requires --set-option\n"</span>);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  }</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  }</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <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>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> }</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div><div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="remmina_8c.html#a0ddf1224851353fc92bfbff6f499fa97"> 347</a></span> <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> {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  GtkApplication *app;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keyword">const</span> gchar *app_id;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordtype">int</span> status;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  g_unsetenv(<span class="stringliteral">"GDK_CORE_DEVICE_EVENTS"</span>);</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="comment">// Checking for environment variable "G_MESSAGES_DEBUG"</span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <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>  <span class="comment">// more debugging info.</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">if</span>(!getenv(<span class="stringliteral">"G_MESSAGES_DEBUG"</span>)) {</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="comment">/* TRANSLATORS:</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <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> <span class="comment"> * to log more verbose statements.</span></div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment"> */</span></div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  g_message(_(<span class="stringliteral">"Remmina does not log all output statements. "</span></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="stringliteral">"Turn on more verbose output by using "</span></div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="stringliteral">"\"G_MESSAGES_DEBUG=all\" as an environment variable.\n"</span></div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="stringliteral">"More info available on the Remmina wiki at:\n"</span></div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="stringliteral">"https://gitlab.com/Remmina/Remmina/-/wikis/Usage/Remmina-debugging"</span></div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  ));</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <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> <span class="comment"> * will not work. See GTK bug 790031 */</span></div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <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>  gdk_set_allowed_backends(<span class="stringliteral">"wayland,x11,broadway,quartz,mir"</span>);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  gdk_set_allowed_backends(<span class="stringliteral">"x11,broadway,quartz,mir"</span>);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <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> </div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  bindtextdomain(GETTEXT_PACKAGE, REMMINA_RUNTIME_LOCALEDIR);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  bind_textdomain_codeset(GETTEXT_PACKAGE, <span class="stringliteral">"UTF-8"</span>);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  textdomain(GETTEXT_PACKAGE);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="preprocessor">#ifdef HAVE_LIBGCRYPT</span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="preprocessor"># if GCRYPT_VERSION_NUMBER < 0x010600</span></div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  gcry_error_t e;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <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>  <span class="keywordflow">if</span> ((e = gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread)) != GPG_ERR_NO_ERROR)</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <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>  }</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <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>  gcry_check_version(NULL);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  gcry_control(GCRYCTL_DISABLE_SECMEM, 0);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <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> </div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <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>  <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>  <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> </div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <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> </div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  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>  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> <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>  g_set_prgname(app_id);</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  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> <span class="preprocessor">#if GLIB_CHECK_VERSION(2,56,0)</span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  gchar *summary = g_strdup_printf (<span class="stringliteral">"%s %s"</span>, app_id, VERSION);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  g_application_set_option_context_summary (G_APPLICATION(app), summary);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  g_free(summary);</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <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>  g_application_set_option_context_parameter_string (G_APPLICATION(app), _(<span class="stringliteral">"- or protocol://username:encryptedpassword@host:port"</span>));</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <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>  g_application_set_option_context_description (G_APPLICATION(app),</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  _(<span class="stringliteral">"Examples:\n"</span></div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="stringliteral">"To connect using an existing connection profile, use:\n"</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <span class="stringliteral">"\tremmina -c FILE.remmina\n"</span></div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="stringliteral">"To quick connect using a URI:\n"</span></div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="stringliteral">"\tremmina -c rdp://username@server\n"</span></div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <span class="stringliteral">"\tremmina -c rdp://domain\\\\username@server\n"</span></div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="stringliteral">"\tremmina -c vnc://username@server\n"</span></div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <span class="stringliteral">"\tremmina -c vnc://server?VncUsername=username\n"</span></div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="stringliteral">"\tremmina -c ssh://user@server\n"</span></div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="stringliteral">"\tremmina -c spice://server\n"</span></div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="stringliteral">"To quick connect using a URI along with an encrypted password:\n"</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="stringliteral">"\tremmina -c rdp://username:encrypted-password@server\n"</span></div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="stringliteral">"\tremmina -c vnc://username:encrypted-password@server\n"</span></div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <span class="stringliteral">"\tremmina -c vnc://server?VncUsername=username\\&VncPassword=encrypted-password\n"</span></div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="stringliteral">"To encrypt a password for use with a URI:\n"</span></div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="stringliteral">"\tremmina --encrypt-password\n"</span></div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="stringliteral">"To update username and password and set a different resolution mode of a Remmina connection profile, use:\n"</span></div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="stringliteral">"\techo \"username\\napassword\" | remmina --update-profile /PATH/TO/FOO.remmina --set-option username --set-option resolution_mode=2 --set-option password\n"</span>));</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  g_signal_connect(app, <span class="stringliteral">"startup"</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>  g_signal_connect(app, <span class="stringliteral">"command-line"</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>  g_signal_connect(app, <span class="stringliteral">"handle-local-options"</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> </div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  g_application_set_inactivity_timeout(G_APPLICATION(app), 10000);</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  status = g_application_run(G_APPLICATION(app), argc, argv);</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  g_object_unref(app);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span> </div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keywordflow">return</span> status;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> }</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"> </td></tr> <tr class="memitem:aacc2a2ffd19e56fcb3e4b025d180ab8f"><td class="memItemLeft" align="right" valign="top">static gboolean </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"> </td></tr> +<tr class="memitem:adfa9ba9dcefd2b5f6ca8050f00731c73"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr> <tr class="memitem:aaa67e07e2426828d7e7b9b30d2038d31"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr> <tr class="memitem:aca2d356a03e1aac7b716b408183aa305"><td class="memItemLeft" align="right" valign="top">static void </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">◆ </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 </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">◆ </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> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2010 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <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> <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> <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> <span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <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> <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> <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> <span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <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> <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> <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <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> <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> <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> <span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <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> <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> <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> <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> <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> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "config.h"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "buildflags.h"</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <glib/gi18n.h></span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <stdlib.h></span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="remmina_8h.html">remmina.h</a>"</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "<a class="code" href="remmina__main_8h.html">remmina_main.h</a>"</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "<a class="code" href="remmina__log_8h.html">remmina_log.h</a>"</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>"</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>"</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "<a class="code" href="remmina__unlock_8h.html">remmina_unlock.h</a>"</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "<a class="code" href="remmina__pref__dialog_8h.html">remmina_pref_dialog.h</a>"</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "<a class="code" href="remmina__file_8h.html">remmina_file.h</a>"</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>"</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "<a class="code" href="remmina__file__editor_8h.html">remmina_file_editor.h</a>"</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "<a class="code" href="rcw_8h.html">rcw.h</a>"</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include "<a class="code" href="remmina__about_8h.html">remmina_about.h</a>"</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>"</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include "<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>"</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include "<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>"</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>"</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "<a class="code" href="remmina__crypt_8h.html">remmina_crypt.h</a>"</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include "<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>"</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#ifdef SNAP_BUILD</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"># define ISSNAP "- SNAP Build -"</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"># define ISSNAP "-"</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#a0ffd51ed283da4640c920e75e89e694a"> 67</a></span> <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> {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <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> <span class="comment"> * it a "delete-event" signal. Simply destroying it will not close</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> * all network connections */</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">if</span> (REMMINA_IS_CONNECTION_WINDOW(widget))</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <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>  <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3"> 78</a></span> <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> {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <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>  <span class="stringliteral">"Build configuration: "</span> BUILD_CONFIG <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="stringliteral">"Build type: "</span> BUILD_TYPE <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="stringliteral">"CFLAGS: "</span> CFLAGS <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="stringliteral">"Compiler: "</span> COMPILER_ID <span class="stringliteral">", "</span> COMPILER_VERSION <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="stringliteral">"Target architecture: "</span> TARGET_ARCH <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">return</span> build_config;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> }</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f"> 89</a></span> <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> {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="comment">/* Save main window state/position */</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <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> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="comment">/* Delete all widgets, main window not included */</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <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> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor">#ifdef HAVE_LIBAPPINDICATOR</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="comment">/* Remove systray menu */</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <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> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="comment">/* close/destroy main window struct and window */</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <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> </div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="comment">/* Exit from Remmina */</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  g_application_quit(g_application_get_default());</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f"> 111</a></span> <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> {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <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> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">if</span> (REMMINA_IS_CONNECTION_WINDOW(widget)) {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  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>  <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>  }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#aaa67e07e2426828d7e7b9b30d2038d31"> 123</a></span> <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> {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <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> <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> <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> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">switch</span> (why) {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <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>  <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>  <span class="keywordflow">if</span> (<a class="code" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool_count</a>() < 1 && !<a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>() && !<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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <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>  <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>  <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> && <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE)</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <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>  <span class="comment">// Main window has been deleted</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">if</span> (<a class="code" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool_count</a>() < 1 && !<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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <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>  <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>  <span class="comment">// quit means QUIT.</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305"> 155</a></span> <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> {</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordtype">char</span> c;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">while</span>((c = *s) != 0 && c != <span class="charliteral">'\r'</span> && c != <span class="charliteral">'\n'</span>)</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  s++;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  *s = 0;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <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> <span class="comment"> * return a status code for exit()</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <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> <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> {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  gchar **tk, *value = NULL;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordtype">char</span> *line = NULL;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordtype">size_t</span> len = 0;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  ssize_t read;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  gboolean abort = FALSE;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  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> </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">if</span> (!remminafile) {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  g_print(<span class="stringliteral">"Unable to open profile file %s\n"</span>, profilefilename);</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  }</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">for</span>(i = 0; settings[i] != NULL && !abort; i++) {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">if</span> (strlen(settings[i]) > 0) {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  tk = g_strsplit(settings[i], <span class="stringliteral">"="</span>, 2);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">if</span> (tk[1] == NULL) {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  read = getline(&line, &len, stdin);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">if</span> (read > 0) {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <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>  value = line;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  g_print(<span class="stringliteral">"Error: an extra line of standard input is needed\n"</span>);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  abort = TRUE;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  }</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  } <span class="keywordflow">else</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  value = tk[1];</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <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>  g_strfreev(tk);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  }</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  }</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">if</span> (line) free(line);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <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> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d"> 210</a></span> <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> {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(remminafile, <span class="stringliteral">"enable-autostart"</span>, FALSE)) {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  REMMINA_DEBUG (<span class="stringliteral">"Profile %s is set to autostart"</span>, remminafile->filename);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(remminafile->filename);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> }</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58"> 221</a></span> <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> {</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  gchar *protocol;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  gchar **protocolserver;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  gchar *server;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  gchar **userat;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  gchar **userpass;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  gchar *user;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  gchar *password;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  gchar **domainuser;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  gchar **serverquery;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  gchar **querystring;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  gchar **querystringpart;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  gchar **querystringpartkv;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  gchar *value;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  gchar *temp;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  GError *error = NULL;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  protocol = NULL;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">"rdp://"</span>, data, 6) == 0 || strncmp(<span class="stringliteral">"RDP://"</span>, data, 6) == 0)</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  protocol = <span class="stringliteral">"RDP"</span>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">"vnc://"</span>, data, 6) == 0 || strncmp(<span class="stringliteral">"VNC://"</span>, data, 6) == 0)</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  protocol = <span class="stringliteral">"VNC"</span>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">"ssh://"</span>, data, 6) == 0 || strncmp(<span class="stringliteral">"SSH://"</span>, data, 6) == 0)</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  protocol = <span class="stringliteral">"SSH"</span>;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">"spice://"</span>, data, 8) == 0 || strncmp(<span class="stringliteral">"SPICE://"</span>, data, 8) == 0)</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  protocol = <span class="stringliteral">"SPICE"</span>;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">"file://"</span>, data, 6) == 0) {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  gchar *filename = g_filename_from_uri (data, NULL, &error);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">if</span> (filename != NULL) {</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <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>  } <span class="keywordflow">else</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  REMMINA_DEBUG (<span class="stringliteral">"Opening URI %s failed with error %s"</span>, data, error->message);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  g_error_free(error);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">if</span> (protocol == NULL) {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <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>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  protocolserver = g_strsplit(data, <span class="stringliteral">"://"</span>, 2);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  server = g_strdup(protocolserver[1]);</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="comment">// Support loading .remmina files using handler</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">if</span> ((temp = strrchr(server, <span class="charliteral">'.'</span>)) != NULL && g_strcmp0(temp + 1, <span class="stringliteral">"remmina"</span>) == 0) {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  g_strfreev(protocolserver);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  temp = g_uri_unescape_string(server, NULL);</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  g_free(server);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  server = temp;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <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>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  }</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  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> </div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="comment">// Check for username@server</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">if</span> ((strcmp(protocol, <span class="stringliteral">"RDP"</span>) == 0 || strcmp(protocol, <span class="stringliteral">"VNC"</span>) == 0 || strcmp(protocol, <span class="stringliteral">"SSH"</span>) == 0) && strstr(server, <span class="stringliteral">"@"</span>) != NULL) {</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  userat = g_strsplit(server, <span class="stringliteral">"@"</span>, 2);</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="comment">// Check for username:password</span></div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">if</span> (strstr(userat[0], <span class="stringliteral">":"</span>) != NULL) {</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  userpass = g_strsplit(userat[0], <span class="stringliteral">":"</span>, 2);</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  user = g_uri_unescape_string(userpass[0], NULL);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  password = g_uri_unescape_string(userpass[1], NULL);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <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>  temp = password != NULL && strrchr(password, <span class="charliteral">'='</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>  <span class="keywordflow">if</span> (temp != NULL) {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  g_free(password);</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  password = temp;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  }</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"password"</span>, password);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  g_free(password);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  g_strfreev(userpass);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  user = g_uri_unescape_string(userat[0], NULL);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  }</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="comment">// Check for domain\user for RDP connections</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">if</span> (strcmp(protocol, <span class="stringliteral">"RDP"</span>) == 0 && strstr(user, <span class="stringliteral">"\\"</span>) != NULL) {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  domainuser = g_strsplit(user, <span class="stringliteral">"\\"</span>, 2);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"domain"</span>, domainuser[0]);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  g_free(user);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  user = g_strdup(domainuser[1]);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  }</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"username"</span>, user);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  g_free(user);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  g_free(server);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  server = g_strdup(userat[1]);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  g_strfreev(userat);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  }</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">if</span> (strcmp(protocol, <span class="stringliteral">"VNC"</span>) == 0 && strstr(server, <span class="stringliteral">"?"</span>) != NULL) {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="comment">// https://tools.ietf.org/html/rfc7869</span></div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <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> </div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="comment">// Check for query string parameters</span></div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  serverquery = g_strsplit(server, <span class="stringliteral">"?"</span>, 2);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  querystring = g_strsplit(serverquery[1], <span class="stringliteral">"&"</span>, -1);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">for</span> (querystringpart = querystring; *querystringpart; querystringpart++) {</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">if</span> (strstr(*querystringpart, <span class="stringliteral">"="</span>) == NULL)</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  querystringpartkv = g_strsplit(*querystringpart, <span class="stringliteral">"="</span>, 2);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  value = g_uri_unescape_string(querystringpartkv[1], NULL);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">"VncPassword"</span>) == 0) {</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <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>  temp = value != NULL && strrchr(value, <span class="charliteral">'='</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>  <span class="keywordflow">if</span> (temp != NULL) {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  g_free(value);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  value = temp;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  }</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"password"</span>, value);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">"VncUsername"</span>) == 0) {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"username"</span>, value);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">"ColorLevel"</span>) == 0) {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"colordepth"</span>, value);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  }</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  g_free(value);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  g_strfreev(querystringpartkv);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  }</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  g_strfreev(querystring);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  g_free(server);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  server = g_strdup(serverquery[0]);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  g_strfreev(serverquery);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="comment">// Unescape server</span></div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  temp = g_uri_unescape_string(server, NULL);</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  g_free(server);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  server = temp;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"server"</span>, server);</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"name"</span>, server);</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"sound"</span>, <span class="stringliteral">"off"</span>);</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"protocol"</span>, protocol);</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  g_free(server);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  g_strfreev(protocolserver);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <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> }</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div><div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7"> 368</a></span> <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> {</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  gchar *s1;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  gchar *s2;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  gchar *temp;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  GtkWidget *widget;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  GtkWindow *mainwindow;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  GtkWidget *prefdialog;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <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>  <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordtype">int</span> ch;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  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> </div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">switch</span> (command) {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <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>  <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  gtk_window_present(mainwindow);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  gtk_window_deiconify(GTK_WINDOW(mainwindow));</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  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>  gtk_widget_show(widget);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  }</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <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>  <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"use_primary_password"</span>)</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  && <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  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>  <span class="keywordflow">if</span> (prefdialog) {</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  gtk_window_present(GTK_WINDOW(prefdialog));</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  gtk_window_deiconify(GTK_WINDOW(prefdialog));</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="comment">/* Create a new preference dialog */</span></div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  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>  gtk_widget_show(widget);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  }</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <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>  <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"lock_edit"</span>)</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  && <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"use_primary_password"</span>))</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  s1 = (data ? strchr(data, <span class="charliteral">','</span>) : NULL);</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordflow">if</span> (s1) {</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  s1 = g_strdup(data);</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  s2 = strchr(s1, <span class="charliteral">','</span>);</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  *s2++ = <span class="charliteral">'\0'</span>;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  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>  g_free(s1);</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  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>  }</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  gtk_widget_show(widget);</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <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>  REMMINA_DEBUG (<span class="stringliteral">"Initiating connection"</span>);</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"lock_connect"</span>)</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  && <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"use_primary_password"</span>))</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <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>  <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"lock_edit"</span>)</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  && <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"use_primary_password"</span>))</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  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>  <span class="keywordflow">if</span> (widget)</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  gtk_widget_show(widget);</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <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>  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>  <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <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>  }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  g_print(<span class="stringliteral">"%s %s %s (git %s)\n"</span>, g_get_application_name(), ISSNAP, VERSION, REMMINA_GIT_REVISION);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="comment">/* As we do not use the "handle-local-options" signal, we have to exit Remmina */</span></div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <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>  }</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <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>  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>  <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <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>  <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>  }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  g_print(<span class="stringliteral">"\n%s %s %s (git %s)\n\n"</span>, g_get_application_name(), ISSNAP, VERSION, REMMINA_GIT_REVISION);</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <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>  g_print(<span class="stringliteral">"\n%s\n"</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>  <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>  }</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span> </div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <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>  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>  <span class="keywordflow">if</span> (plugin) {</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  plugin-><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>  }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  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>  _(<span class="stringliteral">"Plugin %s is not registered."</span>), data);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  g_signal_connect(G_OBJECT(widget), <span class="stringliteral">"response"</span>, G_CALLBACK(gtk_widget_destroy), NULL);</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  gtk_widget_show(widget);</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <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>  }</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <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>  i = 0;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  g_print(<span class="stringliteral">"Enter the password you want to encrypt: "</span>);</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  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>  <span class="keywordflow">while</span> ((ch = getchar()) != EOF && ch != <span class="charliteral">'\n'</span>) {</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">if</span> (i < 254) {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  temp[i] = ch;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  i++;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  }</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  }</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  temp[i] = <span class="charliteral">'\0'</span>;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  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>  s2 = g_uri_escape_string(s1, NULL, TRUE);</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  g_print(<span class="stringliteral">"\nEncrypted password: %s\n\n"</span>, s1);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  g_print(<span class="stringliteral">"Usage:\n"</span>);</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  g_print(<span class="stringliteral">"rdp://username:%s@server\n"</span>, s1);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  g_print(<span class="stringliteral">"vnc://username:%s@server\n"</span>, s1);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  g_print(<span class="stringliteral">"vnc://server?VncUsername=user\\&VncPassword=%s\n"</span>, s2);</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  g_free(s1);</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  g_free(s2);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  g_free(temp);</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <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>  <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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  }</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span> }</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> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2010 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <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> <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> <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> <span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <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> <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> <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> <span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <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> <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> <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <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> <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> <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> <span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <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> <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> <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> <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> <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> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "config.h"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "buildflags.h"</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <glib/gi18n.h></span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <stdlib.h></span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="remmina_8h.html">remmina.h</a>"</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "<a class="code" href="remmina__main_8h.html">remmina_main.h</a>"</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "<a class="code" href="remmina__log_8h.html">remmina_log.h</a>"</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>"</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>"</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "<a class="code" href="remmina__unlock_8h.html">remmina_unlock.h</a>"</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "<a class="code" href="remmina__pref__dialog_8h.html">remmina_pref_dialog.h</a>"</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "<a class="code" href="remmina__file_8h.html">remmina_file.h</a>"</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>"</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "<a class="code" href="remmina__file__editor_8h.html">remmina_file_editor.h</a>"</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "<a class="code" href="rcw_8h.html">rcw.h</a>"</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include "<a class="code" href="remmina__about_8h.html">remmina_about.h</a>"</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>"</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include "<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>"</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include "<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>"</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>"</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "<a class="code" href="remmina__crypt_8h.html">remmina_crypt.h</a>"</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include "<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>"</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#ifdef SNAP_BUILD</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"># define ISSNAP "- SNAP Build -"</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"># define ISSNAP "-"</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#a0ffd51ed283da4640c920e75e89e694a"> 67</a></span> <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> {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <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> <span class="comment"> * it a "delete-event" signal. Simply destroying it will not close</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> * all network connections */</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">if</span> (REMMINA_IS_CONNECTION_WINDOW(widget))</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <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>  <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3"> 78</a></span> <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> {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <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>  <span class="stringliteral">"Build configuration: "</span> BUILD_CONFIG <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="stringliteral">"Build type: "</span> BUILD_TYPE <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="stringliteral">"CFLAGS: "</span> CFLAGS <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="stringliteral">"Compiler: "</span> COMPILER_ID <span class="stringliteral">", "</span> COMPILER_VERSION <span class="stringliteral">"\n"</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="stringliteral">"Target architecture: "</span> TARGET_ARCH <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">return</span> build_config;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> }</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f"> 89</a></span> <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> {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="comment">/* Save main window state/position */</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <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> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="comment">/* Delete all widgets, main window not included */</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <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> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor">#ifdef HAVE_LIBAPPINDICATOR</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="comment">/* Remove systray menu */</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <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> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="comment">/* close/destroy main window struct and window */</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <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> </div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="comment">/* Exit from Remmina */</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  g_application_quit(g_application_get_default());</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f"> 111</a></span> <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> {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <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> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">if</span> (REMMINA_IS_CONNECTION_WINDOW(widget)) {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  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>  <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>  }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a99081d2e250691f503eef8b3ae4d7ae6"> 123</a></span> <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> {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  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>  GTK_BUTTONS_YES_NO,</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  _(<span class="stringliteral">"Are you sure you want to fully quit Remmina?\n This will close any active connections."</span>));</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <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>  gtk_widget_destroy(dialog);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">if</span> (response != GTK_RESPONSE_YES)</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <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>  <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> }</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#aaa67e07e2426828d7e7b9b30d2038d31"> 137</a></span> <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> {</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <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> <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> <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> </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">switch</span> (why) {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <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>  <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>  <span class="keywordflow">if</span> (<a class="code" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool_count</a>() < 1 && !<a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>() && !<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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <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>  <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>  <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> && <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE)</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <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>  <span class="comment">// Main window has been deleted</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">if</span> (<a class="code" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool_count</a>() < 1 && !<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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <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>  <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>  <span class="comment">// quit means QUIT.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> }</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305"> 169</a></span> <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> {</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordtype">char</span> c;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">while</span>((c = *s) != 0 && c != <span class="charliteral">'\r'</span> && c != <span class="charliteral">'\n'</span>)</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  s++;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  *s = 0;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <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> <span class="comment"> * return a status code for exit()</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <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> <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> {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  gchar **tk, *value = NULL;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordtype">char</span> *line = NULL;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordtype">size_t</span> len = 0;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  ssize_t read;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  gboolean abort = FALSE;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  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> </div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">if</span> (!remminafile) {</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  g_print(<span class="stringliteral">"Unable to open profile file %s\n"</span>, profilefilename);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  }</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">for</span>(i = 0; settings[i] != NULL && !abort; i++) {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">if</span> (strlen(settings[i]) > 0) {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  tk = g_strsplit(settings[i], <span class="stringliteral">"="</span>, 2);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">if</span> (tk[1] == NULL) {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  read = getline(&line, &len, stdin);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">if</span> (read > 0) {</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <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>  value = line;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  g_print(<span class="stringliteral">"Error: an extra line of standard input is needed\n"</span>);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  abort = TRUE;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  } <span class="keywordflow">else</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  value = tk[1];</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <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>  g_strfreev(tk);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  }</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  }</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">if</span> (line) free(line);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <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> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d"> 224</a></span> <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> {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(remminafile, <span class="stringliteral">"enable-autostart"</span>, FALSE)) {</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  REMMINA_DEBUG (<span class="stringliteral">"Profile %s is set to autostart"</span>, remminafile->filename);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(remminafile->filename);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  }</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span> }</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58"> 235</a></span> <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> {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  gchar *protocol;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  gchar **protocolserver;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  gchar *server;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  gchar **userat;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  gchar **userpass;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  gchar *user;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  gchar *password;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  gchar **domainuser;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  gchar **serverquery;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  gchar **querystring;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  gchar **querystringpart;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  gchar **querystringpartkv;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  gchar *value;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  gchar *temp;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  GError *error = NULL;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  protocol = NULL;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">"rdp://"</span>, data, 6) == 0 || strncmp(<span class="stringliteral">"RDP://"</span>, data, 6) == 0)</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  protocol = <span class="stringliteral">"RDP"</span>;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">"vnc://"</span>, data, 6) == 0 || strncmp(<span class="stringliteral">"VNC://"</span>, data, 6) == 0)</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  protocol = <span class="stringliteral">"VNC"</span>;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">"ssh://"</span>, data, 6) == 0 || strncmp(<span class="stringliteral">"SSH://"</span>, data, 6) == 0)</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  protocol = <span class="stringliteral">"SSH"</span>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">"spice://"</span>, data, 8) == 0 || strncmp(<span class="stringliteral">"SPICE://"</span>, data, 8) == 0)</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  protocol = <span class="stringliteral">"SPICE"</span>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">"file://"</span>, data, 6) == 0) {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  gchar *filename = g_filename_from_uri (data, NULL, &error);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">if</span> (filename != NULL) {</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <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>  } <span class="keywordflow">else</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  REMMINA_DEBUG (<span class="stringliteral">"Opening URI %s failed with error %s"</span>, data, error->message);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  g_error_free(error);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  }</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">if</span> (protocol == NULL) {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <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>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  }</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  protocolserver = g_strsplit(data, <span class="stringliteral">"://"</span>, 2);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  server = g_strdup(protocolserver[1]);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="comment">// Support loading .remmina files using handler</span></div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">if</span> ((temp = strrchr(server, <span class="charliteral">'.'</span>)) != NULL && g_strcmp0(temp + 1, <span class="stringliteral">"remmina"</span>) == 0) {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  g_strfreev(protocolserver);</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  temp = g_uri_unescape_string(server, NULL);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  g_free(server);</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  server = temp;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <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>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  }</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  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> </div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="comment">// Check for username@server</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">if</span> ((strcmp(protocol, <span class="stringliteral">"RDP"</span>) == 0 || strcmp(protocol, <span class="stringliteral">"VNC"</span>) == 0 || strcmp(protocol, <span class="stringliteral">"SSH"</span>) == 0) && strstr(server, <span class="stringliteral">"@"</span>) != NULL) {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  userat = g_strsplit(server, <span class="stringliteral">"@"</span>, 2);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="comment">// Check for username:password</span></div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">if</span> (strstr(userat[0], <span class="stringliteral">":"</span>) != NULL) {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  userpass = g_strsplit(userat[0], <span class="stringliteral">":"</span>, 2);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  user = g_uri_unescape_string(userpass[0], NULL);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  password = g_uri_unescape_string(userpass[1], NULL);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <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>  temp = password != NULL && strrchr(password, <span class="charliteral">'='</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>  <span class="keywordflow">if</span> (temp != NULL) {</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  g_free(password);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  password = temp;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  }</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"password"</span>, password);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  g_free(password);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  g_strfreev(userpass);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  user = g_uri_unescape_string(userat[0], NULL);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  }</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="comment">// Check for domain\user for RDP connections</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">if</span> (strcmp(protocol, <span class="stringliteral">"RDP"</span>) == 0 && strstr(user, <span class="stringliteral">"\\"</span>) != NULL) {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  domainuser = g_strsplit(user, <span class="stringliteral">"\\"</span>, 2);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"domain"</span>, domainuser[0]);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  g_free(user);</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  user = g_strdup(domainuser[1]);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  }</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"username"</span>, user);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  g_free(user);</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  g_free(server);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  server = g_strdup(userat[1]);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  g_strfreev(userat);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  }</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">if</span> (strcmp(protocol, <span class="stringliteral">"VNC"</span>) == 0 && strstr(server, <span class="stringliteral">"?"</span>) != NULL) {</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="comment">// https://tools.ietf.org/html/rfc7869</span></div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <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> </div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="comment">// Check for query string parameters</span></div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  serverquery = g_strsplit(server, <span class="stringliteral">"?"</span>, 2);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  querystring = g_strsplit(serverquery[1], <span class="stringliteral">"&"</span>, -1);</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">for</span> (querystringpart = querystring; *querystringpart; querystringpart++) {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">if</span> (strstr(*querystringpart, <span class="stringliteral">"="</span>) == NULL)</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  querystringpartkv = g_strsplit(*querystringpart, <span class="stringliteral">"="</span>, 2);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  value = g_uri_unescape_string(querystringpartkv[1], NULL);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">"VncPassword"</span>) == 0) {</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <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>  temp = value != NULL && strrchr(value, <span class="charliteral">'='</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>  <span class="keywordflow">if</span> (temp != NULL) {</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  g_free(value);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  value = temp;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"password"</span>, value);</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">"VncUsername"</span>) == 0) {</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"username"</span>, value);</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">"ColorLevel"</span>) == 0) {</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"colordepth"</span>, value);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  }</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  g_free(value);</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  g_strfreev(querystringpartkv);</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  }</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  g_strfreev(querystring);</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  g_free(server);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  server = g_strdup(serverquery[0]);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  g_strfreev(serverquery);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  }</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="comment">// Unescape server</span></div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  temp = g_uri_unescape_string(server, NULL);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  g_free(server);</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  server = temp;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"server"</span>, server);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"name"</span>, server);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"sound"</span>, <span class="stringliteral">"off"</span>);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">"protocol"</span>, protocol);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  g_free(server);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  g_strfreev(protocolserver);</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <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> }</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7"> 382</a></span> <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> {</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  gchar *s1;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  gchar *s2;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  gchar *temp;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  GtkWidget *widget;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  GtkWindow *mainwindow;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  GtkWidget *prefdialog;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <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>  <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordtype">int</span> ch;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  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> </div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">switch</span> (command) {</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <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>  <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  gtk_window_present(mainwindow);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  gtk_window_deiconify(GTK_WINDOW(mainwindow));</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  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>  gtk_widget_show(widget);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  }</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <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>  <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"use_primary_password"</span>)</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  && <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  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>  <span class="keywordflow">if</span> (prefdialog) {</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  gtk_window_present(GTK_WINDOW(prefdialog));</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  gtk_window_deiconify(GTK_WINDOW(prefdialog));</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="comment">/* Create a new preference dialog */</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  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>  gtk_widget_show(widget);</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  }</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <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>  <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"lock_edit"</span>)</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  && <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"use_primary_password"</span>))</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  s1 = (data ? strchr(data, <span class="charliteral">','</span>) : NULL);</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keywordflow">if</span> (s1) {</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  s1 = g_strdup(data);</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  s2 = strchr(s1, <span class="charliteral">','</span>);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  *s2++ = <span class="charliteral">'\0'</span>;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  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>  g_free(s1);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  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>  }</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  gtk_widget_show(widget);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <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>  REMMINA_DEBUG (<span class="stringliteral">"Initiating connection"</span>);</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"lock_connect"</span>)</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  && <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"use_primary_password"</span>))</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <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>  <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"lock_edit"</span>)</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  && <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">"use_primary_password"</span>))</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  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>  <span class="keywordflow">if</span> (widget)</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  gtk_widget_show(widget);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <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>  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>  <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <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>  }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  g_print(<span class="stringliteral">"%s %s %s (git %s)\n"</span>, g_get_application_name(), ISSNAP, VERSION, REMMINA_GIT_REVISION);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="comment">/* As we do not use the "handle-local-options" signal, we have to exit Remmina */</span></div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <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>  }</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <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>  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>  <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <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>  <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>  }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  g_print(<span class="stringliteral">"\n%s %s %s (git %s)\n\n"</span>, g_get_application_name(), ISSNAP, VERSION, REMMINA_GIT_REVISION);</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <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>  g_print(<span class="stringliteral">"\n%s\n"</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>  <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>  }</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <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>  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>  <span class="keywordflow">if</span> (plugin) {</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  plugin-><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>  }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  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>  _(<span class="stringliteral">"Plugin %s is not registered."</span>), data);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  g_signal_connect(G_OBJECT(widget), <span class="stringliteral">"response"</span>, G_CALLBACK(gtk_widget_destroy), NULL);</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  gtk_widget_show(widget);</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <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>  }</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <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>  i = 0;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  g_print(<span class="stringliteral">"Enter the password you want to encrypt: "</span>);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  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>  <span class="keywordflow">while</span> ((ch = getchar()) != EOF && ch != <span class="charliteral">'\n'</span>) {</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keywordflow">if</span> (i < 254) {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  temp[i] = ch;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  i++;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  }</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  }</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  temp[i] = <span class="charliteral">'\0'</span>;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  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>  s2 = g_uri_escape_string(s1, NULL, TRUE);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  g_print(<span class="stringliteral">"\nEncrypted password: %s\n\n"</span>, s1);</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  g_print(<span class="stringliteral">"Usage:\n"</span>);</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  g_print(<span class="stringliteral">"rdp://username:%s@server\n"</span>, s1);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  g_print(<span class="stringliteral">"vnc://username:%s@server\n"</span>, s1);</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  g_print(<span class="stringliteral">"vnc://server?VncUsername=user\\&VncPassword=%s\n"</span>, s2);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  g_free(s1);</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  g_free(s2);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  g_free(temp);</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span> </div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <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>  <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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  }</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span> }</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"> </td></tr> <tr class="memitem:adbaf105af1039e44ba503a8d7174535f"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr> +<tr class="memitem:a99081d2e250691f503eef8b3ae4d7ae6"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr> <tr class="memitem:aaa67e07e2426828d7e7b9b30d2038d31"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr> <tr class="memitem:a4e202866339a104ffdbfa519cfbcdca9"><td class="memItemLeft" align="right" valign="top">int </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">◆ </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 </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">◆ </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> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2010 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <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> <span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <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> <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> <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> <span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <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> <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> <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> <span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <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> <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> <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> *</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <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> <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> <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> <span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * including the two.</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <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> <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> <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> <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> <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> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> */</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <gtk/gtk.h></span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> G_BEGIN_DECLS</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c"> 42</a></span> <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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> } <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c">RemminaCommandType</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5"> 58</a></span> <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>  <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>  <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>  <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> } <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <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> <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> <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> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <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> </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> 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> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2010 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <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> <span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <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> <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> <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> <span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <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> <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> <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> <span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <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> <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> <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> *</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <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> <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> <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> <span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * including the two.</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <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> <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> <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> <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> <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> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> */</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <gtk/gtk.h></span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> G_BEGIN_DECLS</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c"> 42</a></span> <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  <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> } <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c">RemminaCommandType</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5"> 58</a></span> <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>  <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>  <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>  <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> } <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <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> <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> <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> <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> </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <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> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> 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> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2010 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <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> <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> <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> <span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <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> <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> <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> <span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <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> <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> <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <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> <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> <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> <span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <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> <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> <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> <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> <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> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "config.h"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <glib/gi18n.h></span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>"</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#ifdef HAVE_LIBAPPINDICATOR</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"># ifdef HAVE_AYATANA_LIBAPPINDICATOR</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"># include <libayatana-appindicator/app-indicator.h></span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"># else</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"># include <libappindicator/app-indicator.h></span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"># endif</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>"</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>"</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>"</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "<a class="code" href="remmina__avahi_8h.html">remmina_avahi.h</a>"</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include "<a class="code" href="remmina__applet__menu__item_8h.html">remmina_applet_menu_item.h</a>"</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "<a class="code" href="remmina__applet__menu_8h.html">remmina_applet_menu.h</a>"</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "<a class="code" href="rcw_8h.html">rcw.h</a>"</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include "<a class="code" href="remmina__log_8h.html">remmina_log.h</a>"</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include "<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>"</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include "<a class="code" href="remmina__sysinfo_8h.html">remmina_sysinfo.h</a>"</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html"> 62</a></span> <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>  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>  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> <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>  <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> <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>  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>  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> } <a class="code" href="remmina__icon_8c.html#a7d506eafc267175d941402f28744d2d5">RemminaIcon</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a912ed1addd1481ff94b775aad48731f0"> 72</a></span> <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> { 0 };</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a25b1d13f76ddf6a51836d780eda5fab1"> 75</a></span> <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> {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</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="l00079"></a><span class="lineno"> 79</span>  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>  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>  }</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <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>  <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>  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>  }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <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>  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>  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>  }</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> }</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a920476110ab6410c8fc8cf734109e497"> 94</a></span> <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> {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <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> }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#ad3b0e3d12e4854eae05b1afea19da404"> 100</a></span> <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> {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <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">"2"</span>);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a5cdf1958ef01e49889bcee2e90e2cf71"> 106</a></span> <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> {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <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> }</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <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> <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> {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <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>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <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>  <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>  <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>-><a class="code" href="struct___remmina_avahi.html#ab73788ec8ee72842428712efb932d58e">started</a>)</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <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>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</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> = FALSE;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <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>  }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <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> }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a8aaf73ed94cf20dcce1c7be26262cb56"> 131</a></span> <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> {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  GtkWidget *menuitem;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  menuitem = gtk_separator_menu_item_new();</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  menuitem = gtk_check_menu_item_new_with_label(_(<span class="stringliteral">"Enable Service Discovery"</span>));</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <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>  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>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">"toggled"</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>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  menuitem = gtk_separator_menu_item_new();</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  menuitem = gtk_menu_item_new_with_mnemonic(_(<span class="stringliteral">"_Quit"</span>));</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">"activate"</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> </div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  menuitem = gtk_menu_item_new_with_mnemonic(_(<span class="stringliteral">"_About"</span>));</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">"activate"</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> </div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  menuitem = gtk_menu_item_new_with_mnemonic(_(<span class="stringliteral">"_Preferences"</span>));</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">"activate"</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> </div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  menuitem = gtk_menu_item_new_with_label(_(<span class="stringliteral">"Open Main Window"</span>));</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">"activate"</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> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> }</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#ad1699688680e12abcfd5c74dd2f76d83"> 180</a></span> <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> {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  gchar *s;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">switch</span> (menuitem-><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>  <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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <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>  <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-><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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <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>  s = g_strdup_printf(<span class="stringliteral">"%s,%s"</span>, menuitem-><a class="code" href="struct___remmina_applet_menu_item.html#a0c122a469388d5000ce5af4ec29a561e">protocol</a>, menuitem-><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>  <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>  g_free(s);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  }</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#af8708120906a8dc41a7998ebf9ecd129"> 200</a></span> <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> {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  gchar *s;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">switch</span> (menuitem-><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>  <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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <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>  <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-><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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <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>  s = g_strdup_printf(<span class="stringliteral">"%s,%s"</span>, menuitem-><a class="code" href="struct___remmina_applet_menu_item.html#a0c122a469388d5000ce5af4ec29a561e">protocol</a>, menuitem-><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>  <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>  g_free(s);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> }</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a2847311861df3a2f1c8bbcd35cf3fd6f"> 220</a></span> <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> {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  GtkWidget *menuitem;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  gboolean new_ontop;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  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> </div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  GHashTableIter iter;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  gchar *tmp;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="comment">/* Iterate all discovered services from Avahi */</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <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>  g_hash_table_iter_init(&iter, remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>-><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>  <span class="keywordflow">while</span> (g_hash_table_iter_next(&iter, NULL, (gpointer *)&tmp)) {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  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>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <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>  }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  }</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="comment">/* New Connection */</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  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>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <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>  <span class="keywordflow">if</span> (new_ontop)</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  g_signal_connect(G_OBJECT(menu), <span class="stringliteral">"launch-item"</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>  g_signal_connect(G_OBJECT(menu), <span class="stringliteral">"edit-item"</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> }</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <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> <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> {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  GtkWidget *menu;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  GtkWidget *menuitem;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">if</span> (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="l00263"></a><span class="lineno"> 263</span>  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>  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> </div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <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>  <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>  </div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  menuitem = gtk_separator_menu_item_new();</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <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>  <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>  }</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a15b625603bb0eb191fca9e77d2821735"> 279</a></span> <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> {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  gchar *content;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  gsize length;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  content = g_key_file_to_data(gkeyfile, &length, NULL);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <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>  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>  }</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  REMMINA_WARNING(<span class="stringliteral">"Cannot save remmina icon autostart file. Uncheck Preferences -> Applet -> No Tray Icon to recreate it."</span>);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  }</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  g_free(content);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> }</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a5a3b4f281c19f24645a895d3caab3ea0"> 295</a></span> <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> {</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <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>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  GKeyFile *gkeyfile;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  gkeyfile = g_key_file_new();</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Version"</span>, <span class="stringliteral">"1.0"</span>);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <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>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Name"</span>, _(<span class="stringliteral">"Remmina Applet"</span>));</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <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>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Comment"</span>, _(<span class="stringliteral">"Connect to remote desktops through the applet menu"</span>));</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Icon"</span>, REMMINA_APP_ID);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">if</span> (getenv(<span class="stringliteral">"FLATPAK_ID"</span>)){</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Exec"</span>, <span class="stringliteral">"flatpak run org.remmina.Remmina -i"</span>);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  }</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">else</span>{</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Exec"</span>, <span class="stringliteral">"remmina -i"</span>);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  g_key_file_set_boolean(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Terminal"</span>, FALSE);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Type"</span>, <span class="stringliteral">"Application"</span>);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  g_key_file_set_boolean(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Hidden"</span>, FALSE);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <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>  g_key_file_free(gkeyfile);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a42f087b679b43b8a1d36cd9e9781a8b6"> 330</a></span> 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> {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div><div class="line"><a name="l00334"></a><span class="lineno"> 334</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="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <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>  <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <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>  REMMINA_DEBUG(<span class="stringliteral">"Indicator is not connected to panel, thus it cannot be displayed."</span>);</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  REMMINA_DEBUG(<span class="stringliteral">"Indicator is connected to panel, thus it can be displayed."</span>);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  }</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span> }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <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> <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> {</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  REMMINA_DEBUG(<span class="stringliteral">"Indicator connection changed to: %d"</span>, connected);</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  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> }</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a741c81815e562f40672c4485172306d6"> 362</a></span> <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> {</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  gchar remmina_panel[29];</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  gboolean sni_supported;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  g_stpcpy(remmina_panel, <span class="stringliteral">"org.remmina.Remmina-status"</span>);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <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>  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> </div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  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>  <span class="comment">//TRANSLATORS: These are Linux desktop components to show icons in the system tray, after the “ there's the Desktop Name (like GNOME).</span></div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  g_autofree gchar *msg = g_strconcat(</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  _(<span class="stringliteral">"StatusNotifier/Appindicator support in “"</span>),</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  wmname,</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="stringliteral">"”:"</span>,</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  NULL);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">if</span> (sni_supported) {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  REMMINA_INFO(_(<span class="stringliteral">"%s your desktop does support it"</span>), msg);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  REMMINA_INFO(_(<span class="stringliteral">"%s and Remmina has built-in (compiled) support for libappindicator."</span>), msg);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  REMMINA_INFO(_(<span class="stringliteral">"%s not supported natively by your Desktop Environment. libappindicator will try to fallback to GtkStatusIcon/xembed"</span>), msg);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  }</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">"mate"</span>) != NULL)</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  REMMINA_INFO(_(<span class="stringliteral">"%s You may need to install, and use XApp Status Applet"</span>), msg);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">"kde"</span>) != NULL)</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  REMMINA_INFO(_(<span class="stringliteral">"%s You may need to install, and use KStatusNotifierItem"</span>), msg);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">"plasma"</span>) != NULL)</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  REMMINA_INFO(_(<span class="stringliteral">"%s You may need to install, and use XEmbed SNI Proxy"</span>), msg);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">"gnome"</span>) != NULL)</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  REMMINA_INFO(_(<span class="stringliteral">"%s You may need to install, and use Gnome Shell Extension Appindicator"</span>), msg);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keywordflow">if</span> (!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="l00405"></a><span class="lineno"> 405</span>  remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a> = app_indicator_new(<span class="stringliteral">"remmina-icon"</span>, remmina_panel, APP_INDICATOR_CATEGORY_APPLICATION_STATUS);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  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>  app_indicator_set_title(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, <span class="stringliteral">"Remmina"</span>);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <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>  } <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>  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>  APP_INDICATOR_STATUS_PASSIVE : APP_INDICATOR_STATUS_ACTIVE);</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <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>  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>  }</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  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> <span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <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>  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>  <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>  <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>  <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>-><a class="code" href="struct___remmina_avahi.html#ab73788ec8ee72842428712efb932d58e">started</a>)</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <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>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <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>  }</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  }</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</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="l00429"></a><span class="lineno"> 429</span>  remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> = g_strdup_printf(<span class="stringliteral">"%s/.config/autostart/remmina-applet.desktop"</span>, g_get_home_dir());</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <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>  }</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="comment">// "connected" 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>  <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>  g_signal_connect(G_OBJECT(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>), <span class="stringliteral">"connection-changed"</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>  <span class="comment">//g_object_get(G_OBJECT(remmina_icon.icon), "connected", &remmina_icon.indicator_connected, NULL);</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#ae477ccd85ab1d878d243aed7fa5e48ae"> 438</a></span> 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> {</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  GKeyFile *gkeyfile;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  gboolean b;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  gkeyfile = g_key_file_new();</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <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>  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>  }</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  REMMINA_WARNING(<span class="stringliteral">"Cannot load remmina icon autostart file. Uncheck Preferences -> Applet -> No Tray Icon to recreate it."</span>);</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  }</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  b = !g_key_file_get_boolean(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Hidden"</span>, NULL);</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  g_key_file_free(gkeyfile);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">return</span> b;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> }</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div><div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a5b1bc5b1130b31ea9c9cb7164fb82f1d"> 458</a></span> <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> {</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  GKeyFile *gkeyfile;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  gboolean b;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <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>  gkeyfile = g_key_file_new();</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  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>  b = !g_key_file_get_boolean(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Hidden"</span>, NULL);</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keywordflow">if</span> (b != autostart) {</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  g_key_file_set_boolean(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Hidden"</span>, !autostart);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="comment">/* Refresh it in case translation is updated */</span></div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <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>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Name"</span>, _(<span class="stringliteral">"Remmina Applet"</span>));</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <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>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Comment"</span>, _(<span class="stringliteral">"Connect to remote desktops through the applet menu"</span>));</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <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>  g_key_file_free(gkeyfile);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  }</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  }</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  REMMINA_WARNING(<span class="stringliteral">"Cannot load remmina icon autostart file. Uncheck Preferences -> Applet -> No Tray Icon to recreate it."</span>);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  }</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span> }</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <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> <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> 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> <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> <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> 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> <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> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2010 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <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> <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> <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> <span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <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> <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> <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> <span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <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> <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> <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <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> <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> <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> <span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <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> <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> <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> <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> <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> <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> <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> <span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "config.h"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <glib/gi18n.h></span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>"</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#ifdef HAVE_LIBAPPINDICATOR</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"># ifdef HAVE_AYATANA_LIBAPPINDICATOR</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"># include <libayatana-appindicator/app-indicator.h></span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"># else</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"># include <libappindicator/app-indicator.h></span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"># endif</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>"</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>"</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>"</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "<a class="code" href="remmina__avahi_8h.html">remmina_avahi.h</a>"</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include "<a class="code" href="remmina__applet__menu__item_8h.html">remmina_applet_menu_item.h</a>"</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "<a class="code" href="remmina__applet__menu_8h.html">remmina_applet_menu.h</a>"</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "<a class="code" href="rcw_8h.html">rcw.h</a>"</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include "<a class="code" href="remmina__log_8h.html">remmina_log.h</a>"</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include "<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>"</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include "<a class="code" href="remmina__sysinfo_8h.html">remmina_sysinfo.h</a>"</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="struct___remmina_icon.html"> 62</a></span> <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>  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>  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> <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>  <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> <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>  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>  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> } <a class="code" href="remmina__icon_8c.html#a7d506eafc267175d941402f28744d2d5">RemminaIcon</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a912ed1addd1481ff94b775aad48731f0"> 72</a></span> <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> { 0 };</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a25b1d13f76ddf6a51836d780eda5fab1"> 75</a></span> <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> {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</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="l00079"></a><span class="lineno"> 79</span>  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>  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>  }</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <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>  <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>  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>  }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <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>  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>  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>  }</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> }</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a920476110ab6410c8fc8cf734109e497"> 94</a></span> <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> {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <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> }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#ad3b0e3d12e4854eae05b1afea19da404"> 100</a></span> <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> {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <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">"2"</span>);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a5cdf1958ef01e49889bcee2e90e2cf71"> 106</a></span> <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> {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <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> }</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <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> <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> {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <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>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <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>  <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>  <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>-><a class="code" href="struct___remmina_avahi.html#ab73788ec8ee72842428712efb932d58e">started</a>)</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <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>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</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> = FALSE;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <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>  }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <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> }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a8aaf73ed94cf20dcce1c7be26262cb56"> 131</a></span> <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> {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  GtkWidget *menuitem;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  menuitem = gtk_separator_menu_item_new();</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  menuitem = gtk_check_menu_item_new_with_label(_(<span class="stringliteral">"Enable Service Discovery"</span>));</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <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>  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>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">"toggled"</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>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  menuitem = gtk_separator_menu_item_new();</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  menuitem = gtk_menu_item_new_with_mnemonic(_(<span class="stringliteral">"_Quit"</span>));</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">"activate"</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> </div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  menuitem = gtk_menu_item_new_with_mnemonic(_(<span class="stringliteral">"_About"</span>));</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">"activate"</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> </div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  menuitem = gtk_menu_item_new_with_mnemonic(_(<span class="stringliteral">"_Preferences"</span>));</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">"activate"</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> </div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  menuitem = gtk_menu_item_new_with_label(_(<span class="stringliteral">"Open Main Window"</span>));</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">"activate"</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> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> }</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#ad1699688680e12abcfd5c74dd2f76d83"> 180</a></span> <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> {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  gchar *s;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">switch</span> (menuitem-><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>  <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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <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>  <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-><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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <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>  s = g_strdup_printf(<span class="stringliteral">"%s,%s"</span>, menuitem-><a class="code" href="struct___remmina_applet_menu_item.html#a0c122a469388d5000ce5af4ec29a561e">protocol</a>, menuitem-><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>  <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>  g_free(s);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  }</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#af8708120906a8dc41a7998ebf9ecd129"> 200</a></span> <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> {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  gchar *s;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">switch</span> (menuitem-><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>  <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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <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>  <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-><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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <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>  s = g_strdup_printf(<span class="stringliteral">"%s,%s"</span>, menuitem-><a class="code" href="struct___remmina_applet_menu_item.html#a0c122a469388d5000ce5af4ec29a561e">protocol</a>, menuitem-><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>  <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>  g_free(s);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> }</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a2847311861df3a2f1c8bbcd35cf3fd6f"> 220</a></span> <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> {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  GtkWidget *menuitem;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  gboolean new_ontop;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  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> </div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  GHashTableIter iter;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  gchar *tmp;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="comment">/* Iterate all discovered services from Avahi */</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <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>  g_hash_table_iter_init(&iter, remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>-><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>  <span class="keywordflow">while</span> (g_hash_table_iter_next(&iter, NULL, (gpointer *)&tmp)) {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  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>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <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>  }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  }</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="comment">/* New Connection */</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  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>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <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>  <span class="keywordflow">if</span> (new_ontop)</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  g_signal_connect(G_OBJECT(menu), <span class="stringliteral">"launch-item"</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>  g_signal_connect(G_OBJECT(menu), <span class="stringliteral">"edit-item"</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> }</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <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> <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> {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  GtkWidget *menu;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  GtkWidget *menuitem;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">if</span> (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="l00263"></a><span class="lineno"> 263</span>  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>  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> </div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <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>  <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>  </div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  menuitem = gtk_separator_menu_item_new();</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  gtk_widget_show(menuitem);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <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>  <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>  }</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a15b625603bb0eb191fca9e77d2821735"> 279</a></span> <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> {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  gchar *content;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  gsize length;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  content = g_key_file_to_data(gkeyfile, &length, NULL);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <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>  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>  }</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  REMMINA_WARNING(<span class="stringliteral">"Cannot save remmina icon autostart file. Uncheck Preferences -> Applet -> No Tray Icon to recreate it."</span>);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  }</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  g_free(content);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> }</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="remmina__icon_8c.html#a5a3b4f281c19f24645a895d3caab3ea0"> 295</a></span> <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> {</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <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>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  GKeyFile *gkeyfile;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  gkeyfile = g_key_file_new();</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Version"</span>, <span class="stringliteral">"1.0"</span>);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <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>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Name"</span>, _(<span class="stringliteral">"Remmina Applet"</span>));</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <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>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Comment"</span>, _(<span class="stringliteral">"Connect to remote desktops through the applet menu"</span>));</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Icon"</span>, REMMINA_APP_ID);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">if</span> (getenv(<span class="stringliteral">"FLATPAK_ID"</span>)){</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Exec"</span>, <span class="stringliteral">"flatpak run org.remmina.Remmina -i"</span>);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  }</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">else</span>{</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Exec"</span>, <span class="stringliteral">"remmina -i"</span>);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  g_key_file_set_boolean(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Terminal"</span>, FALSE);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Type"</span>, <span class="stringliteral">"Application"</span>);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  g_key_file_set_boolean(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Hidden"</span>, FALSE);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <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>  g_key_file_free(gkeyfile);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a42f087b679b43b8a1d36cd9e9781a8b6"> 330</a></span> 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> {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div><div class="line"><a name="l00334"></a><span class="lineno"> 334</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="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <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>  <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <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>  REMMINA_DEBUG(<span class="stringliteral">"Indicator is not connected to panel, thus it cannot be displayed."</span>);</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  REMMINA_DEBUG(<span class="stringliteral">"Indicator is connected to panel, thus it can be displayed."</span>);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  }</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span> }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <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> <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> {</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  REMMINA_DEBUG(<span class="stringliteral">"Indicator connection changed to: %d"</span>, connected);</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  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> }</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a741c81815e562f40672c4485172306d6"> 362</a></span> <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> {</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  gchar remmina_panel[29];</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  gboolean sni_supported;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  g_stpcpy(remmina_panel, <span class="stringliteral">"org.remmina.Remmina-status"</span>);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <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>  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> </div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  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>  <span class="comment">//TRANSLATORS: These are Linux desktop components to show icons in the system tray, after the “ there's the Desktop Name (like GNOME).</span></div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  g_autofree gchar *msg = g_strconcat(</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  _(<span class="stringliteral">"StatusNotifier/Appindicator support in “"</span>),</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  wmname,</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="stringliteral">"”:"</span>,</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  NULL);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">if</span> (sni_supported) {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  REMMINA_INFO(_(<span class="stringliteral">"%s your desktop does support it"</span>), msg);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  REMMINA_INFO(_(<span class="stringliteral">"%s and Remmina has built-in (compiled) support for libappindicator."</span>), msg);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  REMMINA_INFO(_(<span class="stringliteral">"%s not supported natively by your Desktop Environment. libappindicator will try to fallback to GtkStatusIcon/xembed"</span>), msg);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  }</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">"mate"</span>) != NULL)</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  REMMINA_INFO(_(<span class="stringliteral">"%s You may need to install, and use XApp Status Applet"</span>), msg);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">"kde"</span>) != NULL)</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  REMMINA_INFO(_(<span class="stringliteral">"%s You may need to install, and use KStatusNotifierItem"</span>), msg);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">"plasma"</span>) != NULL)</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  REMMINA_INFO(_(<span class="stringliteral">"%s You may need to install, and use XEmbed SNI Proxy"</span>), msg);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keywordflow">if</span> (g_strrstr(wmname, <span class="stringliteral">"gnome"</span>) != NULL)</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="comment">//TRANSLATORS: %s is a placeholder for "StatusNotifier/Appindicator suppor in “DESKTOP NAME”: "</span></div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  REMMINA_INFO(_(<span class="stringliteral">"%s You may need to install, and use Gnome Shell Extension Appindicator"</span>), msg);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keywordflow">if</span> (!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="l00405"></a><span class="lineno"> 405</span>  remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a> = app_indicator_new(<span class="stringliteral">"remmina-icon"</span>, remmina_panel, APP_INDICATOR_CATEGORY_APPLICATION_STATUS);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  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>  app_indicator_set_title(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>, <span class="stringliteral">"Remmina"</span>);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <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>  } <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>  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>  APP_INDICATOR_STATUS_PASSIVE : APP_INDICATOR_STATUS_ACTIVE);</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <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>  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>  }</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  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> <span class="preprocessor">#ifdef HAVE_LIBAVAHI_CLIENT</span></div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <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>  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>  <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>  <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>  <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#a1f2c31cd1f9af1feefc6b7ba7480f5d2">avahi</a>-><a class="code" href="struct___remmina_avahi.html#ab73788ec8ee72842428712efb932d58e">started</a>)</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <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>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <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>  }</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  }</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">if</span> (!remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</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="l00429"></a><span class="lineno"> 429</span>  remmina_icon.<a class="code" href="struct___remmina_icon.html#aebee73e3ede3fd37332d4d0bf6eb1cca">autostart_file</a> = g_strdup_printf(<span class="stringliteral">"%s/.config/autostart/remmina-applet.desktop"</span>, g_get_home_dir());</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <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>  }</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="comment">// "connected" 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>  <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>  g_signal_connect(G_OBJECT(remmina_icon.<a class="code" href="struct___remmina_icon.html#a6cf75146df2cbab7d5ae3046a62fd626">icon</a>), <span class="stringliteral">"connection-changed"</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>  <span class="comment">//g_object_get(G_OBJECT(remmina_icon.icon), "connected", &remmina_icon.indicator_connected, NULL);</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#ae477ccd85ab1d878d243aed7fa5e48ae"> 438</a></span> 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> {</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  GKeyFile *gkeyfile;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  gboolean b;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  gkeyfile = g_key_file_new();</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <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>  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>  }</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  REMMINA_WARNING(<span class="stringliteral">"Cannot load remmina icon autostart file. Uncheck Preferences -> Applet -> No Tray Icon to recreate it."</span>);</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  }</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  b = !g_key_file_get_boolean(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Hidden"</span>, NULL);</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  g_key_file_free(gkeyfile);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">return</span> b;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> }</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div><div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="remmina__icon_8h.html#a5b1bc5b1130b31ea9c9cb7164fb82f1d"> 458</a></span> <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> {</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  TRACE_CALL(__func__);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  GKeyFile *gkeyfile;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  gboolean b;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <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>  gkeyfile = g_key_file_new();</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  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>  b = !g_key_file_get_boolean(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Hidden"</span>, NULL);</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keywordflow">if</span> (b != autostart) {</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  g_key_file_set_boolean(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Hidden"</span>, !autostart);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="comment">/* Refresh it in case translation is updated */</span></div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <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>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Name"</span>, _(<span class="stringliteral">"Remmina Applet"</span>));</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <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>  g_key_file_set_string(gkeyfile, <span class="stringliteral">"Desktop Entry"</span>, <span class="stringliteral">"Comment"</span>, _(<span class="stringliteral">"Connect to remote desktops through the applet menu"</span>));</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <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>  g_key_file_free(gkeyfile);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  }</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  }</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  REMMINA_WARNING(<span class="stringliteral">"Cannot load remmina icon autostart file. Uncheck Preferences -> Applet -> No Tray Icon to recreate it."</span>);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  }</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span> }</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <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> <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> 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> <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> <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> 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> <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): remmina_exec.c'],['../remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7',1,'remmina_exec_command(RemminaCommandType command, const gchar *data): 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(): remmina_exec.c'],['../remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f',1,'remmina_exec_exitremmina(void): remmina_exec.c']]], + ['remmina_5fexec_5fexitremmina_5fone_5fconfirm',['remmina_exec_exitremmina_one_confirm',['../remmina__exec_8c.html#adfa9ba9dcefd2b5f6ca8050f00731c73',1,'remmina_exec_exitremmina_one_confirm(): remmina_exec.c'],['../remmina__exec_8h.html#a99081d2e250691f503eef8b3ae4d7ae6',1,'remmina_exec_exitremmina_one_confirm(void): 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): remmina_exec.c'],['../remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9',1,'remmina_exec_set_setting(gchar *profilefilename, gchar **settings): 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): remmina_ssh.h'],['../remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798a78cac65c66c1f72592488c7c5728ea14',1,'REMMINA_SSH_TUNNEL_OPEN(): 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): remmina_ssh.h'],['../remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798ae14c0d50235951946ca18866a1329459',1,'REMMINA_SSH_TUNNEL_REVERSE(): remmina_ssh.h']]], + ['remmina_5fssh_5ftunnel_5fopen',['REMMINA_SSH_TUNNEL_OPEN',['../remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798a78cac65c66c1f72592488c7c5728ea14',1,'REMMINA_SSH_TUNNEL_OPEN(): remmina_ssh.h'],['../remmina__ssh_8h.html#a52b3f47eac79f2781ba81d61505f4f53',1,'remmina_ssh_tunnel_open(RemminaSSHTunnel *tunnel, const gchar *host, gint port, gint local_port): remmina_ssh.h']]], + ['remmina_5fssh_5ftunnel_5freverse',['REMMINA_SSH_TUNNEL_REVERSE',['../remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798ae14c0d50235951946ca18866a1329459',1,'REMMINA_SSH_TUNNEL_REVERSE(): remmina_ssh.h'],['../remmina__ssh_8h.html#ae47c8270267b02b9c0ff5b36074101c2',1,'remmina_ssh_tunnel_reverse(RemminaSSHTunnel *tunnel, gint port, gint local_port): 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(): remmina_ssh.h'],['../remmina__ssh_8h.html#aba49db2ced40e21e8adfad69dcfda2c4',1,'remmina_ssh_tunnel_xport(RemminaSSHTunnel *tunnel, gboolean bindlocalhost): 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): remmina_exec.c'],['../remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7',1,'remmina_exec_command(RemminaCommandType command, const gchar *data): 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(): remmina_exec.c'],['../remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f',1,'remmina_exec_exitremmina(void): remmina_exec.c']]], + ['remmina_5fexec_5fexitremmina_5fone_5fconfirm',['remmina_exec_exitremmina_one_confirm',['../remmina__exec_8c.html#adfa9ba9dcefd2b5f6ca8050f00731c73',1,'remmina_exec_exitremmina_one_confirm(): remmina_exec.c'],['../remmina__exec_8h.html#a99081d2e250691f503eef8b3ae4d7ae6',1,'remmina_exec_exitremmina_one_confirm(void): 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): remmina_exec.c'],['../remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9',1,'remmina_exec_set_setting(gchar *profilefilename, gchar **settings): 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): remmina_ext_exec.c'],['../remmina__ext__exec_8h.html#a7c81795162a70d06294fdf935ea210d7',1,'remmina_ext_exec_new(RemminaFile *remminafile, const char *remmina_ext_exec_type): remmina_ext_exec.c']]], |