Reuse Existing App / Window - Do Not Open New Instance

New to MATE - not new to Ubuntu, but I cannot figure out how to accomplish something.

Certain applications, such as Chrome, Caja, MATE Terminal and others open a new window (or instance of the application) when the application’s icon is clicked. It doesn’t matter if the icon is clicked from the “Applications” menu, panel or alias. What I want is for the existing application window to come to the front instead.

Is this possible system-wide? Thanks.


But, that's usually the way docks behave though, you might want to check the cupertino layout or something equivalent.

This is indeed what docks do. However, if you really need a launcher to do that, you can try something like that:

  1. Install wmctrl by sudo apt install wmctrl
  2. In order to give, for example, focus to firefox then create a panel launcher (right click on panel and choose add items) with the command wmctrl -a firefox.

Any way, you better use a dock like plank or docky. I don’t know if wmctrl works with every window manager and how can you make it to show all windows if for example there are multiple firefox windows open.

There is also the command xdotool. So, to activate all windows (for example chromium windows):

  1. Install xdotool by sudo apt install xdotool.
  2. Create a panel launcher with the command

xdotool search --desktop 0 "chromium" windowactivate %@

Replace chromium with the application you want.