How to remove Skype icon from the menu bar?
All minimalists and perfectionists are welcome. Today we will make our life a bit easier by removing the Skype icon from the Mac OS menu bar. I am using a lot of messenger apps on my MacBook: Telegram, Signal, Slack, Upwork messages, sometimes Whatsapp, sometimes Viber, and Skype. They don't have an icon in the menu bar, but Skype does. And there isn't any option or setting to remove it. So today, we will smash that icon from our life! Welcome undercut.
How is it possible to remove the Skype icon from the menu bar? The answer is editing Skype source files. I should say this is not my invention. I have found this way on StackExchange. I have used the following command for a long time, but after maybe March 2022 updates, it stopped working.
LC_ALL=C sed -i '' -e "s/_initTray(){.\{7\}/_initTray(){return;/" -e "s/initTrayMenu(){.\{7\}/initTrayMenu(){return;/" /Applications/Skype.app/Contents/Resources/app.asar
Let me explain what the command does. It opens Skype files and replaces some code. Fortunately, Skype was written using some HTML/JS/CSS framework, and I guess it's Electron. So, you can easily open app files and edit JS code to change the app's behavior.
Let's edit the files manually to the disabled annoying Skype icon.
HEX editor
First, you need to have some HEX editor. I am using Hex Fiend, and you can download it from the official web page.
Skype updates
You got an editor, then the next step you should update Skype to the latest version. Each update will remove our code changes. So after the update, you have to edit Skype files to remove the icon. Maybe later, I'll make some automation for that, but for now, it's okay for me to edit source code sometimes.
Also, I recommend keeping the downloaded installer, or you can back up the original files. It could help to restore Skype if you broke something.
Close Skype
Some guys on StackExchange suggest running Skype at least once before editing source code files. Also, this is a good idea to check does Skype works before you start. Anyway, close Skype before editing it.
Edit files to remove the Skype icon
Run an editor and open file /Applications/Skype.app/Contents/Resources/app.asar. You will see something like the following image.
UPDATE 09.04.2023
Skype added multiple files for Intel or Apple Silicon processors systems. Approximately from version 8.95.0.408 you should edit file /Applications/Skype.app/Contents/Resources/app-x64.asar or /Applications/Skype.app/Contents/Resources/app-arm64.asar depending on your CPU type.
Now open Find & Replace menu and find the code:
_initTray(){this._tray=new
Replace it with the following one:
_initTray(){return;ray=new
After don't forget to save the file. Voila! We successfully remove the Skype icon from the menu bar.
Explanation
This code is the beginning of the _initTray functions, which is responsible for creating an icon in the menu bar, handling clicks on it, etc. To disable the icon, we need to change the body of the _initTray function.
The best way to disable executing code is to put a return statement in the first line of the function. However, if you add return in the first line, it breaks Skype. I guess that happens because the file length changed in case of adding new code. The solution is to replace the current code with a new one with the same length.
I hope this article was helpful to you. Ask questions in the comments section below if something is unclear for you.
By the way, I posted why port 5000 is already in use on Mac OS some time ago. Maybe you are interested.
Subscribe to my newsletter
Read articles from Ivan Karabadzhak directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Ivan Karabadzhak
Ivan Karabadzhak
Want to become wealthy by CODING ๐ Fan of Remote Work โ๏ธ Was Freelancer for 12 years ๐ป Build AI Telegram Bot: https://chatty-robo.help