Commit Graph
14 Commits
Author SHA1 Message Date
Austin Horstman 4c71b2bf9f perf(memory): optimize C++ string operations to reduce heap fragmentation
- Replaced pass-by-value std::string parameters with const std::string&
or std::string_view to prevent SSO overallocations.

- Refactored static mapping functions in UPower to return
std::string_view instead of constructing std::string literals, enabling
perfect cache locality.

- Optimized string concatenation in hot loops (network IPs, inhibitor
lists, sway window marks) by using std::string::append() and
pre-reserving capacity instead of overloaded operator+ which produces
temporary heap instances.

These optimizations reduce high-frequency memory churn and overall heap
fragmentation within the main rendering loops.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-02 22:54:07 -06:00
Alex 802bf184fb fix: lint 2026-02-24 00:49:23 +01:00
Alex ef3d55980e fix: some crashes 2026-02-24 00:49:08 +01:00
Alex 47fb21a2c1 chore: upgrade to clang-format@21 2026-02-04 09:24:14 +01:00
Erik Alonso bb190409de fix: unable to disable upower's tooltip 2025-07-22 13:09:33 +01:00
Konstantin Vukolov e32a678478 Hide upower module when specified device disconnected 2025-02-05 00:02:29 +03:00
Leonard Cohnen 9b5c2dc7ed fix: upower module selection with multiple devices
While looping over all the upower devices, the currently set device that will be rendered in the waybar, is overridden. Since the loop doesn't end when the device is found, the upDevice_ is overridden with NULL in the iteration for the next device.

Now we only override upDevice_ if the current device matches the constraints.

Fixes d2a719d67c ("Redo to minimize code duplication.")
Fixes #3267
2024-08-31 20:44:29 +02:00
Lasse Luttermann d2a719d67c Redo to minimize code duplication. 2024-05-16 12:37:53 +02:00
Lasse Luttermann 28ef5b7db2 Fix formatting 2024-05-14 10:21:24 +02:00
Lasse Luttermann 6413f25b8d Add config option to select UPower device based on device model. 2024-05-14 10:13:22 +02:00
Lasse Luttermann 3c075bcc53 Fixed formatting 2024-05-14 08:26:44 +02:00
Lasse Luttermann ba8a88acfb Do not try to compare a string that may be a null-pointer 2024-05-14 08:16:10 +02:00
Viktar Lukashonak 5fe99ea0e1 Upower. Fix segmentation fault
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2024-05-10 00:00:47 +03:00
ViktarL 2ead1bbf84 Upower refactoring (#3220)
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2024-05-07 10:29:52 +02:00