Giter Club home page Giter Club logo

slimhud's Introduction

SlimHUD

FOSSA Status CodeFactor Quality Gate Status

Replacement for MacOS' HUDs.

Every day you change your volume or brightness and an ugly and unbelievably old overlay animation appears. SlimHUD is what you need.

Features - Settings

Each feature can be toggled from the settings window.
To access the settings window start SlimHUD again, while it's already running. The settings window will appear:

Here's are some of the things you can customise:

  • When changing volume / brightness / keyboard's backlight a small icon is shown under the bar.

  • If you don't like the flat look of the bar you can enable a shadow effect.

  • There are multiple animation styles:
  • Continuously check for changes (recommended if you use a TouchBar): shows the HUDs when using the volume / brightness slider.

  • Each bar (volume / brightness / keyboard's backlight) has it's own color.
    You can also choose the color of the volume when its muted.

  • Each icon (volume / brightness / keyboard's backlight) also has it's own color! 1

  • If you think that the default bar is too small you can easily adjust its size.

  • The HUDs can appear on any edge: left, right, bottom or top; it's up to you!
  • Lastly don't forget to enable the launch at login function!

1:

Only available in MacOS 10.14 and later.

Installation

You can use brew install slimhud!

Or download the latest release and move it to /Applications.

Credits to GameParrot for making it so easy!

Uninstalling

If you'd like to restore the system's HUDs:

  1. Disable "launch at login" or delete SlimHUD from /Applications

Credits

Thanks to w0lfschild and massimobio for creating respectively cleanHUD and ProgressHUD-Mac and inspiring me to create this project.

Also thanks to pirate and kaunteya, whose code from these project (mac-keyboard-brightness and ProgressKit) was used to complete this project.

Thanks to reitermarkus, ans87gh and p-linnane for adding this project to brew.

SlimHUD is using Sparkle to support automatic updates. Binaries are stored on GitHub and connections use HTTPs.

Support

Even starring this project is a great support! If you want to support me even more, you can buy me a beer! :D


License

This project is licensed under the GPL-3.0 License - see the LICENSE.md file for details

FOSSA Status

slimhud's People

Contributors

alexperathoner avatar fossabot avatar gameparrot avatar github-actions[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

slimhud's Issues

Add option for flat bar

Discussed in #31

Originally posted by coffinmilk September 11, 2022
Although most might prefer the inside of the bar to be rounded, for iOS consistency, can the bar be made flat?

Screenshot 2022-09-11 at 14 59 37


Add option for flat bar

Steps:

  • In Displayer.swift:setThickness( ... ) add option to change barView.bar.progressLayer.cornerRadius = thickness/2 to barView.bar.progressLayer.cornerRadius = 0
  • Add option in settings
  • Add to UserDefaults

Result:
Screenshot 2022-12-23 alle 21 16 48

The HUDs are too close to the screen's edges

Hi.
Wherever I chose to put the HUDs, it seems they are a little too close to the edges (see screenshot). The worst is on the top, it's almost completely hidden by the menubar.

Capture d’écran 2020-03-23 à 16 20 46

Brightness HUD disappearing

Whenever the display brightness changes from 0 to another value, the HUD disappears. This is usually not visible, but it definitely is while using a second monitor as the main display.

Redesign Preferences Window

Before opening the issue, have you...?

  • Searched for existing issues

Is your feature request related to a problem? Please describe

Too much stuff going in the preferences window, chaotic, not nice.

Describe the solution you'd like

Something that doesn't hurt when I look at it

Describe alternatives you've considered

No response

Anything else?

No response

v1.3.2 doesn't launch at login

Previous bug is partially solved in this version: the settings are saved after a relaunch, except for the "launch at login" one. :)

Decide whether to use "continuous check"

  • Check if "continuous check" is useful on Macs with Touch Bar only
  • If so, SlimHUD should recognise on its own if the device has a Touch Bar, and enable / disable "continuous check" on its own. Should re-do check each time the display settings change (possibly MacBook with Touch Bar connected / disconnected)
  • Option in settings could be removed (can't think of situation where it could be still useful / maybe when changing volume with software?)
  • Should still be possible to activate, for ui tests to work

Thoughts on Big Sur workaround

Great work on SlimHUD. I absolutely love it and appreciate the hard work you've put into it. It's unfortunate that Apple has changed its security approach, causing the issues you're currently dealing with. That being said, I've been thinking a bit about workarounds and thought I'd share an idea I had.

When installing MacForge on my Mac on Big Sur, I looked at how the plugins were injected into the OS. Could it be possible to do something along those lines with SlimHUD to override the current brightness, volume, and other HUDs? I'm not sure how relevant this is to a solution but figured it couldn't hurt to share.

Thanks again for all your hard work, looking forward to updates!

Confused about installation (Step 5)

Hey, @AlexPerathoner great work on this! I have it installed, and I'm trying to remove the regular HUDs from apple, but I'm having issues with step 5 in the README. Can you explain what step 5 does and what sudo mount -uw /; killall Finder means?

I haven't been able to find any documentation about sudo mount -uw online and would like to make sure what I am doing is safe. Can you share any info with me?

Great work again. I absolutely love this app!

Bars are shown by automatic brightness correction

To see the Bars by changing the Brightness manually is a good thing. But the Mac change the Display and Keyboard Brightness by itself. In this Situation the Bar is very disruptive at working on Mac. An option to disable the Bar by automatic changes would improve the Functionality.

Restart button not working

[Nib Loading] Could not connect action, target class SlimHUD.SettingsViewController does not respond to -restartButton:

  • Is this still needed at all?

Bar can't be resized

Before opening the issue, have you...?

  • Searched for existing issues
  • Updated SlimHUD to the latest version (if applicable)

Describe the bug

It's just displaced!!
Over 200, all's fine, but if i set the size too low, the icons and bars disappear partialy as far as i decrease.
PS excuse my poor english, french here.

Capture d’écran 2023-01-07 à 15 48 30

Capture d’écran 2023-01-07 à 15 50 37

Steps to reproduce

settings position size

Expected behavior

It should be visible completely

Anything else?

No response

Environment Information (please complete the following information)

- macOS version: 12.5
- Mac model: Macbook Air
- Monitor(s): internal
- Apple Silicon/M2 (yes or no): Yes

Support external monitors

Before opening the issue, have you...?

  • Searched for existing issues

Is your feature request related to a problem? Please describe

External monitors whose brightness can't be changed directly from the OS aren't recognised by SlimHUD. Changing their brightness doesn't show the HUD.

Describe the solution you'd like

Use the implementation used in

should work for volume, too

Describe alternatives you've considered

Don't do anything

Anything else?

No response

Activation policy

  • NSApplication.shared.setActivationPolicy(.accessory) in applicationDidFinishLaunching
  • Remove LSUIElement from info.plist
  • NSApplication.shared.setActivationPolicy(.regular) after NSApp.activate(ignoringOtherApps: true) (e.g when showing settings window)
  • override cmd + q to close window and go to accessory activation policy again
  • go to accessory activation policy again also if all windows got closed
  • optional: show message once telling user that app won't quit but will continue running in the background
  • cmd + w should only close the frontmost window, and go to accessory only if there are no other windows open

Icons color can't be changed

Before opening the issue, have you...?

  • Searched for existing issues
  • Updated SlimHUD to the latest version (if applicable)

Describe the bug

It stay white with, it seems, an opacity reduced...
macOS 12.5 MacBookAir M2
Screenshot at Jan 07 15-41-10
Capture d’écran 2023-01-07 à 15 41 26

Steps to reproduce

Settings Style Icons

Expected behavior

The color have to be changed

Anything else?

No response

Environment Information (please complete the following information)

- macOS version: 12.5
- Mac model: macbook air
- Monitor(s): integrated
- Apple Silicon/M2 (yes or no): Yes

Screenshots are too big

Screenshots in ./Screens are too big (webpage and readme load slowly and repo folder is too big), should be compressed

Add option to vary shadow opacity

Hey there!

Thanks so much for working hard on this once again. Apologies for the sudden blast of issues here and there, but this one is more of a suggestion than a bug report!

I'd like to suggest a feature where the opacity of the shadow cast by the bars can be varied (perhaps by using a slider?); this may allow for greater customisability when modifying the look. I tried to play around in a clone, and I believe it's quite feasible (although I'm still mostly tinkering here and there).

I hope you'll be able to take a look at this and hopefully implement this as a feature! Many thanks for your hard work. 👍

Suspend OSDUIHelper instead of disabling launch agent?

It is possible to stop the system volume/brightness overlays by suspending OSDUIHelper. This could allow you to use the app without disabling SIP. To suspend the process in Swift, you could use

let task = Process()
task.executableURL = URL(fileURLWithPath: "/usr/bin/killall")
task.arguments = ["-STOP", "OSDUIHelper"]
try? task.run()

at the beginning of applicationDidFinishLaunching.

Add action to create release

  • create new branch develop
  • new MRs should default to develop
  • MRs to master should trigger a new release
  • check if it's possible to create an automated release at all

Wrong initial values

  • Initial size of HUDs in settings is 0x0, which makes the bar invisible.
  • Animations, shadows and icons should also be enabled

OSX 10.13.6

Hello, any chance to run it on 10.13.6 osx?

Brightness bar doesn't work

Hi,
The brightness bar doesn't work on my machine (OSX 12.0.1, M1 pro 2020 MBP). It always shows full brightness no matter what and doesn't update.

Thanks for the app, it's much better than OSX's default UI.

failed hiding macOS HUD (Big Sur)

Hi!
The app itself seems to work perfectly on Big Sur.
But when I try to hide default macOS HUD in Terminal (after having disabled SIP then reboot) I get this:

mount_apfs: volume could not be mounted: Permission denied
mount: / failed with 66

Then when I try to delete the text in the plist file, it doesn't save the edit.
Is it me doing it wrong or are there new restrictions with Big Sur?

Brightness bar stuck at 100%

Hey! Just tried out the app and love the way it looks and feels - my only reservation is that the screen brightness bar is always stuck at 100%. It doesn't move, no matter where I put it on screen or set my brightness to.
Is there a fix for that that I am not aware of?
Thanks in advance for any help!

v1.3.7 not working for keyboard lights & automatic screen brightness activates the custom hud

I have 2 issues with this app, and because of them I am unable to use it.
The first issue is that the HUD is not working correctly for keyboard lights in the newest app version. When I increase or decrease the lights on keyboard the HUD bar just stays at 100%.
Here is the image:
image
This doesn't happen on older versions like the version 3.0.0:
image

My second issue is that the automatic screen brightness, and the automatic keyboard light are activating the custom HUD. I can see the HUD when my macbook changes the brightness automatically every time there is some change in the light in the room. I can also see the keyboard HUD appear regardless of it actually not working in the newer versions.
You practically have only one bug to fix, you can just take the app v3.0.0 (since it is working for keyboard lights) and resolve the automatic brightness issue.

If there were no these two bugs, I would use this app without any problems.

Sliders randomly appear on-screen without interaction

Hello there!

First off, let me begin by saying my thanks for your work in this project. It indeed has made the UI of the controls much more cool-looking and natural!

I'd like to report this bug, albeit minor (non-fatal in any sense); the sliders seem to appear randomly when I'm doing work, and the values change to random values as well. However, I'm still able to adjust any of the three (screen brightness, keyboard brightness, and volume brightness) options and the slider will obey to that. The following is a quick video of what I mean:

Screen Recording 2020-07-05 at 6 57 33 PM

Do note that in the video above, I wasn't interacting with any of the three controls in any way. I hope this helps, and in the meantime I'll try to find a pattern to this occurence, too! Thanks!

'Launch at login' may still be broken

Hi!
I updated to the 1.1.1 version but it seems that the 'launch at login' option isn't fixed (or is there something else to do than just replace with the new app file?)

Add more tests

Currently just one example test present, so add more tests

Screen clashes

#34

When having two screens

  • one built in
  • one external, which is main screen (with the menu bar)

Clicking on brightness keys changes the brightness of the built in display, but SlimHUD only tries to retrieve the brightness of the main screen, so it doesn't detect any change and the HUD doesn't appear.

This is currently expected behaviour, as we are using the info of the display on which the HUD is displayed. But it could be quite confusing, so maybe change in the future

arm64 Build

I manage to build it by disabling lastCheckForUpdatesOutlet due deprecated sparkle package.

Screenshot 2022-12-19 at 11 53 43 PM

Sorry, I have never used sparkle to help you to port over😅

Unable to change colour of icon for keyboard brightness

In the preferences, when you try to set a specific colour to the icon of the keyboard, after exiting and re-booting the app or just closing the preferences and re-opening, the colour of the icon for keyboard brightness would automatically be set to white.

HUD keyboard bar is stuck

Hi! Just noticed a bug on my MacBook Pro. The keyboard bar is not moving when I'm changing backlight intensity. It stays in the middle.

Capture d’écran 2020-05-27 à 10 23 55

Create pre-release deployment

  • new workflow triggered with /pre-release
  • should update appcast-pre.xml
  • find way in Sparkle tool to mark version as pre-release
  • add option in app to download pre-releases, too
  • shouldn't close PR to master, unlike /release

Thickness not updating at launch

@dmndrz wrote
And I noticed that when I launch the app, the thickness setting did stay at the number I chose, but it doesn't appear on the bars, I have to click on the slider to make it "check" the right thickness.

Feature request : style for icons

I think it would be a great addition to be able to change icons color and/or opacity, as we can do for the bars. According to the wallpaper (specifically with the Catalina one throughout the day), sometimes the icon becomes invisible. And it would be even better if it changed automatically with light and dark modes.

Bars don't appear on startup

Hey! Thanks for creating SlimHUD once again.

I'm experiencing a bug where the bars don't appear after the Mac starts up. While the SlimHUD app is present in the menu bar, the actual bars (screen brightness, volume, and keyboard brightness) aren't.

This issue may be caused by other factors if this issue can't be replicated elsewhere. I'm currently running macOS 10.15.6 (Catalina), but this issue seems to persist even before I updated (in macOS 10.15.5). I'll try to investigate this issue on my end as well. Hope this helps!

auto quit silently sometime

below is crash log

crash log Process: SlimHUD [1568] Path: /Applications/SlimHUD.app/Contents/MacOS/SlimHUD Identifier: SlimHUD Version: 1.3.3 (1.3.3) Code Type: X86-64 (Native) Parent Process: ??? [1] Responsible: SlimHUD [1568] User ID: 501

Date/Time: 2020-06-03 01:48:58.380 +0800
OS Version: Mac OS X 10.15.5 (19F101)
Report Version: 12
Bridge OS Version: 4.5 (17P5300)
Anonymous UUID: 56099045-4192-4FE7-E51E-618BD81CB0F7

Sleep/Wake UUID: 3D1201FF-B0D2-4C98-893F-70D78DCE9FB6

Time Awake Since Boot: 52000 seconds
Time Since Wake: 14000 seconds

System Integrity Protection: enabled

Crashed Thread: 3 com.apple.NSEventThread

Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY

Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: exc handler [1568]

Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff6b9b0dfa mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff6b9b1170 mach_msg + 60
2 com.apple.CoreFoundation 0x00007fff3186af85 __CFRunLoopServiceMachPort + 247
3 com.apple.CoreFoundation 0x00007fff31869a52 __CFRunLoopRun + 1319
4 com.apple.CoreFoundation 0x00007fff31868ece CFRunLoopRunSpecific + 462
5 com.apple.HIToolbox 0x00007fff30497abd RunCurrentEventLoopInMode + 292
6 com.apple.HIToolbox 0x00007fff304977d5 ReceiveNextEventCommon + 584
7 com.apple.HIToolbox 0x00007fff30497579 _BlockUntilNextEventMatchingListInModeWithFilter + 64
8 com.apple.AppKit 0x00007fff2eadf829 _DPSNextEvent + 883
9 com.apple.AppKit 0x00007fff2eade070 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
10 com.apple.AppKit 0x00007fff2eacfd7e -[NSApplication run] + 658
11 com.apple.AppKit 0x00007fff2eaa1b86 NSApplicationMain + 777
12 AlexP.SlimHUD 0x00000001082cb999 0x1082c8000 + 14745
13 libdyld.dylib 0x00007fff6b86fcc9 start + 1

Thread 1:: AMCP Logging Spool
0 libsystem_kernel.dylib 0x00007fff6b9b0e36 semaphore_wait_trap + 10
1 com.apple.audio.caulk 0x00007fff65444b16 caulk::mach::semaphore::wait() + 16
2 com.apple.audio.caulk 0x00007fff654449b2 caulk::semaphore::timed_wait(double) + 106
3 com.apple.audio.caulk 0x00007fff654447c4 caulk::concurrent::details::worker_thread::run() + 30
4 com.apple.audio.caulk 0x00007fff654441e4 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::)(), std::__1::tuplecaulk::concurrent::details::worker_thread* > >(void) + 45
5 libsystem_pthread.dylib 0x00007fff6ba74109 _pthread_start + 148
6 libsystem_pthread.dylib 0x00007fff6ba6fb8b thread_start + 15

Thread 2:
0 libsystem_kernel.dylib 0x00007fff6b9b0e36 semaphore_wait_trap + 10
1 com.apple.audio.caulk 0x00007fff65444b16 caulk::mach::semaphore::wait() + 16
2 com.apple.audio.caulk 0x00007fff654449b2 caulk::semaphore::timed_wait(double) + 106
3 com.apple.audio.caulk 0x00007fff654447c4 caulk::concurrent::details::worker_thread::run() + 30
4 com.apple.audio.caulk 0x00007fff654441e4 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::)(), std::__1::tuplecaulk::concurrent::details::worker_thread* > >(void) + 45
5 libsystem_pthread.dylib 0x00007fff6ba74109 _pthread_start + 148
6 libsystem_pthread.dylib 0x00007fff6ba6fb8b thread_start + 15

Thread 3 Crashed:: com.apple.NSEventThread
0 com.apple.CoreFoundation 0x00007fff3186b0b3 __CFRunLoopServiceMachPort + 549
1 com.apple.CoreFoundation 0x00007fff31869a52 __CFRunLoopRun + 1319
2 com.apple.CoreFoundation 0x00007fff31868ece CFRunLoopRunSpecific + 462
3 com.apple.AppKit 0x00007fff2ec81144 _NSEventThread + 132
4 libsystem_pthread.dylib 0x00007fff6ba74109 _pthread_start + 148
5 libsystem_pthread.dylib 0x00007fff6ba6fb8b thread_start + 15

Thread 4:
0 libsystem_pthread.dylib 0x00007fff6ba6fb68 start_wqthread + 0

Thread 5:
0 libsystem_pthread.dylib 0x00007fff6ba6fb68 start_wqthread + 0

Thread 3 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x000000001000600b rcx: 0x0000000000000000 rdx: 0x0000000000000000
rdi: 0x000000002b31009c rsi: 0x000000000000d007 rbp: 0x0000700008baa040 rsp: 0x0000700008ba9fc0
r8: 0x0000000000000000 r9: 0x00000000ffffffff r10: 0x0000000000000c00 r11: 0x0000000000000206
r12: 0x0000700008baa0d0 r13: 0x000000001000600b r14: 0x0000700008baa120 r15: 0x000000000000d007
rip: 0x00007fff3186b0b3 rfl: 0x0000000000010202 cr2: 0x000000010c9384e2

Logical CPU: 8
Error Code: 0x00000000
Trap Number: 6

Bars not always appearing

Before opening the issue, have you...?

  • Searched for existing issues
  • Updated SlimHUD to the latest version (if applicable)

Describe the bug

I suspect that SlimHUD, due to having an .accessory activationPolicy, or for being a mainly background app (perhaps it's a system limitation for any app), doesn't get the key press events as soon as they happen, but a bit later. Sometimes even multiple seconds after they happened.

This means that if "Continuous check" isn't checked, the bars could appear with quite a lot of delay.

Steps to reproduce

  1. Deactivate "continuous check"
  2. Use some other apps for some time
  3. Press volume buttons

Expected behavior

Hud should appear (and be updated, if already visible) as soon as the button is pressed

Anything else?

  • Check if it's a system limitation
  • If so, use only continuous check
  • remove KeyPressObserver, unnecessary

Environment Information (please complete the following information)

- macOS version: 12.0
- Mac model: MBP 13 2018
- Monitor(s): Dell 27"
- Apple Silicon/M1 (yes or no): no

Retro-compatibility

Running

status version problem
🟩 10.13
🟨 10.14 to check
🟨 10.15 to check
🟨 12.1 to check
🟨 11.1 to check
🟩 13.1

Compiling

  • won't fix, only use latest version of Xcode and macOS to compile and run UI Tests
status version problem
🟥 10.15 Sparkle 2 not compatible
🟥 11.1 App is not agent but is using custom policy, which is not compatible
🟨 12.1 only works with one version of Xcode

Bar position doesn't persist across reboots

Hello there!

Thanks for creating this awesome product once again.

I've recently been facing a small issue where the position of my bars doesn't persist where they should be across reboots - including shutdowns and restarts.

As an example, before restarting, I've set the position to 'Bottom', and indeed the app has responded as it should. However, upon restarting, this value defaults back to 'Left' again, and the bar shows up on the left.

If I'm honest, though, I haven't done a lot of work to see what was causing this. I have tried changing the position from 'Left' to 'Bottom' and then clicking 'Restart' beside it; all it does it restart the app itself back to the default 'Left'. Side question, is this ('Restart' button restarting and defaulting the app back to as it was) meant to happen as well?

I hope this issue helps. Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.