Página de arquivo 2

lgui 0.6 e ldraw 0.3

Obs.: Um pouco atrazado, pois já publiquei estas versões a um bom tempo, mas:

Uma nova versão dos bindings do GTK+2.0 para Lua (lgui) e do cairo (ldraw) estão disponíveis para download.
Alguns screenshoots:

ss1

ss3ss2

Dark Side Of The Moon

o/ – Discos rocks.

15-01-08_2131.jpg

lgui 0.3 e lcairo 0.1

Voltei de férias! Estes três dias pós-férias foram bem produtivos. Fiz um “gerador” que organiza as funções do lgui de maneira a tornar a sintaxe orientada a objeto:

Exemplo:

require(“lguiOO”)

local w = lgui.Window.new()
w:set(“title”, “Olá mundo OO!”, “window-position”, lgui.WIN_POS_CENTER)
w:connect(“delete-event”, lgui.gtkQuit)
w:showAll()
lgui.gtkMain()

Também fiz bindings do cairo, que podem ser utilizados sozinhos ou integrados ao lgui (só as funções básicas foram feitas até agora, tá bem no início).

lgui 0.2

Outro release público. Deve consertar todos os bugs que eu encontrei e adicionar mais algumas coisas principais que faltavam (GtkComboBox e GtkTable). Agora é férias! Daqui um mês volto a trabalhar nele hehe.

Para teste, fiz uma pequena aplicação “CRUD” com postgresql.

Resultado:

ss

lgui: Bindings do GTK para Lua

(Atenção: Post antigo, houvera mudanças significativas no projeto).

A um tempo atrás, comecei a criar um binding do GTK para Lua. Atualmente, ele cobre 90% do que é realmente usado, e é compacto e simples (<60kbs, compilado como um módulo). Compilado e testado com GTK 2.12, para Linux e MS-Windows.
O código fonte já está no CVS. (não existe mais, ver http://oproj.tuxfamily.org)

-> Exemplo de uso:

#! /usr/bin/env lua

require(“lgui”)
lgui.export()

local window = windowNew()
local hbox = hboxNew(true, 5)
local b1, b2 = buttonNewFromStock(“gtk-ok”), buttonNewFromStock(“gtk-cancel”)

containerAdd(hbox, b1, b2)
containerAdd(window, hbox)

set(window, “title”, “Hello World”, “window-position”, WIN_POS_CENTER)

connect(window, “delete-event”, gtkQuit)
connect(b1, “clicked”, print, “Button 1 clicked!”)

widgetShowAll(window)
gtkMain()

-> Resultado:

SS

Banquete de Estudante

Uma foto com baixa resolução vale mais que um punhado palavras:

Banquete I

Até sobremesa!!!

OpenSolaris Developer Preview

Ontem, as três da madrugada, bootei no meu recém gravado live CD do primeiro milestone do projeto Indiana, do OpenSolaris, que pretende atrair mais usuários para o sistema.

Eu só brinquei com ele por alguns minutos. Algumas características:

- Utiliza o GNOME 2.20.1 como ambiente desktop;
- Aparentemente como uma boa RAM;
- Nimbus é muito bonito =). Não é o default, mas pelo próprio  gerenciador de temas do GNOME dá pra selecioná-lo;
- Não vem com Java pré-instalado?

Algumas SSs:

SS 1SS 2

lua-gtk e suas dependências – Arch Linux

Terminei de montar os pacotes do lua-gtk (bindings do gtk para Lua) e suas dependências. Deu um trabalho danado, pois muita coisa teve que ser mudada para se tornar compilável com os pacotes do Arch.

Os 4 já estão no AUR (as outras dependências já foram empacotadas por outros):

- bitlib (manipulação de bits em Lua)
- cmph (biblioteca de hashing escrita em C) *
- lua-expat (bindings  do expat para Lua)
- lua-gtk (enfim!)

* Nota.: Apesar de estar empacotado, não configurei o lua-gtk para utilizá-lo. Quando eu tiver mais tempo eu tento novamente!

Lembrando que o lua-gtk ainda está em estado alfa, e possui alguns bugs (a versão atual, a 0.6, é considerada pelo desenvolvedor como uma versão de desenvolvimento, equanto que a versão 0.5 já se encontra compilada para Linux e Windows no site do projeto no luaforge.org )

Criando módulos para Lua, com o SWIG

Este tutorial procura mostrar um exemplo básico de como utilizar a ferramenta SWIG para criar módulos de Lua em C / C++ (presume-se que o leitor já tem uma implementação de Lua instalada, como o Lua oficial ou o LuaJIT.)

1º Passo – Instalação do Swig

A maioria das distribuições Linux possui  o Swig no seu repositório. No Arch Linux não é diferente =). Para outras distribuições que não tenham empacotado ele, ou para outros sistemas operacionais (sim, windows também é suportado), é possível baixar o código fonte do site oficial e compilar.

2º Passo – Criação de um arquivo de exemplo

Crie um arquivo chamado exemplo.c, e coloque o seguinte conteúdo nele:

#include <stdio.h>

void olaMundo()
{
printf(“C diz: Olá Mundo!!\n”);
}

3º Passo – Criação de um arquivo de interface para o SWIG 

Crie um arquivo chamado exemplo.i, e coloque o seguinte conteúdo nele:

%module exemplo
%{
extern void olaMundo();
%}

extern void olaMundo();

4º Passo – Criação do wrapper 

Rode o SWIG para gerar o wrapper. Exemplo:

$ swig -lua exemplo.i (paraC++, utilize a flag -c++ em conjunto com as demais)

5º Passo – Compilação do Módulo

Este passo depende muito da sua plataforma, portanto pode variar. Neste tutorial, está sendo utilizado o GCC 4.2.2 rodando no Arch Linux.

$ gcc -c exemplo.c
$ gcc -c exemplo_wrap.c
$ gcc -shared exemplo.o exemplo_wrap.o -o exemplo.so

6º Passo – Testando o módulo 

Crie um arquivo chamado teste.lua, e coloque o seguinte conteúdo nele:

require(“exemplo”)
print(“Lua diz: Tá aí C?”)
exemplo.olaMundo()
print(“Lua diz: Legal!!”)

Rode ele, e veja se funcionou :)

$ lua  teste.lua

Simples não? O SWIG é uma ferramenta muito poderosa. Já utilizei ele em conjunto com Java, Python, e, atualmente, com Lua.

Compiz Fusion 0.6.0 – Arch Linux

Edit.: Agora existem pacotes no repositório “community”, um pacman -Ss compiz mostra os nomes dos pacotes relacionados.

A versão 0.6.0 do Compiz Fusion saiu a pouco tempo, e está mais “polida” do que o release público anterior (0.5.2).

Disponibilizei os pacotes compilados para Athlons (k8) no seguinte link.:

http://download.tuxfamily.org/oproj/compizfusion

Lembrando que o Compiz 0.6.0 se encontra no repositório oficial (# pacman -S compiz-fusion instala três pacotes.: compiz-core, e decoradores de janela para gtk e kde).

« Página anteriorPróxima Página »