Skip to content

Commit fb1e9a0

Browse files
committed
feat(ui): unify volume icon at 0% with muted state
Changes volume icon display to show speaker with slash when volume is at 0%, matching the muted icon behavior. Previously distinguished between "turned down" and "muted" states, but since these are functionally equivalent, using consistent visual representation improves user clarity. Bumps version to 3.0.3 and updates changelog accordingly.
1 parent ad0721e commit fb1e9a0

File tree

3 files changed

+18
-11
lines changed

3 files changed

+18
-11
lines changed

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog], and this project adheres to [Semantic
66

77
## [Unreleased]
88

9+
## [3.0.3] (2025-12-05)
10+
11+
### Changed
12+
13+
- Changed the volume icon when at 0% to match the icon when muted (speaker with slash). Previously this was the speaker with no waves, meant to make a distinction between "turned down" and "muted," but since these are functionally the same, I think it's better to be clear.
14+
915
## [3.0.2] (2025-11-26)
1016

1117
### Fixed
@@ -224,7 +230,8 @@ Initial release.
224230
[Semantic Versioning]: https://semver.org/spec/v2.0.0.html
225231

226232
<!-- Versions -->
227-
[unreleased]: https://github.com/dannystewart/volumeHUD/compare/v3.0.2...HEAD
233+
[unreleased]: https://github.com/dannystewart/volumeHUD/compare/v3.0.3...HEAD
234+
[3.0.3]: https://github.com/dannystewart/volumeHUD/compare/v3.0.2...v3.0.3
228235
[3.0.2]: https://github.com/dannystewart/volumeHUD/compare/v3.0.1...v3.0.2
229236
[3.0.1]: https://github.com/dannystewart/volumeHUD/compare/v3.0.0...v3.0.1
230237
[3.0.0]: https://github.com/dannystewart/volumeHUD/compare/v2.3.1...v3.0.0

volumeHUD.xcodeproj/project.pbxproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@
266266
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
267267
CODE_SIGN_STYLE = Automatic;
268268
COMBINE_HIDPI_IMAGES = YES;
269-
CURRENT_PROJECT_VERSION = 3.0.2;
269+
CURRENT_PROJECT_VERSION = 3.0.3;
270270
DEAD_CODE_STRIPPING = YES;
271271
DEVELOPMENT_TEAM = PL2FTGT24W;
272272
ENABLE_APP_SANDBOX = YES;
@@ -282,7 +282,7 @@
282282
"$(inherited)",
283283
"@executable_path/../Frameworks",
284284
);
285-
MARKETING_VERSION = 3.0.2;
285+
MARKETING_VERSION = 3.0.3;
286286
PRODUCT_BUNDLE_IDENTIFIER = com.dannystewart.volumehud.loginhelper;
287287
PRODUCT_NAME = "$(TARGET_NAME)";
288288
REGISTER_APP_GROUPS = YES;
@@ -303,7 +303,7 @@
303303
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
304304
CODE_SIGN_STYLE = Automatic;
305305
COMBINE_HIDPI_IMAGES = YES;
306-
CURRENT_PROJECT_VERSION = 3.0.2;
306+
CURRENT_PROJECT_VERSION = 3.0.3;
307307
DEAD_CODE_STRIPPING = YES;
308308
DEVELOPMENT_TEAM = PL2FTGT24W;
309309
ENABLE_APP_SANDBOX = YES;
@@ -319,7 +319,7 @@
319319
"$(inherited)",
320320
"@executable_path/../Frameworks",
321321
);
322-
MARKETING_VERSION = 3.0.2;
322+
MARKETING_VERSION = 3.0.3;
323323
PRODUCT_BUNDLE_IDENTIFIER = com.dannystewart.volumehud.loginhelper;
324324
PRODUCT_NAME = "$(TARGET_NAME)";
325325
REGISTER_APP_GROUPS = YES;
@@ -472,7 +472,7 @@
472472
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
473473
CODE_SIGN_STYLE = Automatic;
474474
COMBINE_HIDPI_IMAGES = YES;
475-
CURRENT_PROJECT_VERSION = 3.0.2;
475+
CURRENT_PROJECT_VERSION = 3.0.3;
476476
DEAD_CODE_STRIPPING = YES;
477477
DEVELOPMENT_TEAM = PL2FTGT24W;
478478
ENABLE_APP_SANDBOX = NO;
@@ -490,7 +490,7 @@
490490
"@executable_path/../Frameworks",
491491
);
492492
MACOSX_DEPLOYMENT_TARGET = 26.0;
493-
MARKETING_VERSION = 3.0.2;
493+
MARKETING_VERSION = 3.0.3;
494494
PRODUCT_BUNDLE_IDENTIFIER = com.dannystewart.volumehud.debug;
495495
PRODUCT_NAME = "$(TARGET_NAME)";
496496
REGISTER_APP_GROUPS = YES;
@@ -512,7 +512,7 @@
512512
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
513513
CODE_SIGN_STYLE = Automatic;
514514
COMBINE_HIDPI_IMAGES = YES;
515-
CURRENT_PROJECT_VERSION = 3.0.2;
515+
CURRENT_PROJECT_VERSION = 3.0.3;
516516
DEAD_CODE_STRIPPING = YES;
517517
DEVELOPMENT_TEAM = PL2FTGT24W;
518518
ENABLE_APP_SANDBOX = NO;
@@ -530,7 +530,7 @@
530530
"@executable_path/../Frameworks",
531531
);
532532
MACOSX_DEPLOYMENT_TARGET = 26.0;
533-
MARKETING_VERSION = 3.0.2;
533+
MARKETING_VERSION = 3.0.3;
534534
PRODUCT_BUNDLE_IDENTIFIER = com.dannystewart.volumehud;
535535
PRODUCT_NAME = "$(TARGET_NAME)";
536536
REGISTER_APP_GROUPS = YES;

volumeHUD/HUDView.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ struct HUDView: View {
2828
private var iconName: String {
2929
switch hudType {
3030
case .volume:
31-
if isMuted {
31+
if isMuted || value <= 0.001 {
3232
"speaker.slash.fill"
3333
} else if value < 0.08 {
3434
"speaker.fill"
@@ -54,7 +54,7 @@ struct HUDView: View {
5454
.font(.system(size: iconSize, weight: .medium))
5555
.foregroundColor(.white.opacity(0.7))
5656
// SF Symbols has slight misalignment between speaker.slash.fill and speaker.fill
57-
.offset(y: hudType == .volume && isMuted ? 2 : 0)
57+
.offset(y: hudType == .volume && (isMuted || value <= 0.001) ? 2 : 0)
5858
Spacer()
5959
}
6060
.frame(height: 100)

0 commit comments

Comments
 (0)