def set_callback(meth, args = [])
args.unshift(meth)
- signal_connect("button_release_event") do
+ signal_connect("activate") do
Snett::Snett.instance.xmms.send(*args)
false
end
end
end
-class XmmsClient::XmmsClient
+class Xmms::Client
def playback_next
playlist_set_next_rel(1).notifier { playback_tickle }
end
end
module Snett
- VERSION = "0.0.1"
+ VERSION = "0.0.2"
class Snett < Gtk::Window
attr_reader :icon, :xmms
@menu = nil
@tooltips = Gtk::Tooltips.new
- @xmms = XmmsClient::XmmsClient.new(PKG_NAME)
+ @xmms = Xmms::Client.new(PKG_NAME)
@xmms.connect(ENV["XMMS_PATH"])
@xmms.add_to_glib_mainloop
+ @xmms.on_disconnect { destroy }
@broadcasts = []
event_box.events = Gdk::Event::BUTTON_PRESS_MASK |
Gdk::Event::BUTTON_RELEASE_MASK
- event_box.signal_connect("button_release_event") do |_, event|
- menu.popup(event) if event.button == 3
- false
- end
-
event_box.signal_connect("button_press_event") do |_, event|
if event.button == 1
x, y = Gdk::Display.default.pointer[1, 2]
self.begin_move_drag(event.button, x, y, event.time)
+ elsif event.button == 3
+ menu.popup(event)
end
false
end
def on_mlib_get_info(res)
- info = res.value[:server]
+ info = res.value
s = "%s - %s" % [info[:artist], info[:title]]
@tooltips.set_tip(self, s, nil)
item = Gtk::ImageMenuItem.new(text)
item.image = Gtk::Image.new(stock, Gtk::IconSize::MENU)
- item.signal_connect("button_release_event") do
+ item.signal_connect("activate") do
PlaylistDialog.new(sym).show_all
false
end
append(Gtk::SeparatorMenuItem.new)
item = Gtk::ImageMenuItem.new(Gtk::Stock::ABOUT)
- item.signal_connect("button_release_event") do
+ item.signal_connect("activate") do
props = {
"name" => PKG_NAME,
"version" => VERSION,
append(item)
item = Gtk::ImageMenuItem.new(Gtk::Stock::QUIT)
- item.signal_connect("button_release_event") do
+ item.signal_connect("activate") do
Snett.instance.signal_emit("destroy")
false
end
col = Gtk::TreeViewColumn.new("Name", renderer, :text => 0)
@view.append_column(col)
- vbox.add(@view)
+ scrolled = Gtk::ScrolledWindow.new
+ scrolled.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC)
+ scrolled.add(@view)
+
+ vbox.add(scrolled)
+
+ resize(350, 400)
Snett.instance.xmms.medialib_playlists_list.
notifier(&method(:on_playlists_list))