Just learned that the window flags Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint isn't enough in X11 (seems to work on WinXP). You also need to add the Qt::Tool window flag. Just so that you know.
I've tried to contact a Johannes Bergmeier, working with the Orchid Web-Framework. Kindly check your spam filter and/or contact me at e8johan. I use gmail.
Standing up!As a very proud father I have to show this to the world - Lisa can get up to standing by her self. My wife just managed to catch this historic moment using her cell phone before Lisa fell over. It looks as if the time of moving everything fragile and expensive into closed cupboards has come :-)
Clearing the Attic
Let me just say this first: yes, I'm a sick individual.
I've been clearing out my room at my parent's attic. This is some of the left overs that I donated to recycling.
My Little Brother
Little brothers are fun. The first years we knew each other we spent our days teasing each other and beating the other one up. But if someone else touch him, we where a team at once.
These days, we spend our time competing in on-line racing and sharing computer parts. Actually, this is more fun than beating each other up :-)
However, it is still important to beat him at everything that we try. My success rate is getting worse and worse by the years and now he is quicker than me on the virtual track. Thus it is a bit of a pain to admit that they guy actually has talent. I just stumbled on his photo stream and I'm stunned. My little brother can really use a camera!
Continued from here.
The Qt painting system uses four quite interesting environment variables: QT_FLUSH_PAINT, QT_FLUSH_PAINT_EVENT, QT_FLUSH_UPDATE and QT_FLUSH_WINDOWSURFACE. The purpose of each of these four is to initialize painting surfaces with a yellow colour before painting. See Aaron's blog on this for an example.
The input method module, qmultiinputcontext.cpp, uses the QT_IM_MODULE and QT4_IM_MODULE variables to pick an appropriate module.
If you have a debug version of Qt, QT_LAYOUT_DEBUG adds additional warning messages indicating if you place your widgets in strange layouts (wrong parent or layout).
If you want to skip Qt's double buffering (the backing store) you can use the QT_ONSCREEN_PAINT variable to force all the painting to be made directly to the screen.
The QT_PLUGIN_PATH environment variable can be used to control where Qt looks for plugins.
Using the QT_STYLE_NO_PIXMAPCACHE
environment variable, you can make the Plastique style not use the QPixmapCache.
The WebKit module listens to the QT_WEBKIT_LOG and QTWEBKIT_PLUGIN_PATH variables. These two control which logging channels to use and where to look for plugins.
This concludes this afternoons grepping. I will continue with TMPDIR before reaching the Qt for Embedded Linux source.
This is an interesting read - good thing I didn't show my script that extracts the lines and files where each variable is used :-). I learned a thing or two, so thanks!
It is all about the environment
I've just downloaded Qt 4.5 beta 1 and started playing with it. One thing that I've run into a couple of times now are environment variables. Their usage is quite sparsely documented, and can really prove to be useful. So, to have an excuse to look around in the source, I greped a bit.
grep getenv -r src/ | grep cpp\: | grep -o "\"[A-Z_0-9]*\"" | sed 's/"//g'
The X11 version gives 83 hits, while Qt for Embedded Linux (tp1) gives 101. Mergin the two gives 108 unique strings. The difference between these two is fun to look at, but lets start with the more commonly used version: X11.
The variables BROWSER and DEFAULT_BROWSER are used from the QDesktopServices class. The XDG_CACHE_HOME, XDG_CONFIG_HOME and XDG_DATA_HOME are also used by the same class. These variables are all specified in the XDG Base Directory Specification from freedesktop.
QApplication uses a number of environment variables. First, a whole range of variables regarding sessions and desktop ids: DESKTOP_SESSION, DESKTOP_STARTUP_ID, GNOME_DESKTOP_SESSION_ID and SESSION_MANAGER. Then, there is the KDEHOME directory.
There are a number of tuning variables that affect the QApplication class. I have not over analyzed the following, so correct my explanations if I'm wrong.
Winners of the Qt Centre Programming Contest 2008
Being late seems to have become a tradition - let's hope that we do better next time. At last the winners have been properly announced, together with their respective prizes at QtCentre.org.
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!