Welcome to awesome bug tracking system.

FS#685 - keyboard access to minimized windows

Attached to Project: awesome
Opened by Florian Friesdorf (chaoflow) - Saturday, 21 November 2009, 07:10 GMT
Last edited by Uli Schlachter (psychon) - Tuesday, 22 February 2011, 20:15 GMT
Task Type Feature Request
Category Core
Status Closed
Assigned To No-one
Operating System All
Severity Low
Priority Normal
Reported Version git/master
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 7
Private No


It would be great to be able to access minimized windows via keyboard. Currently they only show up in the tasklist and as far as I could figure can only be accessed via mouse.

Showing a list of minimized windows to iterate over via keyboard could be a solution.
This task depends upon

Closed by  Uli Schlachter (psychon)
Tuesday, 22 February 2011, 20:15 GMT
Reason for closing:  Fixed
Additional comments about closing:  commit da9e4a52df1da6f1bc2affbf07be0969bb59645a
Author: Uli Schlachter <>
Date: Sat Feb 19 22:25:12 2011 +0100

Bind awful.client.restore to mod+ctrl+n

Signed-off-by: Uli Schlachter <>

commit 935e9a0e3080e5a1bde014f9eb02a97922ce021d
Author: Uli Schlachter <>
Date: Sat Feb 19 21:44:30 2011 +0100

Add awful.client.restore()

This restores the first minimized client it finds on the selected tags.

Optionally, this function accepts a screen number as its first argument.

Signed-off-by: Uli Schlachter <>
Comment by Uli Schlachter (psychon) - Tuesday, 16 March 2010, 10:28 GMT
I'd propose that focusing the "next" client shouldn't skip minimized ones. Hiwever, no idea how to implement this.

awful.client.focus.byidx() uses to find the client. That one uses awful.client.visible() to find out which clients to iterate over and minimized clients count as not visible.
What would break if we counted minimized clients as visible? (Since e.g. their tasklist entry is visible)
Comment by Matthias Schroeder (murphy42) - Tuesday, 24 August 2010, 07:03 GMT
i fire up my client menu with the binding:

awful.key(modkey_appl, "space", function (){ width= 250 }, { keygrabber=true }) end),

this shows me all clients including minimized - and i can pick one with the cursorkeys.

I also sort the clients menu, for me its more readable:

diff --git a/lib/awful/ b/lib/awful/
index 772f214..b9d9b04 100644
--- a/lib/awful/
+++ b/lib/awful/
@@ -288,6 +300,7 @@ function clients(menu, args)
c.icon }

+ table.sort( cls_t, function (a,b) return (a[1]:lower():gsub("[^a-z ]", '') < b[1]:lower():gsub("[^a-z ]", '')) end )
if not menu then
menu = {}
@@ -300,7 +313,7 @@ function clients(menu, args)