Source i (link to git-repo or to original if based on someone elses unmodified work):

Add the source-code for this project on opencode.net

0
Become a Fan
6.8

Available as/for:
Description:
Ctrlwm is a customisable tool for automatic windows positioning and sizing (e.g. tiling, resizing like Windows Aero Snap, and much more). It can be driven through either command line or screen corner/border actions (see daemon mode).

Tested with Metacity, Openbox, KDE, XFCE.

Features:
- Tile windows (different layouts)
- Resize and reposition window to take left/right/top/bottom half of the screen depending on the mouse position (similar to Aero Snap)
- Resize and reposition window to take specific sector defined by the grid depending on the mouse position, or move it to another workspace
- Go to empty workspace (Create one if there's none)
- Switch to next window (like Alt-Tab, but without bugs/features)


Installation and setup:
- Download archive
- If you want to recompile, make sure you have installed xorg-dev, libglib2.0-dev for Ubuntu or corresponding for your system. Compile with ./configure make make install.
- As an Arch Linux user please visit https://aur.archlinux.org/packages/ctrlwm/

Otherwise, just use the included binary version
- Copy binary somewhere you'd like to run it from (for system-wide installation in Ubuntu use the command line: cp PATH_TO/ctrlwm /usr/local/bin/
- Copy the .ctrlwm.rc file to your home directory, then (optionally) edit it to suit your needs. The options dcw, dch might be of most interest, for setting current window manager's decoration sizes (to avoid overlaping windows). For the rest read in-file comments
- Run ctrlwm without parameters or ctrlwm --help for usage, remember you need to use -mn X Y option if you did not set dcw, dch options in .ctrlwm.rc (see previous)
- Run ctrlwm with desired options and enjoy

Hints:
- You can use the software with system key shortcuts, mouse strokes or panel starters.
Last changelog:

0.8.0.8 Improved gui, cleaned up code, removed some bugs

0.8.0.9 Different gui, cleaned up code, removed some bugs, some rc settings changed


Ratings & Comments

18 Comments

Ikem

You can download it from here: http://media.cdn.ubuntu-de.org/forum/attachments/53/34/4735502-ctrlwm_0.6.0.5-1_i386.deb

xinwu

I like this app. It's small, but very useful, especially when you have a widescreen.

zlatkart

@mru00 Thank you for that. I have some questions. I'll PM you this week about it. @andyprice Thank you. I love it too.

andyprice

Very nice, thanks. Takes almost no installing (just copy two files) and add a launcher to run ctrlwm -gui. I'm using it with xfce on Vector Linix and it works like a charm. Andy

mru00

for those who want to build the thing, i've created a github repo with proper automake. https://github.com/mru00/ctrlwm with those sources, a usual ./configure make make install should work. it will report any missing packages. also, make dist might be interesting. might be interesting my first autotools package, comments wellcome!

kevin128

And for people wanting to do all this purely from keyboard, there's great application class named tiling window managers. It's a shame they weren't mentioned anywhere where ctrlwm-like programs were discussed (as I searched). A thorough, annotated list: http://en.wikipedia.org/wiki/Tiling_window_manager#List_of_tiling_window_managers_for_X A thread discussing choice of the best one: http://ask.metafilter.com/105026/Best-tiling-window-manager-for-Linux My personal favorite: http://xmonad.org/

joneone

Great fast tool!

zlatkart

thank you

kevin128

Package glib-2.0 was not found in the pkg-config search path. Also, compile command is outdated as well as binary version inside archive. Sorry I did not understand how to use program. Can it make active window half-screen when dragged to the edge (or through command line)? Thanks

zlatkart

Do you have libglib2.0-dev installed? The binary version is not outdated,I just forgot to change version number in the code. It should be the same in the source. Some time I will change that. There are several possibilities to make the active window half-screen. Type ./ctrlwm in terminal for the usage. I suggest trying -z -u,-s. I assume you are asking for aero snap. The next version has some kind of snap like Windows. I will post it if someone is interested.It could be buggy (nothing critical) and it's overrated. I don't use it.

kevin128

Installing libglib2.0-dev helped, but installing xorg-dev would require installing too many other packages, so I given up effort to recompile program. I haven't figured out how to make window occupy left/right half of the screen with -z (by the way, why does it show sectors on screen even without -u? what does undescribed -o option mean?). -s does this in some cases (didn't yet fully figured out how to drive it with mouse), but window is made too large to fit on screen (by ten pixels or so). -mn doesn't seem to change anything. In case it matters, I have XFCE with only one panel at top of the screen. I think there's large demand for such program (the only alternative I know is using Compiz with Grid plugin), but it needs to be more... well, maybe "user-friendly". Thanks

zlatkart

The problem with -z (and -mn i guess) is the rc file which seems to override some things. Delete the rc file or edit it. (somewhere I messed this up, but I'll change that) -z sizes/positions the window depending the section. The more you move to the center of the screen, the bigger the window. Click when position/size is OK -o is found under options. height or width too large? The panel should be no problem. Find your mn values with 3 windows and -t. If only width is affected then it's a small bug already fixed. I'll update within 2 weeks. How would you make it more user friendly?

kevin128

Indeed, deleting rc file stopped compulsory sectors display on -z. And I understood how to send window to left/right part of screen with it. :) I meant height too large, of course (I said before that I tried to put window to left/right half, so only height could be ten pixels too large and send window off-screen). This problem remains regardless of -mn. Regarding user-friendliness, let me list it: - On this page descibe more fully what the program can do regarding automatic windows placement (this is required for people who hadn't experience with Windows Aero as well as for providing right keywords for Google searches). - List possible options for every action (I guess -m doesn't need all options and -f can be used anywhere instead of -o ?). - Describe -mn format and name meaning - Describe how -k daemon mode works (for me it doesn't seem to do nothing except window maximizing sometimes). I.e., what user actions produce what consequences? Does it require -s or -z at the same time? And actual code changes might be: - Allow merged options (such as -pw). This is Unix tradition, and omitting this creates some confusion (apparently options are ignored). - Make options order unimportant, Unix (mostly) tradition as well. - provide error messages about wrong/incompatible options instead of ignoring them. - maybe make a package for Ubuntu repository (as many users would search there only) I could help with this documentation, not so sure about the code

zlatkart

Is the window height OK with -t and 3 windows? -k executes actions when the pointer touches the edge/corner of the screen. These actions can be defined in the rc file. default is only ctrlwm -t in the upper left corner of the screen. Works like brightside. brightside seems to have a problem with vertical desktop switcher. -merged options I'll think of it. - options order unimportant The options order is unimportant already? I'll need an example to reproduce this - error messages Yes If you'd like to rewrite this page, you're welcome. Also if you want to rewrite the terminal help output. Send me a pm.

kevin128

> Is the window height OK with -t and 3 windows? Yes, if I pick the right values for -mn or dcw, dch lines, windows height is ok. Although there's another bug relating to position, maybe affecting only Windows programs under Wine: on -t the client area appears at point where whole window should be, and NW decorations overlap with other windows. > -k executes actions when the pointer touches the edge/corner of the screen. These actions can be defined in the rc file Thanks for the tip, I haven't looked at the comments in rc file before. Everything is described indeed. It's only a pity that it doesn't require window to be dragged to an edge/corner to trigger, as I think that would be more usefull. > The options order is unimportant already? I'll need an example to reproduce this These lines produce different results: ctrlwm -k -s ctrlwm -s -k This is off course only possible if user doesn't really understand what he/she's doing and specifies incompatible options, but combined with unclear documentation, this becomes a problem. And yes, I'll send you a PM.

dodona

error: X11/extensions/XTest.h: No such file or directory

zlatkart

sudo apt-get install xorg-dev (ubuntu)

zlatkart

changed compile command !

Pling
0 Affiliates
Details
license
version 0.8.0.9
updated
added
downloads 24h 0
mediaviews 24h 0
pageviews 24h 1

Other Utilities:

Gis Weather
RingOV
last update date: 8 years ago

Score 8.0

Splash Screen Manager
zorinos
last update date: 14 years ago

Score 7.4

BashStyle-NG
Chrispy
last update date: 10 years ago

Score 6.1

anymeal
wedesoft
last update date: 6 months ago

Score 5.0

MonA3XN 01
A3XN
last update date: 2 years ago

Score 5.0

SuperCalc (By Keshav bhatt)
keshavnrj
last update date: 10 years ago

Score 5.0



System Tags