mirror of
https://github.com/polybar/polybar.git
synced 2026-02-20 01:25:33 +00:00
refactor: Code cleanup
This commit is contained in:
@ -59,10 +59,6 @@ controller::~controller() {
|
||||
m_bar.reset();
|
||||
}
|
||||
|
||||
if (m_traymanager) {
|
||||
m_traymanager.reset();
|
||||
}
|
||||
|
||||
m_log.info("Interrupting X event loop");
|
||||
m_connection.send_dummy_event(m_connection.root());
|
||||
|
||||
@ -97,7 +93,7 @@ void controller::bootstrap(bool writeback, bool dump_wmname) {
|
||||
// break the blocking wait call when cleaning up
|
||||
m_log.trace("controller: Listen for events on the root window");
|
||||
try {
|
||||
const uint32_t value_list[1]{XCB_EVENT_MASK_STRUCTURE_NOTIFY};
|
||||
const uint32_t value_list[2]{XCB_EVENT_MASK_PROPERTY_CHANGE | XCB_EVENT_MASK_STRUCTURE_NOTIFY};
|
||||
m_connection.change_window_attributes_checked(
|
||||
m_connection.root(), XCB_CW_EVENT_MASK, value_list);
|
||||
} catch (const std::exception& err) {
|
||||
@ -124,23 +120,6 @@ void controller::bootstrap(bool writeback, bool dump_wmname) {
|
||||
m_eventloop->set_input_db(bind(&controller::on_unrecognized_action, this, placeholders::_1));
|
||||
}
|
||||
|
||||
try {
|
||||
if (m_writeback) {
|
||||
m_log.trace("controller: Disabling tray (reason: stdout mode)");
|
||||
m_traymanager.reset();
|
||||
} else if (m_bar->tray().align == alignment::NONE) {
|
||||
m_log.trace("controller: Disabling tray (reason: tray-position)");
|
||||
m_traymanager.reset();
|
||||
} else {
|
||||
m_log.trace("controller: Setup tray manager");
|
||||
m_traymanager->bootstrap(m_bar->tray());
|
||||
}
|
||||
} catch (const std::exception& err) {
|
||||
m_log.err(err.what());
|
||||
m_log.warn("Failed to setup tray, disabling...");
|
||||
m_traymanager.reset();
|
||||
}
|
||||
|
||||
m_log.trace("controller: Setup user-defined modules");
|
||||
bootstrap_modules();
|
||||
}
|
||||
@ -157,11 +136,6 @@ bool controller::run() {
|
||||
install_sigmask();
|
||||
install_confwatch();
|
||||
|
||||
// Activate traymanager in separate thread
|
||||
if (!m_writeback && m_traymanager) {
|
||||
m_threads.emplace_back(thread(&controller::activate_tray, this));
|
||||
}
|
||||
|
||||
// Listen for X events in separate thread
|
||||
if (!m_writeback) {
|
||||
m_threads.emplace_back(thread(&controller::wait_for_xevent, this));
|
||||
@ -260,6 +234,9 @@ void controller::install_confwatch() {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the config inotify watch
|
||||
*/
|
||||
void controller::uninstall_confwatch() {
|
||||
try {
|
||||
if (m_confwatch) {
|
||||
@ -271,7 +248,7 @@ void controller::uninstall_confwatch() {
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: docstring
|
||||
* Wait for termination signal
|
||||
*/
|
||||
void controller::wait_for_signal() {
|
||||
m_log.trace("controller: Wait for signal");
|
||||
@ -292,7 +269,8 @@ void controller::wait_for_signal() {
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: docstring
|
||||
* Wait for X events and forward them to
|
||||
* the event registry
|
||||
*/
|
||||
void controller::wait_for_xevent() {
|
||||
m_log.trace("controller: Listen for X events");
|
||||
@ -319,21 +297,6 @@ void controller::wait_for_xevent() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: docstring
|
||||
*/
|
||||
void controller::activate_tray() {
|
||||
m_log.trace("controller: Activate tray manager");
|
||||
|
||||
try {
|
||||
m_traymanager->activate();
|
||||
} catch (const std::exception& err) {
|
||||
m_log.err(err.what());
|
||||
m_log.err("Failed to activate tray manager, disabling...");
|
||||
m_traymanager.reset();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create and initialize bar modules
|
||||
*/
|
||||
@ -433,7 +396,7 @@ void controller::on_mouse_event(string input) {
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: docstring
|
||||
* Callback for actions not handled internally by a module
|
||||
*/
|
||||
void controller::on_unrecognized_action(string input) {
|
||||
try {
|
||||
@ -453,7 +416,7 @@ void controller::on_unrecognized_action(string input) {
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: docstring
|
||||
* Callback for module content update
|
||||
*/
|
||||
void controller::on_update() {
|
||||
string contents{""};
|
||||
@ -520,6 +483,11 @@ void controller::on_update() {
|
||||
} else {
|
||||
m_bar->parse(contents);
|
||||
}
|
||||
|
||||
if (!m_trayactivated) {
|
||||
m_trayactivated = true;
|
||||
m_bar->activate_tray();
|
||||
}
|
||||
}
|
||||
|
||||
LEMONBUDDY_NS_END
|
||||
|
||||
Reference in New Issue
Block a user