Fix crashes when using named workspaces in Hyprland

The first crash occurs when trying to parse the
ID of a workspace as an uint, since named
workspaces has negative IDs. This is fixed by
using ints for workspace IDs instead of uints.

The second crash occurs when converting a
workspace name that isn't a number to an integer.
This is fixed by wrapping std::stoi in a try
block and only sorting by number, when both names
can successfully be converted to integers.
This commit is contained in:
herlev
2022-11-24 02:16:44 +01:00
parent ce8ae5bf17
commit 2c7cb0e9d4
3 changed files with 12 additions and 8 deletions

View File

@ -18,8 +18,8 @@ class Window : public waybar::ALabel,
auto update() -> void;
private:
uint getActiveWorkspaceID(std::string);
std::string getLastWindowTitle(uint);
int getActiveWorkspaceID(std::string);
std::string getLastWindowTitle(int);
void onEvent(const std::string&);
bool separate_outputs;