Skip to content

Instantly share code, notes, and snippets.

@Jayy001
Last active September 22, 2024 17:58
Show Gist options
  • Save Jayy001/df6074a34c91e9def326ed8b1a392cc7 to your computer and use it in GitHub Desktop.
Save Jayy001/df6074a34c91e9def326ed8b1a392cc7 to your computer and use it in GitHub Desktop.
Taking & sharing screenshots on the ReMarkable device

Often when discussing with others or working, I find myself using the remarkable to draw out and explain concepts. However, a real problem I had was being able to quickly transfer whatever I drew onto discord, bookstack or [insert other software name] I was using — by the time I got around to posting the image, the conversation was long gone.

I've come up with a solution that'll automatically handle this process for you and directly send it to your clipboard. The only requirement is installing Bufshot on the device. (Also CopyQ if you are doing this on Linux, as surpingisly windows has a built-in PS function to handle the clipboard)

Note: If you're an Oxide user, you can replace bufshot with rot screen call screenshot to save ~2 seconds plus reduce storage overhead

Replace rmIP with the ReMarkable IP address - note that you'll also need to setup SSH keys between the client and RM device. (I recommend setting an env variable to take from, 10.11.99.1 when connected over USB)

In both cases, all files are cleared up after they've been copied to the clipboard.

Requesting from a Linux device

ssh root@rmIP '/opt/bin/bufshot && cat fb.png && rm fb.png' | copyq write image/png - && copyq select 0

Requesting from a Windows device

Add-Type -AssemblyName System.Windows.Forms;
Add-Type -AssemblyName System.Drawing;
ssh root@rmIP '/opt/bin/bufshot 2>/dev/null';
scp root@rmIP:/home/root/fb.png ./out.png;
$image = New-Object System.Drawing.Bitmap (Join-Path -Path (Get-Location) -ChildPath "out.png")
[System.Windows.Forms.Clipboard]::SetImage($image);
$image.Dispose()     
Remove-Item out.png -ErrorAction SilentlyContinue
ssh root@rmIP 'rm fb.png'

Requesting directly from the client device to the clipboard

Using Genie as the launcher (based on gestures) - install with opkg install genie on the device.

gesture=swipe
direction=up
fingers=3
command=bufshot && scp -i ~/.ssh/id_rsa fb.png root@192.168.0.88:/export/data/screenshots/$(date +%F:%M%S).png && rm fb.png

This saves it as a nice timestamped named file on the remote server. Now whenever you want to get it from that server to your clipboard you can use this beast which gets the most recent screenshot taken

ssh root@rmIP 'ls -t /export/data/screenshots/ | head -1 | xargs -I {} cat /export/data/screenshots/{}' | copyq write image/png - && copyq select 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment