Skip to content

DBDesigner, Wine e janelas que não ganham foco.

Hi!

Para aqueles que seguiram minha dica do DBDesigner sob o wine, perceberam que quando tentamos abrir novas janelas (opções, propriedades, etc), estas novas janelas ficam muitas vezes em baixo da janela principal. Ou seja, não recebem foco.

Isto deve-se a um bug no Wine de criar as janelas todas da mesma forma, e a uma funcionalidade do Gnome que não permite que uma aplicação roube o foco da outra. Esta união de eventos acarretam em um problema muito chato.

A solução para isto está em um pequeno programa chamado devils-pie.

O devilspie procura pela instanciação de novas janelas e as compara com um padrão. Caso este padrão seja encontrado, o devilspie executa uma ação. Logo, o que eu fiz foi muito simples: Procuro pela string “DBDesigner” no nome da aplicação dona da janela. Se eu encontro, dou foco para ela. Simples não?

Getting the code:

O código de instalação e configuração do programa é muito simples:

sudo apt-get install devilspie
echo '(if(contains (application_name) "DBDesigner") (focus))' > $HOME/.devilspie/wine.ds
devilspie

O Código acima possui 3 linhas. Talvez em alguns browsers apareçam 4.

E você nunca mais terá problemas de novo com o DBDesigner emulado pelo Wine.

Links para programação no devilspie

  1. http://wiki.foosel.net/linux/devilspie
  2. http://live.gnome.org/DevilsPie

12 Comments

  1. Sérgio Salles

    Por que emular o DBDesigner se temos uma versão nativa para o linux??? Uso ela e até agora não vi nenhuma funcionalidade que não rode na versão nativa. É igualzinha a do Windows, e ainda melhor, sem alguns bugs que tem na versão windows.

    Posted on 13-Jan-07 at 12:41 pm | Permalink
  2. Danilo Cesar

    Verifique o porque no Link do outro POST.

    A versão pra Linux possui muitos problemas, como você poderá constatar em vários outros fóruns. Eles fizeram um port muito mal feito p/ Linux, pois o foco é o Windows. Se em sua distribuição não deu problema, você é um dos poucos felizardos que eu conheço. Na verdade, o único.
    Exemplos destes problemas podem ser encontrados em: http://21croissants.blogspot.com/2006/12/dbdesigner-4-on-ubuntu-dbdesigner-4-on.html e em http://wiki.splitbrain.org/dbdesigner .

    O que ocorre é um problema com fontes e uma incompatibilidade com a versão do código objeto do MySQL. Ou algo assim.
    Mas a motivação deste post não foi apenas pelo problema do DBDesigner, mas sim do Wine. Problemas semelhantes como este de não abrir as janelas em primeiro problema em outros softwares poderão ser contornados da mesma forma.

    []’s
    Danilo

    Posted on 13-Jan-07 at 12:58 pm | Permalink
  3. Sérgio Salles

    Pelo que eu vi nesses links, os problemas são relacionados a ele rodar e a exportação do DB para o mysql, basta instalar as dependencias que ele pede e roda tranquilo, inclusive com exportação para o Mysql. Aqui uso ele desta forma, com exportação para o Mysql normalmente. O único problema são as fontes sem suporte a anti-alias.
    Fora isso, aqui no Ubuntu Dapper e Edgy, funciona que é uma beleza.
    Não estou condenando seu post, pelo contrário, sempre leio as coisas do Planeta, foi mais uma curiosidade de ver DBDesigner no Wine no título do post sabe, por eu usar aqui uma versão nativa. Me perguntei na mesma hora: “Será que eu sou o único que consigo utilizar o Dbdesigner no Linux!??”
    Achei meio que impossível isso. hehehe…

    Mas beleza, só gostaria mesmo de saber especificamente o que as pessoas não conseguem fazer com ele. Realmente é um pouco trabalhoso de instalar a versão nativa, mas depois que consegue, tudo funciona.

    Abraços

    Posted on 14-Jan-07 at 1:23 pm | Permalink
  4. Danilo Cesar

    Pois é Sérgio…

    Já consegui rodar o DB-Designer no Debian a um certo tempo atrás. Mas ficou extremamente feio e precisei de muuuito tempo para conectar o MySQL. Depois de fazer uma série de gambiarras consegui, mas como não gosto de coisa “feita”, usei o que precisava e logo removi o pacote e suas dependências.

    Como a umas duas semanas precisei usar e não queria fazer tudo de novo, coloquei a dica de fazer pelo Wine aqui no blog, porque achei muito mais simples pra obter o mesmo resultado.
    Mas depois de postado percebi que tinha esse bug, que não tinha solução, nem no UbuntuForuns. Então descobri o devilspie e quis compartilhar com o povo.

    Realmente é possível instalar o DBDesigner nativamente no Linux, mas convenhamos que é muito mais simples faze-lo pelo wine… =)

    É isso…

    []’s

    Danilo

    Posted on 14-Jan-07 at 9:00 pm | Permalink
  5. Sérgio Salles

    Beleza, eu até to fazendo pelo Wine agora pra ver como é… Realmente toda vida que formato meu PC é uma confusãozinha pra instalar, mas te garanto que hoje tá um pouco mais simples do que das primeiras vezes que tentei…

    Vo testar agora aqui pelo wine…

    Posted on 14-Jan-07 at 11:24 pm | Permalink
  6. Sérgio Salles

    Oi Danilo, Beleza?

    Bom, como fiquei de testar o DBDesigner pelo wine, testei. Queria te passar o que percebi entre o DBD Linux e o pelo Wine.

    Realmente de primeira o DBD Win é mais bonitinho, mas ainda rola uns bugs, tirando esse do foco que dá pra resolver com a sua dica. É mais fácil de instalar sim, com ctz. Dos bugs que tem, os que eu percebi que incomoda um pouco e acaba deixando ele feio, é algumas sobreposições dos textos, por exemplo, qdo vc muda a porcentagem de visualização, a porcentagem anterior não sai, aí fica uma em cima da outra, aquela bagunça. Isso tb acontece com umas janelas de opções que tem diversas guias, qdo vc muda a guia, a janela continua com o título anterior, e os dois se misturam, e assim por diante. Não sei se to falando besteira ou se isso é um bugzinho fácil de resolver, to falando do meu humilde conhecimento, e realmente desconheço se há uma solução pra isso, se estiver falando besteira, me desculpe por favor.
    Agora o que mais me deixou com pé atrás foi a impressão pelo DBD Win. Ele desenha as tabelas como se fosse em um tamanho padrão e o texto dos campos sai todo fora das tabelas, sai tudo desalinhado na impressão. Não sei se esse lance de impressão com o wine seja só com o DBD ou com todos os outros softwares pelo wine, é a primeira aplicação que testo impressão na verdade pelo wine.
    Ou coisa que acontece é quando a gente coloca aquelas áreas pra dividir a estrutura do DB. Aqueles retangulos coloridos, pra setorizar as tabelas. Pois é, qdo vc coloca eles, fica beleza, se vc muda o zoom, o quadro não muda de tamanho de acordo com o zoom, e sim só as tabelas. Ele só se encaixa aonde vc colocou se vc voltar ao zoom qdo vc o criou.

    Bom foi isso que percebi, quando ao DBD nativo, realmente é chato estar usando uma versão BETA e ficar sempre uma versão atrás das versões pra Win, mas com relação a “feiura” dele, fui nas opções e mudei as fontes pra arial com tamanho menor e tudo se encaixou direitinho, agora ele tá bem mais bonitinho e assim a impressão sai alinhada, as tabelas saem no tamanho correto. Com relação aos retangulos de regiões, eles tb mantém o tamanho qdo mudamos o zoom. O bug dos textos se sobrepondo tb não existe.

    O que dá pra perceber é que mesmo sendo trabalhoso de instalar e sendo uma versão BETA, a versão Linux é bem mais estável e sem BUGS. Bom, isso é nos testes que eu fiz, trabalho com o DBD quase todo dia e foi o que percebi.

    Espero poder contribuir com mais coisas. E lembrando, me avisem se tiver falado alguma besteira.

    Abraços…

    Posted on 19-Jan-07 at 12:17 pm | Permalink
  7. Danilo Cesar

    Exelente Sérgio…

    Mas você esqueceu de citar o problema com o MySQL.
    De qualquer forma, obrigado pelo Review do DBD aqui… =)
    Acho que vou me aventurar de novo com o DBD nativo…

    []’s

    Danilo

    Posted on 19-Jan-07 at 2:30 pm | Permalink
  8. Sérgio Salles

    É esqueci mesmo, mas até não lembrei pq é um “problema” de dependência que fácilmente é resolvido com um pouquinho de paciência. Mas vale a pena quebrar um pouco a cabeça pra ter a versão nativa funcionando. Vou fazer a instalação dele como fiz no Ubuntu Dapper e publicar um passo a passo com os links simbólicos tb. Sempre crio nos locais certos mas nunca documentei, acabo esquecendo e sempre que vou instalar, tenho que sair procurando os lugares, vendo o log de erros do DBD e por aí vai.
    Ah… se vc for testar a versão nativa mesmo, tem um arquivo de log que fica na pasta oculta .DBDesigner4 dentro da tua home com um arquivo de log. Lá vai ter que dependência ele não tá encontrando. Toda vez que vc tentar entrar no DBD e ele não abrir, ele escreve o erro nesse arquivo de log…

    Já quebrei muito a cabeça com isso por ser uma ferramenta fantástica e por precisar tanto dela.

    Abraços

    Sérgio

    Posted on 19-Jan-07 at 5:46 pm | Permalink
  9. Marcelo Rito

    Man
    cara nao consegui rodar a 2ª linha do comando
    fala bash: /home/mritto/.devilspie/wine.ds: Arquivo ou diretório inexistente
    como procedo?¿

    Posted on 13-Apr-07 at 8:32 pm | Permalink
  10. Jakub

    Hello,
    I have installed DBdesignet on my ubuntu box but I cant make a reverse engineering with MySQL 5.0.
    Can you give a hint how can “import” my exist tables to DBDesigner ?
    Thanks for help.

    Posted on 16-Apr-08 at 12:22 pm | Permalink
  11. Oi Cesar, tudo bem?

    Estou rodando um programa for windows no wine usando Debian e Ubuntu. O que acontece é que, ao clicar num botão que chama uma outra janela, essa janela que é chamada abre por debaixo da janela ativa e não na frente. Você saberia me dizer se o Devils Pie resolve meu caso? Eu instalei ele do jeito que você colocou acima, tentei de várias formas e NADA. Como sei que ele está conseguindo rodar corretamente?

    Obrigado.

    Posted on 28-May-09 at 4:25 pm | Permalink
  12. Cezar

    Estou com o mesmo problema do Guilherme, tenho um programa ERP na empresa que acontece a mesma coisa, a janela principal fica sempre na frente e a secundaria atraz, como consigo resolver?

    Posted on 13-Aug-14 at 9:02 am | Permalink

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*