Возможно ли запустить только одну копию приложения GTK, но без создания каких-либо окон? В этом примере вы можете запускать несколько копий программы, но мне почему-то нужно обеспечить, чтобы разрешалось только одно.Уникальность приложения Gtk без создания какого-либо окна
#include <gtkmm.h>
int
main(int argc, char** argv)
{
Glib::RefPtr<Gtk::Application> app = Gtk::Application::create(argc, argv, "org.gtkmm.example");
app->hold();
return app->run();
}
Если я добавлю окно GTK, все работает так, как я ожидал. то есть работает только одна копия, вторая только что выходит. Но мой application живет в системном трее и не запускает никаких окон при запуске.
#include <gtkmm.h>
int
main(int argc, char** argv)
{
Glib::RefPtr<Gtk::Application> app = Gtk::Application::create(argc, argv, "org.gtkmm.example");
Gtk::Window window;
return app->run(window);
}
К сожалению, это не помешало запустить вторую копию моего приложения. Просто измените Gtk на Gio, удалите 'argc' и' argv' из метода 'create()' и передайте их методу 'run()' в моем первом фрагменте кода. –