mirror of
				https://github.com/rad4day/Waybar.git
				synced 2025-10-31 16:02:43 +01:00 
			
		
		
		
	Add config value for inhibitor default state.
This commit is contained in:
		| @@ -20,6 +20,7 @@ class IdleInhibitor : public ALabel { | ||||
|  | ||||
|  private: | ||||
|   bool handleToggle(GdkEventButton* const& e); | ||||
|   void toggleStatus(); | ||||
|  | ||||
|   const Bar& bar_; | ||||
|   struct zwp_idle_inhibitor_v1* idle_inhibitor_; | ||||
|   | ||||
| @@ -63,6 +63,11 @@ screensaving, also known as "presentation mode". | ||||
| 	typeof: double ++ | ||||
| 	Threshold to be used when scrolling. | ||||
|  | ||||
| *start-activated*: ++ | ||||
|   typeof: bool ++ | ||||
|   default: *false* ++ | ||||
|   Whether the inhibit should be activated when starting waybar. | ||||
|  | ||||
| *timeout*: ++ | ||||
| 	typeof: double ++ | ||||
| 	The number of minutes the inhibit should last. | ||||
|   | ||||
| @@ -16,6 +16,13 @@ waybar::modules::IdleInhibitor::IdleInhibitor(const std::string& id, const Bar& | ||||
|     throw std::runtime_error("idle-inhibit not available"); | ||||
|   } | ||||
|  | ||||
|   if (waybar::modules::IdleInhibitor::modules.empty() | ||||
|     && config_["start-activated"].isBool() | ||||
|     && config_["start-activated"].asBool() != status | ||||
|   ) { | ||||
|     toggleStatus(); | ||||
|   } | ||||
|  | ||||
|   event_box_.add_events(Gdk::BUTTON_PRESS_MASK); | ||||
|   event_box_.signal_button_press_event().connect( | ||||
|       sigc::mem_fun(*this, &IdleInhibitor::handleToggle)); | ||||
| @@ -78,8 +85,7 @@ auto waybar::modules::IdleInhibitor::update() -> void { | ||||
|   ALabel::update(); | ||||
| } | ||||
|  | ||||
| bool waybar::modules::IdleInhibitor::handleToggle(GdkEventButton* const& e) { | ||||
|   if (e->button == 1) { | ||||
| void waybar::modules::IdleInhibitor::toggleStatus() { | ||||
|   status = !status; | ||||
|  | ||||
|   if (timeout_.connected()) { | ||||
| @@ -106,6 +112,11 @@ bool waybar::modules::IdleInhibitor::handleToggle(GdkEventButton* const& e) { | ||||
|         }, | ||||
|         timeoutSecs); | ||||
|   } | ||||
| } | ||||
|  | ||||
| bool waybar::modules::IdleInhibitor::handleToggle(GdkEventButton* const& e) { | ||||
|   if (e->button == 1) { | ||||
|     toggleStatus(); | ||||
|  | ||||
|     // Make all other idle inhibitor modules update | ||||
|     for (auto const& module : waybar::modules::IdleInhibitor::modules) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Ian Manske
					Ian Manske