{"id":15036513,"url":"https://github.com/jacklandrin/onlyswitch","last_synced_at":"2025-05-13T20:07:58.853Z","repository":{"id":37339102,"uuid":"433619938","full_name":"jacklandrin/OnlySwitch","owner":"jacklandrin","description":"⚙️ All-in-One menu bar app, hide 💻MacBook Pro's notch, dark mode, AirPods, Shortcuts","archived":false,"fork":false,"pushed_at":"2025-04-27T15:24:48.000Z","size":32446,"stargazers_count":4630,"open_issues_count":44,"forks_count":206,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-04-28T10:55:35.132Z","etag":null,"topics":["audioplayer","clamshell","composable-architecture","dark-mode","macos","menubar-app","notch","pomodoro-timer","shortcuts","sonoma","stagemanager","statusbar","swift5","swiftui","wallpaper","widgetkit","widgets"],"latest_commit_sha":null,"homepage":"https://jacklandrin.github.io/macos%20app/2021/12/01/onlyswitch.html","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jacklandrin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"jacklandrin"}},"created_at":"2021-11-30T23:33:09.000Z","updated_at":"2025-04-28T09:51:44.000Z","dependencies_parsed_at":"2023-01-30T04:30:46.817Z","dependency_job_id":"afbf47c3-ae73-4c29-bdb3-0fabf28211ed","html_url":"https://github.com/jacklandrin/OnlySwitch","commit_stats":null,"previous_names":[],"tags_count":71,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacklandrin%2FOnlySwitch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacklandrin%2FOnlySwitch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacklandrin%2FOnlySwitch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacklandrin%2FOnlySwitch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jacklandrin","download_url":"https://codeload.github.com/jacklandrin/OnlySwitch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254020484,"owners_count":22000750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audioplayer","clamshell","composable-architecture","dark-mode","macos","menubar-app","notch","pomodoro-timer","shortcuts","sonoma","stagemanager","statusbar","swift5","swiftui","wallpaper","widgetkit","widgets"],"created_at":"2024-09-24T20:31:25.017Z","updated_at":"2025-05-13T20:07:58.793Z","avatar_url":"https://github.com/jacklandrin.png","language":"Swift","readme":"![](https://badgen.net/github/release/jacklandrin/onlyswitch)![](https://img.shields.io/badge/UI-SwiftUI-green)   ![](https://img.shields.io/badge/Platform-Monterey-purple)  ![](https://img.shields.io/badge/License-MIT-orange)\n\u003cp align=\"left\"\u003e\n\u003cimg alt=\"AppIcon\" src=\"https://github.com/jacklandrin/OnlySwitch/blob/main/OnlySwitch/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png?raw=true\" width=\"128px\" align=\"center\" /\u003e\n\u003c/p\u003e\n\n# OnlySwitch\n\n***Menubar is smaller, you only need an All-in-One switch.***\n\n## Install by Homebrew\n\n```\nbrew install only-switch\n```\n## Manually Download\n[**Download the app**](https://github.com/jacklandrin/OnlySwitch/releases/latest/download/OnlySwitch.dmg)\n\n## Communities\nTelegram group: https://t.me/OnlySwitchforMac\n\nDiscord: https://discord.gg/UzSNpYdPZj\n\n## What's the OnlySwitch?\nOnlySwitch provides a series of toggle switches to simplify your routine work, such as Hidden desktop icons, dark mode, and hide notch of the new Macbook Pro. The switches show on your status bar, you can control them effortlessly. Switch and Shortcuts items can be customized (remove/add or sort) to show on the list. These functionalities even can be put on your desktop as Widgets.\n\nSince Version 1.7, **Shortcuts** can be imported into OnlySwitch.\n\nSince Version 2.0, supports **keyboard shortcuts**. You can control your all switches and Shortcuts with the keyboard.\n\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"Only Switch\" src=\"https://github.com/user-attachments/assets/40d94175-6487-4c59-b09e-2261ac5b8453\" width=\"80%\" align=\"center\" /\u003e\n\u003c/p\u003e\n\nSince Version 2.3.6, the Switches Availability (including Player and Hide Menu Bar Icons) is moved to System's menu bar.\n\n![](https://github.com/jacklandrin/OnlySwitch/assets/3782279/11c89e33-2007-4913-b320-47c188538b68)\n\nSince Version 2.5.0, OnlySwitch has started to support **Apple Widgets** (Sonoma and above).\n\nSince Version 2.5.4, OnlySwitch has Only Control appearance.\n\n## Shortcuts Gallery\n\nEveryone can contribute macOS Shortcuts for OnlySwitch now. Please read [How to contribute to Shortcuts Gallery](ShortcutsGalleryContributing.md). The shared Shortcuts will be displayed here:\n\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"Sits in the status bar\" src=\"https://github.com/jacklandrin/OnlySwitch/assets/3782279/a9d90eed-c540-4183-9332-396dce0f72d4\" width=\"70%\" align=\"center\" /\u003e\n\u003c/p\u003e\n\n## Switch list\n\n#### Native Switches:\n\n| Switch              | status          | Switch                   | status            |\n|:--------------------|-----------------|:-------------------------|:------------------|\n| Hide desktop        | finished        | Hide notch               | exist some issues |\n| Dark mode           | finished        | Low power mode           | require password  |\n| Screen Saver        | finished        | Show Finder Path Bar     | finished          |\n| Night Shift         | finished        | Mute mic                 | finished          |\n| Autohide Dock       | finished        | Small launchpad icon     | finished          |\n| Airpods             | finished        | Pomodoro timer           | finished          |\n| Bluetooth           | finished        | Show extension name      | finished          |\n| Xcode cache         | finished        | Show user library folder | finished          |\n| Autohide Menu Bar   | finished        | Mute                     | finished          |\n| Show hidden files   | finished        | Empty pasteboard         | finished          |\n| Radio Station       | finished        | Empty trash              | finished          |\n| Keep awake          | finished        | Show Recent Apps on Dock | finished          |\n| Spotify             | finished        | Apple Music              | finished          |\n| Screen Test \u0026 Clean | finished        | Hide Menu Bar Icons      | partly finished   |\n| FKey                | finished        | Back Noises              | finished          |\n| Dim Screen          | finished        | Eject Discs              | finished          |\n| Hide Windows        | partly finished | True Tone                | finished          |\n| Top Sticker         | partly finished | Key Light                | finished          |\n\nSince Version 1.3, switches can be added to or removed from the list.\n\n#### Shortcuts Gallery:\n\n| Shortcuts                        | Remark                                          | Shortcuts                        | Remark  |\n|----------------------------------|-------------------------------------------------|----------------------------------|:--------|\n| Toggle Scroll Direction          | Monteray                                        | Invert Scroll Direction(Ventura) | Ventura |\n| DarkMode Switch                  |                                                 | Network Details                  |         |\n| Split-Screen Apps                |                                                 | Passwords                        |         |\n| Google Translate                 |                                                 | IP Address Information           |         |\n| Autohide menu bar in full screen | Monteray                                        | Flush DNS Cache                  |         |\n| Do Not Disturb                   | Monteray or higher                              | Upcoming Events                  |         |\n| S-GPT                            | works with S-GPT Encoder, needs OpenAI API key  | S-GPT Encoder                    |         |\n\n#### Evolution Gallery:\n\n| Evolution           | Remark | Evolution          | Remark                  |\n|---------------------|--------|--------------------|:------------------------|\n| Stage Manager       |        | Update Software    | installed via App Store |\n| Hide desktop Widget | Sonoma | Hide Desktop Icons | Sonoma                  |\n| Clamshell           |        | Wifi Switch        |                         |\n\n\n\n## Shortcuts Actions\n\n| Actions             | status            |\n|---------------------|-------------------|\n| Get wallpaper image | exist some issues |\n| Get wallpaper url   | finished          |\n| Is dark mode        | finished          |\n| Set dark mode       | finished          |\n\n## Supported Languages 🇺🇳\nEnglish, Simplified Chinese, German, Croatian, Turkish, Polish, Filipino, Dutch, Italian, Russian, Spanish, Japanese, Somali, Korean, French, Ukrainian, Slovak, Portuguese (BR)\n\n## Welcome to pull requests for these\n\n* support other languages\n* fix bugs\n\nIf you have other good ideas 💡, feel free to send an E-mail to me.\n\n## Donate\nIf you like it, help support this app by giving me a cup of tea for me to keep coding.\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"Sits in the status bar\" src=\"https://github.com/user-attachments/assets/76347782-e84f-469d-b9bf-2dae89d61979\" width=\"20%\" align=\"medium\" title=\"Made by QRCobot\"/\u003e\n\u003c/p\u003e\n\n\n## Hiding new Macbook Notch \n\nThe Hide notch switch only shows on the built-in display of M1 Pro/Max Macbook Pro. The switch just controls the current desktop, not all work desktops.\nNow, the Hide notch switch supports dynamic wallpaper, just the processing takes a much longer time.\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"Sits in the status bar\" src=\"https://github.com/jacklandrin/OnlySwitch/assets/3782279/efddd8d3-edfe-4497-bea0-5051d27625ca\" width=\"60%\" align=\"center\" /\u003e\n\u003c/p\u003e\n\n## Only Widget\n\nOnly Switch supports Apple Widgets since version 2.5.0. The Widgets can be edited to any built-in switches and buttons. Clicking them will trigger the reflection of relevant switches and buttons. You can put Only Widgets anywhere, desktop or notification center.\n\nSince version 2.5.2, Only Widget supports Evolution.\n\n**NOTE:** After updating version 2.5.0, you might need to reset your language. If your widgets didn't follow your language settings, please kill Only Widget process, it will update.\n\n\u003cimg width=\"370\" alt=\"Only Widget\" src=\"https://github.com/jacklandrin/OnlySwitch/assets/3782279/0c1be202-9e5f-41dd-b62d-52d5a7147139\"\u003e\n\n## Evolution🔥\nEvolution has come following version 2.4, you can freely DIY the switches and buttons that you want. Currently, evolution supports **Shell** and **Apple Script**. They also can be invoked by hotkeys. Next, evolution will be able to be distributed by users as a shortcut utility platform.\n\nEvolution settings page is implemented with TCA.\nPS: Evolution feature needs macOS 13.0 and above.\n\n![](https://github.com/jacklandrin/OnlySwitch/assets/3782279/69131917-bfe0-4c54-8b38-d4aeb26f749a)\n\nEveryone can contribute Evolution for OnlySwitch since version 2.4.3. Please read [How to contribute to Evolution Gallery](EvolutionGalleryContributing.md). The shared Evolutions will be displayed here:\n\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"Sits in the status bar\" src=\"https://github.com/jacklandrin/OnlySwitch/assets/3782279/f3299ae0-0222-49a3-864a-80c6601bac6a\" width=\"70%\" align=\"center\" /\u003e\n\u003c/p\u003e\n\n\n### How to create an Evolution?\nSo far, Evolution offers two types, with Switch and Button. \n1. Button is very simple, when Run button is pressed, the script you added will be executed.\n2. Regarding Switch, there are four fields you can edit.\n* Check status: When OnlySwitch list appeared or some settings are changed, the switch status will be checked whether on or off. At this moment, the script of check status will be executed. You can press the debug button to output the result of this script.\n* True condition: You can input a true condition to define what is on or off for the switch status. If the true condition matches the output result, the status will be on, and vice versa.\n* Turn on: the script can change the status to on.\n* Turn off: the script can change the status to off.\n\nThe debug button can verify if your scripts are valid. Before you save evolution, all scripts must pass the test.\n\n## AirPods Switch \nI use `classOfDevice`(2360344) to check if a Bluetooth device is Airpods Pro, but I'm not sure whether other AirPods modules are also 2360344, since I only have two AirPods Pros. If you are using AirPods 1~3, please tell me what the `classOfDevice` is. Or I can detect the count of battery value to check if AirPods (when the count is 3, it's AirPods), like **AirPods Battery Monitor For MAC OS**.\n\n## Radio Player\nRadio Player supports m3u, and aac stream, but without sound wave effect. Please send me the crash log and stream URL if your Radio Player crashes. You can close the sound wave effect on the Radio setting, and that player is AVPlayer, more stable. In version 2.3.5, the radio play can be set to enable/disabled. If the function is disabled, the switch will be invisible in the list, and the radio player will be unregistered from Now Playing(But I don't know why there will be a little delay. It should be a problem by macOS).\n\nSince Version 2.3.11, the radio list can be exported and imported.\n\n## Low Power Mode\nLow Power Mode uses Terminal commands that require root access, so the app will ask you to enter the password on every toggle.\n\n## Screen Test \u0026 Clean\nIn Version 2.3, Only Switch brings a new feature, Screen Test. It provides a pure color view in full-screen mode, you can check dead pixels via it. Press the left and right arrow keys, the color will change from black, white, red, green, and blue. This functionality also can be used for screen cleaning, as you can see the stains on the screen.\n\n## Hide Menu Bar Icons\nThis feature is new in version 2.3.2. To be honest, Hidden and Dozer are both good apps for this function. Many users install OnlySwitch and them simultaneously, but this also squeezes the menu bar, which is already lacking in space. Therefore, the feature integrates into OnlySwitch.\n![](https://github.com/jacklandrin/OnlySwitch/assets/3782279/fdda284e-929f-400e-aba5-9c628f065de6)\nWhen the switch is on, items on the left of the split(arrow-pointing) icon are hidden. Hold ⌘ (command) and drag the icon to configure the hidden section. If you want to use it no longer, you can disable it in preferences, the split icon will disappear. You also can set the interval of autohide for it here. If your date on the menu bar is truncated when it's on, you can set this: System Preferences -\u003e Dock \u0026 Menu Bar -\u003e Clock -\u003e Show date -\u003e always.\n\nSince version 2.3.10, this switch can be controlled via right-click icons.\n\n## They talk about it\n\n|                                                                                                                                 |                                                                                                                                            |                                                                                                                                  |                                                                                                                        |\n|---------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------|\n| [itopnews.de](https://www.itopnews.de/?s=OnlySwitch)                                                                            | [Ifun.de](https://www.ifun.de/suche/OnlySwitch)                                                                                            | [appgefahren.de](https://www.appgefahren.de/onlyswitch-kleines-tool-mit-wichtigen-aktionen-fuer-die-mac-menueleiste-312135.html) | [CASCHYS BLOG](https://stadt-bremerhaven.de/only-switch-fuer-macos-schnellzugriff-auf-einige-systemoptionen/)          |\n| [softpedia](https://mac.softpedia.com/get/System-Utilities/OnlySwitch.shtml)                                                    | [macupdate](https://www.macupdate.com/app/mac/63719/onlyswitch)                                                                            | [v1tx](https://www.v1tx.com/post/onlyswitch/)                                                                                    | [OSCHINA](https://www.oschina.net/p/onlyswitch)                                                                        |\n| [Macken](https://www.macken.xyz/2021/12/gratis-ar-gott-alla-installningar-pa-ett-stalle-onlyswitch/)                            | [AAPL Ch](https://applech2.com/archives/20220111-onlyswitch-all-in-one-status-bar-button-for-mac.html)                                     | [appsofter](https://appsofter.com/download/1265.html)                                                                            | [lifehacker.ru](https://lifehacker.ru/onlyswitch)                                                                      |\n| [appletechnikblog](https://appletechnikblog.com/de/2022/02/25/app-tipp-der-woche-only-switch-fuer-die-menueleiste-auf-dem-mac/) | [All-in-One person](https://en.blog.themarfa.name/how-to-quickly-manage-macos-system-settings/)                                            | [Mac Gadget](https://www.macgadget.de/News/2022/03/24/OnlySwitch-Schnellzugriff-auf-viele-Systemfunktionen-per-Mac-Menueleiste)  | [MaxiApple](https://www.maxiapple.com/2022/05/onlyswitch-macos-mac-gratuit.html)                                       |\n| [insmac](https://insmac.org/macosx/5018-onlyswitch.html)                                                                        | [tchgdns](https://tchgdns.de/onlyswitch-macos-open-source/)                                                                                | [insmac](https://insmac.org/macosx/5018-onlyswitch.html)                                                                         | [macbff](https://macbff.com/onlyswitch-2-3-1/)                                                                         |\n| [korben](https://korben.info/controler-macos-onlyswitch.html)                                                                   | [macg](https://www.macg.co/logiciels/2023/03/onlyswitch-ajoute-une-pelletee-de-raccourcis-pratiques-votre-barre-des-menus-135357)          | [korben.info](https://korben.info/controler-macos-onlyswitch.html)                                                               | [AlternativeTo](https://alternativeto.net/software/only-switch)                                                        |\n| [macsoft.jp](https://macsoft.jp/onlyswitch/)                                                                                    | [macgeneration](https://www.macg.co/logiciels/2023/03/onlyswitch-ajoute-une-pelletee-de-raccourcis-pratiques-votre-barre-des-menus-135357) | [hdwh.de](https://hdwh.de/onlyswitch-vereinfacht-eure-routinearbeit-mit-praktischen-schaltern/)                                  | [MacKed](https://macked.app/onlyswitch.html)                                                                           |\n| [Mac Torrents](https://www.tntmactorrent.net/onlyswitch-for-mac-free-download/)                                                 | [PCtipp](https://www.pctipp.ch/praxis/mac/mac-tipp-onlyswitch-2-2892320.html)                                                              | [lifehacker](https://lifehacker.com/tech/change-hidden-mac-settings-with-onlyswitch)                                             | [PHAPLUAT](https://kynguyenso.plo.vn/su-dung-onlyswitch-de-tuy-chinh-tat-ca-cai-dat-may-mac-nhanh-hon-post776151.html) |\n| [Techgedöns](https://tchgdns.de/onlyswitch-menueleisten-multitool-bekommt-widgets-fuer-den-mac-desktop/)                        | [MacVince](https://www.youtube.com/watch?v=ARfBLKzRQY4\u0026t=41s)                                                                              |                                                                                                                                  |                                                                                                                        |\n\n\n## Reference\n\n* NightShift switch refers to [Nocturnal](https://github.com/joshjon/nocturnal)\n* [LaunchAtLogin](https://github.com/sindresorhus/LaunchAtLogin)\n* AirPods Battery refers to [AirPods Battery Monitor For MAC OS](https://github.com/mohamed-arradi/AirpodsBattery-Monitor-For-Mac)\n* Dynamic Wallpaper processing refer to https://itnext.io/macos-mojave-dynamic-wallpaper-fd26b0698223 and [wallpapper](https://github.com/mczachurski/wallpapper)\n* [AlertToast](https://github.com/elai950/AlertToast)\n* [AudioStreamer](https://github.com/syedhali/AudioStreamer) modified for live streaming\n* [AudioSpectrum](https://github.com/potato04/AudioSpectrum) modified for AppKit\n* [Alamofire](https://github.com/Alamofire/Alamofire)\n* Sound Source: [mixkit](https://mixkit.co) and [pixabay](https://pixabay.com)\n* [KeyboardShortcuts](https://github.com/sindresorhus/KeyboardShortcuts)\n* Apple Music \u0026 Spotify Switch refer to [SpotMenu](https://github.com/kmikiy/SpotMenu)\n* The idea of hiding menu bar icons from [Hidden](https://github.com/dwarvesf/hidden)\n* FKey refer to [Fluor](https://github.com/Pyroh/Fluor)\n* Hide Windows refer to [Later](https://github.com/alyssaxuu/later)\n* [The composable architecture](https://github.com/pointfreeco/swift-composable-architecture)\n* [Sparkle](https://github.com/sparkle-project/Sparkle)\n* True Tone refers to [Shifty](https://github.com/thompsonate/Shifty)\n* [swift-markdown-ui](https://github.com/gonzalezreal/swift-markdown-ui)\n* Key Light refers to [mac-brightnessctl](https://github.com/rakalex/mac-brightnessctl)\n\n## Contributors\n\n**Translation:**\n\n| Language | Contributor              | Language        | Contributor    |\n|----------|--------------------------|:----------------|:---------------|\n| German   | @C0d3Br3aker             | Italian         | @bellaposa     |\n| Croatian | @milotype                | Russian         | @kirillyakopov |\n| Turkish  | @berkbatuhans            | Spanish         | @kant          |\n| Polish   | @kpacholak               | Japanese        | @ShogoKoyama   |\n| Dutch    | Alex                     | Somali          | @abdorizak     |\n| Filipino | Rosel                    | Korean          | @iosdevted     |\n| French   | @BtKent and Ange Lefrère | Ukrainian       | @andryua       |\n| Slovak   | @Svec-Tomas              | Portuguese (BR) | @EvertonCa     |\n\n@wrngwrld for the volume slider of the radio player\n\n@kant for syntax issue \n\n\n## License\nMIT\n\n## Star History\n[![Star History Chart](https://api.star-history.com/svg?repos=jacklandrin/OnlySwitch\u0026type=Date)](https://star-history.com/#jacklandrin/OnlySwitch\u0026Date)\n","funding_links":["https://github.com/sponsors/jacklandrin"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacklandrin%2Fonlyswitch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacklandrin%2Fonlyswitch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacklandrin%2Fonlyswitch/lists"}