I would like to be able to choose any already-open window and minimize it from the command line. Is this possible?
7 Answers
You can kind of do this with WMCtrl. It's a tool that allows you to control the window manager from the command line. You can find it in the repositories.
It's compatible with Metacity and KWin (The defaults for Gnome and Kde).
You can use this command to get a list of currently open windows. This will include the window name:
wmctrl -l
Once you have the window name, you can use this command to shade a window:
wmctrl -r "windowname" -b toggle,shaded
I don't think minimization is supported because it's not covered by the EWMH spec, but you can do shading and maximization so it might suit your needs.
EDIT :
In 2022, there are option for this :
wmctrl -r "windowname" -b toggle,hidden
See @dgo.a answer Can I minimize a window from the command line?

- 134

- 1,158
-
Problem with that: the window is completely hidden and unusable. You can unhide it with the same command though. – Marc M Aug 15 '13 at 20:42
-
2wmctrl author added a new -Y flag to iconify windows. Commited in github but not released yet. – Marc M Aug 15 '13 at 20:43
-
1
-
2
-
-
wmctrl -l
only shows a small fraction of all open windows for all desktops, often the desktop is entirely missing even with existing windows. Ubuntu 22.04.2 LTS default install. – Tino Jul 13 '23 at 05:40
to minimize the active window
xdotool getactivewindow windowminimize
works on gnome3.24 shell extension such as custom hot corner, "xdotool windowminimize $(xdotool getactivewindow)" won't.

- 131
-
Thanks, works like a charm.To install the package:
sudo apt install xdotool
> I'm on zorin os – Yuvraj Singh May 10 '21 at 10:42
Another xdotool
example:
xdotool search --onlyvisible --classname --sync Navigator windowminimize
This searches (and waits, due to --sync
) for a visible Navigator window, and then minimizes it.
See xdotool(1)
section COMMAND CHAINING
:
xdotool supports running multiple commands on a single invocation. Generally, you'll start with a search command (see "WINDOW STACK") and then perform a set of actions on those results.

- 976
You use xdotool. Note that the default Unity shortcut key for minimizing the active window is Ctrl-Alt-0 BUT this ONLY means the numeric keypad zero. If you type the regular zero key, the one between the 9 and the -, then it will not work. (Also it will not work when typing it on the keyboard.)
Xdotool knows the numeric keypad zero key as KP_Insert
.
So to minimize the active window, you first make sure xdotool is installed, then use the command:
xdotool key Ctrl+Alt+KP_Insert
(Note that the key Alt-F3 mentioned in another answer will not work.)

- 651
You could use xdotool
to simulate the keyboard event Alt-F3
after focusing on the window. It's a hack, but depending on your problem, it might be enough.

- 7,282
You can minimise an application window regardless of its current state using wmctrl
as follows:
wmctrl -r "application-name" -b add,hidden
To maximise:
wmctrl -r "application-name" -b remove,hidden
"application-name"
can be any substring in the application name, and is case insensitive (use the -F option if this is not what you want). "hidden" is wmctrl's word for minimise.
For example:
wmctrl -r firefox -b add,hidden
minimises the first window that contains the string "firefox", in any mixture of upper and lowercase letters.
To see the list of windows, type:
wmctrl -l
dgo.a's comment above is great if you just want to toggle between maximised and minimised states.

- 41
xdotool
. – user1338062 Apr 14 '17 at 02:40wmctrl -r "windowname" -b toggle,hidden
works or not depends on your window manager. I'm using Marco and that seems to do nothing. – Mikko Rantalainen Nov 02 '22 at 09:28xdotool getactivewindow
givesXGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) xdo_get_active_window reported an error
. What are the alternatives? (Ubuntu 22.04.2 LTS default install) – Tino Jul 13 '23 at 05:31