Thanks to visit codestin.com
Credit goes to corecode.wordpress.com

Feeds:
Posts
Comments

Archive for the ‘Gnome’ Category

Há alguns dias atrás eu postei sobre um plugin que vinha fazendo pro rhythmbox, inicialmente fiz ele apenas pra mim, mas agora to lançando a versão pra quem quiser usar. Lembrando que pra usar o plugin você tem que ter conta no lastfm.

Segue alguns passos para uso do plugin:

1) Após baixar o plugin copiar a pasta top10 para o seu $HOME/.local/share/rhythmbox/plugins;

2) Dentro da pasta top10 há um arquivo com  .xml cópia este arquivo como root dá seguinte forma: sudo cp usr/share/glib-2.0/schemas/;

3) Agora como root execute.: sudo glib-compile-schemas /usr/share/glib-2.0/schemas/;

4) Abra o seu rhythmbox, procure por plugins, procure por Top1o, habilite o plugin e deverá aparecer uma imagem no seu player como esta abaixo.

Se essa imagem apareceu, então tudo correu bem.

5) Em plugins no rhythmbox clique em preferências no Top10, digite o seu login do lastfm e escolha o período do qual você  quer o seu top10. Quando você fizer isso uma animação de loading vai aparecer embaixo, assim que ela sumir feche o dialogo de configuração, desabilite o plugin e habilite novamente, agora uma imagem com o seu ranking irá aparecer ao lado. Se não aparecer, se ainda persistir na mesma imagem você deve ter digitado o seu login errado.

6) Caso não queira ficar digitando o seu login/user do lastfm basta editar o arquivo .xml, procurar pelo campo lastfmuser e setar entra as tags <default> </default> o seu usuário. Lembrando que se fizer isso deverá executar o passo 3 novamente, ou o 2 e o 3 caso edite direto na pasta do top10.

Nota.: Por algum motivo do além, ou algum bug safadjenho do ubuntu como rhythm quando abro aqui o meu via launch o plugin não funciona corretamente, mas se abro via terminal ele funfa de boa. Caso alguém venha a ter o mesmo problema, ou não, ou conseguir resolver antes de mim, avisa ae blz :D?!

Link para o plugin: Top10lastfm 

Read Full Post »

Hoje em dia não é  mais novidade que o futuro dos desktop sejam a web, a computação nas nuvens anda mudando tudo de lugar cada vez mais,  e você descobre, vasculhando por ai, que quase tudo tem um pé na web. Um bom exemplo é o Qt com seu QML, mas calma, não quer dizer que você usa QML pra criar sites, quer dizer que você usa um pé da web no QML. A linguagem (se é que posso chamar assim) declarativa do Qt (QML) é baseada na sintaxe dos objetos em  JavaScript (lembram do JSON?) . Além disso, é possível, por exemplo, usar o QtWebKit e criar uma aplicação com JavaScript +  HTML e QML (além de Python e C++). Mas vamos deixar o Qt de lado, afinal o assunto aqui é o Gtk, mais precisamente Gtk  + JavaScript.

Vasculhando pela web por uma forma de criar aplicações em JavaScript no linux, e lançá-las no desktop, esbarrei com o Seed. Seed, é um binding (wrapper) do JavaScript usando WebKit e GObject para rodar aplicações no linux, mas precisamente no gnome, já que o projeto é mantido por um cara de lá. Mas, por que raios você iria usar JavaScript aquela linguagem tosca que usam em sites para criar aplicações Desktop; e como raios é esse bicho, JavaScript + Gtk?  Pelo que li a grande vantagem de se usar esse binding do JavaScript é o de poder integrar com as diversas libs do projeto gnome, quando falo diversas me refiro a; GLib, GTK, GIO, Gstreamer, Clutter, GObject, etc. Logo de cara você percebe que a integração é larga, mas não bastasse isso criar aplicações em Seed (JavaScript) + Gtk, por exemplo, é muito mais barato (computacionalmente falando) do que criar aplicações em PyGtk, e menos complicado do que criar com C puro (ansi C) e Gtk.
Para vocês não dizerem que estou inventando coisas aqui vai um código exemplo de como criar uma aplicação ‘Hello World’  com Seed + Gtk.

CODE

#!/usr/bin/env seed

Gtk = imports.gi.Gtk;
Gtk.init(null, null);

var window = new Gtk.Window({title:"Core Code Teste"});
window.signal.hide.connect(Gtk.main_quit);
var button = new Gtk.Button({label: "click me"});

button.signal.clicked.connect(function(w) {
        Seed.print("Hello World =D");
});
window.add(button);
window.show_all();

Gtk.main();

Viu, fácil né?! Agora observe bem e lembre-se, qual é uma das melhores características que o JavaScript possui? Se você não lembra eu vou te ajudar, aquela coisa de função anônima dentro de função, lembrou? É isso mesmo, os closures. Essa é uma das vantagens, também, de se usar Seed para construir suas aplicações, você vai poder abusar dos closures, e claro, da sua prática em JavaScript. Pra você que achava que ia morrer programando JQuery e JavaScript pra web, que tal se aventurar no mundo do desktop com Gtk, clutter,Gio, Glib…etc. Afinal, segundo os criadores desse binding esse foi um dos propósitos do projeto, atrair desenvolvedores web/JavaScript par ao ambiente Gnome.
Finalizando, para instalar o seed no ubuntu basta usar a força: sudo apt-get install seed =P.
Que a força esteja com vocês padawans!!

Referências

[1] http://developer.gnome.org/seed/stable/

[2] http://live.gnome.org/Seed/Tutorial

Read Full Post »

Você conhece a GLib?

Abrindo caminho a mais uma ótima discussão e um bom aprendizado dessa vez nós vamos entrar de cabeça no mundo Gnome, para tal vamos  partir do mundo que diz respeito ao que eu particularmente mais gosto, o desenvolvimento. No post anterior eu falei sobre a linguagem C, disse que ela era a mãe das outras linguagens e mencionei que todos deveriam aprender. Bem, dessa vez vou mostrar em uma séria de posts onde a linguagem C se encontra na sua distro linux, ao menos na minha – Ubuntu.  Na verdade eu vou falar sobre a GLib nessa séria de posts, desde o que é até como utilizá-la no seu projeto e  quais os benefícios do seu uso.

GLib, e não confunda com glibc ( GNU  C library ), é uma biblioteca multi-plataforma escrita em C. Essa biblioteca começou como parte do projeto GTK+ que por sua vez começou para ser utilizado no Gimp, por isso o nome Gimp toolkit (enxergaram o G-T-K ? ).  Após lançamento da versão 2 do GTK+ os desenvolvedores resolveram separar o que era relacionado com GUI e o que não era. Com esse trabalho foi então lançada a GLib que hoje é utilizada por desenvolvedores para implementar partes do projeto que não dependem da parte GUI do projeto GTK+. Em um resumo bem baixo nível: Os caras pegaram toda a biblioteca do  GKT+ viram que dava pra separar uma parte que não era necessariamente relacionada com as implementações de interface e então criaram a GLib. Com ela se pode implementar projetos e aplicações que não dependem das partes do  GTK+ voltados a implementação de interface.

Uma das maiores vantagens de se usar a GLib é que ela é multi-plataforma, logo se você quer implementar algo em C, mas para portar ele para unix e windows você vai ter que cuidar sempre dos includes e macross, usar a GLib pode ser uma boa alternativa. Não só por isso, mas também porque essa biblioteca provê uma série de estruturas de dados já implementadas que vão facilitar e muito a sua vida. Algumas delas: listas ligadas, ligas duplamente ligadas, tabelas hashes, arrays dinâmicos, arvores binárias, e outras mais que você pode encontrar na própria documentação desse projeto [1].

Por hora eu fico por aqui. Nos próximos posts eu vou dar alguns exemplos de uso dessa lib. Além disso vou mostrar códigos de alguns projetos que usam a GLib.  Se você não já tiver bem curioso vai dando uma na documentação dela, lá tem de tudo, desde exemplos de uso até como a biblioteca está implementada em C.

 

PS.: Prepara-se para ver algo do tipo: void * Ojb – Isso é o que chamamos de ponteiro genérico, estudando a documentação você vai entender o por quê do seu uso.

PPS.: Com GLib, para muitas aplicações, usá-la é uma boa alternativa ao C++ com STL . E foi  exatamente para isso que criaram o GObject, mas isso é outra história e vai render outra série de posts =P.

[1]http://library.gnome.org/devel/glib/

Read Full Post »

Design a site like this with WordPress.com
Get started