Project

okshot

0.0
No release in over 3 years
Low commit activity in last 3 years
Take and annotate screenshots in Linux with standard tools.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme
       _        _           _
  ___ | | _____| |__   ___ | |_
 / _ \| |/ / __| '_ \ / _ \| __|
| (_) |   <\__ \ | | | (_) | |_
 \___/|_|\_\___/_| |_|\___/ \__|

NAME

okshot - Take and annotate screenshots in Linux with standard tools.

SYNOPSIS

Usage: okshot [options]
    -C, --copy-to-clipboard          Copy PNG file from clipboard and upload
    -s, --simple                     Take a screenshot without annotation and upload. This is thedefault.
    -c, --copy-from-clipboard        Copy PNG file from clipboard and upload
    -i, --inkscape                   Use inkscape to edit the screenshot and upload

DESCRIPTION

okshot takes a screenshot, optionally annotates it and then saves it either to the clipboard or uploads it to a FTP server and copies a web accessible URL to your clipboard.

This gem is inspired by the lack of good screenshot tooling in Linux. However, Linux has all the tools available that can easily be strung together to get the ultimate screenshot tool.

For uploading the files via FTP, it needs these environment variables set:

  • OKSHOT_HOST
  • OKSHOT_USER
  • OKSHOT_PASSWORD
  • OKSHOT_URL_PREFIX

For example, you can do this in your shell config file (~/.bashrc, ~/.zshrc) or via sourceme. For example:

export OKSHOT_HOST=ftp.some-server.ch
export OKSHOT_USER=your_user
export OKSHOT_PASSWORD=your_password
export OKSHOT_URL_PREFIX=https://okshot.your_domain.ch

INSTALLATION

okshot is implemented in Ruby and can be installed as a gem.

gem install okshot

It uses the following standard Linux tools. For all flags, it requires:

Program Rationale
imagemagick Takes the actual screenshot as a PNG file.
uuigen Adds a partial UUID to the screenshot name to ensure uniqueness.
xclip Copies the public screenshot URL to the clipboard.
notify-send Creates a desktop notification that the URL is in the clipboard.

Without the flag -C (--copy-to-clipboard), the file is uploaded to an FTP server and requires:

Program Rationale
ftp Uploads the final screenshot to a FTP server.

For the flag -i, it additionally requires:

Program Rationale
inkscape Annotate the image in all the ways.
wmctrl Starts Inkscape in full screen.

Install dependencies:

apt-get install imagemagick ftp inkscape wmctrl uuid-runtime xclip libnotify-bin

DEVELOPMENT

okshot is implemented in Ruby, dependencies are managed with bundler.

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To publish a new version, update the version number in version.rb, and then run bundle exec rake publish, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

DEMO

https://github.com/200ok-ch/okshot/wiki/videos/demo.gif