I3 config; where is 'terminal' defined

In the config for i3wm, $mod+return is bound to exec terminal. Terminal, I believe seems to be bound to uxterm.

I want to use xfce4-terminal. I have bound $mod+return to exec xfce4-terminal and it works fine, but for future reference, where is terminal defined?


If you search the forum you should be able to find it.
There was that almost exact question not too long ago and I explained it there.
I can’t remember right now the answer to your question.
I’ll have a look - but please do the same.

found it
it was this topic here:

Unable to change default terminal on manjaro-i3 - #2 by Nachlese

read the whole thread - not just this linked post

It is a script:

which terminal
cat $(which terminal)

I believe it’s defined by i3-sensible-terminal which is a script that has a hardcoded list of terminal emulators which it’ll follow and use the first one.

You could remove the ones it wants to execute or you simply change the config file to run the terminal you like.

that script is:

Editing it directly is not ideal, as it would be reset/overwritten every time an update occurs.

It’s far better - and permanent - to create:
and set the preferred terminal there

like described in the linked to post/thread

The already present default setting of $PATH ensures that this script is executed
instead of the one of the same name in /usr/bin

I didn’t propose this. I said they should remove those terminals that have precedence over xfce’s.
(For my i3 config, it’s not terminal but the one I’ve mentioned. Did I change this? :face_with_monocle: Or where does it come from?)

I installed the recent manjaro i3 - and looked at how it’s done there.
I don’t have it in memory - and would have to boot up the i3 installation
i3-sensible-terminal was not the thing to adapt
(too specific)
but rather /usr/bin/terminal was the place it all came from.

That’s what I found - and what worked in the end.
It’s all in the thread (it’s not terribly long).

of course this works too - IIRC there was some kind of list
if you remove (or only have installed) certain terminals, then this can work as well

Thanks for all the responses. I followed Nachlese’s advice and now terminal gives me xfce4-terminal.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.