
ctrlwm
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net
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.
8 years ago
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
8 years ago
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
Ikem
8 years ago
http://media.cdn.ubuntu-de.org/forum/attachments/53/34/4735502-ctrlwm_0.6.0.5-1_i386.deb
Report
xinwu
9 years ago
Report
zlatkart
9 years ago
Thank you for that. I have some questions. I'll PM you this week about it.
@andyprice
Thank you. I love it too.
Report
andyprice
9 years ago
Andy
Report
mru00
9 years ago
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!
Report
kevin128
10 years ago
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/
Report
joneone
10 years ago
Report
zlatkart
10 years ago
Report
kevin128
10 years ago
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
Report
zlatkart
10 years ago
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.
Report
kevin128
10 years ago
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
Report
zlatkart
10 years ago
-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?
Report
kevin128
10 years ago
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
Report
zlatkart
10 years ago
-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.
Report
kevin128
10 years ago
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.
Report
dodona
10 years ago
Report
zlatkart
10 years ago
Report
zlatkart
10 years ago
Report