2013-01-25 3 views
5

우분투 12.10에서 wxWidgets 2.9.3을 빌드했는데 (이 버전을 고수해야하는 순간) wxTaskBarIcon 클래스를 사용할 수 없습니다. wxWidgets와 함께 제공되는 샘플은 컴파일되고 실행 중이지만 아이콘 자체는 ​​작업 표시 줄 자체에 표시되지 않습니다. 설정을 확인한 결과, wxWidgets 라이브러리의 컴파일이 기본 설정 (작업 표시 줄 지원에 대해 "예")으로 실행되었음을 알았습니다.wxTaskBarIcon in Ubuntu 12.10

어떻게하면 효과가 있습니까? 이 문제는 wxWidgets 및/또는 Ubuntu 버전과 관련이 있습니까?

편집 : 확실히 wxWidgets 버전에 연결되어 있지 않습니다 (wx 2.8, 2.9.3, 2.9.4에서 확인).

편집 2 : 중요한 경우 : 시스템은 모든 기본 설정으로 설치된 VirtualBox 4.2.6에 있습니다. 적어도 일주일에 한 번 업데이트를 설치하고 있습니다.

+0

은 아마 당신이 할 수있는 [SSCCE] (http://sscce.org/) 당신이 무슨 짓을했는지 우리에게 보여? –

+0

어떤 창 관리자를 사용하고 있습니까? http://docs.wxwidgets.org/2.8/wx_wxtaskbaricon.html –

+0

@JoachimPileborg의 맨 위에 언급 된 많은주의 사항이 있습니다. 예제 코드를 게시 할 수는 있지만 기본 샘플이 작동하지 않으므로 불필요 할 수 있습니다. 어느 한 쪽. – Rivenris

답변

3

우분투에서 11.04 이후로 작업 표시 줄은 Unity가 관리하므로 기본적으로 모든 프로그램이 거기에 아이콘을 넣을 수 없습니다. 작업 표시 줄에 액세스 할 수 있도록 응용 프로그램을 허용 목록에 추가해야합니다. 나는 원래 대답을 발견 한 곳 여기입니다 :

http://ubuntuforums.org/showthread.php?t=1737589

은 기본적 호출해야합니다.

gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Mumble', 'Wine', 'Skype', 'YOUR_APPLICATION']" 

그런 다음에 로그인, 로그 아웃이는 Unity.Panel 화이트리스트에 YOUR_APPLICATION을 추가합니다. 이 경우 목록에있는 항목도 미리 나열해야합니다. 당신은 호출하여 방법 화이트리스트 모습을 확인할 수 있습니다 내 경우

gsettings get com.canonical.Unity.Panel systray-whitelist 

(나는 개발 환경 일하고로) 난 그냥 "['all']"로 설정합니다. 이렇게하면 모든 응용 프로그램이 작업 표시 줄에 액세스 할 수 있습니다.

우분투는 이러한 지원을 중단 할 것이고 향후에는 그 목표를 달성하기 위해 AppIndicator 라이브러리를 사용해야합니다. 즉, AppIndicator 라이브러리를 사용하지 않는 한 wxTaskBarIcon은 허용 목록을 사용하더라도 작동하지 않습니다.

출처 : http://www.webupd8.org/2013/02/unity-notification-area-systray.html

+1

왜 wxWidgets가 지연되는 이유가 있습니까? 확실하게'wxTaskBarIcon'는 Appindicator 구현물을 가져야합니다. – fatuhoku

+0

이것은 wxWidgets이 우분투가 아닌 GTK 지향적 인 사실과 만 연관이 있다고 추측 할 수 있습니다. wxTaskBarIcon을 우분투로 조정하기가 어려울 수 있습니다. 특히 AppIndicator가 gtk 아이콘 (표시되는 이벤트 등)보다 가능성이 적 으면.또한 내 경험에 의하면'AppIndicator'는 버그와 이상한 행동을 많이 발견하여 신뢰성이 떨어졌습니다. – Rivenris