Skip to content
API Documentation
BastionGuard™
TrayIconStub.cpp
Go to the documentation of this file.
1/*
2 * BastionGuard Secure Connection tray fallback for builds without sd-bus.
3 * The main window and XDG autostart remain functional; only the
4 * StatusNotifierItem integration is unavailable.
5 */
6
7#include "TrayIcon.hpp"
8
9#include <cstdio>
10
11TrayIcon::TrayIcon() = default;
12
14{
15 stop();
16 if (ui_ctx_) {
17 g_main_context_unref(ui_ctx_);
18 ui_ctx_ = nullptr;
19 }
20}
21
22bool TrayIcon::start()
23{
24 std::fprintf(stderr,
25 "[BSC TrayIcon] sd-bus unavailable: status icon disabled\n");
26 return false;
27}
28
29void TrayIcon::stop()
30{
31 running_ = false;
32 if (bus_thread_.joinable())
33 bus_thread_.join();
34}
35
37{
38 if (ui_ctx_)
39 g_main_context_unref(ui_ctx_);
40 ui_ctx_ = g_main_context_ref_thread_default();
41 if (!ui_ctx_)
42 ui_ctx_ = g_main_context_ref(g_main_context_default());
43}
44
45void TrayIcon::set_icon_file(const std::string&, int)
46{
47 have_pixmap_ = false;
48 pix_rgba_.clear();
49}
50
51void TrayIcon::set_icon(const std::string& icon_name)
52{
53 icon_name_ = icon_name;
54}
55
56void TrayIcon::set_tooltip(const std::string& text)
57{
58 tooltip_ = text;
59}
60
61void TrayIcon::set_title(const std::string& title)
62{
63 title_ = title;
64}
void bind_ui_context()
Definition TrayIcon.cpp:297
bool have_pixmap_
Definition TrayIcon.hpp:101
void set_title(const std::string &title)
Definition TrayIcon.cpp:373
void set_icon(const std::string &icon_name)
Definition TrayIcon.cpp:363
std::vector< uint8_t > pix_rgba_
Definition TrayIcon.hpp:104
std::thread bus_thread_
Definition TrayIcon.hpp:117
bool start()
Definition TrayIcon.cpp:135
void stop()
Definition TrayIcon.cpp:282
std::string tooltip_
Definition TrayIcon.hpp:97
GMainContext * ui_ctx_
Definition TrayIcon.hpp:99
std::atomic_bool running_
Definition TrayIcon.hpp:118
void set_icon_file(const std::string &png_path, int target_px=22)
Definition TrayIcon.cpp:302
std::string title_
Definition TrayIcon.hpp:95
void set_tooltip(const std::string &text)
Definition TrayIcon.cpp:368
std::string icon_name_
Definition TrayIcon.hpp:96