3
// GNOME Do is the legal property of its developers, whose names are too numerous
4
// to list here. Please refer to the COPYRIGHT file distributed with this
5
// source distribution.
7
// This program is free software: you can redistribute it and/or modify
8
// it under the terms of the GNU General Public License as published by
9
// the Free Software Foundation, either version 3 of the License, or
10
// (at your option) any later version.
12
// This program is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
// GNU General Public License for more details.
17
// You should have received a copy of the GNU General Public License
18
// along with this program. If not, see <http://www.gnu.org/licenses/>.
21
using System.Threading;
22
using System.Diagnostics;
31
public class RhythmboxRunnableItem : IRunnableItem
33
public static readonly RhythmboxRunnableItem[] DefaultItems =
34
new RhythmboxRunnableItem[] {
36
new RhythmboxRunnableItem ("Play",
37
"Play Current Track in Rhythmbox",
41
new RhythmboxRunnableItem ("Pause",
42
"Pause Rhythmbox Playback",
46
new RhythmboxRunnableItem ("Next",
47
"Play Next Track in Rhythmbox",
51
new RhythmboxRunnableItem ("Previous",
52
"Play Previous Track in Rhythmbox",
56
new RhythmboxRunnableItem ("Show Current Track",
57
"Show Notification of Current Track in Rhythmbox",
61
new RhythmboxRunnableItem ("Mute",
62
"Mute Rhythmbox Playback",
66
new RhythmboxRunnableItem ("Unmute",
67
"Unmute Rhythmbox Playback",
71
new RhythmboxRunnableItem ("Volume Up",
72
"Increase Rhythmbox Playback Volume",
76
new RhythmboxRunnableItem ("Volume Down",
77
"Decrease Rhythmbox Playback Volume",
82
string name, description, icon, command;
84
public RhythmboxRunnableItem (string name, string description, string icon, string command)
87
this.description = description;
89
this.command = command;
92
public string Name { get { return name; } }
93
public string Description { get { return description; } }
94
public string Icon { get { return icon; } }
98
new Thread ((ThreadStart) delegate {
99
Rhythmbox.StartIfNeccessary ();
100
Rhythmbox.Client (command);