Rofi 구성

6296 단어 Linux

개시하다


Arch Linux에서 i3wm을 사용하고 있습니다.이전에 시동기기는 i3wm 표준의 dmenu를 사용해 왔다.하지만 dmenu는 맞춤형과 패션성이 부족해 로피로 옮겼다.

Rofi 구성 파일


#.config/rofi/config.rasi
configuration {
  modi: "window,drun,system:~/.config/rofi/rofi_system.sh";
  sidebar-mode:  true;
  hide-scrollbar: true;
  kb-cancel: "Escape,Control+bracketleft";
  kb-mode-previous: "Alt+u";
  kb-mode-next: "Alt+i";
}
@theme "/usr/share/rofi/themes/Arc-Dark.rasi"
modi를 유효하게 하는 모드를 설정합니다.독자적인 패턴도 만들 수 있다.
kb-(명령)에서 키 귀속을 설정합니다.rofi-showkeys에서 버튼 귀속 설정을 볼 수 있기 때문에 싫어하는 버튼 귀속을 변경합니다.
the로 테마를 설정합니다rofi-theme-selector에서 테마 preview를 보면서 설정을 변경할 수 있습니다.

사용자 정의 모드


각본으로 기술하다.표시할 항목을 표준 출력에 줄 바꿈 문자로 출력합니다.선택한 문자열을 매개 변수로 선택하여 셸 스크립트를 다시 실행합니다.
#!/usr/bin/env bash

set -euCo pipefail

function main() {
  # 表示したい項目と実際に実行するコマンドを連想配列として定義する。
  local -Ar menu=(
    ['Lock']='dm-tool lock'
    ['Logout']='i3-msg exit'
    ['Poweroff']='systemctl poweroff'
    ['Reboot']='systemctl reboot'
  )

  local -r IFS=$'\n'
  # 引数があるなら$1に対応するコマンドを実行する。
  # 引数がないなら連想配列のkeyを表示する。
  [[ $# -ne 0 ]] && eval "${menu[$1]}" || echo "${!menu[*]}"
}

main $@

명령 실행 시 확인


자신의 모드로 파워로프를 실행하지만 오류가 발생할 수 있습니다.따라서 실행할 때 확인할 수 있도록 조개 스크립트를 변경합니다.선택하면 표시(항목 이름/yes, 항목 이름/no), yes를 선택하면 명령을 실행합니다.no를 선택하면 원상태로 돌아갑니다.
#!/usr/bin/env bash

set -euCo pipefail

declare -Ar menu=(
  ['Logout']='i3-msg exit'
  ['Poweroff']='systemctl poweroff'
  ['Reboot']='systemctl reboot'
)

function print_keys() {
  local -r IFS=$'\n'
  echo "${!menu[*]}"
}

function main() {
  local -r yes='yes' no='no'

  if [[ $# -eq 0 ]]; then
    print_keys
  elif [[ $# -eq 1 ]]; then
    echo $1 ${no}
    echo $1 ${yes}
  elif [[ $2 == ${yes} ]]; then
    eval "${menu[$1]}"
  elif [[ $2 == ${no} ]]; then
    print_keys
  fi
}

main $@

좋은 웹페이지 즐겨찾기