Fusuma v2로 애플리케이션별 제스처를 구성하십시오!

6156 단어 ubuntulinuxruby
이 기사를 시작으로 Fusuma v2에서 사용할 수 있는 새로운 기능을 구성하는 방법을 설명하겠습니다.
Fusuma v2로 업데이트하지 않은 경우 이전 기사를 참조하십시오.




지금까지 Fusuma는 제스처에 대해 전역적으로 한 가지 유형의 동작만 설정할 수 있도록 허용했습니다.
그러나 Fusuma v2의 컨텍스트를 사용하면 Config를 동적으로 전환할 수 있습니다.

이 문서에서는 Fusuma의 config.yml에 애플리케이션별 설정을 설치fusuma-plugin-appmatcher하고 구성합니다.


이베리안피그 / fusuma-플러그인-appmatcher


Fusuma 플러그인 구성 앱별 제스처





Fusuma::Plugin::Appmatcher


Fusuma 플러그인 구성 앱별 동작
  • 활성 응용 프로그램을 감지하여 제스처 매핑을 전환합니다.
  • X11, Ubuntu-Wayland 지원

  • 설치


    터미널에서 다음 코드를 실행합니다.

    fusuma-plugin-appmatcher 설치


    $ sudo gem install fusuma-plugin-appmatcher

    실행 중인 애플리케이션 이름 나열

    $ fusuma-appmatcher -l prints Running Application names.

    $ fusuma-appmatcher -l
    Slack
    Google-chrome
    Alacritty

    You can use these applicatin name to under application: context in config.yml

    config.yml에 appmatcher 속성 및 애플리케이션 이름 추가

    1. Add the --- symbol to separate the context in config.yml.

    2. Add context: property in ~/.config/fusuma/config.yml.

    3. Under the context: property, you can set the application: APP_NAME as a value.

    • In this context, you can configure mappings to application-specific gestures.
    • For example, you can set :Google-chrome, :Alacritty, Org.gnome.Nautilus, and so on.
    • You can find property name's hint, with $ fusuma-appmatcher -l

    NOTE: The first context separated by --- is the default context

    예시

    In the following example of config.yml

    • On…

    fusuma-plugin-appmatcher 설치

    Run the following command in a terminal

    $ sudo gem install fusuma-plugin-appmatcher
    

    fusuma-plugin-appmather 구성 방법


    구성에서 사용할 애플리케이션 이름을 가져옵니다.



    config.yml에 지정할 응용 프로그램 이름(WM_CLASS)을 가져오려면 $ fusuma-appmatcher -l 를 사용하십시오.-l 옵션이 없으면 포그라운드 응용 프로그램 이름만 검색됩니다.

    $ fusuma-appmatcher -l
    discord
    Slack
    Gnome-terminal
    Google-chrome
    

    컨텍스트 설정: config.yml의 WM_CLASS.



    기존 config.yml에 추가하려면.
  • ---~/.config/fusuma/config.yml의 맨 아래에 추가하여 context를 분리합니다.
  • 추가 context: { application: Google-chrome } .
  • swipe: ... ...를 추가하고 평소와 같이 제스처를 설명합니다.

  • 다음 예에서는 네 손가락 제스처가 기본 설정이며 세 손가락 스와이프 제스처는 Google Chrome 및 Gnome 터미널에 대해 서로 다른 동작으로 할당됩니다.




    이 예에서는 fusuma-plugin-wmctrl , fusuma-plugin-sendkeyfusuma-plugin-keypress 을 사용합니다.



    Google 크롬과 Gnome 터미널에서 각각 세 손가락을 위로 스와이프하면 두 탭이 모두 열립니다.

    Google 크롬의 경우 LEFTCTRL+T, Gnome 터미널의 경우 LEFTSHIFT+LEFTCTRL+T 서로 다른 키를 할당할 수 있었습니다.


    Fusuma v2의 컨텍스트 개념



    실제로 Fusuma는 이벤트 기반 애플리케이션으로 실행됩니다.



    사용자가 트랙패드를 터치하면 일부 터치 이벤트가 Fusuma로 전송됩니다. Fusuma는 이벤트를 계산하고 임계값을 초과하면 스와이프 이벤트로 실행기 플러그인에 전달하고 config.yml의 이벤트 콘텐츠와 관련된 작업을 실행합니다.



    Fusuma는 이벤트와 일치하는 작업에 대해 config.yml을 검색하지만 컨텍스트 이벤트가 발생하면 Fusuma는 해당 컨텍스트와 일치하는 작업에 대한 구성을 검색합니다.



    • Fusuma v2는 ---가 포함된 YAML 문서를 허용할 수 있습니다.
    • 세 개의 하이픈---으로 config.yml을 구분하여 컨텍스트를 만들 수 있습니다.
    • ---로 구분된 첫 번째 문서가 기본 구성으로 취급됩니다.
    • 그런데 ---는 하나의 파일에 여러 문서를 기술할 수 있는 표준 YAML 구문입니다.


    Undercontext:는 컨텍스트의 이벤트 이름과 해당 값입니다.




    context:
      event-name: value
    
    swipe:
      3:
        left:
          sendkey: 'LEFTALT+RIGHT'
    


    현재 컨텍스트 이벤트는 fusuma-plugin-appmatcher 플러그인에서만 실행할 수 있습니다.



    향후에는 이벤트를 일반화하여 꼬리 또는 외부 명령에서 컨텍스트 이벤트를 지원할 계획입니다.

    예를 들어 사용자는 특정 장치가 연결된 경우에만 유효한 구성을 정의할 수 있습니다.

    좋은 웹페이지 즐겨찾기