View previous topic :: View next topic |
Author |
Message |
perplx n00b
Joined: 17 Apr 2006 Posts: 26 Location: Montréal, QC
|
Posted: Mon Feb 26, 2007 6:51 pm Post subject: Screenlets: accelerated desktop objects for Compiz |
|
|
A person by the name of RYX, on the Compiz forums, has cooked up an alternative to gDesklets/aDesklets/SuperKaramba that runs with compositing and all that fancy stuff. It's called "Screenlets", and you can find it here
EDIT: Don't use this ebuild, use the one from the xeffects overlay.
I cooked up an ebuild for, let's call it "screenlets-0.0.8_pre.ebuild":
Code: | # Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
DESCRIPTION="Hardware-accelerated desktop objects for Compiz"
HOMEPAGE="http://www.screenlets.org"
SRC_URI="http://www.ryxperience.com/storage/screenlets-0.0.8pre.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND="dev-python/pyxdg"
RDEPEND="${DEPEND}"
src_install() {
cd "${WORKDIR}/screenlets-0.0.8"
python setup.py install --root "${D}" || die "installation failed"
}
|
This runs fine for me, but Do Note:
- This ebuild is far from perfect. I'm new to this. Any advice on cleaning it up is appreciated.
- I've only tested it in Beryl on amd64. It should also work with Compiz and maybe other compositors, and should run on x86.
- For Beryl, you need the latest snapshots. I used the -9999 versions from the XEffects overlay.
- Don't expect it to run if you're running Networkmanager. NM (at least the version I got from the Sabayon overlay) plays with the hostname which makes screenlets give strange DBus and Xlib errors.
- The README only says the license is "GPL". I put GPL-2, assuming this is the right version. I'll try to contact the author to make sure.
- There's a Beryl plugin to ease the management of screenlets by putting them all on a "widget layer", but I'm having trouble getting that to work. I'll post an ebuild as soon as I've got it working.
_________________ Gentoo: keep it real.
Last edited by perplx on Wed Mar 28, 2007 4:44 pm; edited 5 times in total |
|
Back to top |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
|
Back to top |
|
|
perplx n00b
Joined: 17 Apr 2006 Posts: 26 Location: Montréal, QC
|
Posted: Tue Feb 27, 2007 9:39 pm Post subject: |
|
|
Thanks, kernelOfTruth!
OK so i tried the -9999 versions of Beryl and deps. Sure enough, the Beryl plug-in now compiles and installs. It appears as an item in the Desktop section of beryl-settings. The thing is, I can't seem to add any screenlets to the widget layer. The page in beryl-settings doesn't seem to allow me to do that, and the command line gives me this error:
Code: | julien@mastercraft ~ $ screenletsd start
Screenletsd v0.0.1 | (c) RYX (Rico Pfaus) 2007 | released under the GPL
julien@mastercraft ~ $ CachingBackend: Loading cache ...
Session-file /home/julien/.config/Screenlets/screenletsd.ses not found (will be created automatically).
julien@mastercraft ~ $ screenletsd add Clock
Screenletsd v0.0.1 | (c) RYX (Rico Pfaus) 2007 | released under the GPL
add-screenlet-utility | (c) RYX (Rico Pfaus) 2007 | released under GPL
No handlers could be found for logger "dbus.proxies"
Error: Screenlets-Backend (screenletsd) not found.
julien@mastercraft ~ $
|
I can start screenlets manually, calling the Python script from the command-line, but that's just not good enough for me , since they don't get saved/restored. Yet my daemon looks like it is running:
Code: | julien 7447 0.0 1.3 100428 17028 pts/6 S 16:21 0:00 python /usr/local/share/screenlets/screenletsd.py start |
Did you manage to add them to the daemon? _________________ Gentoo: keep it real. |
|
Back to top |
|
|
Codechecker n00b
Joined: 11 Aug 2004 Posts: 10
|
Posted: Tue Feb 27, 2007 10:42 pm Post subject: |
|
|
hi
@perplx: Have you activated the dbus-plugin in beryl?
greetz |
|
Back to top |
|
|
nesl247 Veteran
Joined: 15 Jun 2004 Posts: 1614 Location: Florida
|
Posted: Tue Feb 27, 2007 11:50 pm Post subject: |
|
|
I'm going to see the best route for this. If it's best to do a screenlets-{beryl,compiz} ebuild, or to combine them based on USE flags. If you contact me on irc (nesl247 on irc.freenode.net), I can give some ebuild making pointers, and we can fix it up to be in xeffects. |
|
Back to top |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
Posted: Wed Feb 28, 2007 6:20 am Post subject: |
|
|
perplx wrote: | Thanks, kernelOfTruth!
OK so i tried the -9999 versions of Beryl and deps. Sure enough, the Beryl plug-in now compiles and installs. It appears as an item in the Desktop section of beryl-settings. The thing is, I can't seem to add any screenlets to the widget layer. The page in beryl-settings doesn't seem to allow me to do that, and the command line gives me this error:
Code: | julien@mastercraft ~ $ screenletsd start
Screenletsd v0.0.1 | (c) RYX (Rico Pfaus) 2007 | released under the GPL
julien@mastercraft ~ $ CachingBackend: Loading cache ...
Session-file /home/julien/.config/Screenlets/screenletsd.ses not found (will be created automatically).
julien@mastercraft ~ $ screenletsd add Clock
Screenletsd v0.0.1 | (c) RYX (Rico Pfaus) 2007 | released under the GPL
add-screenlet-utility | (c) RYX (Rico Pfaus) 2007 | released under GPL
No handlers could be found for logger "dbus.proxies"
Error: Screenlets-Backend (screenletsd) not found.
julien@mastercraft ~ $
|
I can start screenlets manually, calling the Python script from the command-line, but that's just not good enough for me , since they don't get saved/restored. Yet my daemon looks like it is running:
Code: | julien 7447 0.0 1.3 100428 17028 pts/6 S 16:21 0:00 python /usr/local/share/screenlets/screenletsd.py start |
Did you manage to add them to the daemon? |
http://forum.go-compiz.org/viewtopic.php?p=4008#4008
should have the answer, after that "fix" it worked for me _________________ https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa
Hardcore Gentoo Linux user since 2004 |
|
Back to top |
|
|
gabardal n00b
Joined: 10 Feb 2006 Posts: 19
|
Posted: Wed Feb 28, 2007 3:45 pm Post subject: |
|
|
Sorry for being this noob , but do I need to emerge the screenlets in order to compile beryl-widget? I'm using Beryl, by the way, so are the screenlets only for Compiz or do they work under Beryl too?
Thanks in advance. |
|
Back to top |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
Posted: Wed Feb 28, 2007 6:10 pm Post subject: |
|
|
gabardal wrote: | Sorry for being this noob , but do I need to emerge the screenlets in order to compile beryl-widget? I'm using Beryl, by the way, so are the screenlets only for Compiz or do they work under Beryl too?
Thanks in advance. |
as far as the ebuild is concerned (and the screenlets package itself) you don't need any dependencies, only py* or python* (forgot the name), if screenletsd says it can't start and needs one of those, just emerge them cause they are in portage and you'll be fine
for beryl-widget you also don't need any dependencies besides a fresh beryl-svn build, it doesn't depend on screenlets and is made for beryl, NOT screenlets in special _________________ https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa
Hardcore Gentoo Linux user since 2004 |
|
Back to top |
|
|
perplx n00b
Joined: 17 Apr 2006 Posts: 26 Location: Montréal, QC
|
Posted: Wed Feb 28, 2007 6:55 pm Post subject: |
|
|
@Codechecker:
Well, it works now. The dbus-plugin IS enabled, though that might be the -9999 builds overwriting my configurations. Maybe I needed to restart something, because I just called and it started the clock I had added yesterday. Yesterday it didn't actually show the clockn and gave me the aforementioned errors, but now it works.
It's weird, but hey, it works! Thanks to everybody for the help!
I've got work to do today, but I'll get to work cleaning up the ebuilds soonish. This thing is just too cool to keep quiet.
EDIT: Nevermind that, it's still WAAAAAAAAYYY too flaky. I can't add new screenlets. I'll look into the solution proposed by kernelOfTruth, see if I can't make an ebuild that applies the patch. The university god evacuated today, so I can hack on this now
@gabardal, kernelOfTruth:
It's my understanding that you need the screenlets package for Compiz AND the Beryl plugin (if you run Beryl), since the Beryl plugin is only a wrapper (it's actually only one C file and one Makefile), the package for Compiz is the one containing the actual widgets, which are scripts written in Python. _________________ Gentoo: keep it real. |
|
Back to top |
|
|
perplx n00b
Joined: 17 Apr 2006 Posts: 26 Location: Montréal, QC
|
Posted: Thu Mar 01, 2007 10:41 pm Post subject: |
|
|
If you want to use this, don't use NetworkManager
I had a lot of problems getting the thing to do anything, kept getting cryptic Xlib or DBus errors, all because of the way NetworkManager plays with the hostname. But then again, even gvim refused to work sometimes!
I'll post updated ebuilds shortly _________________ Gentoo: keep it real. |
|
Back to top |
|
|
perplx n00b
Joined: 17 Apr 2006 Posts: 26 Location: Montréal, QC
|
Posted: Thu Mar 01, 2007 11:15 pm Post subject: |
|
|
I updated the Screenlets ebuild in the top post. It's the latest pre-release, which fixes a few nasty bugs. Any suggestions for which category this should be in?
Next, I'll try to get the Beryl plug-in working. _________________ Gentoo: keep it real. |
|
Back to top |
|
|
catch22 n00b
Joined: 18 Mar 2007 Posts: 22
|
Posted: Mon Mar 19, 2007 12:48 pm Post subject: |
|
|
Nice work!
But you should add dev-python/dbus-python to the dependencies. I had to emerge this package in order to get screenlets to work. |
|
Back to top |
|
|
Centinul Apprentice
Joined: 28 Jul 2005 Posts: 232
|
Posted: Tue Mar 20, 2007 1:44 am Post subject: |
|
|
Do I have to use Beryl / Compiz to use Screenlets? Could I use the window manager provided by Xfce 4.4? |
|
Back to top |
|
|
IvanMajhen Guru
Joined: 10 Jun 2006 Posts: 392 Location: Croatia
|
Posted: Wed Mar 21, 2007 8:39 am Post subject: |
|
|
Does this only works on gnome? On forum they said that it needs gnome-python-desktop. If I try to emerge it, it wants to emerge a lot of gnome.... and i don't wan't it.
I'm missing rsvg, could this be installed without gnome? |
|
Back to top |
|
|
roderick l33t
Joined: 11 Jul 2005 Posts: 908 Location: St. John's, NL CANADA
|
Posted: Wed Mar 21, 2007 11:47 am Post subject: |
|
|
It seems this plugin requires a python module rsvg.
Which python package pulls this module in? I think (but not sure) that is is in dev-python/gnome-python. If it is, this is a huge dep on Gnome.
Is there another way around this? I'm on KDE and don't need 30+ additional Gnome deps. _________________ If God were a pickle, I'd still say "no pickle on my burger".
http://roderick-greening.blogspot.com/ |
|
Back to top |
|
|
IvanMajhen Guru
Joined: 10 Jun 2006 Posts: 392 Location: Croatia
|
|
Back to top |
|
|
roderick l33t
Joined: 11 Jul 2005 Posts: 908 Location: St. John's, NL CANADA
|
Posted: Wed Mar 21, 2007 2:08 pm Post subject: |
|
|
Stupid gnomes, they should have stayed on the lawn where they belong _________________ If God were a pickle, I'd still say "no pickle on my burger".
http://roderick-greening.blogspot.com/ |
|
Back to top |
|
|
rmh3093 Advocate
Joined: 06 Aug 2003 Posts: 2138 Location: Albany, NY
|
Posted: Wed Mar 21, 2007 2:35 pm Post subject: |
|
|
awesome! this needs to get into xeffects asap!! _________________ Do not meddle in the affairs of wizards, for they are subtle and quick to anger. |
|
Back to top |
|
|
roderick l33t
Joined: 11 Jul 2005 Posts: 908 Location: St. John's, NL CANADA
|
Posted: Wed Mar 21, 2007 4:16 pm Post subject: |
|
|
Almost ready to commit to xeffects overlay...
I have a modified gnome-python-desktop to commit along with screenlets.
I'll update once I have made the commit. _________________ If God were a pickle, I'd still say "no pickle on my burger".
http://roderick-greening.blogspot.com/ |
|
Back to top |
|
|
roderick l33t
Joined: 11 Jul 2005 Posts: 908 Location: St. John's, NL CANADA
|
Posted: Wed Mar 21, 2007 4:20 pm Post subject: |
|
|
I have this up and running on my system now. looks AWESOME!!!!!!!!!!!!!
So, the ebuilds are ready with appropriate deps now. I have also made a modified ebuild for gnome-python-desktop to prevent building of gnome deps if you don't need then (via USE="nognome" use flag) and added a use flag for rsvg to build that module only.
Works great here....
Anyway, I should be ready to commit to xeffects soon...
EDIT: To use you need to emerge gnome-python-desktop and screenlets from xeffects overlay. gnome-python-desktop should be emerged with either no change to default use (you get all the gnome deps) or USE="nognome rsvg" to remove the gnome deps and add in the only package screenlets really nedds - rsvg. _________________ If God were a pickle, I'd still say "no pickle on my burger".
http://roderick-greening.blogspot.com/
Last edited by roderick on Wed Mar 21, 2007 8:25 pm; edited 1 time in total |
|
Back to top |
|
|
roderick l33t
Joined: 11 Jul 2005 Posts: 908 Location: St. John's, NL CANADA
|
Posted: Wed Mar 21, 2007 5:39 pm Post subject: |
|
|
All committed to xeffects overlay.
All you need to do is emerge screenlets. Of course is ~ARCH, so add any required packages to /etc/portage/package.keywords, sync up xeffects overlay and enjoy _________________ If God were a pickle, I'd still say "no pickle on my burger".
http://roderick-greening.blogspot.com/ |
|
Back to top |
|
|
zaiyon Apprentice
Joined: 19 May 2004 Posts: 219 Location: Germany
|
Posted: Wed Mar 21, 2007 9:44 pm Post subject: |
|
|
Screenlets work fine here with gnome-experimentals gnome-python-desktop-2.18.
Thanks for your efforts so far, Gentoo rocks again!
The only problem I have is to find the beryl plugin for screenlets - didn't you add it to xeffects? Or am I too stupid to find it?
It would be more beautiful to configure screenlets from beryl settings. _________________ What do you have when you have six lawyers buried up to their necks in sand? Not enough sand.
My Project - open Outcast |
|
Back to top |
|
|
IvanMajhen Guru
Joined: 10 Jun 2006 Posts: 392 Location: Croatia
|
Posted: Wed Mar 21, 2007 9:58 pm Post subject: |
|
|
Code: | Traceback (most recent call last):
File "/usr/local/share/screenlets/screenletsd.py", line 493, in ?
service = ScreenletsService(bus_name)
File "/usr/local/share/screenlets/screenletsd.py", line 231, in __init__
self.notifications = dbus.Interface(dbus.SessionBus().get_object( \
File "//usr/lib/python2.4/site-packages/dbus/_dbus.py", line 410, in get_object
follow_name_owner_changes=follow_name_owner_changes)
File "//usr/lib/python2.4/site-packages/dbus/proxies.py", line 230, in __init__
_dbus_bindings.UInt32(0))
File "//usr/lib/python2.4/site-packages/dbus/proxies.py", line 169, in __call__
reply_message = self._connection.send_message_with_reply_and_block(message, timeout)
dbus.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files
|
Something is still missing... Dbus is runing. Do i have to start some local dbus session or something?
Code: | 3282 ? Ss 0:00 /usr/bin/dbus-daemon --system
4141 ? S 0:00 /usr/bin/dbus-launch --sh-syntax --exit-with-session
4142 ? Ss 0:00 /usr/bin/dbus-daemon --fork --print-pid 4 --print-address 6 --session
|
Or this maybe depends on some notify library? |
|
Back to top |
|
|
roderick l33t
Joined: 11 Jul 2005 Posts: 908 Location: St. John's, NL CANADA
|
Posted: Wed Mar 21, 2007 10:11 pm Post subject: |
|
|
IvanMajhen wrote: | Code: | Traceback (most recent call last):
File "/usr/local/share/screenlets/screenletsd.py", line 493, in ?
service = ScreenletsService(bus_name)
File "/usr/local/share/screenlets/screenletsd.py", line 231, in __init__
self.notifications = dbus.Interface(dbus.SessionBus().get_object( \
File "//usr/lib/python2.4/site-packages/dbus/_dbus.py", line 410, in get_object
follow_name_owner_changes=follow_name_owner_changes)
File "//usr/lib/python2.4/site-packages/dbus/proxies.py", line 230, in __init__
_dbus_bindings.UInt32(0))
File "//usr/lib/python2.4/site-packages/dbus/proxies.py", line 169, in __call__
reply_message = self._connection.send_message_with_reply_and_block(message, timeout)
dbus.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files
|
Something is still missing... Dbus is runing. Do i have to start some local dbus session or something?
Code: | 3282 ? Ss 0:00 /usr/bin/dbus-daemon --system
4141 ? S 0:00 /usr/bin/dbus-launch --sh-syntax --exit-with-session
4142 ? Ss 0:00 /usr/bin/dbus-daemon --fork --print-pid 4 --print-address 6 --session
|
Or this maybe depends on some notify library? |
How did you install screenlets? It requires dbus-python with is the python fron-end to dbus. Looks like that is missing. If you install it, your problem should go away. Now, if you do have that installed, it could be some other broken package on your system. Have you done a revdep-rebuild lately?
By the way, here's the DEPEND I am using in the xeffects overlay for the screenlets ebuild:
Code: |
DEPEND="
dev-python/pyxdg
dev-python/dbus-python
>=dev-python/gnome-python-desktop-2.16.0"
|
_________________ If God were a pickle, I'd still say "no pickle on my burger".
http://roderick-greening.blogspot.com/ |
|
Back to top |
|
|
roderick l33t
Joined: 11 Jul 2005 Posts: 908 Location: St. John's, NL CANADA
|
Posted: Wed Mar 21, 2007 10:12 pm Post subject: |
|
|
zaiyon wrote: | Screenlets work fine here with gnome-experimentals gnome-python-desktop-2.18.
Thanks for your efforts so far, Gentoo rocks again!
The only problem I have is to find the beryl plugin for screenlets - didn't you add it to xeffects? Or am I too stupid to find it?
It would be more beautiful to configure screenlets from beryl settings. |
Not added, but if someone wants to point me to the source, I'll whip up an ebuild and add it in. _________________ If God were a pickle, I'd still say "no pickle on my burger".
http://roderick-greening.blogspot.com/ |
|
Back to top |
|
|
|