Compiz - Conhecendo a fundo II

Quando voltamos ao assunto de programação para Desktop, uma das melhores soluções no mundo de código aberto são as linguagens Python e C, pois ambas possibilitam uma grande integração com o Sistema Operacional, o qual o mesmo é desenvolvido.

[ Hits: 15.694 ]

Por: José Cleydson Ferreira da Silva em 26/08/2008


Uma leve introdução à linguagem de desenvolvimento



O amadurecimento das linguagens de programação orientadas a objeto proporcionou uma vasta integração da plataforma e aplicativos. Excelentes linguagens como C, C++, Python, Java etc são constantemente usadas neste tipo de desenvolvimento, se destacando sem sombra de dúvida aquelas que possuem uma melhor performance e agilidade para o caso específico.

Quando voltamos ao assunto de programação para Desktop, uma das melhores soluções no mundo de código aberto são as linguagens Python e C, pois ambas possibilitam uma grande integridade com o Sistema Operacional, o qual o mesmo é desenvolvido.

O Compiz trabalha com facilidade e domina o gerenciamento de janelas, sem que possam ter algum tipo de conflito com os demais gerenciadores. Desenvolvido inicialmente pela Novell, empresa de software, hoje seu desenvolvimento é movido por grandes contribuidores do mundo inteiro.

Qualquer software que se preze deve possuir um codificação limpa e bem definida para que possam ser facilmente interpretadas por outros desenvolvedores. Por este motivo todos os desenvolvedores devem seguir o mesmo estilo de programação.

Estilo básico do algorítimo

Exemplo simples:

static void
defaultMinimizeAnimInit (CompScreen * s, CompWindow * w)
{
    ANIM_SCREEN(s);
    ANIM_WINDOW(w);
    if (animZoomToIcon(as, aw))
    {
        aw->animTotalTime /= ZOOM_PERCEIVED_T;
        aw->animRemainingTime = aw->animTotalTime;
        aw->usingTransform = TRUE;
     }
     defaultAnimInit(s, w);
}

Como estamos falando de código aberto, os colaboradores usam editores de textos simples para trabalhar. Ambos recomendam o editor Vim.

Estrutura dos plugins

Virtualmente todos os plugins precisam armazenar dados de alguma forma, e na maioria das vezes tem que ser unida a uma estrutura central, um bom exemplo seria o armazenamento de dados do processo de uma animação ou a opacidade de uma janela em desvanecimento do plugin.

Para se obter esses acessos os plugins precisam de acesso à base privates em um CompDisplay e um em um CompScreen e em um CompWindow. O displayPrivateIndex é armazenado em um espaço dos plugin, geralmente visível na parte superior de um código. O initDisplay pedirá () este índice e alocará a memória para a estrutura, a seguir une a estrutura a d->base.privates [displayPrivateIndex] (que é uma união, assim d->base.privates [displayPrivateIndex] .ptr).

Para os outros índices aplica-se o mesmo processo, a não ser que o screenPrivateIndex seja armazenado geralmente na estrutura de encaixe da exposição, e o windowPrivateIndex na estrutura de encaixe da tela.

A maioria dos plugins setup para alcançar estas funções, chamadas geralmente PLUGINNAME_DISPLAY (o *d) CompDisplay, por exemplo, que conduziria a um *pd de PluginnameDisplay; variável, onde o p é a inicial do plugin.

Plugin cubo igualmente ganhou a capacidade para alcançar as estruturas de cada um, que outros encaixes (plugins) podem usar demasiadamente. Isto é conseguido por uma função do núcleo que permita que plugin peça um displayPrivateIndex de outro plugin; o descanso é uma matéria de compartilhar um encabeçamento, ou seja, são as libs (bibliotecas compartilhada) que estão em jogo.

    Próxima página

Páginas do artigo
   1. Uma leve introdução à linguagem de desenvolvimento
   2. Relacionamento com ambiente gráfico X
Outros artigos deste autor

Como migrar banco de dados MySQL para PostgreSQL

Os novos plugins do Compiz

O comando LS de A a Z

Implementando rotas estáticas no Linux com route

Bing: Medindo velocidade da conexão no Linux

Leitura recomendada

Avaliando Ubuntu 7.10 Gutsy Gibbon (Ubuntu Studio)

Instalando Freerock Gnome 2.12.1

Instalação de um servidor de mensagens instantâneas Openfire na sua rede com clientes Microsoft Windows e cliente Jabber Exodus

Montado diferentes tipos de imagens no Linux

Compiz Fusion no Ubuntu

  
Comentários
[1] Comentário enviado por albfneto em 27/08/2008 - 10:12h

Aproveitando, um link interessante...
Como usar Compiz, Metisse e Beryl, no Mandriva Spring:

http://technocrat.net/d/2007/7/10/22919

[2] Comentário enviado por cleysinhonv em 27/08/2008 - 10:21h

Olá albfneto

Boa a sua indicação no link citado acima, obrigado.

valeu

[3] Comentário enviado por enricolo4 em 28/08/2008 - 00:26h

Gostaria de saber como faço para ativar o compiz-fusion no fluxbox?

[4] Comentário enviado por cleysinhonv em 10/09/2008 - 09:40h

Olha eu nunca usei o fluxbox, ao receber o email acompanhamento de comentário, procurei pesquisar, mas poucas informações eu encontrei. A respeito do caso especifico.

Obrigado pela pergunta.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts