2026-06-28 10:37:29 -05:00
2026-06-28 09:57:06 -05:00
2026-06-28 10:37:29 -05:00
2026-06-28 10:37:29 -05:00
2026-06-28 09:49:44 -05:00
2026-06-28 09:49:44 -05:00
2026-06-28 10:37:29 -05:00
2026-06-28 09:57:06 -05:00
2026-06-28 09:57:06 -05:00
2026-06-28 10:37:29 -05:00

wayviewer

A small Wayland-friendly VNC viewer written in C++.

Build

Dependencies:

  • CMake 3.16+
  • C++17 compiler
  • SDL2 development files
  • libvncclient development files
  • pkg-config

Install

./install.sh

Uninstall:

./install.sh uninstall

System install:

./install.sh --system

Custom prefix:

./install.sh --prefix /path/to/prefix

Build Manually

cmake --preset default
cmake --build --preset default

For a debug build:

cmake --preset debug
cmake --build --preset debug

Run

./build/wayviewer HOST:5900

Use ./build/wayviewer --help for all options.

Launcher

Launching wayviewer without arguments from wofi opens a small floating-friendly window with one column of fields:

  • Host
  • Username
  • Password
  • Quality

Use Tab or the arrow keys to move between fields, Enter to connect, and Escape, Ctrl+Q, the window close button, or Quit to exit.

Install the binary and desktop entry into your user prefix:

cmake --install build

Then open wofi in drun mode and choose wayviewer.

Source Layout

  • src/main.cpp: process entry point
  • src/options.*: command-line parsing and terminal prompts
  • src/ui_prompt.*: graphical connection form
  • src/vnc_client.*: VNC client setup and callbacks
  • src/viewer_state.*: framebuffer state and dirty rectangles
  • src/input.*: SDL input translation
  • src/sdl_app.*: SDL window, rendering, and event loop

Why?

Because I needed a VNC viewer that didnt suck and so here it is. Provided with no warranty to anyone who wants to build off of this hunk of complete trash

S
Description
A simple, lightweight VNC viewer made for Wayland
Readme
52 KiB
Languages
C++ 90.1%
Shell 7.3%
CMake 2.6%