“The reports of [siaynoq’s] death…”

Sunday, 05 Aug, 2007 // 23:57

section: News

tags:

permanent link

For those wondering, siaynoq’s not dead yet.

I know it’s fashionable in this community to raise a ruckus and then disappear for a stretch, only to come back with another hyped project, but I’ve never been one for fashion.

I’ve been very busy these past couple of weeks, but not busy enough not to work on siaynoq, as those who follow the Subversion repository can vouch for. (Well, I’ve only checked in code once or twice since the last news post, but still…)

I’m looking into implementing notification area support right now, which isn’t a piece of cake. This will be my first time dealing with COM on such a low-level, so I’ll have to thread carefully. Of course, I could just copy-and-paste from other projects without trying to understand what the code is doing…

Sit tight. We’re just about due for an alpha. (Just have to figure out a way to get stuff done.)

siaynoq and MSVC

Monday, 23 Jul, 2007 // 12:46

section: Projects/siaynoq

tags: , ,

permanent link

siaynoq now builds with MSVC (at least it does with my installation of Visual C++ 2005 Express Edition). Unfortunately, it doesn’ as cleanly as I’d like it to— there are a number of warnings that I intend to fix in due time. Also, I broke the tiling a little bit while trying to get siaynoq to compile with MSVC. Again, I must own up to thinking, stupidly, that I can clean up the codebase while porting it to another compiler.

I’ll fix it later.

This is likely the first and last time I’ll invest so much time and effort trying to get siaynoq to build with another compiler. I know there are a lot of really good compilers out there, but I simply can’t afford another operation such as this. Too damn expensive.

Anyway, that’s all for tonight, as I’ve got to be in the office early tomorrow.

Code cleanup continues

Saturday, 21 Jul, 2007 // 16:27

section: Projects/siaynoq

tags: ,

permanent link

When I paused siaynoq’s development about two months ago, I left the codebase in a terrible mess. At the start of the project, the initial goal was to get something to work. The project has reached a state where it’s (sort of) working; now, I’m going back and cleaning up the mess.

In the process, I’m also trying to get siaynoq to compile using Microsoft’s compiler (the one included in Visual C++ Express Edition). Apparently quite a few from dwm’s mailing list have tried (and failed) to compile siaynoq using MSVC.

ARG has sent in a patch to get siaynoq to compile with MSVC, but, in the process, he also took out all the debugging crap I put in. I know they’re ugly, but I want them. Besides, in between applying Tuncer’s patch and all the previous work I’ve managed to squeeze in, the codebase has changed sufficiently enough that I doubt ARG’s patch will apply cleanly.

Better to just go about the cleanup with MSVC compatibility in mind.

P.S. Microsoft’s C compiler sucks rotten eggs. It doesn’t even support C90. GCC may not have complete C99 support, but it supports enough to make a coder’s life significantly easier.

ARG’s opinion is that Microsoft’s compiler is saner than GCC; I can’t comment on that, since I’m no compiler guru. But I will say this: for a supposedly sane compiler, MSVC is driving me completely nuts.

siaynoq and dwm, sitting in a tree…

Thursday, 19 Jul, 2007 // 02:29

section: News

tags: ,

permanent link

Looks like siaynoq is picking up some steam… Last night, Anselm Garbe, author of window managers wmii and dwm sent me an email asking about siaynoq.

Apparently, ARG had something like this in mind; had I waited maybe a couple of months more, I’d probably be working on dwm4windows or something.

ARG mentioned siaynoq had been mentioned in dwm’s mailing list, which was how he found out about it. Really cool, considering missing dwm is one of the reasons why I decided to write siaynoq in the first place.

Anyway, I check out the thread, and I see several people have started to try out compiling siaynoq and are running into problems. Stupid me neglected to point out that you have to have the latest snapshot of the w32api package for MinGW. (I swear, Real Soon Now™, I’ll start putting stuff like this down on paper.)

Also, so there’d actually be a common place to discuss stuff related to siaynoq, I created a mailing list for its users (the two or three people trying to get it working :D).

If you’d like to try compiling siaynoq (no, I’m still not posting any binaries), or request feature additions, or report bugsor just plain talk about it, add yourself to the mailing list. Of course, if you’d actually like to request new features and/or get bugs fixed, I’d prefer if you use the appropriate tracker. I tend to pay more attention to people who can follow basic instructions. :P

Clarifying siaynoq’s license

Wednesday, 18 Jul, 2007 // 17:32

section: Projects/siaynoq

tags: ,

permanent link

I’m looking at dpi’s Subversion repository, and I just realized I made a very big, and very stupid, mistake: I forgot to note which license the codebase is released under.

For those who’re wondering, siaynoq is free software as defined by the Free Software Foundation, and its codebase is available for use to everyone under the GNU General Public License, version 3 (or, if you prefer, any later version).

In other news… I’m pretty busy at the moment with work stuff; I’m afraid I haven’t been able to put in the amount of time I promised I would at working on siaynoq.

There’s quite a bit to be done, with the code cleanup taking the highest priority at the moment. Perhaps this weekend…

siaynoq gets featured on blizzle!

Monday, 16 Jul, 2007 // 17:29

section: News

tags: ,

permanent link

With the help of Mateo Yadarola (sryo), a news post regarding the initial attempts to get siaynoq off the ground has been posted on blizzle.

Again, I’d like to thank Teo for helping in getting the word out to other shell replacement enthusiasts, and to Chris Sutcliffe (ir0nh43d) (of emergeDesktop) for suggesting that I try blizzle.

For interested developers who got here after reading the aforementioned news posts: if you’d like to join me in developing siaynoq, contact me and we’ll work things out.

siaynoq: the typical geek’s anti-shell for Windows

Monday, 16 Jul, 2007 // 16:08

section: Projects/siaynoq/Documentation

tags: ,

permanent link

siaynoq is a shell replacement for Windows along the lines of emergeDesktop, LiteStep, and LiteShell. It is unique in that, as far as I know, it is the only tiling shell replacement available today. In this respect, at least, it is related to projects like larswm, dwm and Ion.

Users looking for a fancy shell replacement will be in for a big disappointment:

  • It isn’t skinnable, themeable, configurable or <insert favorite fancy adjective here>.
  • It doesn’t try to catch your eye or invite you to fiddle with it; in fact, it tries hard not to be noticed.
  • It doesn’t try to change the way you interact with your computer into a radically enchanting and fundamentally life-altering one. It just tries to help you get your work done.

In other words, it doesn’t try to do more than is absolutely necessary. If other tools can be found to take care of a particular job, pass the buck.

Features

The following lists the features siaynoq already possesses. To see a list of features I wish siaynoq to have, check out the project’s Feature Request tracker.

  1. Extremely lightweight—important to me because my rig is hardly enough to run Windows XP.
    • On its own, needs about one megabyte of memory. (Of course, more than that is required if you actually want to do anything on your computer.)
    • Barely uses the CPU. Which isn’t suprising, since it hardly does anything.
  2. Automatic tiling
    • Arranges your windows for you, so you don’t have to.
    • The decision to tile a particular window or not is made by examining several of its properties; if it matches all the criteria, it is tiled.
    • The active window (the one that owns the keyboard focus) is placed on the left side of the screen, occupying the full height and a variable percentage of the width of the screen.
    • Inactive windows as tiled on the right hand of the screen, their width being whatever is left after the active window is tiled, and their height calculated as height_of_screen / number_of_windows.

Influences (or, “projects I stole from”)

Heavily influenced by larswm, which introduced me to the idea of a tiling window manager, and from which I borrowed a lot of ideas.

Several things were also borrowed from dwm: mainly, the idea that an explicit list of window classes/instances to tile can mostly be done away with.

I learned how to fiddle with Windows hooks through TraySaver and LiteShell’s source code. The latter, incidentally, was my proof that a shell need not be bloated to be useful.

siaynoq source code in the repository

Sunday, 15 Jul, 2007 // 18:44

section: Projects/siaynoq

tags: ,

permanent link

I’ve just performed the initial commit of siaynoq’s source into the SVN repository. siaynoq is a shell replacement for Windows along the lines of emergeDesktop, LiteStep, and LiteShell. It is unique in that, as far as I know, it is the only tiling shell replacement available today. In this respect, at least, it is related to projects like larswm, dwm and Ion.

I’ve made the source available to give potential co-developers a chance to look it over; I figured that siaynoq will have a better chance if there were others beside me working on it.