summaryrefslogtreecommitdiff
path: root/RatesWidget/rates.lua
blob: 6fa2e477e85e853d634d85f717f9a9a15cec4428 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
local wibox = require("wibox")
local awful = require("awful")

rateWidget = wibox.widget.textbox()

-- DBus (Command are sent to Dbus, which prevents Awesome from freezу)
sleepTimerDbus = timer ({timeout = 1800})
sleepTimerDbus:connect_signal ("timeout", 
	function ()
		awful.util.spawn_with_shell("dbus-send --session --dest=org.naquadah.awesome.awful /com/console/rate com.console.rate.rateWidget string:$(python ~/.config/awesome/rates/rates.py)" )
	end)
sleepTimerDbus:start()
sleepTimerDbus:emit_signal("timeout")

dbus.request_name("session", "com.console.rate")
dbus.add_match("session", "interface='com.console.rate', member='rateWidget' " )
dbus.connect_signal("com.console.rate", 
	function (...)
		local data = {...}
		local dbustext = data[2]
		rateWidget:set_text(dbustext)
	end)

-- The notification popup which shows rates for other currencies
function showRatesPopup()   
    naughty.notify({
        title = "Rates",
        text = awful.util.pread("python ~/.config/awesome/rates/ratesPopup.py"), 
        icon = "/home/username/.config/awesome/rates/currency.png",
        icon_size = 100,
        timeout = 10, 
        width = 300,
        padding = 100,
        fg = "#ffffff",
        bg = "#333333aa",
    })
end

rateWidget:connect_signal("mouse::enter", function() showRatesPopup() end)