Python & USBManager: SystemTray/StatusIcon
por
em 03-06-2009 às 11:19 (3449 Visualizações)
Desde que migrei pro Linux tive muita dificuldades de adaptação mas todas foram sanadas, exceto uma! Até alguns dias atrás...
Mais alguém ai sente falta daquele ícone para ejetar pendrives??? Pois é, eu sentia! Toda vez que ia ejetar a pendrive eu tinha que ir no Desktop ou abrir o Nautilus... Bem, a uns dias descobri o Ejecter. Veja alguns screenshots:
Legal ne?! Também achei! Como eu estou desenvolvendo o USBManager resolvi adicionar essa função para ele também. Claro, não sou tão bom quanto a equipe do Ejecter... Mas depois de um dia de pesquisa consegui fazer algumas coisas. Agora o USBManager vai ter um TrayApplet (ou StatusIcon, coo o GTK chama). Claro, ainda está em desenvolvimento e muita coisa pode mudar! Mas durante os testes de ontem de noite saiu isso aqui:
http://under-linux.org/members/magnu.../7447-tray.pngA diferença é vergonhosa... Mas como disse, ainda está em desenvolvimento, muita coisa pode mudar. Inclusive a tradução de "Open USBManager" que tá faltando...
Alguém acerta quel é o meu apllet?? XD
http://under-linux.org/members/magnu...-popupmenu.png
Lista os dispositivos, dá a possibilidade de abrir o gerenciado e/ou fechar tudo.
Como eu fiz isso?? Vamos ao básico de um SystemTray/StatusIcon:
Só isso é o suficiente para aparecer o ícone. A adição de menus já demanda um certo conhecimento em GTK... Se alguém precisar é só entrar em contato que eu passo um código básico!Código :[FONT=Courier New][COLOR=DarkOrange]import[/COLOR][/FONT][FONT=Courier New] pygtk pygtk.require([/FONT][FONT=Courier New][COLOR=SeaGreen]'2.0'[/COLOR][/FONT][FONT=Courier New]) [/FONT] [FONT=Courier New][COLOR=DarkOrange]import [/COLOR][/FONT][FONT=Courier New]gtk statusIcon = gtk.StatusIcon() statusIcon.set_from_file([/FONT] [FONT=Courier New][COLOR=SeaGreen]\\"../data/small_icon.png\\"[/COLOR][/FONT][FONT=Courier New]) statusIcon.set_visible(True) statusIcon.set_tooltip([/FONT][FONT=Courier New][COLOR=SeaGreen]\\"USB Volume Storage Manager\\"[/COLOR][/FONT][FONT=Courier New])[/FONT] [FONT=Courier New]gtk.main()[/FONT]
Putz, acredita que o que mais demorou não foi o código e sim o design do ícone?! Eu definitivamente não levo jeito pra essas coisas....
Eu queria um ícone que combinasse com os padrões do Gnome... Mas saíu essa coisa ai em cima! Se alguém ai for um bom designer e quiser me dar uma ajuda eu estou aceitando sugestões.
Até mais...
Comentários
+ Enviar Comentário