aboutsummaryrefslogtreecommitdiffstats
path: root/default-plugins/session-manager/src/ui/mod.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2024-02-06 14:26:14 +0100
committerGitHub <noreply@github.com>2024-02-06 14:26:14 +0100
commit6b20a958f4e8db5614fffb27fe5d32f07ddfe855 (patch)
treec8383fb7941b5e0c23cb348a655f2ea0fafd8668 /default-plugins/session-manager/src/ui/mod.rs
parentdocs(readme): add sponsor (diff)
downloadsl0ppij-6b20a958f4e8db5614fffb27fe5d32f07ddfe855.tar.gz
sl0ppij-6b20a958f4e8db5614fffb27fe5d32f07ddfe855.tar.xz
sl0ppij-6b20a958f4e8db5614fffb27fe5d32f07ddfe855.zip
feat(sessions): welcome screen (#3112)
* prototype - can send layout name for new session from session-manager * feat(sessions): ui for selecting layout for new session in the session-manager * fix: send available layouts to plugins * make tests compile * fix tests * improve ui * fix: respect built-in layouts * ui for built-in layouts * some cleanups * style(fmt): rustfmt * welcome screen ui * fix: make sure layout config is not shared between sessions * allow disconnecting other users from current session and killing other sessions * fix: respect default layout * add welcome screen layout * tests(plugins): new api methods * fix(session-manager): do not quit welcome screen on esc and break * fix(plugins): adjust permissions * style(fmt): rustfmt * style(fmt): fix warnings
Diffstat (limited to 'default-plugins/session-manager/src/ui/mod.rs')
-rw-r--r--default-plugins/session-manager/src/ui/mod.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/default-plugins/session-manager/src/ui/mod.rs b/default-plugins/session-manager/src/ui/mod.rs
index 94a1a8a7..b86db946 100644
--- a/default-plugins/session-manager/src/ui/mod.rs
+++ b/default-plugins/session-manager/src/ui/mod.rs
@@ -1,4 +1,5 @@
pub mod components;
+pub mod welcome_screen;
use zellij_tile::prelude::*;
use crate::session_list::{SelectedIndex, SessionList};
@@ -29,7 +30,7 @@ macro_rules! render_assets {
if $selected_index.is_some() && !$has_deeper_selected_assets {
let mut selected_asset: LineToRender =
selected_asset.as_line_to_render(current_index, $max_cols, $colors);
- selected_asset.make_selected();
+ selected_asset.make_selected(true);
selected_asset.add_truncated_results(truncated_result_count_above);
if anchor_asset_index + 1 >= end_index {
// no more results below, let's add the more indication if we need to
@@ -76,8 +77,10 @@ impl SessionList {
if lines_to_render.len() + result.lines_to_render() <= max_rows {
let mut result_lines = result.render(max_cols);
if Some(i) == self.selected_search_index {
+ let mut render_arrows = true;
for line_to_render in result_lines.iter_mut() {
- line_to_render.make_selected();
+ line_to_render.make_selected_as_search(render_arrows);
+ render_arrows = false; // only render arrows on the first search result
}
}
lines_to_render.append(&mut result_lines);