Skip to content

SmallStep-Foundation/Screenshot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmallScreenshot

A screenshot tool for GNUStep on Linux. Capture the full screen or a region, preview, and save as PNG.

Features

  • Capture full screen – One click captures the entire screen.
  • Capture region – Drag a rectangle on a fullscreen overlay to capture only that area.
  • Preview – Captured image is shown in the main window.
  • Save as PNG – Save via the Save button or menu (Cmd+S).

Dependencies

  • GNUStep (gnustep-gui, gnustep-base)
  • SmallStepLib (../SmallStepLib) – app lifecycle, menus, file dialogs
  • libX11 – X11 screen capture (Linux)

Build

  1. Build SmallStepLib first:

    cd ../SmallStepLib
    make
    sudo make install   # optional; or link from obj/
  2. Build SmallScreenshot:

    cd SmallScreenshot
    make
  3. Run:

    ./SmallScreenshot.app/SmallScreenshot

    Or from the project root:

    openapp ./SmallScreenshot.app

Usage

  • Capture Full Screen – Captures the entire root window (all monitors on X11).
  • Capture Region… – The main window hides; a semi-transparent overlay appears. Drag to select a rectangle. Release to capture. Press Escape to cancel.
  • Save… – Opens a save dialog (PNG). The preview image is written to the chosen path.

SmallStepLib usage

SmallScreenshot uses SmallStepLib as the starting point:

  • SSHostApplication / SSAppDelegate – App entry and lifecycle (no manual NSApplication setup).
  • SSMainMenu – Application menu (Capture Full Screen, Capture Region, Save, Quit).
  • SSFileDialog – Save dialog for choosing path and filename.
  • SSWindowStyle – Window style mask for the main window.
  • SSConcurrency – Capture runs on a background thread; UI updates on the main thread.

FOSS libraries

  • libX11 – X11 API for XGetImage() on the root window. Used for full-screen and region capture. Converts XImage pixel data (with visual masks) to RGB and builds an NSImage for preview and PNG export.
  • GNUStep – NSBitmapImageRep and representationUsingType:NSPNGFileType for writing PNG files.

License

GNU General Public License v3 or later. See LICENSE.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors