Hi,

I configured Spectacle with the following keyboard shortcuts :

  • Print Screen = selected area ;
  • Win + Print Screen = active window ;
  • Ctrl + Print Screen = entire screen.

However, that only works for saving to file. Enabling copying to clipboard in settings only works when opening the full Spectacle app where it takes a full screen picture by default while having to retake when needing something else.

Is there any way to make the keyboard shortcut copy to clipboard at the same time as saving to file ?

Thanks

  • claymore@pawb.social
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    8 days ago

    Are you closing the spectacle window after taking a screenshot? I found that you need to keep it open for the image to stay in the clipboard. When I have the time I can check how I’ve set it up if that doesn’t work for you. Although I only copy to clipboard, not save as well.

  • FauxLiving@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    7 days ago

    You’d need to write a script, for example:

    #!/bin/bash
    
    # Set the directory where screenshots will be saved
    SCREENSHOT_DIR=~/Pictures/Screenshots
    
    # Create the directory if it doesn't exist
    mkdir -p "$SCREENSHOT_DIR"
    
    # Get the current date and time in the format MM-DD-YYYY_HH:MM:SS
    DATETIME=$(date +"%m-%d-%Y_%H-%M-%S")
    
    # Build the filename using the datetime
    FILENAME="screenshot_$DATETIME.png"
    
    # Take a fullscreen screenshot, save it to the specified directory, and copy it to the clipboard
    spectacle -f -b -c -o "$SCREENSHOT_DIR/$FILENAME"
    
    # Optional: Notify the user (requires notify-send)
    notify-send "Screenshot taken" "$FILENAME saved to $SCREENSHOT_DIR"
    

    You can change the -f to change the screenshot mode. From spectacle --help:

    
      -f, --fullscreen                        Capture the entire desktop (default)
      -m, --current                           Capture the current monitor
      -a, --activewindow                      Capture the active window
      -u, --windowundercursor                 Capture the window currently under
                                              the cursor, including parents of
                                              pop-up menus
      -t, --transientonly                     Capture the window currently under
                                              the cursor, excluding parents of
                                              pop-up menus
      -r, --region                            Capture a rectangular region of the
                                              screen
    
    

    Save the script somewhere. It’s safest to make it owned by root and put somewhere like /usr/scripts so random user-access programs can’t edit the script. Use chmod +x to make it executable.

    Then go to Plasma -> Settings -> Keyboard -> Shortcuts, Click ‘Add New’ -> Command or Script. For the command, give it the path to your script, give it a name click Add and then set a hotkey by clicking the Add butoon.