SkillAgentSearch skills...

VesktopCustomCommands

VCC is a system that allows you to add a mute and deafen global shortcut to Vesktop, it is a workaround to the lack of global shortcuts in Vesktop for now and until a better solution is found by the Vesktop team.

Install / Use

/learn @NitramO-YT/VesktopCustomCommands
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

🇫🇷 Français 🇪🇸 Español 🇩🇪 Deutsch 🇮🇹 Italiano 🇷🇺 Русский 🇯🇵 日本語 🇨🇳 中文 🇰🇷 한국어

Introduction to vesktopCustomCommands (VCC)

VCC is a system that allows you to add a mute and deafen global shortcut to Vesktop, it is a workaround to the lack of global shortcuts in Vesktop for now and until a better solution is found by the Vesktop team. It's basically a set of scripts (mute.sh & deafen.sh) that you can call from a custom global shortcut in your system to mute and deafen yourself in Vesktop, and it triggers theses actions in Vesktop by injecting a custom Javascript code in the Vencord main file.

Shortcuts configuration in your system

You need to configure a custom global shortcut in your system to call the scripts mute.sh and deafen.sh in ~/.vesktopCustomCommands/ folder.

~/.vesktopCustomCommands/mute.sh
~/.vesktopCustomCommands/deafen.sh

Installation

Automatic installation

Run this command in your terminal and follow the instructions:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/NitramO-YT/vesktopCustomCommands/refs/heads/main/install.sh)"

Note: If a config file already exists at ~/.vesktopCustomCommands/.config, the installer preserves it and only updates the vencord_path entry if necessary.

Optional: Automatic repatch

During installation, you can enable an automatic repatch system that periodically checks whether the VCC patch is still present in the Vencord main file and re-applies it if it has been removed (e.g. after an update or a reset of Vencord/Vesktop).

  • Why is it needed? Vesktop/Vencord updates or certain startup scenarios can restore the main file to its original state, removing the VCC injection. The auto-repatch ensures your shortcuts keep working without manual intervention.

  • Settings are stored in ~/.vesktopCustomCommands/.config:

    • auto_repatch="true|false" (default: false)
    • auto_restart="true|false" (default: false) – if enabled, Vesktop will be automatically restarted after a repatch. You can toggle this later with the commands below.
    • autorepatch_interval="30s|1m|3m" (default: 30s) – interval of checks.
    • A user systemd timer runs at the chosen interval when auto_repatch is enabled.
    • To enable auto-repatch :
    bash -c "$(curl -fsSL https://raw.githubusercontent.com/NitramO-YT/vesktopCustomCommands/refs/heads/main/dist/vesktopCustomCommands/enable_autorepatch.sh)"
    
    • To disable auto-repatch :
    bash -c "$(curl -fsSL https://raw.githubusercontent.com/NitramO-YT/vesktopCustomCommands/refs/heads/main/dist/vesktopCustomCommands/disable_autorepatch.sh)"
    
    • To enable auto-restart (after repatch):
    bash -c "$(curl -fsSL https://raw.githubusercontent.com/NitramO-YT/vesktopCustomCommands/refs/heads/main/dist/vesktopCustomCommands/enable_autorestart.sh)"
    
    • To disable auto-restart:
    bash -c "$(curl -fsSL https://raw.githubusercontent.com/NitramO-YT/vesktopCustomCommands/refs/heads/main/dist/vesktopCustomCommands/disable_autorestart.sh)"
    

Manual configuration: edit ~/.vesktopCustomCommands/.config and set auto_repatch and auto_restart. You can also set autorepatch_interval to "30s", "1m" or "3m". If you disable it manually, the timer will be stopped on the next install run, or run the disable script above.

Optional: Automatic update

You can enable an automatic update system that periodically checks if a newer version is available on GitHub and updates the necessary files (custom code for Vencord and local scripts like mute.sh and deafen.sh).

  • Settings in ~/.vesktopCustomCommands/.config:
    • auto_update="true|false" (default: false)
    • auto_update_interval (default: 15m) – the timer runs at autorepatch_interval if auto-repatch is enabled, otherwise at auto_update_interval if only auto-update is enabled.
  • To enable auto-update :
    bash -c "$(curl -fsSL https://raw.githubusercontent.com/NitramO-YT/vesktopCustomCommands/refs/heads/main/dist/vesktopCustomCommands/enable_autoupdate.sh)"
    
  • To disable auto-update :
    bash -c "$(curl -fsSL https://raw.githubusercontent.com/NitramO-YT/vesktopCustomCommands/refs/heads/main/dist/vesktopCustomCommands/disable_autoupdate.sh)"
    

Manual installation

  1. Download the dist folder from the repository or its content.
  2. dist is separated in two parts:
    • vencord folder contains the files to inject in the Vencord main file.
    • vesktopCustomCommands folder contains the scripts to mute/deafen and the .config file.
  3. You can make a backup of your Vencord main file (usually located in ~/.config/Vencord/dist/vencordDesktopMain.js so cp ~/.config/Vencord/dist/vencordDesktopMain.js ~/.config/Vencord/dist/vencordDesktopMain.js.bak) or not, if you want to restore it later you can delete the file and start Vesktop to recreate it.
  4. Inject the content of vencordDesktopMain_sample.js in your Vencord main file (usually located in ~/.config/Vencord/dist/vencordDesktopMain.js):
    • Insert the entire content of vencordDesktopMain_sample.js just before the line //# sourceURL= at the end of the file.
  5. Make a dir vesktopCustomCommands in your Vencord path (usually located in ~/.config/Vencord/dist/) and put the file customCode.js in it.
  6. Make a dir ~/.vesktopCustomCommands and put the files mute.sh and deafen.sh in it.
  7. Add permissions to the scripts mute.sh and deafen.sh:
    chmod +x ~/.vesktopCustomCommands/mute.sh
    chmod +x ~/.vesktopCustomCommands/deafen.sh
    
  8. Put the .config file in ~/.vesktopCustomCommands and update the vencord_path variable with your Vencord path if needed.
  9. Restart Vesktop to apply the changes.
  10. Configure a custom global shortcut in your system to call the scripts mute.sh and deafen.sh in ~/.vesktopCustomCommands/ folder.
    • mute.sh to mute yourself. ~/.vesktopCustomCommands/mute.sh
    • deafen.sh to deafen yourself. ~/.vesktopCustomCommands/deafen.sh
  11. Enjoy your new global shortcuts to mute and deafen yourself!

Uninstallation

Automatic uninstallation

Run this command in your terminal and follow the instructions:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/NitramO-YT/vesktopCustomCommands/refs/heads/main/uninstall.sh)"

During uninstallation, you'll be asked whether you want to remove EVERYTHING, including your settings (~/.vesktopCustomCommands/.config).

  • Answer "y": all files and settings are removed.
  • Answer "n": only program files are removed; your .config is preserved.

If settings are removed, the auto-repatch service/timer and helper scripts are also removed. If you refuse automatic uninstallation, follow the manual uninstallation steps below (the same instructions are also echoed by the script).

Manual uninstallation

  1. Remove the custom global shortcuts in your system that call the scripts mute.sh and deafen.sh in ~/.vesktopCustomCommands/ folder.
  2. Remove the .config file in ~/.vesktopCustomCommands.
  3. Remove the ~/.vesktopCustomCommands folder.
  4. Remove the customCode.js file in your Vencord path ~/.config/Vencord/dist/vesktopCustomCommands/.
  5. Remove the vesktopCustomCommands folder in your Vencord path ~/.config/Vencord/dist/.
  6. Remove the injected code in your Vencord main file (usually located in ~/.config/Vencord/dist/vencordDesktopMain.js) or replace it with the backup you made if you did. (You can also delete the file and start Vesktop to recreate it).
  7. Restart Vesktop to apply the changes.

Issues and improvements

If you have any issues or improvements to suggest, please open an issue!

Contributions

I know that this system is not perfect and that I have not respected all the standards and semantics, that's why I'm counting on those who would like to help me improve this system, issues and pull requests are open, and I am open to any constructive criticism!


Explanation of the main goal of this project

I was a user used to KDE Neon under X11 and so my Discord worked well, overall, and recently I switched to KDE Neon under Wayland and I discovered that Discord had a lot of problems on it, especially screen sharing was impossible for me, so looking to solve my problems with Discord, I discovered Vesktop and by extension Vencord, and I discovered all the problems it solved and even some that I already had under X11 (like the pure and simple absence of the possibility to share sound during a screen sharing), I installed it and everything was perfect, except for a small detail, the lack of support for Global Keyboard Shortcuts, the only possibility was the default Discord shortcuts (Ctrl + Shift + M and Ctrl + Shift + D) which only work if the window is active, so I started looking for shortcuts in Vesktop and I could see and read that the problem is known but the solution is still far from being found, especially on Wayland which seems to complicate the life of developers who are looking to make global keyboard shortcuts, so I thought I would give up on it, but like any

View on GitHub
GitHub Stars14
CategoryDevelopment
Updated2d ago
Forks1

Languages

Shell

Security Score

75/100

Audited on Apr 5, 2026

No findings