diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-10-03 11:05:17 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-10-03 11:05:17 +0530 |
| commit | 2d0abaeb779ef63ed59de136e55c63ed2fd0a4ba (patch) | |
| tree | f00b8e584e42b4273ae5b75ec04efbf6585dafd1 /lib/Daffm/View.hs | |
| parent | c636e2bbe34bff6f75b334cdaa9d4e59b92fa48c (diff) | |
| download | daffm-2d0abaeb779ef63ed59de136e55c63ed2fd0a4ba.tar.gz daffm-2d0abaeb779ef63ed59de136e55c63ed2fd0a4ba.zip | |
Preserve list position while navigating through directories
Diffstat (limited to '')
| -rw-r--r-- | lib/Daffm/View.hs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/Daffm/View.hs b/lib/Daffm/View.hs index db26a7d..2bfb7dc 100644 --- a/lib/Daffm/View.hs +++ b/lib/Daffm/View.hs @@ -1,7 +1,7 @@ module Daffm.View where import Brick.Types (Widget) -import Brick.Widgets.Core (Padding (Max, Pad), TextWidth (textWidth), hBox, hLimit, padLeft, padRight, str, vBox, vLimit, withAttr, (<+>)) +import Brick.Widgets.Core (Padding (Max, Pad), hBox, hLimit, padLeft, padRight, str, vBox, vLimit, withAttr, (<+>)) import Brick.Widgets.Edit (renderEditor) import qualified Brick.Widgets.List as L import Daffm.Attrs (directoryAttr, directorySelectedAttr, fileAttr, fileSelectedAttr) @@ -20,14 +20,14 @@ appView appState@(AppState {stateFiles, stateCwd}) = [ui] box :: Widget FocusTarget box = L.renderList fileItemView True stateFiles -fixedColumnsStr :: Int -> Widget n -> Widget n -fixedColumnsStr w s = hLimit w $ padRight Max s +hFixed :: Int -> Widget n -> Widget n +hFixed w = hLimit w . padRight Max fileItemView :: Bool -> FileInfo -> Widget FocusTarget fileItemView sel fileInfo@(FileInfo {fileSize, fileType}) = hBox - [ fixedColumnsStr 5 (fileTypeView fileType), - fixedColumnsStr 7 (fileSizeView fileSize), + [ hFixed 5 (fileTypeView fileType), + hFixed 7 (fileSizeView fileSize), fileNameView sel fileInfo ] where @@ -40,6 +40,7 @@ fileItemView sel fileInfo@(FileInfo {fileSize, fileType}) = showFileType CharacterDevice = "cdev" showFileType BlockDevice = "bdev" showFileType RegularFile = "file" + showFileType UnknownFileType = "?" fileNameView :: Bool -> FileInfo -> Widget FocusTarget fileNameView True (FileInfo {fileName, fileType = Directory}) = withAttr directorySelectedAttr $ str $ fileName <> "/" |
