diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-12-25 14:34:45 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-12-25 14:34:45 +0530 |
| commit | 5d216ac19a99ebb6bc0506a5745e6c3dc1dffe5e (patch) | |
| tree | 9462d66a318600b04ac5d1db283bd706632a0454 /lib/Daffm/View.hs | |
| parent | b4fe44842fb6914f9060b0d018de53983b0aab0b (diff) | |
| download | daffm-5d216ac19a99ebb6bc0506a5745e6c3dc1dffe5e.tar.gz daffm-5d216ac19a99ebb6bc0506a5745e6c3dc1dffe5e.zip | |
Handle errors with owner/group entry
Diffstat (limited to '')
| -rw-r--r-- | lib/Daffm/View.hs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Daffm/View.hs b/lib/Daffm/View.hs index 01488af..fb72ea6 100644 --- a/lib/Daffm/View.hs +++ b/lib/Daffm/View.hs @@ -44,21 +44,23 @@ fileListView appState@(AppState {stateFiles}) = L.renderListWithIndex (fileItemView appState) True stateFiles fileItemView :: AppState -> Int -> Bool -> FileInfo -> Widget FocusTarget -fileItemView appState index sel fileInfo@(FileInfo {filePath, fileSize, fileType, fileMode, fileUser, fileGroup}) = +fileItemView appState index sel fileInfo@(FileInfo {filePath, fileSize, fileType, fileMode}) = hBox [ hFixed 2 fileSelectionView, hFixed 1 $ fileTypeView fileType, hFixed 10 $ fileModeView fileMode, - hFixed 16 $ fileOwnerView fileUser fileGroup, + hFixed (maxOwnerSize + 1) $ fileOwnerView fileInfo, hFixed 7 $ fileSizeView fileSize, fileNameView sel fileInfo, searchMatchIndicatorView ] where + maxOwnerSize = Vec.maximum . Vec.map (Text.length . ownerInfo) . L.listElements $ stateFiles appState + ownerInfo (FileInfo {fileUser = user, fileGroup = group}) = user <> ":" <> group fileSizeView = txt . prettyFileSize . fromIntegral fileTypeView = withAttr fileTypeAttr . txt . showFileType fileModeView = withAttr fileModeAttr . txt . showFileMode - fileOwnerView user group = withAttr fileOwnerAttr . txt $ user <> ":" <> group + fileOwnerView = withAttr fileOwnerAttr . txt . ownerInfo fileSelectionView = txt $ if Set.member filePath $ stateFileSelections appState then ">" else " " searchMatchIndicatorView | index `Vec.elem` stateSearchMatches appState = padLeft (Pad 1) $ withAttr searchMarchAttr $ txt "*" |
