Linux slogan
Visite também: BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha

» Wallpaper
Linux: Hack System
Por _luks


Artigo

Compiz - Conhecendo a fundo II
Linux user
zékuruma
26/08/2008
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.
Por: Cleydson
[ Hits: 2799 ]
Conceito: 7.2   Linux conceitoLinux conceitoLinux conceitoLinux conceitoLinux conceito + quero dar nota ao artigo

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.

Navegação
   1. Uma leve introdução à linguagem de desenvolvimento
   2. Relacionamento com ambiente gráfico X

Outros artigos deste autor

Leitura recomendada

Comentários
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

Comentário enviado por zékuruma em 27/08/2008 - 10:21h:

Olá albfneto

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

valeu

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

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

Comentário enviado por zékuruma 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
  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Contribuir com: [ Artigo | Conf | Dica | Pergunta | Script | Screenshot | Simulado | Wallpaper ]
Responsável pelo site: Fábio Berbert de Paula - Copyleft© 2002-2008 Viva o Linux.com.br

Viva o Linux

A maior comunidade Linux do Brasil! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.