Skip to content

Commit 9fff97a

Browse files
committed
update toggle dot file display and update data folder path
1 parent 7a0fa14 commit 9fff97a

File tree

7 files changed

+70
-29
lines changed

7 files changed

+70
-29
lines changed

Diff for: src/components/function.go

+6-3
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func getFolder() []folder {
3737
paths = append(paths, filepath.Join(folderPath, entry.Name()))
3838
}
3939
}
40-
jsonData, err := os.ReadFile(SuperFileMainDir + pinnedFile)
40+
jsonData, err := os.ReadFile(SuperFileDataDir + pinnedFile)
4141
if err != nil {
4242
OutPutLog("Read superfile data error", err)
4343
}
@@ -79,7 +79,7 @@ func returnFocusType(focusPanel focusPanelType) filePanelFocusType {
7979
}
8080
}
8181

82-
func returnFolderElement(location string) (folderElement []element) {
82+
func returnFolderElement(location string, displayDotFile bool) (folderElement []element) {
8383
var folders []element
8484
var files []element
8585

@@ -90,6 +90,9 @@ func returnFolderElement(location string) (folderElement []element) {
9090

9191
for _, item := range items {
9292
fileInfo, _ := item.Info()
93+
if !displayDotFile && strings.HasPrefix(fileInfo.Name(), ".") {
94+
continue
95+
}
9396
if fileInfo == nil {
9497
continue
9598
}
@@ -430,4 +433,4 @@ func countFiles(dirPath string) (int, error) {
430433

431434
func IsExternalPath(path string) bool {
432435
return strings.HasPrefix(path, "/run/media")
433-
}
436+
}

Diff for: src/components/globalController.go

+20-4
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ func PinnedFolder(m model) model {
396396

397397
unPinned := false
398398

399-
jsonData, err := os.ReadFile(SuperFileMainDir + pinnedFile)
399+
jsonData, err := os.ReadFile(SuperFileDataDir + pinnedFile)
400400
if err != nil {
401401
OutPutLog("Pinned folder function read superfile data error", err)
402402
}
@@ -421,7 +421,7 @@ func PinnedFolder(m model) model {
421421
OutPutLog("Pinned folder function updatedData superfile data error", err)
422422
}
423423

424-
err = os.WriteFile(SuperFileMainDir+pinnedFile, updatedData, 0644)
424+
err = os.WriteFile(SuperFileDataDir+pinnedFile, updatedData, 0644)
425425
if err != nil {
426426
OutPutLog("Pinned folder function updatedData superfile data error", err)
427427
}
@@ -495,14 +495,30 @@ func OpenTerminal(m model) model {
495495
terminal = "gnome-terminal"
496496
workDirSet = "--working-directory="
497497
default:
498-
log.Fatalf("We can't find your default terminal please go to ~/.config/superfile/config/config.json setting your default terminal and terminalWorkDirFlag!")
498+
log.Fatalf("Couldn't find your default terminal, please go to ~/.config/superfile/config/config.json to set your default terminal and terminalWorkDirFlag!")
499499
}
500500

501501
cmd := exec.Command(terminal, workDirSet+currentDir)
502502
err := cmd.Start()
503503
if err != nil {
504-
OutPutLog("Error opening"+terminal+":", err)
504+
OutPutLog("Error opening "+terminal+":", err)
505505
}
506506

507507
return m
508508
}
509+
510+
func ToggleDotFile(m model) model {
511+
newToggleDotFile := ""
512+
if m.toggleDotFile {
513+
newToggleDotFile = "false"
514+
m.toggleDotFile = false
515+
} else {
516+
newToggleDotFile = "true"
517+
m.toggleDotFile = true
518+
}
519+
err := os.WriteFile(SuperFileDataDir+toggleDotFile, []byte(newToggleDotFile), 0644)
520+
if err != nil {
521+
OutPutLog("Pinned folder function updatedData superfile data error", err)
522+
}
523+
return m
524+
}

Diff for: src/components/model.go

+21-9
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,31 @@ package components
22

33
import (
44
"encoding/json"
5-
"log"
6-
"os"
7-
"path/filepath"
8-
95
"github.com/barasher/go-exiftool"
106
"github.com/charmbracelet/bubbles/textinput"
117
tea "github.com/charmbracelet/bubbletea"
128
"github.com/charmbracelet/lipgloss"
139
"github.com/rkoesters/xdg/basedir"
10+
"log"
11+
"os"
12+
"path/filepath"
1413
)
1514

1615
const (
1716
configFolder string = "/config"
1817
themeFolder string = "/theme"
1918
dataFolder string = "/data"
20-
lastCheckVersion string = "/data/lastCheckVersion"
21-
pinnedFile string = "/data/pinned.json"
19+
lastCheckVersion string = "/lastCheckVersion"
20+
pinnedFile string = "/pinned.json"
21+
toggleDotFile string = "/toggleDotFile"
2222
logFile string = "/superfile.log"
2323
configFile string = "/config/config.json"
2424
themeZipName string = "/theme.zip"
2525
)
2626

2727
var HomeDir = basedir.Home
2828
var SuperFileMainDir = basedir.ConfigHome + "/superfile"
29-
29+
var SuperFileDataDir = basedir.DataHome + "/superfile"
3030
var theme ThemeType
3131
var Config ConfigType
3232

@@ -37,7 +37,7 @@ var channel = make(chan channelMessage, 1000)
3737

3838
func InitialModel(dir string) model {
3939
var err error
40-
logOutput, err = os.OpenFile(SuperFileMainDir+logFile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
40+
logOutput, err = os.OpenFile(SuperFileDataDir+logFile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) // I don't know wtf is this
4141
if err != nil {
4242
log.Fatalf("Error while opening superfile.log file: %v", err)
4343
}
@@ -63,7 +63,16 @@ func InitialModel(dir string) model {
6363
if err != nil {
6464
log.Fatalf("Error while decoding theme json( Your theme file may have errors ): %v", err)
6565
}
66-
66+
toggleDotFileData, err := os.ReadFile(SuperFileDataDir + toggleDotFile)
67+
if err != nil {
68+
OutPutLog("Error while reading toggleDotFile data error:", err)
69+
}
70+
var toggleDotFileBool bool
71+
if string(toggleDotFileData) == "true" {
72+
toggleDotFileBool = true
73+
} else if string(toggleDotFileData) == "false" {
74+
toggleDotFileBool = false
75+
}
6776
LoadThemeConfig()
6877
et, err = exiftool.NewExiftool()
6978
if err != nil {
@@ -102,6 +111,7 @@ func InitialModel(dir string) model {
102111
},
103112
width: 10,
104113
},
114+
toggleDotFile: toggleDotFileBool,
105115
}
106116
}
107117

@@ -246,6 +256,8 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
246256
m = PinnedFolder(m)
247257
case Config.OpenTerminal[0], Config.OpenTerminal[1]:
248258
m = OpenTerminal(m)
259+
case Config.ToggleDotFile[0], Config.ToggleDotFile[1]:
260+
m = ToggleDotFile(m)
249261
default:
250262
// check if it's the select mode
251263
if m.fileModel.filePanels[m.filePanelFocusIndex].focusType == focus && m.fileModel.filePanels[m.filePanelFocusIndex].panelMode == selectMode {

Diff for: src/components/modelRender.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func FilePanelRender(m model) string {
4949
// file panel
5050
f := make([]string, 4)
5151
for i, filePanel := range m.fileModel.filePanels {
52-
fileElenent := returnFolderElement(filePanel.location)
52+
fileElenent := returnFolderElement(filePanel.location, m.toggleDotFile)
5353
filePanel.element = fileElenent
5454
m.fileModel.filePanels[i].element = fileElenent
5555

Diff for: src/components/type.go

+2
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ type model struct {
7474
warnModal warnModal
7575
fileMetaData fileMetaData
7676
firstTextInput bool
77+
toggleDotFile bool
7778
filePanelFocusIndex int
7879
mainPanelHeight int
7980
fullWidth int
@@ -278,6 +279,7 @@ type ConfigType struct {
278279
FilePanelFileCreate [2]string
279280
FilePanelItemRename [2]string
280281
PasteItem [2]string
282+
ToggleDotFile [2]string
281283

282284
Cancel [2]string
283285
Confirm [2]string

Diff for: src/main.go

+19-12
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919

2020
var HomeDir = basedir.Home
2121
var SuperFileMainDir = basedir.ConfigHome + "/superfile"
22+
var SuperFileDataDir = basedir.DataHome + "/superfile"
2223

2324
const (
2425
currentVersion string = "v1.0.1"
@@ -30,10 +31,10 @@ const (
3031
const (
3132
configFolder string = "/config"
3233
themeFolder string = "/theme"
33-
dataFolder string = "/data"
34-
lastCheckVersion string = "/data/lastCheckVersion"
35-
pinnedFile string = "/data/pinned.json"
34+
lastCheckVersion string = "/lastCheckVersion"
35+
pinnedFile string = "/pinned.json"
3636
configFile string = "/config/config.json"
37+
toggleDotFile string = "/toggleDotFile"
3738
themeZipName string = "/theme.zip"
3839
logFile string = "/superfile.log"
3940
)
@@ -82,24 +83,29 @@ func InitConfigFile() {
8283
log.Fatalln("Can't Create Superfile main config folder:", SuperFileMainDir, err)
8384
}
8485
// create data folder
85-
err = CreateFolderIfNotExist(SuperFileMainDir + dataFolder)
86+
err = CreateFolderIfNotExist(SuperFileDataDir)
8687
if err != nil {
87-
log.Fatalln("Can't Create Superfile data folder:", SuperFileMainDir+dataFolder, err)
88+
log.Fatalln("Can't Create Superfile data folder:", SuperFileDataDir, err)
8889
}
8990
// create config folder
9091
err = CreateFolderIfNotExist(SuperFileMainDir + configFolder)
9192
if err != nil {
92-
log.Fatalln("Can't Create Superfile data folder:", SuperFileMainDir+configFolder, err)
93+
log.Fatalln("Can't Create Superfile data folder:", SuperFileDataDir+configFolder, err)
9394
}
9495
// create pinned.json file
95-
err = CreateFileIfNotExist(SuperFileMainDir + pinnedFile)
96+
err = CreateFileIfNotExist(SuperFileDataDir + pinnedFile)
9697
if err != nil {
97-
log.Fatalln("Can't Create Superfile pinned file:", SuperFileMainDir+pinnedFile, err)
98+
log.Fatalln("Can't Create Superfile pinned file:", SuperFileDataDir+pinnedFile, err)
99+
}
100+
// create toggleDotFile file
101+
err = CreateFileIfNotExist(SuperFileDataDir + toggleDotFile)
102+
if err != nil {
103+
log.Fatalln("Can't Create Superfile toggleDotFile:", SuperFileDataDir+toggleDotFile, err)
98104
}
99105
// create superfile.log file
100-
err = CreateFileIfNotExist(SuperFileMainDir + logFile)
106+
err = CreateFileIfNotExist(SuperFileDataDir + logFile)
101107
if err != nil {
102-
log.Fatalln("Can't Create Superfile log file:", SuperFileMainDir+logFile, err)
108+
log.Fatalln("Can't Create Superfile log file:", SuperFileDataDir+logFile, err)
103109
}
104110
// write config.json file
105111
if _, err := os.Stat(SuperFileMainDir + configFile); os.IsNotExist(err) {
@@ -161,7 +167,7 @@ func CreateFileIfNotExist(filePath string) error {
161167
}
162168

163169
func CheckForUpdates() {
164-
lastTime, err := ReadFromFile(SuperFileMainDir + lastCheckVersion)
170+
lastTime, err := ReadFromFile(SuperFileDataDir + lastCheckVersion)
165171
if err != nil && !os.IsNotExist(err) {
166172
fmt.Println("Error reading from file:", err)
167173
return
@@ -193,7 +199,7 @@ func CheckForUpdates() {
193199
}
194200

195201
timeStr := currentTime.Format(time.RFC3339)
196-
err = WriteToFile(SuperFileMainDir+lastCheckVersion, timeStr)
202+
err = WriteToFile(SuperFileDataDir+lastCheckVersion, timeStr)
197203
if err != nil {
198204
fmt.Println("Error writing to file:", err)
199205
return
@@ -320,6 +326,7 @@ const configJsonString string = `{
320326
"filePanelFileCreate": ["c", ""],
321327
"filePanelItemRename": ["r", ""],
322328
"pasteItem": ["ctrl+v", ""],
329+
"toggleDotFile": ["ctrl+h", ""],
323330
324331
"_COMMIT_special_hotkey": "These hotkeys do not conflict with any other keys (including global hotkey)",
325332
"cancel": ["ctrl+c", "esc"],

Diff for: src/superfile/config/config.json

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"filePanelFileCreate": ["c", ""],
3232
"filePanelItemRename": ["r", ""],
3333
"pasteItem": ["ctrl+v", ""],
34+
"toggleDotFile": ["ctrl+h", ""],
3435

3536
"_COMMIT_special_hotkey": "These hotkeys do not conflict with any other keys (including global hotkey)",
3637
"cancel": ["ctrl+c", "esc"],

0 commit comments

Comments
 (0)