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.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *