Skip to content

Latest commit

 

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CapScroll Logo

CapScroll

A Linux scrolling screenshot tool built with .NET and Avalonia UI

.NET C# Avalonia Linux X11 Wayland License

CapScroll is a screenshot tool for Linux that makes it easy to capture screen regions and create long screenshots from browsers, terminals, documents, and other scrollable content.

CapScroll supports both X11 and Wayland sessions.

Note

Scrolling capture works differently depending on the display server. X11 supports automatic scrolling, while Wayland currently requires manual scrolling.

Overview

CapScroll supports both regular screenshots and scrolling screenshots.

For scrolling captures, CapScroll:

  • Captures the selected region.
  • Scrolls or waits for the selected content to move.
  • Captures subsequent frames.
  • Detects when the end of the content is reached.
  • Detects the overlap between frames.
  • Stitches the frames into a single image.

The goal is to make long screenshots as simple as selecting an area and letting CapScroll handle the rest.

Demo

Note

Watch CapScroll in action with a scrolling screenshot demonstration.

▶ Watch Demo

Screenshots

CapScroll main interface
CapScroll Gallery
CapScroll stitching

Features

  • Region capture
  • Scrolling capture
  • X11 automatic scrolling
  • Wayland manual scrolling
  • Automatic bottom detection
  • Automatic frame stitching
  • Dynamic frame alignment
  • Capture cancellation
  • Capture progress
  • Capture preview
  • Open captured image
  • Open capture folder
  • PNG output
  • Debian package support
  • X11 and Wayland support

Supported Content

CapScroll can be useful for capturing:

  • Web pages
  • PDF documents
  • Terminal output
  • Long application views
  • Documents
  • Chat conversations
  • Any Other scrollable content

Note

Results may vary depending on how the target application handles scrolling and renders its content.

Display Server Support

Display Server Region Capture Scrolling Capture Scrolling Method
X11 Supported Supported Automatic
Wayland Supported Supported Manual

Desktop Environment Support

Desktop Environment X11 Wayland
GNOME Supported Supported
KDE Plasma Supported Supported
XFCE Supported

Requirements

General

  • Linux
  • .NET 10
  • Avalonia 12

X11

X11 scrolling capture requires:

  • X11 session
  • libX11
  • libXtst

Wayland

Wayland screenshot capture uses the screenshot facilities available on the desktop environment.

Depending on the environment, CapScroll can use:

  • GNOME Shell screenshot D-Bus API
  • gnome-screenshot
  • KDE spectacle
  • grim
  • XDG Desktop Portal

Wayland scrolling capture additionally uses:

  • ydotool
  • ydotoold

Note

Wayland scrolling capture currently requires manually scrolling the selected content. ydotool is used for Wayland input support and infrastructure, but CapScroll does not currently perform automatic scrolling on Wayland.

Installing Requirements

Debian / Ubuntu / Linux Mint

Install the general dependencies:

sudo apt update

sudo apt install \
    dotnet-sdk-10.0 \
    libx11-6 \
    libx11-dev \
    libxtst6 \
    libxtst-dev

Wayland Dependencies

For Wayland scrolling capture:

sudo apt install ydotool

For GNOME:

sudo apt install gnome-screenshot

For KDE Plasma:

sudo apt install spectacle

For the generic Wayland fallback:

sudo apt install grim

For the XDG Desktop Portal fallback:

sudo apt install \
    xdg-desktop-portal \
    xdg-desktop-portal-gtk

Tip

You do not necessarily need every Wayland screenshot utility. CapScroll detects the desktop environment and attempts the appropriate screenshot method before falling back to other available methods.

Install Everything

For a typical GNOME/KDE system where you want the available fallback methods installed:

sudo apt update

sudo apt install \
    dotnet-sdk-10.0 \
    libx11-6 \
    libx11-dev \
    libxtst6 \
    libxtst-dev \
    ydotool \
    gnome-screenshot \
    spectacle \
    grim \
    xdg-desktop-portal \
    xdg-desktop-portal-gtk

Note

Some packages may already be installed on your system. apt will simply keep the existing packages.

Currently Tested On

  • Kali Linux
  • Linux Mint
  • Ubuntu
  • GNOME
  • KDE Plasma
  • XFCE

Display server testing includes:

  • X11 (GNOME, KDE, XFCE)
  • GNOME Wayland
  • KDE Plasma Wayland

Installation

Debian Package

Download the .deb package from the project's releases and install it with:

sudo apt install ./capscroll_<VERSION_NO>_amd64.deb

Build From Source

Clone the repository:

git clone https://github.com/netcrawlerr/CapScroll.git
cd CapScroll

Run the build and installation scripts:

scripts/build.sh
scripts/install.sh

How to Use

Normal Capture

  1. Start CapScroll.
  2. Select Capture Region.
  3. Select the area to capture.
  4. CapScroll captures the selected region.
  5. The image is saved automatically.

Scrolling Capture — X11

  1. Select Scrolling Capture.
  2. Select the scrollable area.
  3. CapScroll captures the initial view.
  4. CapScroll automatically scrolls the content.
  5. Additional frames are captured.
  6. CapScroll detects when the bottom of the content is reached.
  7. The frames are aligned and stitched together.
  8. The completed long screenshot is displayed.

Scrolling Capture — Wayland

  1. Select Scrolling Capture.
  2. Select the scrollable area.
  3. CapScroll captures the initial view.
  4. Scroll the selected content manually.
  5. Continue scrolling at a relatively consistent speed.
  6. CapScroll captures subsequent frames.
  7. CapScroll detects when the content stops changing.
  8. The frames are automatically aligned and stitched together.

Tip

On Wayland, keep the scrolling speed reasonably consistent for better stitching results.

Note

Wayland scrolling capture does not control the mouse wheel automatically. The user must scroll the selected content manually.

Stop Scrolling Capture

Press:

Ctrl + Shift + Esc

or move the mouse pointer outside the selected capture area.

Note

Moving the pointer outside the selected capture area stops the scrolling capture because CapScroll uses the selected region and pointer position as part of its capture workflow.

Output

Captured images are saved as PNG files.

By default, captures are stored in:

~/Pictures/CapScroll/

Current Limitations

  • Wayland scrolling requires manual scrolling.
  • Wayland screenshot behavior depends on the available desktop screenshot utilities.
  • Scrolling quality can vary depending on application rendering behavior.
  • Dynamically changing content may produce imperfect stitching.
  • Windows is not supported.
  • macOS is not supported.

License

CapScroll is licensed under the MIT License.

About

CapScroll: An open-source scrolling screenshot and long screenshot capture tool for Linux (WAYLAND + x11) built with .NET and Avalonia UI

Topics

Resources

Stars

30 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages