mirror of
https://github.com/nwg-piotr/nwg-drawer.git
synced 2024-10-26 14:53:57 +03:00
excluded dirs
This commit is contained in:
parent
fb00364e51
commit
fa3a8d9bb7
BIN
bin/nwg-drawer
BIN
bin/nwg-drawer
Binary file not shown.
13
main.go
13
main.go
@ -30,6 +30,7 @@ var (
|
||||
pinned []string
|
||||
id2entry map[string]desktopEntry
|
||||
preferredApps map[string]interface{}
|
||||
exclusions []string
|
||||
)
|
||||
|
||||
var categoryNames = [...]string{
|
||||
@ -264,11 +265,21 @@ func main() {
|
||||
paFile := filepath.Join(configDirectory, "preferred-apps.json")
|
||||
preferredApps, err = loadPreferredApps(paFile)
|
||||
if err != nil {
|
||||
log.Errorf("Custom associations file %s not found or invalid", paFile)
|
||||
log.Infof("Custom associations file %s not found or invalid", paFile)
|
||||
} else {
|
||||
log.Infof("Found %v associations in %s", len(preferredApps), paFile)
|
||||
}
|
||||
|
||||
// Load user-defined paths excluded from file search
|
||||
exFile := filepath.Join(configDirectory, "excluded-dirs")
|
||||
exclusions, err = loadTextFile(exFile)
|
||||
if err != nil {
|
||||
log.Infof("Search exclusions file %s not found", exFile)
|
||||
} else {
|
||||
log.Infof("Found %v search exclusions in %s", len(exclusions), exFile)
|
||||
fmt.Println(exclusions)
|
||||
}
|
||||
|
||||
// USER INTERFACE
|
||||
gtk.Init(nil)
|
||||
|
||||
|
2
tools.go
2
tools.go
@ -465,7 +465,7 @@ func loadTextFile(path string) ([]string, error) {
|
||||
var output []string
|
||||
for _, line := range lines {
|
||||
line = strings.TrimSpace(line)
|
||||
if line != "" {
|
||||
if line != "" && !strings.HasPrefix(line, "#") {
|
||||
output = append(output, line)
|
||||
}
|
||||
|
||||
|
@ -291,16 +291,19 @@ func walk(path string, d fs.DirEntry, e error) error {
|
||||
if e != nil {
|
||||
return e
|
||||
}
|
||||
// don't search leading part of the path, as e.g. '/home/user/Pictures'
|
||||
toSearch := strings.Split(path, ignore)[1]
|
||||
if strings.Contains(strings.ToLower(toSearch), strings.ToLower(phrase)) {
|
||||
// mark directories
|
||||
if d.IsDir() {
|
||||
fileSearchResults = append(fileSearchResults, fmt.Sprintf("#is_dir#%s", path))
|
||||
} else {
|
||||
fileSearchResults = append(fileSearchResults, path)
|
||||
if !isExcluded(path) {
|
||||
// don't search leading part of the path, as e.g. '/home/user/Pictures'
|
||||
toSearch := strings.Split(path, ignore)[1]
|
||||
if strings.Contains(strings.ToLower(toSearch), strings.ToLower(phrase)) {
|
||||
// mark directories
|
||||
if d.IsDir() {
|
||||
fileSearchResults = append(fileSearchResults, fmt.Sprintf("#is_dir#%s", path))
|
||||
} else {
|
||||
fileSearchResults = append(fileSearchResults, path)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -388,6 +391,15 @@ func setUpSearchEntry() *gtk.SearchEntry {
|
||||
return searchEntry
|
||||
}
|
||||
|
||||
func isExcluded(dir string) bool {
|
||||
for _, exclusion := range exclusions {
|
||||
if strings.Contains(dir, exclusion) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func searchUserDir(dir string) {
|
||||
fileSearchResults = nil
|
||||
ignore = userDirsMap[dir]
|
||||
|
Loading…
Reference in New Issue
Block a user