Class: Ruby_do_plugin_power_management_upower

Inherits:
Ruby_do::Plugin::Base
  • Object
show all
Defined in:
lib/ruby_do_plugin_power_management_upower.rb

Instance Method Summary collapse

Instance Method Details

#execute_static_result(args) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/ruby_do_plugin_power_management_upower.rb', line 41

def execute_static_result(args)
  if args[:sres].data[:mode] == :suspend
    Knj::Os.subproc("dbus-send --system --print-reply --dest=\"org.freedesktop.UPower\" /org/freedesktop/UPower org.freedesktop.UPower.Suspend")
  elsif args[:sres].data[:mode] == :shutdown
    Knj::Os.subproc("dbus-send --system --print-reply --dest=\"org.freedesktop.UPower\" /org/freedesktop/UPower org.freedesktop.UPower.Shutdown")
  elsif args[:sres].data[:mode] == :reboot
    Knj::Os.subproc("dbus-send --system --print-reply --dest=\"org.freedesktop.UPower\" /org/freedesktop/UPower org.freedesktop.UPower.Reboot")
  elsif args[:sres].data[:mode] == :hibernate
    Knj::Os.subproc("dbus-send --system --print-reply --dest=\"org.freedesktop.UPower\" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate")
  else
    raise sprintf(_("Unknown mode: '%s'."), args[:sres].data[:mode])
  end
  
  return :close_win_main
end

#startObject



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
# File 'lib/ruby_do_plugin_power_management_upower.rb', line 2

def start
  self.register_static_result(
    :id_str => "suspend",
    :title => _("Suspend"),
    :descr => _("Suspend the computer to RAM."),
    :icon_path => File.realpath("#{File.dirname(__FILE__)}/../gfx/system-suspend.png"),
    :data => {
      :mode => :suspend
    }
  )
  self.register_static_result(
    :id_str => "shutdown",
    :title => _("Shutdown"),
    :descr => _("Shutdown the computer."),
    :icon_path => File.realpath("#{File.dirname(__FILE__)}/../gfx/system-shutdown.png"),
    :data => {
      :mode => :shutdown
    }
  )
  self.register_static_result(
    :id_str => "reboot",
    :title => _("Reboot"),
    :descr => _("Reboot the computer."),
    :icon_path => File.realpath("#{File.dirname(__FILE__)}/../gfx/system-reboot.png"),
    :data => {
      :mode => :shutdown
    }
  )
  self.register_static_result(
    :id_str => "hibernate",
    :title => _("Hibernate"),
    :descr => _("Suspend to computer to harddrive."),
    :icon_path => File.realpath("#{File.dirname(__FILE__)}/../gfx/system-suspend-hibernate.png"),
    :data => {
      :mode => :shutdown
    }
  )
end