@@ -54,6 +54,16 @@ func createSidestuff() *gtk.Box {
5454 volumeImage , _ := gtk .ImageNewFromIconName (volumeIcon , gtk .ICON_SIZE_BUTTON )
5555 sc , _ = volumeImage .GetStyleContext ()
5656 sc .AddClass ("sound" )
57+ glib .TimeoutAdd (uint (500 ), func () bool {
58+
59+ newVolumeIcon , err := volumeHandler .GetAudioIcon ()
60+ if err == nil {
61+ volumeImage .SetFromIconName (newVolumeIcon , gtk .ICON_SIZE_BUTTON )
62+ }
63+
64+ // Return true to keep the timeout active.
65+ return true
66+ })
5767
5868 statusBox .PackStart (volumeImage , false , false , 0 )
5969 }
@@ -66,6 +76,17 @@ func createSidestuff() *gtk.Box {
6676 sc , _ = networkImage .GetStyleContext ()
6777 sc .AddClass ("network" )
6878
79+ glib .TimeoutAdd (uint (500 ), func () bool {
80+
81+ networkIcon , err := networkManagerHandler .GetNetworkIcon ()
82+ if err == nil {
83+ networkImage .SetFromIconName (networkIcon , gtk .ICON_SIZE_BUTTON )
84+ }
85+
86+ // Return true to keep the timeout active.
87+ return true
88+ })
89+
6990 statusBox .PackStart (networkImage , false , false , 0 )
7091 }
7192
@@ -75,6 +96,17 @@ func createSidestuff() *gtk.Box {
7596 sc , _ = batteryImage .GetStyleContext ()
7697 sc .AddClass ("power" )
7798
99+ glib .TimeoutAdd (uint (500 ), func () bool {
100+
101+ if batteryHandler .IsBattery () {
102+ newBatteryIcon := batteryHandler .GetBatteryIcon ()
103+ batteryImage .SetFromIconName (newBatteryIcon , gtk .ICON_SIZE_BUTTON )
104+ }
105+
106+ // Return true to keep the timeout active.
107+ return true
108+ })
109+
78110 statusBox .PackStart (batteryImage , false , false , 0 )
79111 }
80112
@@ -141,17 +173,17 @@ func createWorkspaces() *gtk.Box {
141173 sc , _ := imgButton .GetStyleContext ()
142174 sc .AddClass ("app" )
143175
144- img , _ := gtk .ImageNewFromIconName (k .AppID , gtk .ICON_SIZE_BUTTON )
145- imgButton .Add (img )
176+ pathn , err := foreignToplevel .GetIconFromToplevel (k , 16 , 1 )
177+ if err == nil {
178+ img , _ := gtk .ImageNewFromFile (pathn )
179+ imgButton .Add (img )
180+ }
181+
182+ imgButton .Connect ("clicked" , func () {
183+ foreignToplevel .SelectToplevel (k )
184+ })
146185 box .PackStart (imgButton , false , false , 0 )
147186 }
148- // Placeholder for dynamic window list
149- imgButton1 , _ := gtk .ButtonNew ()
150- sc , _ = imgButton1 .GetStyleContext ()
151- sc .AddClass ("app" )
152- img1 , _ := gtk .ImageNewFromIconName ("preferences-desktop" , gtk .ICON_SIZE_BUTTON )
153- imgButton1 .Add (img1 )
154- box .PackStart (imgButton1 , false , false , 0 )
155187
156188 return box
157189}
@@ -166,9 +198,15 @@ func createMainIcons() *gtk.Box {
166198 customButton , _ := gtk .ButtonNew ()
167199 customButton .Add (customIcon )
168200
201+ mm := createMainMenu ()
202+
169203 customButton .Connect ("clicked" , func () {
170- createMainMenu ().ShowAll ()
171- box .Hide ()
204+ if mm .IsVisible () {
205+ mm .Hide ()
206+ } else {
207+ mm .ShowAll ()
208+ }
209+ //box.Hide()
172210 })
173211
174212 box .PackStart (desktopImage , false , false , 0 )
@@ -208,6 +246,19 @@ func createBar() *gtk.Window {
208246 box .PackStart (createWorkspaces (), false , false , 0 )
209247 box .SetCenterWidget (createMainIcons ())
210248 box .PackEnd (createSidestuff (), false , false , 0 )
249+
250+ glib .TimeoutAdd (uint (500 ), func () bool {
251+ chil := box .GetChildren ()
252+ chil .NthData (uint (0 )).(* gtk.Widget ).Destroy ()
253+
254+ wspaces := createWorkspaces ()
255+ box .PackStart (wspaces , false , false , 0 )
256+
257+ box .ShowAll ()
258+ // Return true to keep the timeout active.
259+ return true
260+ })
261+
211262 win .Add (box )
212263 return win
213264}
0 commit comments