jd:/dev/blog

Aller au contenu | Aller au menu | Aller à la recherche

vendredi, novembre 7 2008

First release candidate for awesome 3.1

is out.

mardi, novembre 4 2008

New poster

I've received my new poster.

awesome poster 1 awesome poster 2 awesome poster 3

jeudi, octobre 23 2008

Quarter

I've just turned up a quarter of century. :-)

mardi, octobre 21 2008

Debian bug sprint

I want cookies.

awesome 3.1: more changes

A lazy morning again, so you'll enjoy another short list of changes in the upcoming awesome 3.1 (first one is still here):

  • Text can now be spread across multiple lines, using pango ability to wrap text;
  • New full screen layout;
  • awful.clients.swap.bydirection function;
  • Images get crop_and_scale() method;
  • New module: invaders, a space invader game;
  • New module: naughty, notification module (like GNOME's notification-daemon);
  • More hooks: "clients" for client list changes, "tags" for tag list changes and "tagged" for client's tag list changes;
  • Wiboxes's widgets can now be composed of arrays of arrays, specifying a DAG structure, unless of a simple array. A reference is kept to it so it can be retrieved later. Any array can be modified with awesome being notified using a proxy table system.
  • Taglist and tasklist widgets are gone from core and are now written in Lua, using the above system.

Not too much changes, I've spent something like a week thinking and writing the 2 last points. I've now a bunch of things to finish and I think we'll go for a RC release in something like a couple of weeks.

vendredi, octobre 10 2008

Space invaders for awesome

I was sure it will be possible.

With current awesome git version it's possible to run a space invaders game.

Space invaders

With only 380 lines of Lua.

Is there any window manager capable of doing this ? ;-) And don't say it's useless!

Thanks to Gregor "farhaven" Best for wasting his time with that.

Nada Surf at Olympia

Tuesday evening I was at the Olympia to see Nada Surf, the french New York guys, on tour. The show was very nice. I've already saw them 2 years ago, and it was already very cool, so nothing new.

They played lots of different songs from all albums. I really appreciated this since I'm not a big fan of their latest ones. That was funny to see most bitches fidgeting on their seats when they played some recent successful songs and becoming totally quiet and passive when they announced that they were going to play Telescope from Karmic (a EP from 1995 before their first album).

But well, that still was a great show and was pleasant to be there.

vendredi, octobre 3 2008

The eggtray problem

I still don't know why but many GTK+ applications use something called eggtrayicon. As far as I know, eggtrayicon.c is a file written in 2002 by Anders Carlsson which implements the Freedesktop.org system tray procotol for GTK+ applications.

Problem is that this C file is used in dozens of programs and maybe more, and is a bit bugged. I've already send patches for mail-notification and Audacious. pidgin is the first fixed implementation I found and works quite well. Many other applications are probably affected.

That seems to me like a real problem. Multiple copy of bad code instead of using native GTK+ system tray implementation.

So please stop using this bad implementation…

mercredi, octobre 1 2008

First awesome 3.1 changes

I'm lazy this morning, so I'll write a quick changelog about what's coming next in awesome 3.1, as of now.

  • awesome-client is now a true REPL: so it now returns things like errors;
  • mouse events now support button release;
  • awful has been splited in several modules;
  • the window stacking has been reworked and handled special windows (dock, desktop) much better;
  • window type is now exported and correctly handled;
  • any window can go fullscreen;
  • widget can get an event when the mouse enters in it;
  • placement (smart, under_mouse, etc) has been move into awful;
  • statusbars and titlebars has been merged in a common type: wibox;
  • wibox can be floating (i.e. you can now write your own conky-like with wiboxes);
  • _NET_WM_STRUT_PARTIAL is now supported so panel and dock automagically puts padding around the screen;
  • sticky windows are handled like sticky windows and are not tagged anymore;
  • windows that get reparented are now unmanaged (that fixes view of PDF etc in your browser);
  • a new image type has been introduced so you can manipulate image directly in awesome and use them;
  • a new imagebox widget has been (re)introduced to use image objects;
  • a real minimize/iconify state is now available;
  • awesome gets a --check to check Lua syntax file; restart is now also checked for syntax file by default.

And of course some bug fixes. :-)

jeudi, septembre 18 2008

awesome 3 released

I just released the final version of awesome 3.

I'm very happy to see all this work (6 months, over 1K patchset) and time spent on this piece of code being wide used and much appreciated. This last months were amazing and very exciting.

Thanks everyone for using it or contributing to it. You rock (too).

Let's go for awesome 3.1 now…

blah mail

Following my first idea of a blah script for irssi, I've wrote the same thing in Python for filtering some mail. IMHO, it's better than killfile.

  1 #!/usr/bin/python 
  2  
  3 import email, sys, re 
  4  
  5 def blaahw(match): 
  6     w = match.group(0) 
  7     l = len(w) 
  8     if l == 1: 
  9         return "o" 
 10     elif l == 2: 
 11         return "he" 
 12     elif l == 3: 
 13         return "lol" 
 14     a = "a" * (l - 3) 
 15     return re.sub("\w+", "bl%sh" % a, w) 
 16  
 17 def blaah(text): 
 18     rc = re.compile('\w+') 
 19     return rc.sub(blaahw, text) 
 20  
 21 mail = email.message_from_file(sys.stdin) 
 22  
 23 mail.replace_header("Subject", blaah(mail["Subject"])) 
 24  
 25 def blaah_payload(pl): 
 26     if type(pl) == list: 
 27         for i in range(len(pl)): 
 28             if pl[i].get_content_type() == "text/plain": 
 29                 pl[i].set_payload(blaah(pl[i].get_payload())) 
 30         return pl 
 31     elif type(pl) == str: 
 32         return blaah(pl) 
 33  
 34 mail.set_payload(blaah_payload(mail.get_payload())) 
 35 print(mail) 

Then can use a procmail rule like:

:0 fw
* ^From: asshole <asshole@asshole.com>
| $HOME/bin/blahmail.py

EDIT: I've updated it to a more robust version which support multipart messages.

mercredi, septembre 17 2008

xcb-util 0.3.0 released

I just released XCB util and announced on XCB xorg-announce lists at Freedesktop.

This version has seen some of the modules totally rewritten, like ICCCM, event, reply or property. It also has a lot more documentation than previous, so I've set up doxygen documentation online.

It was the last step before releasing awesome 3 final… hm hm.

mercredi, septembre 10 2008

Working on…

I've been quite busy last weeks, between real life and awesome stuff.

awesome 3.0 final release is getting closer. No more release candidate version should be expected since there's only 9 small patches into master from rc6. Final release should be out real soon now, before the end of the month. Also, the next branch already contains already nice stuff for the upcoming 3.1 version.

I've done some grunt work on XCB also, pushing other patches and fixing padding stuff in XML protocol description. This was very boring, but well, had to be done, so… I did it.

That's all for now. Stay tuned.

lundi, août 18 2008

Unexpected VARMon new release

This has been 4 years since I released a new upstream release of VARMon, the DAC960 administration tool.

There was a bug first discovered in #401236. It has been fixed in Debian with an ugly fix, which did not work finally for a long time. Recently #491505 got opened too, which was the same as the previous one. But this time I got access to hardware, thanks to Christoph! And I finally fixed the bug. I've even be able to test the fixes I wrote years ago for all of the compilation warnings.

That's a shame that the problem was caused by dead code from the previous upstream, and that I did not realize that sooner. Kids, do not let dead debug code in your program at home.

So I've finally been able to release a new 1.2.1 version which maybe the last release for the next decade! ;-)

vendredi, août 15 2008

Documentation usefulness

I had this books since 2 years under my screens to raise them at work. Never though of opening them, I just realized what they are some days ago.

xlib-prog-man.jpg

That's probably why I became awesome without even knowing it. The truth is out there.

My developement process

Some people wonder how I develop and manage various features and their requests for awesome.

thinking

mercredi, août 13 2008

Save power, aka easy CPU frequency scaling

Recently I came with the idea that my big computer is just useless. I know I was not using its entire CPU power, so I decided to take a look at CPU frequency scaling.

Last time I tried, it was a PITA, required something like a daemon, and just did not work. With recent hardware and/or kernels, it's just easy as Debian.

etch

  • Look at /proc/cpuinfo to determine your CPU and the cpufreq module. If it's a Pentium, you can try p4-clockmod, powernow-k7 for AMD, or acpi-cpufreq for both. Well, if none loads, let it go, it won't work unless you get newer hardware or maybe newer kernel.
  • Add this module in /etc/modules to get it loaded at boot time.
  • Run apt-get install cpufrequtils
  • Edit /etc/default/cpufrequtils to enable it at boot time, and specify the governor if you want. I usually use ondemande, which is just fine.
  • Run /etc/init.d/cpufrequtils start
  • Play with cpufreq-info and cpufreq-set as you wish.

lenny

  • Run apt-get install cpufrequtils
  • Edit /etc/default/cpufrequtils to enable it at boot time, and specify the governor if you want. I usually use ondemande, which is just fine.
  • Run /etc/init.d/loadcpufreq start
  • Run /etc/init.d/cpufrequtils start
  • Play with cpufreq-info and cpufreq-set as you wish.

On my box, the 3 GHz CPUs (Core 2 Duo) are running at 2 GHz (the lower value) at 99.13% of the time. That's almost a bit less power wasted.

mardi, août 12 2008

xulrunner hacking

I've discovered a tiny bug in Iceweasel yesterday, and I decided to fix it myself. So I'm proud to have opened bug #494694 against xulrunner with a patch!

That bring me to the tip of the day: if you are bored, I suggest you compile xulrunner and keep looking at the build log while it's building. There's so much gcc warnings that you'll get enthousiastic thinking:

« Argh, it'll fail… Oh no! That was just a bunch of warnings! Ahah this time it'll fail! Shit, just 764 warnings again in a row. Not so bad… ».

mercredi, août 6 2008

The nochange-log

Saw in base-files changelog:

base-files (4.0.5) unstable; urgency=low
[…]
* It's still soon to change /etc/debian_version. Please be patient.

-- Santiago Vila <sanvila@debian.org>  Tue,  5 Aug 2008 18:06:06 +0200

Applause.

lundi, août 4 2008

awesome 3 in experimental

I've just uploaded awesome 3.0-rc1 to experimental. For people who can't wait, the git repository is on Alioth.

awesome 3 should stay in experimental until it gets fully released. I plan to rename current awesome 2.x package to awesome2 and get awesome 3 as the new default awesome package. So Debian will still provide awesome 2 for people who don't want to upgrade.

- page 1 de 23