The Linux Rain Linux General/Gaming News, Reviews and Tutorials

File manager: open a terminal, but not here

By Bob Mesibov, published 01/11/2017 in Tutorials


Each of the two file managers I use — Thunar and Xfe — allows me to open a terminal in a selected directory. In Thunar, I right-click on a directory and choose Open Terminal Here, and in Xfe I use the keyboard shortcut Ctrl + t.

In both cases, though, the terminal window opens right on top of the file manager window. I prefer the "open terminal here" action to open a terminal in a different workspace and to take me to that workspace.

This article explains how I organised that.

A wee little script

First, I installed wmctrl from my distro's repository. It's a handy little utility that can control what workspace you're on and what's in a given workspace.

wmctrl specifies workspaces by number, starting with 0. For example, if I have 3 workspaces on my desktop, the first one is "0", the second is "1" and the third is "2". I'm a creature of habit, and my file manager (either Thunar or Xfe) is always open in workspace 2. If I do the "open terminal here" thing, I want that terminal to open in workspace 3, next door, which wmctrl knows as "2".

My terminal is the Xfce one, and the command I use to launch it is xfce4-terminal --geometry=125x45+70+80. The "geometry" option sizes the terminal window and places it where I prefer on my desktop.

I wrote the following script, called termshift, and put it in my scripts folder, where I made it executable:

#!/bin/bash

wmctrl -s 2; wmctrl -R <(xfce4-terminal --geometry=125x45+70+80)

The first wmctrl command in the script moves me to workspace 3 on my desktop. The second wmctrl command launches my terminal in that workspace and raises its focus.

(For a full list of wmctrl options, see its man page.)

In Thunar

In Thunar, I went to the Edit menu and selected Configure custom actions... Here the example given by the Thunar developers is "Open Terminal Here". I selected this example and opened its edit dialog. In the Command section, I replaced the default terminal command with the path to my termshift script. No command parameters (with "%") are necessary after the path, and I left the file pattern as "*" in the Appearance Conditions tab.

When I now right-click on a directory in the tree in Thunar's left-hand pane and choose "Open Terminal Here", I'm moved from workspace 2 to workspace 3 and into an Xfce terminal whose working directory is the one I selected in Thunar.

In Xfe

In Xfe it's both a little easier and a little harder. To make Xfe aware of termshift, I simply copied the script to my /home/bob/.config/xfe/scripts/ folder. To do the "open terminal but on a different workspace" trick, I now right-click on a selected directory either in Xfe's left-hand directory pane, or on any item within that directory in the right-hand pane. On the right-click menu I select Scripts, and termshift appears to the right of that word in a sub-menu. Clicking on termshift runs the script.



About the Author

Bob Mesibov is Tasmanian, retired and a keen Linux tinkerer.

Tags: scripting xfce thunar file-managers wmctrl cli commandline tutorials
blog comments powered by Disqus