Skip to content

A selective screenshot utility written in Golang and Gio "immediate mode" GUI library

Notifications You must be signed in to change notification settings

t-lock/golang-gui-screenshot-util

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Golang "selective" screenshot util

Exploring Go and GUI development by creating a screenshotting utility.

preview.webm

Recommended usage:

  • build executable go build -o screenshot main.go
  • place your executable somewhere on PATH (eg: mv screenshot /usr/bin/local)
  • configure a keyboard shortcut for your screenshot executable via your system settings

This tool is streamlined for capturing annotated or un-annotated screenshots of a selection of the active desktop, without any visual clutter. There are no buttons/ui and no clicks/inputs from the user are required beyond the absolute necessities for achieving the current task.

This simplicity is achieved primarily through usage of right vs left click while dragging resulting in differnt behaviors, and the sequential application of selection mode then annotation mode.

More features are planned, but at the time of writing, the enitre available UX surface is outlined in the following flow chart, which highlights the core mechanic of proceeding through selection and annotation modes and right-vs-left click controls.

           Start program with keyboard shortcut
                            |
              ______________|_________________
             |                                |
    Drag selection with        Drag selection with
    left mouse button          right mouse button
             |                                |
             |    ( Press Ctrl+Z to move  )   |
             |    ( backwards at any time )   |
             |                                |
      Annotation mode                         |
    _________|__________________              |
   |                            |             |
Left click and         Right click and        |
drag to draw boxes     drag to draw arrows    |
   |____________________________|             |
             |                                |
      Press enter to save                     |
             |________________________________|
                            |
              Screenshot copied to clipboard 
                    and saved to disk

Your screenshot is available on the clipboard, and a file is output to your ~/Desktop directory on Linux (and probably Mac as well). On Windows I have no idea. If you happen to stumble across this repo and install it on Windows, let me know how it goes!

About

A selective screenshot utility written in Golang and Gio "immediate mode" GUI library

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages