grim을 사용하여 파일 저장 위치를 ​​묻는 방법은 무엇입니까?

grim을 사용하여 파일 저장 위치를 ​​묻는 방법은 무엇입니까?

현재 Sway/grim을 사용하여 스크린샷을 저장하지만 파일 이름을 묻는 메시지를 표시하여 이를 개선하는 방법이 명확하지 않습니다. 즉, 이제 내 Sway 구성의 일반적인 바인딩은 다음과 같습니다.

bindsym Print exec grim -g "$(slurp)" "$HOME/screenshots/$(date '+%y%m%d_%H-%M-%S').png

이를 통해 화면 영역을 선택하고 해당 영역의 스크린샷을 찍은 다음 날짜와 같은 파일 이름으로 $HOME/screenshots 디렉토리에 저장할 수 있습니다. 내가 사용하는 또 다른 관련 명령은 다음과 같습니다.

exec grim -g "$(slurp)" - | wl-copy

이렇게 하면 이미지가 클립보드에 저장되지만 일반적으로 특정 디렉터리에 이미지를 저장하고 싶습니다.

그러나 때로는 디렉터리를 선택하는 옵션을 사용하여 동일한 작업을 수행하고 싶을 때도 있습니다. 그래서 스크린샷을 찍고 디렉터리 선택 대화 상자를 활성화한 다음 해당 디렉터리에 파일을 저장하고 싶습니다. 이상적으로는 Wayland 내장 파일 선택기를 활성화하는 방법이 있을 수 있습니다. yad("yad --file-selection")를 사용해 보았으나 실행하면 빈 화면만 표시됩니다. 아마도 내가 Arch/Wayland/Sway를 실행하고 있기 때문일까요?

아래 답변 중 하나에는 터미널 기반 접근 방식이 있지만 약간 어색합니다. 차라리 파일 저장 대화 상자가 나타나도록 하고 싶습니다.

답변1

이것은 한 가지 방법입니다. 목적지를 사용 fd하고 지정합니다.fzf앞으로스크린샷.

#!/bin/bash

folder=$(cd && fd -a -t d | fzf)

sleep 10

grim -g "$(slurp)" "$folder"/"$(date +%Y%m%d-%H%M%S)".png

실행 파일로 저장하고 다음 bindsym과 같이 수정합니다.

bindsym Print exec foot -e /path/to/executable

가정:

  • foot사용 중인 터미널을 갖고 실행 파일의 실제 경로를 지정하려면 ;change binsym을 사용하고 있습니다 .
  • 터미널에는 지정된 작업 공간이 있어야 합니다. 스크린샷은 다음과 같습니다.아니요이 작업공간의

을 누르면 Print해당 터미널 전용 작업 공간에 터미널 창이 열립니다.
로 표시됩니다 fzf.
스크롤하고 를 눌러 스크린샷을 저장할 디렉토리를 선택하세요 Enter.
해당 작업공간으로 이동하는 데 10초의 시간이 주어집니다.
10초가 지나면 손이 십자선으로 변경됩니다. 지역을 선택하세요.
이미지는 선택한 디렉토리에 저장됩니다.

관련 정보