I recently switched to Linux Mint with Cinnamon as the desktop environment. I much prefer it over Compiz but there is one feature that I'm sorely missing, in Compiz you can set window rules, and more specifically the below functionality that allows you have have a window basically the opposite of always on top.

I like to run a full screen terminal on one of my workspaces all the time, every so often I want to bring a window over top of the terminal and not have it dropped behind when I bring the terminal into focus.

Is there anyway I can achieve this behaviour in Cinnamon?


Sure, just set your window focus mode to "mouse". Go into cinnamon settings => Windows and then:

enter image description here

That will cause the window under the mouse to have focus without raising that window. If you want to write on your terminal, place the mouse over it and you can do so without raising it.

Personally, I also disable raise-on-click so that I need to click on the title bar or Alt+click to raise a window but that's just me.

  • This doesn't really cover the UX I want. I found myself, from years of muscle memory, clicking on the terminal instead of just hovering it negating the effect, plus sometimes I need to copy/paste lines from the terminal to the window on top so that didn't help. Thanks for the suggestion though. – JaredMcAteer Feb 23 '15 at 15:05

My suggestion is not an actual Cinnamon feature but a way to achieve this behaviour in a Cinnamon environment: with the small utility devilspie2, version v0.42 (because of the scripts_window_focus feature).

Currently, the official Linux Mint repositories contain version 0.39 only. So you need to download devilspie2 directly from the maintainer http://www.nongnu.org/devilspie2/ and build by yourself. It's easy and quick. You'll find build and install instructions in the file INSTALL of the downloaded tarball.

After installing create two files in the directory ~/.config/devilspie2 (default configuration assumed):

devilspie2.lua with the following contents:

scripts_window_focus = { "myscript.lua" }

myscript.lua with the following contents:

if (get_application_name() == "Terminal") then set_window_below(); end

Then simply start devilspie2 from your full screen terminal. And then just kill the running devilspie2 by typing Control-C (or stop it by Control-Z). If you want the behaviour not only for your full screen terminal, but for all terminal windows then don't kill/stop but instead start devilspie2 & in background.

As long as devilspie2 is running with the configuration given above, each window with the application name Terminal (like gnome-terminal) will be "set below" on focus. So, every time you click in your full screen terminal, you'll get the focus but the terminal is left below all other windows.

I'm sure you can make the solution even more comfortable and suitable to your specific needs (e.g. run and stop on startup). Refer to devilspie2 docs (README file in the tarball).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.