@@ -14,7 +14,6 @@ import (
1414
1515 "github.com/atotto/clipboard"
1616 "github.com/godbus/dbus"
17- "github.com/mitchellh/go-homedir"
1817 "github.com/muesli/streamdeck"
1918)
2019
@@ -27,29 +26,25 @@ type Deck struct {
2726
2827// LoadDeck loads a deck configuration.
2928func LoadDeck (dev * streamdeck.Device , base string , deck string ) (* Deck , error ) {
30- exp , err := homedir . Expand ( deck )
29+ path , err := expandPath ( base , deck )
3130 if err != nil {
3231 return nil , err
3332 }
34- if ! filepath .IsAbs (exp ) {
35- exp = filepath .Join (base , exp )
36- }
37- abs , err := filepath .Abs (exp )
38- if err != nil {
39- return nil , err
40- }
41- log .Println ("Loading deck:" , abs )
33+ log .Println ("Loading deck:" , path )
4234
43- dc , err := LoadConfig (abs )
35+ dc , err := LoadConfig (path )
4436 if err != nil {
4537 return nil , err
4638 }
4739
4840 d := Deck {
49- File : abs ,
41+ File : path ,
5042 }
5143 if dc .Background != "" {
52- bgpath := findImage (filepath .Dir (abs ), dc .Background )
44+ bgpath , err := expandPath (filepath .Dir (path ), dc .Background )
45+ if err != nil {
46+ return nil , err
47+ }
5348 if err := d .loadBackground (dev , bgpath ); err != nil {
5449 return nil , err
5550 }
@@ -65,12 +60,12 @@ func LoadDeck(dev *streamdeck.Device, base string, deck string) (*Deck, error) {
6560
6661 var w Widget
6762 if k , found := keyMap [i ]; found {
68- w , err = NewWidget (k , bg )
63+ w , err = NewWidget (filepath . Dir ( path ), k , bg )
6964 if err != nil {
7065 return nil , err
7166 }
7267 } else {
73- w = NewBaseWidget (i , nil , nil , bg )
68+ w = NewBaseWidget (filepath . Dir ( path ), i , nil , nil , bg )
7469 }
7570
7671 d .Widgets = append (d .Widgets , w )
0 commit comments