Skip to content

Commit

Permalink
core: Fix running without logind (#76)
Browse files Browse the repository at this point in the history
* dbus: Move logind matches inside try-catch

* core: Don't exit when logind is absent

logind being missing is non-fatal
  • Loading branch information
gnusenpai authored Jul 18, 2024
1 parent 9163a9f commit e5366d3
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions src/core/Hypridle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -476,16 +476,15 @@ void CHypridle::setupDBUS() {
try {
auto reply = proxy->callMethod(method);
reply >> path;

m_sDBUSState.connection->addMatch("type='signal',path='" + path + "',interface='org.freedesktop.login1.Session'", handleDbusLogin, sdbus::floating_slot_t{});
m_sDBUSState.connection->addMatch("type='signal',path='/org/freedesktop/login1',interface='org.freedesktop.login1.Manager'", handleDbusSleep, sdbus::floating_slot_t{});
} catch (std::exception& e) {
Debug::log(CRIT, "Couldn't connect to logind service ({})", e.what());
exit(1);
Debug::log(WARN, "Couldn't connect to logind service ({})", e.what());
}

Debug::log(LOG, "Using dbus path {}", path.c_str());

m_sDBUSState.connection->addMatch("type='signal',path='" + path + "',interface='org.freedesktop.login1.Session'", handleDbusLogin, sdbus::floating_slot_t{});
m_sDBUSState.connection->addMatch("type='signal',path='/org/freedesktop/login1',interface='org.freedesktop.login1.Manager'", handleDbusSleep, sdbus::floating_slot_t{});

if (!IGNORE_SYSTEMD_INHIBIT) {
m_sDBUSState.connection->addMatch("type='signal',path='/org/freedesktop/login1',interface='org.freedesktop.DBus.Properties'", handleDbusBlockInhibitsPropertyChanged, sdbus::floating_slot_t{});

Expand Down

0 comments on commit e5366d3

Please sign in to comment.