trigg / discern

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Discern

Discern is, like its predecessors DiscordOverlayLinux and Discover-overlay, a Discord overlay for linux.

This one is written in Rust as a project to acclimatise myself to using rust for real projects but so far is a lesson in how to self induce headaches.

While previous projects gave a plethora of user options and tweaks this one aims for a 'one-size-fits-all' in each module.

Current targets

Target Binary Description
discern Generic binary that will read in ENV variables and make a best-guess at what the user will want. Assumes graphical views only, no plans to best-guess terminal versions
x11 discern-x11 GTK on x11. Uses combination of highest layer, undecorated window, xshape and xinputshape to draw over top of desktop.
wlroots discern-wlroots GTK on wayland. Uses wlroots LayerShell to draw over top of desktop
rpc discern-rpc terminal application to poll or alter discord state
statefile discern-statefile terminal or daemon application to dump current state to a file or pipe.
gamescope discern-gamescope Cairo on XCB. Uses X11 XAtom to mark as overlay window for use in gamescope
clispam discern-clispam terminal application to output all communication raw to terminal. Useful for debugging

By default all targets are compiled at once.

To choose a specific target to compile:

cargo clean 
cargo build --features "wlroots" --no-default-features

Ideas & Plans

Ideally, the plan is to eventually modularise the project so we can cover a lot more area.

  • X11 Overlay ✓
  • Wayland/wlroots Overlay ✓
  • OpenGL & Vulkan injectors
  • Gamescope specific mode (✓) with autostart (Systemd job?)
  • CLI polling of Discord state ✓

Plans to move over?

Currently there are no plans to move users of my previous projects to this one. Unless this really hits the ground running I do not expect it to reach feature parity much less improve.

Installing

From binaries

TBC

From Package managers

TBC

From Github source

Ensure you have rust and cargo installed.

git clone git@github.com:trigg/discern.git
cd discern
cargo run

Arch linux

pacman -S clang rustup
rustup default stable

Did you really need to make another Discord overlay?

Technically it's not, yet.

About


Languages

Language:Rust 100.0%