[code:24qf5i8f]
[Desktop Entry]
Encoding=UTF-8
Name=자판바꾸기
Comment=2벌식/3벌식 전환
Exec=스크립트의 경로
Icon=아이콘이미지파일경로(없어도됩니다.)
Terminal=false
Type=Application
StartupNotify=true
[/code:24qf5i8f]를 작성해주시고 바탕화면에 example.desktop이란 형태로 저장하시면됩니다.
.desktop파일은 유일하게(아마)리눅스에서 확장자를 숨기는파일입니다.
확장자가 보이지 않아도 제대로 된 것이므로 걱정하지 않으셔도 됩니다.
그리고 .desktop파일은 실행여부를 묻지않습니다.
현재 구 그놈을 사용중이라 유니티에 적용되는 지는 모르겠지만, 두분의 답변을 조금 수정 해보죠.
[code:yar0i5vy]
#!/bin/sh
KBD_TYPE=2
if [ -z "$1" ]; then
KBD_TYPE=$(gconftool-2 -g "/desktop/ibus/engine/Hangul/HangulKeyboard")
if [ "$KBD_TYPE" != "2" ]; then
KBD_TYPE=2
else
KBD_TYPE="3f"
fi
elif [ "$1" = "3" ]; then
KBD_TYPE="3f"
fi
gconftool-2 --set "/desktop/ibus/engine/Hangul/HangulKeyboard" --type string "$KBD_TYPE"
zenity --info --text="Now, $KBD_TYPE"
[/code:yar0i5vy]
마지막에 zenity 로 알림창을 띄우는 명령어를 하나 넣었습니다. 파일은 아무곳에나 저장하시고 실행 권한을 주세요.
[code:yar0i5vy]
[Desktop Entry]
Name=자판바꾸기
Type=Application
Comment=2벌식/3벌식 전환
Exec=위에서 만든 쉘스크립트의 경로
Icon=보이고 싶은 아이콘이 있으면 지정합니다.
Categories=GTK;Utility
[/code:yar0i5vy]
편집기로 이렇게 작성한 뒤, 자신의 홈 디렉토리 아래 .local/share/applications 에 kchanger.desktop 이라는 이름으로 저장합니다.
geepurin님 지시대로 했는데, .desktop 원본 파일을 실행했을 때 에러메시지가 뜨는 것은 마찬가지였습니다. 원래 .desktop 파일 자체가 원본 파일은 직접 실행할 수 없는 게 아닌가 싶습니다.
하지만 알림창을 뜨게 만들었기 때문인지, 유니티에서 실행했을 때 실행은 되지만 아이콘이 10초간 깜빡이던 현상은 사라졌습니다. 아무래도 유니티에서 아이콘을 클릭했을 때 프로그램 창 같은 게 떠야 깜빡임이 사라지는 것 같습니다.
그리고 알려주신 경로에 파일을 복사하고 로그아웃/로그인을 하니 유니티 보조프로그램 목록에도 자판 바꾸기 아이콘이 등록되었고, 현재는 유니티에 등록된 아이콘을 클릭해서 자판 변환을 하는 상태입니다.
답변 주신 모든 분들 덕분에 제가 원하던 아이콘 클릭으로 두벌식-세벌식 자판을 변환하는 기능을 사용할 수 있게 됐습니다. 고맙습니다.
그런데 여기서 두 가지 기능이 추가됐으면 하는 바람입니다.
첫 째는, 현재 자판 변환 아이콘을 클릭하면 알림창에 Now, 2와 Now, 3f라는 메시지가 뜨는데, 저 메시지를 두벌식입니다., 세벌식 최종입니다.라는 문장으로 바꿀 수 있으면 좋겠습니다. 아마도 알려주신 코드에 '2’와 '3f’를 '두벌식’과 '세벌식 최종’으로 치환하는 구문만 추가하면 될 것 같은데 프로그래밍을 잘 몰라서 부탁드려봅니다.
둘 째는, 현재 뜨는 알림창은 매 번 확인 버튼을 눌러줘야 하는데, 가능할 지 모르겠지만 알림창을 저런 확인 버튼 없이 1~2초 후에 자동으로 닫히는 창으로 바꿀 수 있으면 좋겠습니다. 윈도우에서 사용하던 세벌식 파워업 프로그램이 저렇게 자동으로 창이 닫혀 편리하게 사용했던 기억이 있어서 부탁드려봅니다.