Add support for i3status-rust
This commit is contained in:
29
task_ops.go
29
task_ops.go
@@ -8,6 +8,35 @@ import (
|
||||
todotxt "git.bullercodeworks.com/brian/go-todotxt"
|
||||
)
|
||||
|
||||
func (a *AppState) opI3Status(args []string) int {
|
||||
var filterString string
|
||||
state := "Idle"
|
||||
if len(args) > 0 {
|
||||
filterString = strings.Join(args, " ")
|
||||
a.TaskList = a.getFilteredList(filterString)
|
||||
}
|
||||
total := len(*a.TaskList)
|
||||
var incomplete int
|
||||
for _, v := range *a.TaskList {
|
||||
if !v.HasCompletedDate() {
|
||||
incomplete++
|
||||
if dateWithinNextDay(v.DueDate) {
|
||||
state = "Warning"
|
||||
}
|
||||
}
|
||||
}
|
||||
if state != "Warning" {
|
||||
warning := a.config.Get("i3status_warning")
|
||||
if warning != "" {
|
||||
if len(*a.getFilteredList(warning)) > 0 {
|
||||
state = "Warning"
|
||||
}
|
||||
}
|
||||
}
|
||||
fmt.Printf("{\"icon\":\"tasks\",\"state\":\"%s\", \"text\": \"%s: %d/%d\"}", state, filterString, incomplete, total)
|
||||
return 0
|
||||
}
|
||||
|
||||
func (a *AppState) opListTasks(args []string) int {
|
||||
var lastIdx int
|
||||
var filterString string
|
||||
|
||||
Reference in New Issue
Block a user