You are not logged in.
Hello,
I hope I can describe what I intend to do with my poor englisch...
I'm running a normal Debian Wheezy install with openbox, a bit inspired by #!, but with default debian sources. The only thing I really miss is the shutdown/reboot/standby dialog in #! provided by the cb-exit package (in Waldorf).
So I thought about adding the #! Waldorf repo to my sources.list and install just the cb-exit package and look what happens (it's not my main system !). But I don't want to get all the other packages from the #! Waldorf repo and stick on the default Debian sources.
So I tried apt-pinning, created a /etc/apt/preferences.d/pinning file:
Package: *
Pin: origin deb http://packages.crunchbanglinux.org/waldorf/ waldorf main
Pin-Priority: 1Is this pinning file correct ?
Is it possible to add the shutdown/reboot/standby dialog by just installing cb-exit (and dependencies) to a default Debian system with Openbox ?
Thanks Hias
Last edited by hias (2012-05-25 16:07:36)
Desktop: Ubuntu 12.04 (Gnome-Shell)
Notebooks: Toshiba Satellite Pro A 10 - #!-Waldorf,
Thinkpad X60s - Debian Wheezy (Gnome)
Offline
Hello,
I think you can make it a tad easier:
#!/usr/bin/env python
import pygtk
pygtk.require('2.0')
import gtk
import os
import getpass
class cb_exit:
def disable_buttons(self):
self.cancel.set_sensitive(False)
self.logout.set_sensitive(False)
self.suspend.set_sensitive(False)
self.reboot.set_sensitive(False)
self.shutdown.set_sensitive(False)
def cancel_action(self,btn):
self.disable_buttons()
gtk.main_quit()
def logout_action(self,btn):
self.disable_buttons()
self.status.set_label("Exiting Openbox, please standby...")
os.system("openbox --exit")
def suspend_action(self,btn):
self.disable_buttons()
self.status.set_label("Suspending, please standby...")
os.system("cb-lock")
os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.UPower\" /org/freedesktop/UPower org.freedesktop.UPower.Suspend")
gtk.main_quit()
def reboot_action(self,btn):
self.disable_buttons()
self.status.set_label("Rebooting, please standby...")
os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart")
def shutdown_action(self,btn):
self.disable_buttons()
self.status.set_label("Shutting down, please standby...")
os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop")
def create_window(self):
self.window = gtk.Window()
title = "Log out " + getpass.getuser() + "? Choose an option:"
self.window.set_title(title)
self.window.set_border_width(5)
self.window.set_size_request(500, 80)
self.window.set_resizable(False)
self.window.set_keep_above(True)
self.window.stick
self.window.set_position(1)
self.window.connect("delete_event", gtk.main_quit)
windowicon = self.window.render_icon(gtk.STOCK_QUIT, gtk.ICON_SIZE_MENU)
self.window.set_icon(windowicon)
#Create HBox for buttons
self.button_box = gtk.HBox()
self.button_box.show()
#Cancel button
self.cancel = gtk.Button(stock = gtk.STOCK_CANCEL)
self.cancel.set_border_width(4)
self.cancel.connect("clicked", self.cancel_action)
self.button_box.pack_start(self.cancel)
self.cancel.show()
#Logout button
self.logout = gtk.Button("_Log out")
self.logout.set_border_width(4)
self.logout.connect("clicked", self.logout_action)
self.button_box.pack_start(self.logout)
self.logout.show()
#Suspend button
self.suspend = gtk.Button("_Suspend")
self.suspend.set_border_width(4)
self.suspend.connect("clicked", self.suspend_action)
self.button_box.pack_start(self.suspend)
self.suspend.show()
#Reboot button
self.reboot = gtk.Button("_Reboot")
self.reboot.set_border_width(4)
self.reboot.connect("clicked", self.reboot_action)
self.button_box.pack_start(self.reboot)
self.reboot.show()
#Shutdown button
self.shutdown = gtk.Button("_Power off")
self.shutdown.set_border_width(4)
self.shutdown.connect("clicked", self.shutdown_action)
self.button_box.pack_start(self.shutdown)
self.shutdown.show()
#Create HBox for status label
self.label_box = gtk.HBox()
self.label_box.show()
self.status = gtk.Label()
self.status.show()
self.label_box.pack_start(self.status)
#Create VBox and pack the above HBox's
self.vbox = gtk.VBox()
self.vbox.pack_start(self.button_box)
self.vbox.pack_start(self.label_box)
self.vbox.show()
self.window.add(self.vbox)
self.window.show()
def __init__(self):
self.create_window()
def main():
gtk.main()
if __name__ == "__main__":
go = cb_exit()
main()That's the cb-exit file, save it as /usr/bin/cb-exit
Start Distrohopping here! -> Roast your own | VSIDO | LinuxCNC | AntiX | Frugalware | <-
Offline
Hi machinebacon,
thanks a lot, seems to work.
By the way, the pinning file is incorrect, the line
deb http://packages.crunchbanglinux.org/waldorf/ waldorf mainmust contain a mistake, because apt is complaining about it. Have to look into the VM on the Xubuntu system, but tonight I rather go to bed.
Thanks Hias
Desktop: Ubuntu 12.04 (Gnome-Shell)
Notebooks: Toshiba Satellite Pro A 10 - #!-Waldorf,
Thinkpad X60s - Debian Wheezy (Gnome)
Offline
@hias, maybe it's the last slash? On other forum posts I've seen it as...
deb http://packages.crunchbang.org/waldorf waldorf mainOffline
^ Yes, it's
crunchbang.organd not crunchbanglinux.org
Offline
Boy, I saw the slash but missed that? 
Offline
^ ...not the only one that missed it...
while ( ! ( succeed = try() ) );
We've earned a reputation as a nice, friendly community; please help us keep it that way.
Online
You are so right... 
For me the topic is solved, thanks a lot.
Hias
Desktop: Ubuntu 12.04 (Gnome-Shell)
Notebooks: Toshiba Satellite Pro A 10 - #!-Waldorf,
Thinkpad X60s - Debian Wheezy (Gnome)
Offline
^ Then mark it as such. 
Offline
Copyright © 2012 CrunchBang Linux.
Proudly powered by Debian. Hosted by Linode.
Debian is a registered trademark of Software in the Public Interest, Inc.