Fluxbox: Mouse1을 사용하여 RootMenu 전환

Fluxbox: Mouse1을 사용하여 RootMenu 전환

Debian Jessie와 Fluxbox 1.3.5에서 내가 찾고 있는 동작은 다음과 같습니다. 바탕 화면을 클릭할 때마다 RootMenu가 아직 존재하지 않으면 그려져야 합니다. RootMenu가 이미 존재하는 경우 사라져야 합니다. 이를 위해 .fluxbox/keys파일에 다음 줄을 추가했습니다.

OnDesktop Mouse1 :If {Some Matches ((@Role="fluxbox-menu")} {HideMenus}  {RootMenu}

다른 마우스 관련 바인딩을 주석 처리한 후.

그러나 데스크탑에서 Mouse1을 눌러도 아무런 효과가 없으며 로그 파일은 깨끗합니다. RootMenu를 다른 키에 바인딩하는 경우에는 다음을 사용하십시오.

OnDesktop Mouse3 :RootMenu

RootMenu가 올바르게 표시됩니다(그래서 전혀 문제가 없습니다).

왜 이런 일이 발생하는지 아시나요? 더 중요한 것은 keys파일이 이러한 "복잡한" 동작을 허용하지 않는다는 것입니다.

답변1

Fluxbox 키는 이 동작을 지원해야 하지만 복잡한 작업을 시도할 때 일부 불규칙성을 발견했습니다. 다음을 사용하여 작동하게 만들 수 있었습니다.

OnDesktop Mouse1 :If {Matches (Name!=)} {RootMenu} {HideMenus}

일치하는 패턴이 투박해 보이지만 작동하는 것 같습니다. 이것이 왜 Fluxbox에서 작동하는지 살펴볼 시간은 없었지만 Fluxbox 메뉴가 활성화되면 체크된 속성이 설정되거나 설정되지 않을 것으로 예상했습니다.

이것이 당신에게(또는 적어도 시작점) 유용하길 바랍니다. 적용할 더 나은 조건부 패턴을 찾으면 보고 싶습니다.

관련 정보