mirror of
https://github.com/quine-global/hyper.git
synced 2026-01-12 20:18:41 -09:00
Added shellArgs to the config. (#572)
In case someone wants to use non-login shells there is a field added to the configuration file. If shellArgs not set default shell will be used as before. i.e. for using interactive shell (and use .bashrc instead of .bash_profile on linux) use shellArgs: ['-i'] and shell: '/bin/bash' this is useful especially if you are on Linux.
This commit is contained in:
parent
cb651f6492
commit
77597da1d3
3 changed files with 11 additions and 4 deletions
|
|
@ -56,6 +56,10 @@ module.exports = {
|
||||||
// if left empty, your system's login shell will be used by default
|
// if left empty, your system's login shell will be used by default
|
||||||
shell: '',
|
shell: '',
|
||||||
|
|
||||||
|
// for setting shell arguments (i.e. for using interactive shellArgs: ['-i'])
|
||||||
|
// by default ['--login'] will be used
|
||||||
|
shellArgs: ['--login'],
|
||||||
|
|
||||||
// for environment variables
|
// for environment variables
|
||||||
env: {},
|
env: {},
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,7 @@ app.on('ready', () => {
|
||||||
|
|
||||||
win.webContents.send('config change');
|
win.webContents.send('config change');
|
||||||
|
|
||||||
if (cfg_.shell !== cfg.shell) {
|
if (cfg_.shell !== cfg.shell || cfg_.shellArgs !== cfg.shellArgs) {
|
||||||
notify(
|
notify(
|
||||||
'Shell configuration changed!',
|
'Shell configuration changed!',
|
||||||
'Open a new tab or window to start using the new shell'
|
'Open a new tab or window to start using the new shell'
|
||||||
|
|
@ -146,8 +146,9 @@ app.on('ready', () => {
|
||||||
|
|
||||||
rpc.on('new', ({ rows = 40, cols = 100, cwd = process.env.HOME }) => {
|
rpc.on('new', ({ rows = 40, cols = 100, cwd = process.env.HOME }) => {
|
||||||
const shell = cfg.shell;
|
const shell = cfg.shell;
|
||||||
|
const shellArgs = cfg.shellArgs;
|
||||||
|
|
||||||
initSession({ rows, cols, cwd, shell }, (uid, session) => {
|
initSession({ rows, cols, cwd, shell, shellArgs }, (uid, session) => {
|
||||||
sessions.set(uid, session);
|
sessions.set(uid, session);
|
||||||
rpc.emit('session add', {
|
rpc.emit('session add', {
|
||||||
uid,
|
uid,
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ const envFromConfig = config.getConfig().env || {};
|
||||||
|
|
||||||
module.exports = class Session extends EventEmitter {
|
module.exports = class Session extends EventEmitter {
|
||||||
|
|
||||||
constructor ({ rows, cols: columns, cwd, shell }) {
|
constructor ({ rows, cols: columns, cwd, shell, shellArgs }) {
|
||||||
super();
|
super();
|
||||||
const baseEnv = Object.assign({}, process.env, {
|
const baseEnv = Object.assign({}, process.env, {
|
||||||
LANG: app.getLocale().replace('-', '_') + '.UTF-8',
|
LANG: app.getLocale().replace('-', '_') + '.UTF-8',
|
||||||
|
|
@ -33,7 +33,9 @@ module.exports = class Session extends EventEmitter {
|
||||||
TERM_PROGRAM_VERSION: version
|
TERM_PROGRAM_VERSION: version
|
||||||
}, envFromConfig);
|
}, envFromConfig);
|
||||||
|
|
||||||
this.pty = spawn(shell || defaultShell, ['--login'], {
|
const defaultShellArgs = ['--login'];
|
||||||
|
|
||||||
|
this.pty = spawn(shell || defaultShell, shellArgs || defaultShellArgs, {
|
||||||
columns,
|
columns,
|
||||||
rows,
|
rows,
|
||||||
cwd,
|
cwd,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue