From 09ac929cc534dd779ae18050cfbde75cfd54a40c Mon Sep 17 00:00:00 2001 From: Omar Elmasri Date: Fri, 14 Jun 2024 15:05:47 +0300 Subject: [PATCH 1/3] restore tab titles --- session-manager.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/session-manager.lua b/session-manager.lua index ef08a5b..bbfb600 100644 --- a/session-manager.lua +++ b/session-manager.lua @@ -22,6 +22,7 @@ local function retrieve_workspace_data(window) for _, tab in ipairs(window:mux_window():tabs()) do local tab_data = { tab_id = tostring(tab:tab_id()), + tab_title = tostring(tab:get_title()), panes = {} } @@ -122,6 +123,8 @@ local function recreate_workspace(window, workspace_data) -- Activate the new tab before creating panes new_tab:activate() + -- Restore its title + new_tab:set_title(tab_data.tab_title) -- Recreate panes within this tab for j, pane_data in ipairs(tab_data.panes) do From e82ab48c70d3cef00b4546024299c57bde964343 Mon Sep 17 00:00:00 2001 From: Omar Elmasri Date: Fri, 14 Jun 2024 15:27:05 +0300 Subject: [PATCH 2/3] simplify notification messages for save/restore --- session-manager.lua | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/session-manager.lua b/session-manager.lua index bbfb600..3b45894 100644 --- a/session-manager.lua +++ b/session-manager.lua @@ -199,13 +199,12 @@ function session_manager.restore_state(window) return end + local status = 'fail' if recreate_workspace(window, workspace_data) then - window:toast_notification('WezTerm', 'Workspace state loaded for workspace: ' .. workspace_name, - nil, 4000) - else - window:toast_notification('WezTerm', 'Workspace state loading failed for workspace: ' .. workspace_name, - nil, 4000) + status = 'success' end + window:toast_notification('WezTerm', 'Workspace "'.. workspace_name .. '" restore ' .. status, + nil, 4000) end --- Allows to select which workspace to load @@ -226,11 +225,11 @@ function session_manager.save_state(window) local file_path = wezterm.home_dir .. "/.config/wezterm/wezterm-session-manager/wezterm_state_" .. data.name .. ".json" -- Save the workspace data to a JSON file and display the appropriate notification + local status = 'fail' if save_to_json_file(data, file_path) then - window:toast_notification('WezTerm Session Manager', 'Workspace state saved successfully', nil, 4000) - else - window:toast_notification('WezTerm Session Manager', 'Failed to save workspace state', nil, 4000) + status = 'success' end + window:toast_notification('WezTerm Session Manager', 'Workspace "' .. data.name .. '" save ' .. status, nil, 4000) end return session_manager From 2e433bf60db8582134c357099cd5d592b8b2cf8a Mon Sep 17 00:00:00 2001 From: Omar Elmasri Date: Fri, 14 Jun 2024 15:29:18 +0300 Subject: [PATCH 3/3] Revert "restore tab titles" This reverts commit 09ac929cc534dd779ae18050cfbde75cfd54a40c. --- session-manager.lua | 3 --- 1 file changed, 3 deletions(-) diff --git a/session-manager.lua b/session-manager.lua index 3b45894..4572320 100644 --- a/session-manager.lua +++ b/session-manager.lua @@ -22,7 +22,6 @@ local function retrieve_workspace_data(window) for _, tab in ipairs(window:mux_window():tabs()) do local tab_data = { tab_id = tostring(tab:tab_id()), - tab_title = tostring(tab:get_title()), panes = {} } @@ -123,8 +122,6 @@ local function recreate_workspace(window, workspace_data) -- Activate the new tab before creating panes new_tab:activate() - -- Restore its title - new_tab:set_title(tab_data.tab_title) -- Recreate panes within this tab for j, pane_data in ipairs(tab_data.panes) do