Archive for category GTK
gthread – exemplo
Publicado por Lucas Hermann Negri em GTK em 14, junho 2009
A biblioteca glib possui uma abstração de threads, com uma API simples e que se mantém a mesma em todos os S.Os suportados.
Exemplo de utilização: Link
O exemplo mostra uma utilização bem básica, sem necessidade de compartilhar memória e etc. Aplicações reais nem sempre são tão simples! Documentação oficial: Link
lgob – Bindings para Lua
Publicado por Lucas Hermann Negri em GTK, Lua, OpenSource em 9, março 2009
A um ano atŕas, eu publiquei bindings para Lua das bibliotecas GTK+, cairo, entre outras, no http://oproj.tuxfamily.org . Decidi automatizar a tarefa, escrevendo um gerador de código que lê informações dos arquivos “.gir” do projeto gobject-instrospection e gera código para exportar classes, funções e enumerações.
O projeto foi nomeado como lgob (lua gobject), e está disponível (via svn) em: http://svn.tuxfamily.org/viewvc.cgi/oproj_oprojsvn/lgob/ .
As vantagens da nova abordagem incluem: uma maior cobertura da API, maior facilidade para mudanças, e geração de código para versões específicas.
Intel GM965 vs performance 2D
Publicado por Lucas Hermann Negri em Benchmarks, GTK, Linux em 6, março 2009
Com o novo Xorg 1.6, meus antigos problemas com a performance 3D da minha Intel GM965 (aka X3100) acabaram, mas a performance 2D continuava horrível.
Testando outras configurações pro Xorg, cheguei nesta:
Section “Device”
Identifier “Card0″
Driver “intel”
VendorName “All”
BoardName “All”
Option “AccelMethod” “exa”
Option “MigrationHeuristic” “greedy”
Option “ExaNoComposite” “true”
EndSection
OK. Os métodos de aceleração suportados são: XAA (antigo, substituido pelo EXA), o EXA (perofrmance 3D melhorada, mas por padrão gera artefatos em algumas aplicações que usam Qt 4) e o UXA (suporte ao dri2, mas ainda está um pouco instável).
Se não me engano o EXA é usado por padrção, então até ai nenhuma mudança. O que realmente melhorou a performance 2D (e corrigiu alguns bugs) foi o “Option “MigrationHeuristic” “greedy”.
Para testes, usei o programa gtkperf. Antes, uma rodada com 100 repetições demorava 16 segundos. Com a nova configuração, passou para 5 segundos. A performance 3D aparentemente não foi alterada, mas também não testei muito.
Novo site
Publicado por Lucas Hermann Negri em GTK, Lua, OpenSource, Softwares em 19, setembro 2008
O novo wiki, agora utilizando o http://www.dokuwiki.org/ (que de ruim só tem o nome) já esta estruturado e contendo um primeiro esforço para documentar os projetos.
A wiki pode ser acessada pelo endereço http://oproj.tuxfamily.org.
Status dos projetos
Publicado por Lucas Hermann Negri em GTK, Lua, OpenSource em 10, setembro 2008
Ontem o site onde hospedo meus projetos, http://oproj.tuxfanily.org, foi crackeado.
Removi tudo o que restou, e substitui o sistema de wiki. Agora estou escrevendo a documentação direto na wiki, mas ainda vai demorar algum tempo até que esteja tudo organizado.
Os releases dos projetos não foram prejudicados, pois estão em um repositório separado. E falando em releases, liberei hoje uma nova versão do lobj e do lgui. Salvo pequenas mudanças e correções de possíveis bugs, estas devem as últimas versões antes de uma versão estável.
lgui 0.13
Publicado por Lucas Hermann Negri em GTK, OpenSource, Softwares em 29, julho 2008
Novidades:
- Troca do script de construção por um Makefile;
- Suporte ao GtkBuilder;
- Binding do GtkRecentManager e amigos;
- Novos exemplos;
Link.: http://oproj.tuxfamily.org
lgui 0.6 e ldraw 0.3
Publicado por Lucas Hermann Negri em GTK, Linux, Lua, OpenSource em 7, março 2008
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:
lgui: Bindings do GTK para Lua
Publicado por Lucas Hermann Negri em GTK, Lua, OpenSource em 5, janeiro 2008
(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:



