#include "ublexec.h" void pars_flag(int index_start, int argc, char* argv[]); int main(int argc, char** argv) { string str_argv= ""; string str_cmd_argv = ""; setlocale(LC_ALL, ""); bindtextdomain("ublexec", "/usr/share/locale/"); bind_textdomain_codeset("ublexec", "UTF-8"); textdomain("ublexec"); if (argc > 1){ str_argv = argv[1]; } if (str_argv.find("--socket-id") != std::string::npos) { auto app = Gtk::Application::create(argc, argv, "org.gtkmm.example.plug"); auto builder = Gtk::Builder::create_from_file(path_glade); Glib::init(); setlocale(LC_ALL, ""); Glib::OptionContext context; CmdArgParser parser{ "Socket ID", "Command line argument for socket ID communication.", "No help available, sorry" }; context.set_main_group(parser); context.parse(argc, argv); ::Window socketID = parser.GetSocketID(); SettingsPlug plug{socketID, builder}; plug.show(); app->run(plug); return 0; } else { if (argc == 2) { name_app_cmd = argv[1]; } pars_flag(1,argc, argv); int local_argc = 1; auto app = Gtk::Application::create(local_argc, argv, "org.gtkmm.example.plug"); auto builder = Gtk::Builder::create_from_file(path_glade); MainWindow* wnd = nullptr; builder->get_widget_derived("window", wnd); auto r = app->run(*wnd); delete wnd; return r; } } void pars_flag(int index_start, int argc, char* argv[]) { string str_argv = ""; for (int i = index_start; i