49

I would like to be able to choose any already-open window and minimize it from the command line. Is this possible?

ændrük
  • 76,794

7 Answers7

45

In Kubuntu 12.04 I use the following command to minimize the active window:

xdotool windowminimize $(xdotool getactivewindow)

I suspect you may replace the $(xdotool getactivewindow) with a string identifying any window that you need to minimize.

ændrük
  • 76,794
Vladimir
  • 474
19

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?

13

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.

11

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.

4

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.)

Han Cnx
  • 651
4

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.

loevborg
  • 7,282
1

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.