_ _ _ ___ | | _____| |__ ___ | |_ / _ \| |/ / __| '_ \ / _ \| __| | (_) | <\__ \ | | | (_) | |_ \___/|_|\_\___/_| |_|\___/ \__|
okshot
- Take and annotate screenshots in Linux with standard tools.
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
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
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
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.