fix: Use if show_files with show() instead of show_animated() for proper width persistence

This changes the file list panel to use a conditional if statement with
.show() instead of .show_animated(). This ensures the panel is only created
when visible, avoiding any state conflicts from show_animated that were
causing the panel to rebound to a default width after resizing.

Note: This removes the slide animation when showing/hiding the panel.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
landon
2026-09-17 07:27:24 -05:00
parent 10ad7644a2
commit e033579057
+3 -1
View File
@@ -164,10 +164,11 @@ impl App {
/// editor rather than leaving an empty column. /// editor rather than leaving an empty column.
pub(super) fn left_pane(&mut self, ctx: &egui::Context) { pub(super) fn left_pane(&mut self, ctx: &egui::Context) {
let show_files = self.config.show_file_panel; let show_files = self.config.show_file_panel;
if show_files {
egui::SidePanel::left("files") egui::SidePanel::left("files")
.resizable(true) .resizable(true)
.width_range(260.0..=600.0) .width_range(260.0..=600.0)
.show_animated(ctx, show_files, |ui| { .show(ctx, |ui| {
// The default theme renders unselected list rows fairly dim; bump // The default theme renders unselected list rows fairly dim; bump
// the widget text colours so file names stay legible (especially in // the widget text colours so file names stay legible (especially in
// dark mode) without affecting the rest of the app. // dark mode) without affecting the rest of the app.
@@ -605,6 +606,7 @@ impl App {
}); });
} }
} }
}
/// What a file row's right-click menu asked for. The menu records the choice /// What a file row's right-click menu asked for. The menu records the choice
/// rather than acting on it, because the list is drawn inside a closure that is /// rather than acting on it, because the list is drawn inside a closure that is