sexta-feira, 28 de dezembro de 2007

Problema com as bordas das janelas usando o Beryl

Esse sim foi um sufoco. O Beryl não queria funcionar de jeito nenhum no meu Ubuntu. Diversos probleminhas foram faceis após simples pesquisas no google. Mas o problema maior não tinha resposta alguma. Quando o beryl estava rodando as bordas das janelas não apareciam de jeito algum.

A mensagem de erro do Beryl que me fez acordar para a razão do problema foi a seguinte:
beryl: decoration: property ignored because version is 20070319 and decoration plugin version is 20061011

Percebi que devia haver alguma incompatibilidade entre a versão do beryl e a do emerald ou coisa parecida. E realmente havia. O jeito foi achar uma denominador comum entre a versão do emerald, beryl e demais libs. Para fazer isso precisei fazer um downgrade da parada toda:
sudo apt-get install beryl=0.1.9999.2~0beryl1 
beryl-core=0.1.9999.2~0beryl1
beryl-manager=0.1.9999.2~0beryl1
beryl-plugins-data=0.1.9999.2~0beryl1
beryl-settings=0.1.9999.2~0beryl1
beryl-settings-bindings=0.1.9999.2~0beryl1
emerald=0.1.9999.2~0beryl1
libberyldecoration0=0.1.9999.2~0beryl1
libberylsettings0=0.1.9999.2~0beryl1
libemeraldengine0=0.1.9999.2~0beryl1
emerald-themes=0.1.9999.2~0beryl1 -V

O engraçado é que ontem de madrugada, depois que fiz o downgrade, não funcionou. Mas isso porque eu tinha configurado meu Beryl Manager para utilizar o Window Manager do Compiz, pois este funcionava bem. Contudo, com essa versão mais antiga do beryl, o Compiz parou de funcionar. Mas isso não tentarei consertar, ninguém precisa desse Compiz. Bastou então setar no Beryl Manager o Beryl como Windows Manager para tudo funcionar.

Olha a foto de como ficou meu cubo :)

Cada dia que passa me convenço mais da facilidade do Windows. Mas até que é divertido brincar com esse Ubuntu.

quarta-feira, 19 de dezembro de 2007

Globo Vídeos agora em Flash!

É com muito orgulho que anuncio que finalmente o Globo Vídeos entrou na era do Flash Vídeo. Os vídeos ao vivo, como da Globo News e as cameras do BBB continuarão em Windows Media Player, mas apartir de hoje a grande maioria dos vídeos on demand e íntegras ficarão disponíveis em flash.

Veja alguns exemplos:
Dominó é mania nacional em Cuba
Romulo e Reno: Lenda ou Realidade?
Festival de gelo na Bélgica

terça-feira, 18 de dezembro de 2007

Como obter a largura e a altura de Divs liquidos

Obter os atributos width e height de Divs absolutos é muito simples. A coisa começa a ficar complicada quando seu Div não possui uma altura e uma largura fixa, se comportando de acordo com o restante da página. Encontrei em alguns blogs diversas dicas de como fazer isso. Alguns só funcionavam no Firefox, outros só no Internet Explorer, nenhum em ambos.

Com essas informações então criei as funções getWidth e getHeight que retornam a largura e altura de um div, mesmo que está seja fluída:

function getHeight(d) {
if( document.all ) {
return eval( "document.all." + d.id + ".offsetHeight" );
} else {
return parseInt( getStyle(d,"height") );
}
}

function getWidth(d) {
if( document.all ) {
return eval( "document.all." + d.id + ".offsetWidth" );
} else {
return parseInt( getStyle(d,"width") );
}
}

function getStyle(el, style) {
if(!document.getElementById) return;
if( window.getComputedStyle ) {
value = document.defaultView.getComputedStyle(el, "").getPropertyValue(style);
} else if(document.defaultView) {
value = document.defaultView.getComputedStyle(el, "").getPropertyValue(style);
} else if(el.currentStyle) {
value = el.currentStyle[style];
}
return value;
}


Para usá-las é só chamar enviando por parâmetro um objeto div. Veja o exemplo:

var d = document.getElementById("meuDiv");
alert( getWidth( d ) );
alert( getHeight( d ) );


Testei essas funções com o Firefox 2, IE 7 e o Safari 3.