{"id":98,"date":"2011-08-29T16:22:22","date_gmt":"2011-08-29T21:22:22","guid":{"rendered":"http:\/\/www.alandmoore.com\/blog\/?p=98"},"modified":"2011-08-30T13:28:08","modified_gmt":"2011-08-30T18:28:08","slug":"awesome-window-manager-my-thoughts-after-the-first-month","status":"publish","type":"post","link":"https:\/\/alandmoore.com\/blog\/2011\/08\/29\/awesome-window-manager-my-thoughts-after-the-first-month\/","title":{"rendered":"Awesome Window manager: my thoughts after the first month."},"content":{"rendered":"<p>For years I&#8217;ve been a die-hard <a title=\"The desktop you've always dreamed of...\" href=\"http:\/\/www.kde.org\" target=\"_blank\">KDE<\/a> fan; while I&#8217;ll admit to temporarily\u00a0jumping ship during the tumultuous 4.0 through 4.2 release cycles, and routinely trying out other desktop environments just to see how they schoon, I&#8217;ve pretty much stuck with my pal <a title=\"Konqi is awesome!!\" href=\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/b\/b5\/Konqi-klogo-hi-res-1751x2356.jpg\" target=\"_blank\">Konqi<\/a> since back around 3.4.<\/p>\n<div style=\"float: right; margin: 15px;\">\n<div id=\"attachment_100\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/alandmoore.com\/blog2\/wp-content\/uploads\/2011\/08\/2011-08-26-101649_1280x800_scrot.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-100\" class=\"size-medium wp-image-100\" title=\"Awesome window manager screenshot\" src=\"https:\/\/alandmoore.com\/blog2\/wp-content\/uploads\/2011\/08\/2011-08-26-101649_1280x800_scrot-300x187.png\" alt=\"Screenshot of Awesome window manager\" width=\"300\" height=\"187\" srcset=\"https:\/\/alandmoore.com\/blog\/wp-content\/uploads\/2011\/08\/2011-08-26-101649_1280x800_scrot-300x187.png 300w, https:\/\/alandmoore.com\/blog\/wp-content\/uploads\/2011\/08\/2011-08-26-101649_1280x800_scrot-1024x640.png 1024w, https:\/\/alandmoore.com\/blog\/wp-content\/uploads\/2011\/08\/2011-08-26-101649_1280x800_scrot.png 1280w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-100\" class=\"wp-caption-text\">Awesome window manager. Not much to see, but that&#39;s kind of the point...<\/p><\/div>\n<\/div>\n<p>For my desktop, especially at work, KDE still runs the show. \u00a0But KDE doesn&#8217;t seem to enjoy running properly on my laptop, and frankly does a better job of getting in the way of my workflow than accelerating it. \u00a0After some time with XFCE, LXDE, Openbox, and even IceWM, I think I finally found what I&#8217;ve been looking for in a desktop environment:\u00a0<a title=\"The awesome window manager.\" href=\"http:\/\/awesome.naquadah.org\/\" target=\"_blank\">Awesome<\/a>.<\/p>\n<p><!--more--><\/p>\n<h2>Ummm&#8230; awesome?<\/h2>\n<p>So, maybe you&#8217;re asking yourself what a desktop environment (OK, window manager &#8212; I know&#8230;) called &#8220;awesome&#8221; is like, and if your answer involves sparkling effects, windows whizzing around the screen, and a spinning octohedron of desktops, you probably want to stop reading now and check out the less enthusiastically named &#8220;<a title=\"oooh sparklies!  I love sparklies, Mrs. Frizz!\" href=\"http:\/\/www.youtube.com\/watch?v=YsUAW_AztIg\" target=\"_blank\">compiz<\/a>&#8220;. \u00a0Anyway, that&#8217;s not what I was looking for.<\/p>\n<p>When I took some time to think about my workflow and what I wanted from my desktop, I came up with a quick list of what my ideal windowing environment would be like:<\/p>\n<ul>\n<li>It should automate window management as much as possible, so I don&#8217;t have to mouse around doing a lot of resizing, moving, etc.<\/li>\n<li>It should maximize the screen real estate given to applications<\/li>\n<li>It should be flexible enough to work with different applications appropriately, and smart enough to do so automatically.<\/li>\n<li>It should be keyboard-friendly enough that I don&#8217;t have to use a mouse for window management.<\/li>\n<li>It should be\u00a0extensible, with a scripting language and simple API (like emacs)<\/li>\n<li>It should be theme-able in every detail, because I&#8217;m picky about how things look.<\/li>\n<\/ul>\n<p>Basically, what I wanted was a window manager for Emacs freaks. \u00a0I also realized that what I&#8217;ve been looking for is a <a title=\"Dah wiki\" href=\"http:\/\/en.wikipedia.org\/wiki\/Tiling_window_manager\" target=\"_blank\">tiling window manager<\/a>.<\/p>\n<p>After OpenBox, awesome seems to be one of the most talked about window managers among the minimal-desktop-environment crowd; and it seems like nearly every screenshot I could find of Awesome had an Emacs instance running, so I decided it might be the one for me.<\/p>\n<p>Looking down its list of features, it sure answered a lot of my points:<\/p>\n<ul>\n<li>It can tile or float windows<\/li>\n<li>Its interface is minimal<\/li>\n<li>Its configuration is a lua script<\/li>\n<li>It has a full lua API to allow scripting of its behavior<\/li>\n<li>It&#8217;s fully operable without any mousing &#8212; but still allows you to use the mouse if you want to<\/li>\n<li>It has themes &#8212; notably, the <a title=\"Best color theme of all time.  I use it on everything, like ketchup.\" href=\"http:\/\/slinky.imukuppi.org\/zenburnpage\/\" target=\"_blank\">zenburn<\/a> theme I like to use in Emacs<\/li>\n<\/ul>\n<p>So without further ado, I fired up aptitude and got cooking.<\/p>\n<h2>The learning curve<\/h2>\n<p>Awesome has, without a doubt, the most hideous learning curve of any windowing environment I&#8217;ve ever used, bar none. \u00a0Just changing the desktop wallpaper required me to <a title=\"Spent some time here...\" href=\"http:\/\/www.lua.org\/docs.html\" target=\"_blank\">learn Lua<\/a>\u00a0and dig through a few pages of the Awesome wiki.<\/p>\n<p>Lua is a mercifully simple language, something like Javascript but with some intriguing notions about collection types. \u00a0That, added to the fact that awesome has a reasonably up-to-date wiki, and that there are scores of users who have posted their rc.lua and theme configurations online, makes it simple enough for a determined individual to find the information required to tweak it all to his liking.<\/p>\n<p>So far, here are a few of the tweaks I&#8217;ve made:<\/p>\n<ul>\n<li>Theme and background to my liking<\/li>\n<li>Customized the top panel with battery and cpu speed &amp; temperature monitor.<\/li>\n<li>Created named &#8220;tags&#8221; (kind of like virtual desktops) for common applications I use; each tag has its own layout mode appropriate to the application.<\/li>\n<li>Applications automatically open on the appropriate tags.<\/li>\n<li>Applications only get titlebars if they&#8217;re floating. \u00a0This one still doesn&#8217;t quite work the right way.<\/li>\n<\/ul>\n<p>As you can see in the screenshot, I also added a nice <a title=\"Conky: for displaying cool stuff on your desktop.\" href=\"http:\/\/conky.sourceforge.net\" target=\"_blank\">conky<\/a> display, which I&#8217;ve also been hacking on. \u00a0My newly-acquired lua skill apply there as well.<\/p>\n<h2>What I like<\/h2>\n<p>I&#8217;m weird like this, but I like the feeling that my software can do a lot more than it&#8217;s doing, I just have to learn how to make it so. \u00a0It&#8217;s kind of the fun of discovery.<\/p>\n<p>I like the fact that my screen space is not being used up by redundant panels and title bars. \u00a0When it&#8217;s maximized, it&#8217;s just content and that little panel along the top.<\/p>\n<p>I like that I can do any and all window management tasks using the keyboard &#8212; very nice when I&#8217;m writing code or blogging.<\/p>\n<p>I like how little window management I actually need to do.<\/p>\n<p>I like how blazing fast everything pops up. \u00a0Because it&#8217;s 2011, I have a multi-core processor, and I shouldn&#8217;t have to wait 5 seconds for a terminal to appear (I&#8217;m looking at you, KDE!).<\/p>\n<h2>What I don&#8217;t like<\/h2>\n<p>I wish the API documentation were a little more fleshed out. \u00a0Sometimes it&#8217;s pretty vague, and it&#8217;s hard to find what I need. \u00a0I still don&#8217;t know how to do some things I want to do, and I don&#8217;t know the terminology to search for it.<\/p>\n<p>I also miss something akin to the &#8220;Present Windows&#8221; effect I have on KDE (a.k.a. &#8220;expose&#8221; on compiz\/OSX). \u00a0I found something that&#8217;s supposed to simulate it, but it&#8217;s not quite right. \u00a0That&#8217;s more of a mousy thing anyway, so it&#8217;s not a huge deal when I&#8217;m being keyboard-centric.<\/p>\n<p>I don&#8217;t like not being able to move floating windows using alt+click. \u00a0There&#8217;s probably a way to fix this, I just need to look it up.<\/p>\n<p>Finally, there are a few programs that just go absolutely nuts in Awesome &#8212; notably, GIMP. \u00a0I don&#8217;t use GIMP a lot, but I haven&#8217;t quite tweaked things just right so that it lays out the right way.<\/p>\n<h2>Conclusion<\/h2>\n<p>I&#8217;m sticking with Awesome on the laptop for now. \u00a0I don&#8217;t think I&#8217;ll be switching my desktop workstations over anytime soon, but if I start mastering the configuration API in a real way, that may be a possibility.<\/p>\n<p>Of course, <a title=\"So many window managers, so little time...\" href=\"http:\/\/www.xwinman.org\" target=\"_blank\">there&#8217;s always another window manager<\/a> to try&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For years I&#8217;ve been a die-hard KDE fan; while I&#8217;ll admit to temporarily\u00a0jumping ship during the tumultuous 4.0 through 4.2 release cycles, and routinely trying out other desktop environments just to see how they schoon, I&#8217;ve pretty much stuck with my pal Konqi since back around 3.4. For my desktop, especially at work, KDE still [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,5,1],"tags":[26,25,14,24,13],"class_list":["post-98","post","type-post","status-publish","format-standard","hentry","category-floss","category-technology","category-uncategorized","tag-awesome-wm","tag-desktop-tweaking","tag-linux","tag-my-computers","tag-pointless-geekery"],"_links":{"self":[{"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/posts\/98","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/comments?post=98"}],"version-history":[{"count":20,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/posts\/98\/revisions"}],"predecessor-version":[{"id":120,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/posts\/98\/revisions\/120"}],"wp:attachment":[{"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/media?parent=98"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/categories?post=98"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/tags?post=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}