Menu

#129 Does not set $VTE_VERSION

Next_release
open
nobody
None
1
2018-02-20
2016-05-11
No

VTE automatically sets the environment variable VTE_VERSION prior to spawning the child process. This works in all VTE-based emulators except roxterm. The intent is that applications (or e.g. shell startup scripts) can easily check whether the terminal is VTE-based, as well as whether it's new enough to support a certain feature.

Roxterm doesn't set and doesn't alter this value.

Is this in a bug in roxterm (e.g. it saves all the env vars at one point, and restores them later on)? I can see methods like roxterm_modify_environment(), is this relevant?

Or is this a bug in VTE that it does not always force setting this variable, and roxterm happens to trigger this bug?

Discussion

  • Tony Houghton

    Tony Houghton - 2016-05-11

    It's probably roxterm's fault. It does set up its own environment to set variables that people expected or requested, eg WINDOWID which can be handy for interacting with window management tools. It could be accidentally replacing variables set by VTE there.

     
  • Tony Houghton

    Tony Houghton - 2018-02-20

    Do you have a github account? I've migrated roxterm development to there and this bug is #130.

    Roxterm still uses g_spawn_async to launch the child process, so switching to vte_pty_spawn_async or vte_terminal_spawn_async may fix this, but those two functions are marked only available since vte 0.48, which is quite new; newer than when you opened this bug I think. So how did vte used to modify the env before then? In the child setup function perhaps? And why isn't it working in roxterm?

     

Anonymous
Anonymous

Add attachments
Cancel