Skip to main content

What I need from a WM/Desktop

Any suggestions are welcome for the WindowManager/Desktop needs that I have. I am open to trying out prototype systems too.

My requirements are:
  1. win + left ,  win + right keys should align windows in the left and right halves of the screen, max-vertically, respectively
  2. win + top, win + bottom should align windows in the top and bottom halves of the screen, max-horizontally, respectively
  3. win + f or win + enter should fullscreenize the current window
  4. Should support 3x3 workspaces. My main development workspace will be in center. All other things like mail, browser, IRC, IM should be just one hop away in any of the neighboring four workspaces
  5. The currently focused window should be brighter than the rest of the windows in the background
  6. If I click on a window in the background, it should just get focused and not interpret as a click on the window (say if I click on a link in the browser in a bg window, it should not change the location but just bring the window to fg)
  7. There should be a tile option to arrange all windows in the current workspace, into quadrilaterals of equal width and height
  8. There should be an expose like option where I should be able to see all the open windows (may be triggered on win + f7 key or  three-finger-scroll in the touchpad). This should just arrange the currently open windows
  9. There should be no always-present bar in any edge of the screen (unlike gnome3). Intelli-hide panel on the bottom is good (like gnome-do docky) etc.
  10. There should be no animations at all when the windows are resized/tiled/etc.
  11. There should be no animations at all when we switch workspaces.
  12. ALT + TAB should alternate between open windows (not applications) in the current workspace ONLY.
  13. The title bar of the windows should be as thin as possible, such that it will accommodate three buttons for minimize, maximize and close. But they should not be too big like in GNOME 3 wasting a lot of space. Does not matter if it is configurable/themable or not.
  14. Notifications should popup in some fixed location (say top-right corner) and stay until dismissed (I do not use notifications for individual chat message receiving etc. so this is good for me. I need to be notified only for a new chat and not messages in an already open chat window etc.)
  15. Should allow changing of control key position to either alt key (to help when working along with Mac) or capslock key
  16. Should have an option to have one workspace dedicated for an additional monitor and a keyboard shortcut to switch to that workspace
  17. Things like multimedia keys, password store etc. are not exactly a big need. If they exist, it is good but if they don't they are not deal breakers. My main requirements are for the WM aspects and not really these features.

Are there any other WM needs that should be added to the above list to make my programming environment better ?

Are there any recommendations or does anyone have a configured setup (for xmonad, pekwm etc.) that is somewhat closer to the above requirements ?

Please share your comments/helps/config-files. Thanks.


Vijesh said…
In case of a multiscreen desktop, key binding to move application window one monitor to another!
Nesta said…
you can do all that with gnome3
shellshape, gtile should work for tiling, if you dont want tiling and just move windows around you can test putwindow.
There are a lot of extensions do disable animation. An auto-hide-topbar extension exists too.
Sankar said…
@kvijesh: yes, that is a good one. shall update.

@nesta: The extensions story is so painful. I installed gnome3, then tweaked it via some extensions. Now after updating to 3.6, none of the extensions are working. It kind of gets on my nerves. But, thanks for the extensions name. I shall try them out if I dont have any alternative.
Kartik Mistry said…
Try: awesome window manager. It should fix your issues (almost all). Go to: for help in config and more details. It is configurable as you want (little bit of scripting need to be done)
Unknown said…
Other than #16 and #7, kwin and Plasma Desktop does all of this and all configuration options desired are available in the GUI.

tiling was removed due to lack of widespread use and a maintainer for the code; however, with kwin scripting it should be possible to implement that as a bit of javascript.
Anonymous said…
Windows 8 does all of these
Sankar said…
@kartik: Thanks. Shall try.

@aaraon: I have tried KDE many times and always left it, as there was one or other problem. Last time the problems were: Too much of a login time, Mysql usage for tracker (ideally it should have used sqlite or something lightweight), etc. I will try KDE once again. Last time I checked it didn't had the window resizing to any half of the screen though. Thanks.

@anonymous: Thanks :) But not suitable for me.
Sankar said…
@aaron: s/tracker/< desktopsearch>/
Anonymous said…
@Sankar P : why s/tracker/something_else? does not tracker intergrated with KDE?
Sankar said…
@anon: KDE has their own desktop search solution whose name eludes me now. That service was what was using mysql etc. on KDE login (when I last tried)
Unknown said…
As far as I know Openbox is unique in its mouse and key binding configuration. All mouse/keyboard behaviour is defined by the rc.xml. This means you can change any behaviour to be anything.[1]

Other windows managers and environments often woo me with pretty designs and graphical effects, but the affairs are short, and ultimately the flexibility of openbox draws me back.

Jos Poortvliet said…
Looks like you found your solution - KDE can indeed do pretty much all of it, the rest you can script in (mostly with javascript). The search thing you're talking about is called 'Nepomuk' and does NOT require mysql. That is because Nepomuk does more than flat-text search: it can actually create and search relationships between data using 'triplets' (like "Document" "received from" "Psankar"). mySQL isn't capable of doing that very well (tracker I believe has bolted it on SQLlite by using some hacks for common search patterns but it breaks down on more complex stuff). Nepomuk thus uses Virtuoso which is build for this.

The mySQL thing you probably mean is the KDE PIM caching system called Akonadi which is basically a common, plugin-based, C++-only caching layer for all kinds of PIM related data. If you don't use KDE PIM, you don't need it, simple as that. Heck, if you have it installed but don't start anything using it, it won't be started. Do note that the default Clock applet for the Plasma Desktop leads to it starting because it tries to show your calendar!

Nepomuk can quite easily be disabled in Systemsettings, Akonadi, as I said, is started on demand. Both have seen quite a number of performance improvements lately as one of the Nepomuk developers is paid full-time since a couple of months, btw. The interaction with Akonadi is also a bit painful sometimes (Akonadi uses Nepomuk to provide full-text search capabilities) as the devs are not super knowledgeable with it.

It's kind'a what you get with such ambitious projects - Nepomuk started out as a research project and is still unique in terms of scope and ambitions (and, after 6+ years of development still not as fast and stable as it needs to be imho). The same goes to Akonadi - it's ahead of everything else in terms of design and behind in performance and stability. Both are finally at the point where the developers are moving from trying to make them stable to making them fast and less memory hungry but luckily you can use a Plasma Desktop without both so they're not so relevant for you.

have fun!
Sankar said…
@arthur: Thanks

@jospoortvliet: Thanks for the detailed comment. I did try KDE for about two weeks now and just completed reportin a few bugs from my mind :) I am liking the experience. But I feel there are too much of animations. As you said the clock applet loads the desktop search and thus becomes a big performance drag often taking operations to about 1-2 min (like while logging in etc.) I will use for about two months and then will decide if to continue or not :) Thanks for your help.

Popular posts from this blog

HTTP Query Params 101

Target Audience: Beginners / Novice
Summary A long time ago, we had simpler lives with our monolithic apps talking to relational databases. SQL supported having myriad conditions with the WHERE clause and conditions. As time progressed, every application became a webapp and we started developing HTTP services talking JSON, consumed by a variety of client applications such as mobile clients, browser apps etc. So, some of the filtering that we were doing via SQL WHERE clauses now needed a way to be represented via HTTP query parameters. This blog post tries to explain the use of HTTP Query Parameters for newbie programmers, via some examples. This is NOT a post on how to cleanly define/structure your REST APIs. The aim is to just give an introduction to HTTP Query Parameters.
Action Let us build an ebooks online store. For each book in our database, let us have the following data:
BookID - String - Uniquely identifies a book
Title - String
Authors - String Array
Content - String - Base64 …

சைவமும் வைணவமும் தமிழும்

சைவம், வைணவம், இரண்டு சமயங்களும் தமிழ் இலக்கியத்தில் பெரும் பங்கு ஆற்றி இருக்கின்றன. இசுலாமியம், கிருத்துவம் இரண்டும் தமிழ்நாட்டில் வளரும் முன்; பவுத்தம், சமணம் இரண்டும் அழித்த பின்; சைவமும் வைணவமும் தங்களுக்குள் சண்டை போட்டுக் கொண்டாலும், இரண்டுமே தமிழ் இறை இலக்கியங்களை வளர்த்திருந்திருக்கின்றன. இரண்டுமே ஓரளவு தமிழ்ச் சிதைப்பும், வடமொழி தூக்கிப் பிடிப்பும் செய்திருக்கின்றன. kryes, சைவத்தோடு ஒப்பிடுகையில் வைணவம் குறைவாகவே தமிழுக்கு தீங்கு விளைவித்ததாக சொல்லி இருக்கிறார் ("தமிழ் முன் செல்ல", இன்ன பிற) (அவர் அப்படி நேரடியாக சொல்லாமல் இருக்கலாம், ஆனால் நான் அப்படிப் புரிந்து கொண்டிருக்கிறேன்).

கடந்த சில மாதங்களாக யூடியூபில், சைவ வைணவ காணொளிகளைப் பார்த்து வருகிறேன். அதில் அவதானித்த சில கருத்துகள் கீழே. (முன்குறிப்பு: இதெல்லாம் எனக்குத் தோன்றியவை. இவை உண்மையாக இருக்கத் தேவையில்லை. உங்களுக்கு இதெல்லாம் தோன்றாமல் இருந்திருக்கலாம். ஆனால் அதற்காக என்னிடம் சண்டை போட வேண்டாம் :) )

1) சைவ இலக்கியங்கள், (கிருத்துவம் போலவே) நிறைய அச்சங்களை ஊட்டுகின்றன. "நாய் நரிக்கோ இரை எதற்கோ (உடல்…

Engeyo Partha Mayakkam - Yaaradi Nee Mogini

கண்ணதாசன், வாலி, வைரமுத்து என்னும் தமிழ்த் திரைப்படப் பாடலாசிரியர்கள் வரிசையில், மேற்சொன்னவர்களுக்கு அடுத்த இடம் கொண்டவர் திரு நா முத்துக்குமார் அவர்கள். "ஒவ்வொரு பூக்களுமே" பாடலுக்கு இந்திய அரசின் விருது கிடைத்த போது, இவருக்கு இன்னும் கிடைக்கவில்லையே என்று வருந்தினேன். இரண்டு ஆண்டுகள் தொடர்ந்து வாங்கினார் பின்னாளில். இதனைப் பாராட்டி வெண்பாவெல்லாம் எழுதினேன் எனது முகநூலில். என்றாவது ஒரு நாள் நேரில் பார்த்தால் காட்டலாம் என்று இருந்தேன்.

இவர் பல இசையமைப்பாளர்களுடன் பணியாற்றி இருந்தாலும், யுவன்சங்கர்ராஜா உடன் பணியாற்றிய பாடல்கள், அக்காலத்தைய இளைஞர்கள் மத்தியில் மிகுந்த புகழ் பெற்றவை.

இயக்குநர் செல்வராகவன் திரைக்கதையில் ஒரு பொது அம்சம்: ஒரு உதவாக்கரை நாயகன் இருப்பான், வீட்டில் உட்பட யாரும் மதிக்க மாட்டார்கள், எங்கிருந்தோ தேவதை போல ஒரு பெண் வருவாள், நாயகன் அவளுக்காகத் திருந்தி முன்னேறுவான். "யாரடி நீ மோகினி" படத்திலும் இதே கதை அமைப்பு உண்டு. அப்போது நாயகன், நாயகியை முதல் முறை, கண்டதும் காதல் கொண்டதும், பின்னணியில் ஒலிக்கும் பாடல், நாமு வரிகளில் "எங்கேயோ பார்த்த ம…