Yet another Discord overlay for Linux written in Python using GTK3.
Discover-Overlay is a GTK3 overlay written in Python3. It can be configured to show who is currently talking on discord or it can be set to display text and images from a preconfigured channel. It is fully customisable and can be configured to display anywhere on the screen. We fully support X11 and wlroots based environments. We felt the need to make this project due to the shortcomings in support on Linux by the official discord client.
Considerably lighter on system resources and less hack-and-slash included than discord-overlay.
For instructions on using Discord see our User website
Got a question about development or a feature request? Join our Discord! or open an issue on GitHub
Visit our Flathub page or install via commandline
flatpak install io.github.trigg.discover_overlay
python3 -m pip install discover-overlay
git clone https://github.com/trigg/Discover.git
cd Discover
python3 -m pip install .
Note that while we list links to other locations to download, the version provided is unknown and often untested by us. Report bugs in these implementations to their respective project, not here.
sudo yum copr enable mavit/discover-overlay
sudo yum install discover-overlay
sudo eselect repository enable guru
sudo emaint -r guru sync
sudo emerge net-voip/discover-overlay
Most requirements should be handled by pip.
A compositor is strongly advised but there is a non-compositor mode optionally
It is advised to install python-gobject from your system's own package manager.
apt install python3-gi
pacman -S python-gobject libappindicator-gtk3
with Wayland support
pacman -S gtk-layer-shell
Run discover-overlay
if this fails it is most likely in ~/.local/bin/discover-overlay
Comes with sane-enough default but has a configuration screen to tweak to your own use. Configuration can be reached either via System tray or by running discover-overlay --configure
Due to a security feature of Flatpak we cannot currently detect an already-running process. Any call to io.github.trigg.discover_overlay
will start a new overlay unless you also include --rpc
.
Examples:
-
Start a new overlay and show configuration window
io.github.trigg.discover_overlay --configure
-
Show configuration window of already running overlay
io.github.trigg.discover_overlay --rpc --configure
If you are trying to debug on VS Code you are likely to get the following message:
/usr/bin/python3: No module named discover_overlay.__main__; 'discover_overlay' is a package and cannot be directly executed
To get around this, copy the main file created by discover-overlay with cp $(which discover-overlay) /path/to/Discover/discover_overlay/__main__.py
in all cases XX
should be replaced with the language code, in case of English en
, Spanish es
so on as per ISO-639-1
First, find out what language code is required Copy discover_overlay/locales/base.pot to discover_overlay/locales/XX/LC_MESSAGES/default.po
Change all lines starting with msgstr
to contain the translated message in provided quotes, the line above should be a msgid
which has the original word, sentence or fragment.
gettext
requires the .po
files to be compiled into .mo
before it can be used. Once a .po
file is changed it can be compiled with
msgfmt -o discover_overlay/locales/XX/LC_MESSAGES/default.mo discover_overlay/locales/XX/LC_MESSAGES/default.po
We welcome pull requests and bug reports about missing or wrong translations, but don't have the resources to get it all right. Please be patient with us and alert us if any translations are wildly inaccurate.
Once you've used _('something')
in code somewhere the original base.pot
and all translations need updating to include the new phrase.
xgettext -d base -o discover_overlay/locales/base.pot discover_overlay/*.py
and double check the line "Content-Type: text/plain; charset=UTF-8\n"
and change from CHARSET
if it has changed again
I feel like I shouldn't have to at all! Until we get an official one I might just create a new one every few months. Look forward to Rust/Vulkan version coming in a few months. /s
Generally, no.