Re: Alopex: a tiling tagging tabbed window manager with fur

Great question. I have been feeling that ttwm was nearing readiness for a 'versioned' release. As you might note from the the lack of commits, however, other commitments have taken all of my time for the past week or so.

I should be be able to do the needed cleanup for a versioned release in the next couple weeks. I'll post here when I have more info.

Re: Alopex: a tiling tagging tabbed window manager with fur

Re: Alopex: a tiling tagging tabbed window manager with fur

I see from your post in the fluxbox thread that you're planning to add the ratpoison "ratclick" function to TTWM. Would you also like to add "ratwarp" and "ratrelwarp"? They move the mouse pointer to absolute or relative coordinates. And if you're adding mouse-related functions, how about "banish" -- it moves the mouse pointer off screen. I don't use ratwarp or ratrelwarp myself, but I do sometimes use banish.

Re: Alopex: a tiling tagging tabbed window manager with fur

I tinkered with this a bit, then I realized there was no need for it to be part of the WM itself. There are no data structures that need to be shared aside from the trivial requirement of a new program needing it's own variables for basic things like the X Display pointer and screen number. Four bytes of duplicated data is nothing.

So I put together a program which can easily called from a ttwm key binding. The program is tentatively named keydo. When started it grabs various keys until "q" is pressed to quit. Arrow keys or h/j/k/l move the mouse cursor, number keys simulate the numbered mouse button click, and PageUp/PageDown simulate scroll wheel activation.

I may add drag ability, and will definitely add the banish and warp abilities.

As a separate tool, I realize this partially reinvents the wheel when compared to xdotool. But I believe xdotool has limited functionality with non-EWMH window managers and would require separate key bindings for each action. And to move the mouse with keys, xdotool would have to be re-called many times in rapid succession. Keydo will run until "q" is pressed.

It'll take a bit more testing, but so far everything is working smoothly here - and currently at only 85 lines of code.

EDIT: The new name is "iocane", see here for more information and discussion of this tool.

Re: Alopex: a tiling tagging tabbed window manager with fur

Re: Alopex: a tiling tagging tabbed window manager with fur

@2ManyDogs: There's a patch for banish in my repo, but I think it doesn't apply with the currect git version. You can try and fix it yourself, as I will wait for a versioned release before updating it.

Re: Alopex: a tiling tagging tabbed window manager with fur

This is great. I do have one issue/request though.I occasionally play Minecraft, but when using ttwm it seems to be unable to grab the mouse when not in fullscreen. In DWM It works without any trouble, but when clicking "Back to game" in the pause menu (which it enters automatically) nothing happens. The reason I think this has something to do with the grabbing of the mouse is because that is the only moment the game actually does that, and when in fullscreen it is not a problem. MonsterWM has the same "problem", but DWM doesn't. Do you know why this is happening? Could you, maybe, fix it or help me to fix it?

Re: Alopex: a tiling tagging tabbed window manager with fur

I'd be happy to look into this - though nothing obvious comes to mind. I'm installing minecraft now to see if I can replicate the problem to begin investigating.

I see it is a Java app - java applications are a perpetual PITA, but because of this there are also a number of work-arounds floating about the "interwebs" so we can remain optimistic.

EDIT: well I don't have a "premium" account for minecraft so I can only play the demo ... and the demo doesn't actually load. Do you see similar problems in any other programs? You can take a look at this page from the awesomeWM wiki. Java is problematic on all non-reparenting window managers, and the awesomeWM community seems to have collected the best workarounds there.

Re: Alopex: a tiling tagging tabbed window manager with fur

Doomcide,

I put my perfectionist side away and threw together a 1.0 release which has its own AUR package now. I can implement bug fixes, and will add better documentation to that as it develops, but I'll keep all my tinkering and experimenting in the ttwm-git package which will be the testing ground for an eventual 2.0 release down the road.

Re: Alopex: a tiling tagging tabbed window manager with fur

Just to update my experiences with ttwm; I am running it as my wm for my desktop, old thinkpad T21, netbook HP, and I am finding it running well on all platforms. I also run various distros on my desktop and have installed and run ttwm on slackware, crux. debian, frugalware, and of course arch.

My other, at the moment, favorite wm goomwwm doesn't handle wine apps very well. I find I must use a patch to disable a hack to deal with sdl fullscreen apps but ttwm doesn't have this problem at all. I run Diablo II, Starcraft, and a few other wine apps with no problems.

I find that I am having to use the mod+print to refocus other apps that start new windows, as well as firefox, so thx for that--ie. graveman, gnome-mplayer.

If I could ask for a small indulgence, I find that I have to strain my neck to look at the bar on top on my desktop through my trifocals as my monitor is mounted above my desktop. So I was wondering if it wouldn't be too much trouble to have an option to place the bar at the bottom of the screen. I don't need this for my laptop or netbook but I do use my desktop more.

Thx for all your effort, and I appreciate your work on this wm.

Time is a great teacher, but unfortunately it kills all its pupils ... - Louis Hector Berlioz

Re: Alopex: a tiling tagging tabbed window manager with fur

Thanks for the review/feedback.

The only currently planned change for ttwm was to add more flexibility to the status bar. I was planning on making it possible to show/hide, and have a "transient" statusbar that only showed up while the mod key was held. I can certainly put different placements on the list with those.

The next version release will be a ways off, but this feature - at least in an experimental state - should make it into the git version fairly quickly (maybe 1 week).

Re: Alopex: a tiling tagging tabbed window manager with fur

whoa ... does that work with other wms?

Why do you "exec" and background? I didn't think that should even be possible.

EDIT: I just tried a few similar concoctions in my xinitrc, and they seem to work fine. So the creative invocations there may not be relevant. However, if you haven't yet, can you try starting X with a very vanilla xinitrc to completely rule that out. For example, just one line

exec ttwm

Also, were you using a display manager? There was the previous issue from some display managers not providing a stdin stream to xinit. TTWM does need an input stream: it will prioritize any command passed as it's first argument, or if it has no arguments it will read from stdin. If a display manager has broken the stdin stream and there is no parameter provided, ttwm may crash.

Re: Alopex: a tiling tagging tabbed window manager with fur

BGC,

The first step in having a bottom status bar is up on git. See the new variable in config.h called 'topbar'. Set this to "False" to get the bar on the bottom instead. This should put the status bar on the bottom well, though the tabs still 'point' down. I'll eventually improve the aesthetics of bottom tabs, but for now it should be functional.

Re: Alopex: a tiling tagging tabbed window manager with fur

Thx Trilby, very functional indeed. Actually, I don't mind the look of the tabs when I'm just using terminals, but you're right, if I use firefox or any other app that's basically a white screen with a black border, the top of the tabs kind of blend in with the bottom of the app. It's a great start for now. My neck thanks you greatly.

Time is a great teacher, but unfortunately it kills all its pupils ... - Louis Hector Berlioz

Re: Alopex: a tiling tagging tabbed window manager with fur

Trilby wrote:

whoa ... does that work with other wms?

Why do you "exec" and background? I didn't think that should even be possible.

EDIT: I just tried a few similar concoctions in my xinitrc, and they seem to work fine. So the creative invocations there may not be relevant. However, if you haven't yet, can you try starting X with a very vanilla xinitrc to completely rule that out. For example, just one line

exec ttwm

Also, were you using a display manager? There was the previous issue from some display managers not providing a stdin stream to xinit. TTWM does need an input stream: it will prioritize any command passed as it's first argument, or if it has no arguments it will read from stdin. If a display manager has broken the stdin stream and there is no parameter provided, ttwm may crash.

Yes that works fine with other wms I background exec to execute the autostart-function when the wm is up and running. I tried with a one-line xinitrc and got the same result . I don't use a dm, just plain startx/xinit.

Re: Alopex: a tiling tagging tabbed window manager with fur

I've been meaning to make ttwm's error messages more verbose - I guess this is the time to do it. Error code 15, however, is a bad name error most likely indicating a typo in the colors or font name in your config.h. Do you get the same error with the default config.h?

Re: Alopex: a tiling tagging tabbed window manager with fur

Re: Alopex: a tiling tagging tabbed window manager with fur

Trilby,

been using ttwm for a couple days and I really like it, but have a question concering the status bar. I know you stripped out the code for Rectabar and then added it back. How can i get the cpu and volume bars? I downloaded cab.c and vol script to my ttwm folder and added the following to .xinitrc:

exec ~/ttwm/cab.c | ~/ttwm/ttwm

starts ttwm but no change to status bar. I tried making cab.c executable and also removed the .c but nothing.