trigg / discordoverlaylinux Goto Github PK
View Code? Open in Web Editor NEWA QT/X11 based Discord overlay
Home Page: https://github.com/trigg/DiscordOverlayLinux
License: Other
A QT/X11 based Discord overlay
Home Page: https://github.com/trigg/DiscordOverlayLinux
License: Other
Currently I'm running the overlay from the terminal. It would be great if I could kill it with Ctrl-C rather than having to find it in my process list and kill it from a separate terminal.
Setting manager might be useful to return to, especially as it allows changing overlay in real time.
Currently users are having to run the script manually. Lets make this easier for those who might not have the know-how. Happy for this to be assigned to me
When adding a new overlay, you get a warning message telling you to use lower case letters.
I like capitals.
hey @trigg, thanks for the work on this nifty little overlay.
If it is technically possible, it would be great if this could include the status of one's own microphone (muted / unmuted)?
When playing a game in full-screen desktop environments like gnome disable compositing to significantly reduce input latency and allow for mixed refresh-rate setups to properly make use of a high refresh-rate monitor. When using this overlay compositing stays enabled in games like Team Fortress 2 causing a 60hz refresh rate and stuttering.
This is using X11. Unsure if this is fixable or not.
I tried to install the overlay but sadly it doesn't work, in terminal I have an error it is
"ERROR: Could not find a version that satisfies the requirement PyQtWebEngine (from versions: none)"
"ERROR: No matching distribution found for PyQtWebEngine"
A way of the script knowing when you move channel would be useful!
File "<string>", line 1, in <module>
File "/usr/lib/python3.6/tokenize.py", line 452, in open
buffer = _builtin_open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-build-hfgbj4k8/PyQt5/setup.py'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-hfgbj4k8/PyQt5/
how should i fix this?
The overlay gods demand a better overlay.
Hello,
Just tried your script on Lightdm (XFCE on Ubuntu 18.04) but when transparency (also called "compositing" sometimes) is disabled you just get a fullscreen black area and no way to quit it.
I had to kill the script from another tty...
If composing is disabled, the app should fail to run with an error message.
Thanks!
Startup:
2020-05-19 20:15:23,901 WARNING Chose screen 'DVI-D-0' as fallback because 'None' could not be matched
Crash:
js: Uncaught (in promise) Error: Unable to generate an invite for null. Does this user have permissions?
malloc_consolidate(): invalid chunk size
Aborted
Using Kwin on X11, Debian testing
A better icon is needed. Also an icon for .desktop use wouldn't go amiss. This should be added to the 1.0 milestone goal and we can fight about who needs to design one later (bagsy not me)
Hello! I would like to request, if it's no biggie, a simple section for screenshots of the overlay running in a few scenarios as listed in the window managers it currently runs in, for ease and clarity sake.
Thank you for the consideration!
It might be useful to lay down some milestones on Github. A feature request label also wouldn't go amiss.
Unsure how tricky this one will be to implement... Ideally the script should detect when a user has left the server to join a new one.
Desired outcome should either -
A) Ask user if they want to change the script to display their current server,
B) Auto change server and display the users current channel
Personally I think B is preferable
I think one feature needed is the option to set multiple different style+position presets and quick-switch between them.
First hurdle will be moving the URL into the config file.
Secondly configuration options & windows might need re-jigging to represent what is happening.
Third, either the drop-down menu or keybinds are needed to choose to change (or both?)
App currently asks for configuration every time it is started. Info is being saved in the config files from the first run, but not being fetched for concurrent runs
Add a JS tweak to grab join and leave events and display:none the html element until the user rejoins
This alongside multi-overlay options will allow a low-invasive option for following users across rooms
I am using Xfce4 for my desktop environment running on ArchLinux. I installed this through the AUR, and when I run it, it gives me a single error, creates an icon on the top right, and then execution appears to stop. Trying to force it to stop does nothing, and I have to manually close it with something like htop for it to close.
WARNING Chose screen 'HDMI2' as fallback because 'None'
Running Pop!_OS 20.04 with GNOME 3 on an AMD GPU system. The software installed without a hitch and I am able to configure the overlay, but it does not appear anywhere on my screen. When I toggle 'Enable' on and off, I see a brief flicker in the shape of a rectangle in top left corner, where the overlay should be.
I also have KDE Plasma installed on my pc, and the issue persists regardless of which DE I am using.
Sorry if this is a duplicate issue, first time using GitHub.
Hello, there is now an overlay in the AUR maintained by dangersalad:
Four unlabeled sliders are not intuitive.
They indicate how much padding to add on each side of the window in the following order:
This is only slightly mitigated by the fact that if you choose an overlay before using it you can see the effect of sliders in real time.
I'm not certain if I'm just overlooking it or it's simply been removed, but I was wondering if this would provide the actual URL that we could add as a browser source to OBS.
As of the newest version, the actual Overlay no longer appears on KDE Plasma. The UI app still works fine but obviously it's useless without the Overlay :P
It worked okay with the last version, when loading it gave what looked like a quick flash in the corner of my screen but then vanished. This comment says they have their compositor disabled with the same issue, mine is enabled, so that's not the issue.
Only error in terminal is this:
qt.qpa.xcb: QXcbConnection: XCB error: 5 (BadAtom), sequence: 721, resource id: 0, major code: 20 (GetProperty), minor code: 0
It would be great if there was a way to bring up the config window after the first start. For example by using a keybind or a separate "Discord Overlay Configuration" script.
Tinkering with the raw config file every time you wanna make a small change is just not at all user-friendly
For those who have a chat set as their overlay, a combination of configurable keyboard shortcuts could be used to enable the user to type in the chat
I tried downloading the overlay but I got this
ERROR: Could not find a version that satisfies the requirement PyQtWebEngine (from versions: none)
ERROR: No matching distribution found for PyQtWebEngine
when using python -m pip install PyQtWebEngine
.
So I contacted the creator on Reddit and he/she said to use
sudo pip3 install --upgrade pip && sudo pip3 install PyQt5
.
That was successful but i got and error that said
WARNING: The directory '/home/gurragg/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
So I finally used sudo apt install python3-pyqt5 python3-pyqt5 python3-pyqt5.qtwebengine
And it was also successful but with no errors this time. But the problem is that when using discord-overlay
it won't start and I cant seem to find the application anywhere. I am using Ubuntu 18.04
Am on KDE. Distro is Arch.
./.local/bin/discord-overlay
returns
Traceback (most recent call last):
File "./.local/bin/discord-overlay", line 33, in
sys.exit(load_entry_point('discordoverlaylinux==0.0.1', 'console_scripts', 'discord-overlay')())
File "./.local/bin/discord-overlay", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.8/importlib/metadata.py", line 77, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 961, in _find_and_load_unlocked
File "", line 219, in _call_with_frames_removed
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 783, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/dexy/.local/lib/python3.8/site-packages/discord_overlay/init.py", line 1, in
from .discord_overlay import *
File "/home/dexy/.local/lib/python3.8/site-packages/discord_overlay/discord_overlay.py", line 21, in
from PyQt5.QtWebEngineWidgets import QWebEngineView
ImportError: /usr/lib/python3.8/site-packages/PyQt5/Qt/lib/libQt5WebEngineCore.so.5: undefined symbol: _ZNSt12out_of_rangeC1EPKc, version Qt_5
Am pretty new to Linux and this is my first bug report. Maybe I'm just doing something wrong.
Hardware: 2070super/R5 3600
The packages qtwebengine
and python-pyx
are not included in the Debian Repositorys, please change that.
qtwebengine -> python3-pyqt5.qtwebengine
python-pyx -> ? (maybe python3-pyx
, but I am not quite sure)
It should now look like the following:
Ubuntu/Debian:
sudo apt install python3-pyqt5 python3-pyqt5 python3-pyqt5.qtwebengine
I love this overlay, thank you so much for this!
But: I have 2 monitors and I'd like to choose which monitor the overlay goes to. It seems to always pick the primary one, but I usually play on my secondary :-X
When attempting to create a new overlay no error is shown if overlay contains symbols, numbers, or spaces
When I configured the overlay wrong in the first setup, I cannot open the settings window anymore. Is there a way to show the settings window again and/or reset the configuration.
Currently it's only possible to disable an unneeded overlay, not delete it.
Ideally the relevant section will need to be removed from config at the time too
When changing channel settings in the Layout option for one overlay, it changes the channel for other overlays as well.
Hi there
Having trouble running this on Ubuntu 20.04.1.
Running:
~/.local/bin$ ./discord-overlay Traceback (most recent call last): File "./discord-overlay", line 5, in from discord_overlay.discord_overlay import entrypoint File "/home/master/.local/lib/python3.8/site-packages/discord_overlay/__init__.py", line 1, in from .discord_overlay import * File "/home/master/.local/lib/python3.8/site-packages/discord_overlay/discord_overlay.py", line 21, in from PyQt5.QtWebEngineWidgets import QWebEngineView ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets'
First time I installed there was something about incompatible pyqt versions:
$python -m pip install . Processing /home/master/Programs/DiscordOverlayLinux Requirement already satisfied: PyQt5 in /usr/lib/python3/dist-packages (from discordoverlaylinux==0.0.1) (5.14.1) Collecting PyQt5-sip Downloading PyQt5_sip-12.8.0-cp38-cp38-manylinux1_x86_64.whl (293 kB) |████████████████████████████████| 293 kB 1.3 MB/s Collecting PyQtWebEngine Downloading PyQtWebEngine-5.15.0-5.15.0-cp35.cp36.cp37.cp38-abi3-manylinux2014_x86_64.whl (65.9 MB) |████████████████████████████████| 65.9 MB 9.5 MB/s Collecting pyxdg Downloading pyxdg-0.26-py2.py3-none-any.whl (40 kB) |████████████████████████████████| 40 kB 3.4 MB/s Building wheels for collected packages: discordoverlaylinux Building wheel for discordoverlaylinux (setup.py) ... done Created wheel for discordoverlaylinux: filename=discordoverlaylinux-0.0.1-py3-none-any.whl size=17461 sha256=446a31a9b433e0ed76e41da21d3e806f54edc13138c8975a714ba323fb08a832 Stored in directory: /tmp/pip-ephem-wheel-cache-569r8mhj/wheels/55/77/22/a5bc3392d5b09ee4e66fac207b732bc35871be1dcb959706cd Successfully built discordoverlaylinux ERROR: pyqtwebengine 5.15.0 has requirement PyQt5>=5.15, but you'll have pyqt5 5.14.1 which is incompatible. Installing collected packages: PyQt5-sip, PyQtWebEngine, pyxdg, discordoverlaylinux WARNING: The script discord-overlay is installed in '/home/master/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed PyQt5-sip-12.8.0 PyQtWebEngine-5.15.0 discordoverlaylinux-0.0.1 pyxdg-0.26
Second time I installed:
$python -m pip install . Processing /home/master/Programs/DiscordOverlayLinux Requirement already satisfied: PyQt5 in /usr/lib/python3/dist-packages (from discordoverlaylinux==0.0.1) (5.14.1) Requirement already satisfied: PyQt5-sip in /home/master/.local/lib/python3.8/site-packages (from discordoverlaylinux==0.0.1) (12.8.0) Requirement already satisfied: PyQtWebEngine in /home/master/.local/lib/python3.8/site-packages (from discordoverlaylinux==0.0.1) (5.15.0) Requirement already satisfied: pyxdg in /home/master/.local/lib/python3.8/site-packages (from discordoverlaylinux==0.0.1) (0.26) Building wheels for collected packages: discordoverlaylinux Building wheel for discordoverlaylinux (setup.py) ... done Created wheel for discordoverlaylinux: filename=discordoverlaylinux-0.0.1-py3-none-any.whl size=17461 sha256=b9809e00384756d3f8c37336de7a9e9d7d1867af09f72cee375699a95f5e0d43 Stored in directory: /tmp/pip-ephem-wheel-cache-m2z9xz_i/wheels/55/77/22/a5bc3392d5b09ee4e66fac207b732bc35871be1dcb959706cd Successfully built discordoverlaylinux Installing collected packages: discordoverlaylinux Attempting uninstall: discordoverlaylinux Found existing installation: discordoverlaylinux 0.0.1 Uninstalling discordoverlaylinux-0.0.1: Successfully uninstalled discordoverlaylinux-0.0.1 WARNING: The script discord-overlay is installed in '/home/master/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed discordoverlaylinux-0.0.1
Let me know how else I can help.
Currently, the only way of closing the overlay i can see is killing the process via terminal.
Something like a dedicated keybind would be way better.
Hi,
This seems to be a super useful app, but aside from the fact I can't move it to the very top left of my screen I have to manually choose which VC to join for the overlay to appear. It would be useful if the overlay just appeared for all VC's when you join them.
thanks
When adding a new overlay, it should automatically drop you in the Layout configuration window. When you hit save on this window, it should ask you if you want to use a previous position and copy that across. Or, upon hitting save on the Layout, it passes you to the position window with the option of using a previous position in that window.
Hey there,
Since Discord doesnt have overlay support for linux, It would be cool if this overlay had an auto choose option:
It shows the current Voice or Text channel you are in, without having to manually set it.
Thanks!
There seem to be issues when trying to install on Ubuntu etc. I don't think pip is grabbing the correct dependencies
Originally posted by @alx365 in #30 (comment)
when trying to execute the binary that is in there, i get this error:
raceback (most recent call last):
File "/home/legendofmiracles/.local/bin/discord-overlay", line 5, in <module>
from discord_overlay.discord_overlay import entrypoint
File "/home/legendofmiracles/.local/lib/python3.8/site-packages/discord_overlay/__init__.py", line 1, in <module>
from .discord_overlay import *
File "/home/legendofmiracles/.local/lib/python3.8/site-packages/discord_overlay/discord_overlay.py", line 21, in <module>
from PyQt5.QtWebEngineWidgets import QWebEngineView
ImportError: /home/legendofmiracles/.local/lib/python3.8/site-packages/PyQt5/Qt/lib/libQt5WebEngineCore.so.5: undefined symbol: _ZNSt12out_of_rangeC1EPKc, version Qt_5
Give the people want they want. Version numbers!
Using gnome 3.36.2, no menu icon has appeared
An optional header to voice channels would be nice so a user knows where they are without switching out to main app
Please consider taking a screenshot of this in use and uploading it as an image in this bug report.
Thank you!
So i wanted to test this out, but always when i try to execute the binary, it returns this error:
❯ python ~/.local/bin/discord-overlay
Traceback (most recent call last):
File "/home/legendofmiracles/.local/bin/discord-overlay", line 5, in <module>
from discord_overlay.discord_overlay import *
File "/home/legendofmiracles/.local/lib/python3.8/site-packages/discord_overlay/__init__.py", line 1, in <module>
from .discord_overlay import *
File "/home/legendofmiracles/.local/lib/python3.8/site-packages/discord_overlay/discord_overlay.py", line 21, in <module>
from PyQt5.QtWebEngineWidgets import QWebEngineView
ImportError: /home/legendofmiracles/.local/lib/python3.8/site-packages/PyQt5/Qt/lib/libQt5WebEngineCore.so.5: undefined symbol: _ZNSt12out_of_rangeC1EPKc, version Qt_5
i have found a similar error on the arch forums: https://bbs.archlinux.org/viewtopic.php?id=198691
and also a very similar on on this github issue: mu-editor/mu#575
my python version:
❯ python --version
Python 3.8.3
❯ pip --version
pip 20.0.2 from /usr/lib/python3.8/site-packages/pip (python 3.8)
and my installed packages in pip:
❯ pip list
Package Version Location
---------------------- ----------- --------------------------------
absl-py 0.9.0
aiohttp 3.6.2
Airshare 0.1.2
altgraph 0.17
apparmor 2.13.4
appdirs 1.4.4
application-utility 1.3.2
asn1crypto 1.3.0
astroid 2.3.3
astunparse 1.6.3
async-timeout 3.0.1
asyncio 3.4.3
attrs 19.3.0
autopep8 1.5.1
awscli 1.18.67
bauh 0.9.4
bcrypt 3.1.7
beautifulsoup4 4.8.2
boto 2.49.0
boto3 1.13.16
botocore 1.16.16
Brlapi 0.7.0
bs4 0.0.1
btrfsutil 1.2.0
CacheControl 0.12.6
cached-property 1.5.1
cachetools 4.1.0
ceph-volume 1.0.0
cephfs 2.0.0
cephfs-shell 0.0.1
certifi 2020.4.5.1
cffi 1.13.2
chardet 3.0.4
cheat 2.5.1
Click 7.0
colorama 0.4.3
contextlib2 0.6.0.post1
cryptography 2.8
cupshelpers 1.0
cycler 0.10.0
decorator 4.4.2
discordoverlaylinux 0.0.1
distlib 0.3.0
distro 1.5.0
dnd-tools 0.1.5
docker 4.2.1
docker-compose 1.25.5
docker-pycreds 0.4.0
dockerpty 0.4.1
docopt 0.6.2
docutils 0.15.2
evdev 1.3.0
Flask 1.1.1
future 0.18.2
gast 0.3.3
gitdb 4.0.5
GitPython 3.1.2
glitch-this 0.1.5
google-auth 1.14.0
google-auth-oauthlib 0.4.1
google-pasta 0.2.0
gpg 1.13.1
greenlet 0.4.15
grpcio 1.28.1
h5py 2.10.0
html5lib 1.0.1
humanize 2.4.0
idna 2.9
ifaddr 0.1.6
imageio 2.8.0
importlib-metadata 1.6.0
iotop 0.6
iso8601 0.1.12
isort 4.3.21
itsdangerous 1.1.0
Jinja2 2.10.3
jmespath 0.10.0
joblib 0.14.1
jsonschema 3.2.0
Keras 2.3.1
Keras-Applications 1.0.8
Keras-Preprocessing 1.1.0
keylogger 2.7.3
keyutils 0.6
kiwisolver 1.1.0
lazy-object-proxy 1.4.3
lensfun 0.3.95
LibAppArmor 2.13.4
libvirt-python 6.4.0
louis 3.14.0
lutris 0.5.6
lxml 4.5.1
Markdown 3.2.1
MarkupSafe 1.1.1
matplotlib 3.2.0
mccabe 0.6.1
minigalaxy 0.9.4
more-itertools 8.2.0
msgpack 1.0.0
multidict 4.7.5
mwparserfromhell 0.5.4
neovim 0.3.1
networkx 2.4
npyscreen 4.10.5
numpy 1.18.1
oauthlib 3.1.0
opt-einsum 3.2.1
ordered-set 3.1.1
packaging 20.4
pacman-mirrors 4.16.4
paramiko 2.7.1
path-and-address 2.0.1
pep517 0.8.2
Phyme 0.0.9
Pillow 6.2.1
pip 20.0.2
playx 1.5.2 /usr/lib/python3.8/site-packages
pluggy 0.13.1
ply 3.11
pngminifier 1.0.4
powerline-status 2.8.dev9999
progress 1.5
protobuf 3.11.3
psutil 5.7.0
pwquality 1.4.2
py 1.8.1
pyaml 20.4.0
pyasn1 0.4.8
pyasn1-modules 0.2.8
pycairo 1.19.1
pycodestyle 2.5.0
pycparser 2.19
pycryptodome 3.9.7
pycups 2.0.1
pycurl 7.43.0.4
Pygments 2.6.1
PyGObject 3.36.1
pyinstall 0.1.4
PyInstaller 3.6
pylint 2.4.4
PyNaCl 1.3.0
pynvim 0.4.1
pyOpenSSL 19.1.0
pyparsing 2.4.7
pyperclip 1.8.0
PyQt-builder 1.4.0
PyQt5 5.15.0
PyQt5-sip 12.8.0
PyQtWebEngine 5.15.0
pyrsistent 0.16.0
pyserial 3.4
PySide2 5.15.0
pysmbc 1.0.20
PySocks 1.7.1
pyte 0.8.0
pytest 5.4.1
python-dateutil 2.8.1
pytoml 0.1.21
pytransloadit 0.1.10
pyusb 1.0.2
PyWavelets 1.1.1
pyxdg 0.26
pyxelate 1.1.2
PyYAML 5.3.1
rados 2.0.0
rbd 2.0.0
reportlab 3.5.42
requests 2.23.0
requests-oauthlib 1.3.0
requests-toolbelt 0.9.1
retrying 1.3.3
rgw 2.0.0
rpm 4.15.1
rsa 4.0
s3transfer 0.3.3
scikit-image 0.16.2
scikit-learn 0.22.1
scipy 1.4.1
selenium 3.141.0
serial 0.0.97
setuptools 47.1.1
shiboken2 5.15.0
sip 4.19.22
six 1.15.0
smmap 3.0.4
soupsieve 1.9.5
systemd-python 234
team 1.0
tensorboard 2.2.1
tensorboard-plugin-wit 1.6.0.post3
tensorflow 2.2.0rc4
tensorflow-estimator 2.2.0
termcolor 1.1.0
texttable 1.6.2
thefuck 3.30
tinydb 4.1.1
toml 0.10.1
torbrowser-launcher 0.3.2
tqdm 4.46.0
tuspy 0.2.4
udiskie 2.2.0
ufw 0.36
urllib3 1.25.9
wcwidth 0.1.9
webencodings 0.5.1
websocket-client 0.57.0
Werkzeug 0.16.0
wheel 0.34.2
wordcloud 1.7.0
wrapt 1.11.2
xlib 0.21
yarl 1.4.2
youtube-dl 2020.5.29
zeroconf 0.26.1
zipp 3.1.0
Tried to run the executable at ~/.local/bin/discord-overlay
after installing, got the following error.
I am using i3wm, not sure if tiling WMs are meant to be supported.
Thanks!
[USER@host:~]$> python3 ~/.local/bin/discord-overlay
Traceback (most recent call last):
File "/home/USER/.local/bin/discord-overlay", line 33, in <module>
sys.exit(load_entry_point('discordoverlaylinux==0.0.1', 'console_scripts', 'discord-overlay')())
File "/home/USER/.local/bin/discord-overlay", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.8/importlib/metadata.py", line 77, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/USER/.local/lib/python3.8/site-packages/discord_overlay/__init__.py", line 1, in <module>
from .discord_overlay import *
File "/home/USER/.local/lib/python3.8/site-packages/discord_overlay/discord_overlay.py", line 21, in <module>
from PyQt5.QtWebEngineWidgets import QWebEngineView
ImportError: /home/USER/.local/lib/python3.8/site-packages/PyQt5/Qt/lib/libQt5WebEngineCore.so.5: undefined symbol: _ZNSt12out_of_rangeC1EPKc, version Qt_5
After installing some Qt5 dependencies and changing the first line of the script, it does works now. But it doesn't let me press anything in Discord, Firefox etc. I can only interact with the Overlay App which is quite annoying. (Debian testing, Gnome Wayland)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.