mirror of
https://github.com/alacritty/alacritty.git
synced 2024-11-03 04:34:21 -05:00
Add TERM config entry
This commit is contained in:
parent
24c32dc400
commit
c49d4a9365
4 changed files with 39 additions and 1 deletions
|
@ -1,4 +1,17 @@
|
|||
# Configuration for Alacritty, the GPU enhanced terminal emulator
|
||||
|
||||
|
||||
# Any items in the `env` entry below will be added as
|
||||
# environment variables. Some entries may override variables
|
||||
# set by alacritty it self.
|
||||
env:
|
||||
# TERM env customization. Default is xterm-256color
|
||||
# Note: the default TERM value `xterm-256color` does not
|
||||
# specify all features alacritty supports. This does pose
|
||||
# a few issues with programs relying on terminfo and the
|
||||
# `tput` command
|
||||
TERM: xterm-256color
|
||||
|
||||
# Window dimensions in character columns and lines
|
||||
# (changes require restart)
|
||||
dimensions:
|
||||
|
|
|
@ -1,4 +1,16 @@
|
|||
# Configuration for Alacritty, the GPU enhanced terminal emulator
|
||||
|
||||
# Any items in the `env` entry below will be added as
|
||||
# environment variables. Some entries may override variables
|
||||
# set by alacritty it self.
|
||||
env:
|
||||
# TERM env customization. Default is xterm-256color
|
||||
# Note: the default TERM value `xterm-256color` does not
|
||||
# specify all features alacritty supports. This does pose
|
||||
# a few issues with programs relying on terminfo and the
|
||||
# `tput` command
|
||||
TERM: xterm-256color
|
||||
|
||||
# Window dimensions in character columns and lines
|
||||
# (changes require restart)
|
||||
dimensions:
|
||||
|
|
|
@ -11,6 +11,7 @@ use std::path::{Path, PathBuf};
|
|||
use std::str::FromStr;
|
||||
use std::sync::mpsc;
|
||||
use std::time::Duration;
|
||||
use std::collections::HashMap;
|
||||
|
||||
use ::Rgb;
|
||||
use font::Size;
|
||||
|
@ -171,6 +172,10 @@ impl<'a> Shell<'a> {
|
|||
/// Top-level config type
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct Config {
|
||||
/// TERM env variable
|
||||
#[serde(default)]
|
||||
env: HashMap<String, String>,
|
||||
|
||||
/// Initial dimensions
|
||||
#[serde(default)]
|
||||
dimensions: Dimensions,
|
||||
|
@ -267,6 +272,7 @@ impl Default for Config {
|
|||
shell: None,
|
||||
config_path: None,
|
||||
visual_bell: Default::default(),
|
||||
env: Default::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -998,6 +1004,10 @@ impl Config {
|
|||
self.shell.as_ref()
|
||||
}
|
||||
|
||||
pub fn env(&self) -> &HashMap<String, String> {
|
||||
&self.env
|
||||
}
|
||||
|
||||
fn load_from<P: Into<PathBuf>>(path: P) -> Result<Config> {
|
||||
let path = path.into();
|
||||
let raw = Config::read_file(path.as_path())?;
|
||||
|
|
|
@ -207,7 +207,10 @@ pub fn new<T: ToWinsize>(config: &Config, options: &Options, size: T) -> Pty {
|
|||
builder.env("USER", pw.name);
|
||||
builder.env("SHELL", shell.program());
|
||||
builder.env("HOME", pw.dir);
|
||||
builder.env("TERM", "xterm-256color"); // sigh
|
||||
builder.env("TERM", "xterm-256color"); // default term until we can supply our own
|
||||
for (key, value) in config.env().iter() {
|
||||
builder.env(key, value);
|
||||
}
|
||||
|
||||
builder.before_exec(move || {
|
||||
// Create a new process group
|
||||
|
|
Loading…
Reference in a new issue