Add an option to kitty.conf to specify a default startup session

Fixes #641
This commit is contained in:
Kovid Goyal
2018-06-16 08:14:11 +05:30
parent 26f50a451e
commit 12cbcf1c17
3 changed files with 17 additions and 2 deletions

View File

@@ -7,6 +7,7 @@ import shlex
from .config_data import to_layout_names
from .constants import shell_path
from .layout import all_layouts
from .utils import log_error
class Tab:
@@ -105,10 +106,18 @@ def parse_session(raw, opts):
return ans
def create_session(opts, args=None, special_window=None, cwd_from=None, respect_cwd=False):
def create_session(opts, args=None, special_window=None, cwd_from=None, respect_cwd=False, default_session=None):
if args and args.session:
with open(args.session) as f:
return parse_session(f.read(), opts)
if default_session and default_session != 'none':
try:
with open(default_session) as f:
session_data = f.read()
except EnvironmentError:
log_error('Failed to read from session file, ignoring: {}'.format(default_session))
else:
return parse_session(session_data, opts)
ans = Session()
current_layout = opts.enabled_layouts[0] if opts.enabled_layouts else 'tall'
ans.add_tab(opts)