• 0 Posts
  • 5 Comments
Joined 2 years ago
cake
Cake day: June 14th, 2023

help-circle

  • Grim, slurp, tesseract, and apparently the deepl SDK for Ruby? That was an interesting choice, younger me.

    #! /bin/zsh
    # Select an area of the screen, Screenhot, OCR, and translate it to english.
    
    temp_image=$(mktemp --suffix '.png')
    grim -g "$(slurp)" "$temp_image"
    
    # DPI of 120 seems to work OK for screenshots.
    source_text=$(tesseract "$temp_image" - --dpi 120 -l pol+deu) 
    
    translated_text=$(~/scripts/translate "$source_text")
    
    wl-copy $translated_text
    
    notify-send 'Translation: ' "$translated_text" --expire-time=60000 --category 'translation'
    
    rm $temp_image
    

    Translate script:

    #! /bin/ruby
    require_relative 'deepl_request'
    
    puts Translator::DeeplRequest
           .new(ARGV.join ' ')
           .translation
    

    This script is a bit hacky and one-off, I wouln’t just copy-paste it.


    • super+u shows a wofi menu allowing me to fuzzy find a credential from my password manager and copy its username
    • super+p same thing but for passwords
    • super+o same thing but for TOTP codes
    • super+t allows me to select an area of the screen, take a screenshot, run it through OCR, translate it to English via the deepl API, and then pop up the result as a desktop notification and also copy it to the clipboard. (I’m not fluent in the language of the country I live in)
    • ”lock” and „request” based suspend management, so my backup scripts or other long running jobs can keep the computer from sleeping until they are done.