Gedit가 실행 중이고 저장되지 않은 텍스트가 포함되어 있는지 다른 프로그램에서 볼 수 있습니까?

Gedit가 실행 중이고 저장되지 않은 텍스트가 포함되어 있는지 다른 프로그램에서 볼 수 있습니까?

나는 내가 가장 좋아하는 텍스트 편집기로 Gedit를 사용합니다. Gedit가 실행 중이고 저장되지 않은 텍스트가 포함되어 있는지 확인하기 위해 Python 또는 Bash로 스크립트를 작성할 수 있습니까?

답변1

Gedit가 실행 중입니다.

pidof gedit대답을 줘야 해

저장되지 않은 텍스트가 포함되어 있습니다.

내가 아는 한, Gedit는 DBus 인터페이스를 지원하지 않으므로 이 작업이 상대적으로 어렵지만 가능합니다.

#! /bin/bash

for i in `pidof gedit`; do
    for j in `xdotool search --name --onlyvisible --pid $i`; do
        title=`xdotool getwindowname $j`
        case $title in
            \**)
                echo "Found running Gedit with unsaved data"
            ;;
            *)
                echo "Gedit is open but there are no unsaved documents"
            ;;
        esac
    done
done

이 스크립트의 기능은 무엇입니까? 발견된 모든 gedit 프로세스를 반복하고, 보이는 창을 찾고, 제목을 반복하고, 제목에 *문서가 저장되지 않았음을 나타내는 첫 번째 문자가 포함되어 있는지 확인합니다.

Bash/shell 순수주의자 ``$( ).

관련 정보