44#include < gtkmm/enums.h>
55#include < gtkmm/label.h>
66#include < json/value.h>
7+ #include < sigc++/connection.h>
78
89#include < cstdint>
910#include < map>
@@ -43,6 +44,7 @@ class Workspaces : public AModule, public EventHandler {
4344 auto moveToMonitor () const -> bool { return m_moveToMonitor; }
4445 auto enableTaskbar () const -> bool { return m_enableTaskbar; }
4546 auto taskbarWithIcon () const -> bool { return m_taskbarWithIcon; }
47+ auto barScroll () const -> bool { return m_barScroll; }
4648
4749 auto getBarOutput () const -> std::string { return m_bar.output ->name ; }
4850 auto formatBefore () const -> std::string { return m_formatBefore; }
@@ -58,7 +60,7 @@ class Workspaces : public AModule, public EventHandler {
5860 enum class ActiveWindowPosition { NONE , FIRST , LAST };
5961 auto activeWindowPosition () const -> ActiveWindowPosition { return m_activeWindowPosition; }
6062
61- std::string getRewrite (std::string window_class, std::string window_title);
63+ std::string getRewrite (const std::string& window_class, const std::string& window_title);
6264 std::string& getWindowSeparator () { return m_formatWindowSeparator; }
6365 bool isWorkspaceIgnored (std::string const & workspace_name);
6466
@@ -122,6 +124,8 @@ class Workspaces : public AModule, public EventHandler {
122124 static std::pair<std::string, std::string> splitDoublePayload (std::string const & payload);
123125 static std::tuple<std::string, std::string, std::string> splitTriplePayload (
124126 std::string const & payload);
127+ // scroll events
128+ bool handleScroll (GdkEventScroll* e) override ;
125129
126130 // Update methods
127131 void doUpdate ();
@@ -145,6 +149,7 @@ class Workspaces : public AModule, public EventHandler {
145149 bool m_specialVisibleOnly = false ;
146150 bool m_persistentOnly = false ;
147151 bool m_moveToMonitor = false ;
152+ bool m_barScroll = false ;
148153 Json::Value m_persistentWorkspaceConfig;
149154
150155 // Map for windows stored in workspaces not present in the current bar.
@@ -204,6 +209,7 @@ class Workspaces : public AModule, public EventHandler {
204209 std::mutex m_mutex;
205210 const Bar& m_bar;
206211 Gtk::Box m_box;
212+ sigc::connection m_scrollEventConnection_;
207213 IPC & m_ipc;
208214};
209215
0 commit comments