Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Screenlets: accelerated desktop objects for Compiz
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3, 4  Next  
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
perplx
n00b
n00b


Joined: 17 Apr 2006
Posts: 26
Location: Montréal, QC

PostPosted: Mon Feb 26, 2007 6:51 pm    Post subject: Screenlets: accelerated desktop objects for Compiz Reply with quote

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
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5802
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Mon Feb 26, 2007 11:18 pm    Post subject: Reply with quote

works here with latest snapshot of beryl from 25th or 26th, February ('07)

finally there's functionality like on mac osx :wink:
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.3.0-r3
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
perplx
n00b
n00b


Joined: 17 Apr 2006
Posts: 26
Location: Montréal, QC

PostPosted: Tue Feb 27, 2007 9:39 pm    Post subject: Reply with quote

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 :wink: , 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
View user's profile Send private message
Codechecker
n00b
n00b


Joined: 11 Aug 2004
Posts: 10

PostPosted: Tue Feb 27, 2007 10:42 pm    Post subject: Reply with quote

hi

@perplx: Have you activated the dbus-plugin in beryl?

greetz
Back to top
View user's profile Send private message
nesl247
Veteran
Veteran


Joined: 15 Jun 2004
Posts: 1614
Location: Florida

PostPosted: Tue Feb 27, 2007 11:50 pm    Post subject: Reply with quote

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
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5802
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Wed Feb 28, 2007 6:20 am    Post subject: Reply with quote

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 :wink: , 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.3.0-r3
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
gabardal
n00b
n00b


Joined: 10 Feb 2006
Posts: 19

PostPosted: Wed Feb 28, 2007 3:45 pm    Post subject: Reply with quote

Sorry for being this noob :oops: , 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
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5802
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Wed Feb 28, 2007 6:10 pm    Post subject: Reply with quote

gabardal wrote:
Sorry for being this noob :oops: , 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 :wink:
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.3.0-r3
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
perplx
n00b
n00b


Joined: 17 Apr 2006
Posts: 26
Location: Montréal, QC

PostPosted: Wed Feb 28, 2007 6:55 pm    Post subject: Reply with quote

@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
Code:
screenletsd start
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 :wink:

@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
View user's profile Send private message
perplx
n00b
n00b


Joined: 17 Apr 2006
Posts: 26
Location: Montréal, QC

PostPosted: Thu Mar 01, 2007 10:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
perplx
n00b
n00b


Joined: 17 Apr 2006
Posts: 26
Location: Montréal, QC

PostPosted: Thu Mar 01, 2007 11:15 pm    Post subject: Reply with quote

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
View user's profile Send private message
catch22
n00b
n00b


Joined: 18 Mar 2007
Posts: 19

PostPosted: Mon Mar 19, 2007 12:48 pm    Post subject: Reply with quote

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
View user's profile Send private message
Centinul
Apprentice
Apprentice


Joined: 28 Jul 2005
Posts: 232

PostPosted: Tue Mar 20, 2007 1:44 am    Post subject: Reply with quote

Do I have to use Beryl / Compiz to use Screenlets? Could I use the window manager provided by Xfce 4.4?
Back to top
View user's profile Send private message
IvanMajhen
Guru
Guru


Joined: 10 Jun 2006
Posts: 385
Location: Croatia

PostPosted: Wed Mar 21, 2007 8:39 am    Post subject: Reply with quote

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
View user's profile Send private message
roderick
l33t
l33t


Joined: 11 Jul 2005
Posts: 908
Location: St. John's, NL CANADA

PostPosted: Wed Mar 21, 2007 11:47 am    Post subject: Reply with quote

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
View user's profile Send private message
IvanMajhen
Guru
Guru


Joined: 10 Jun 2006
Posts: 385
Location: Croatia

PostPosted: Wed Mar 21, 2007 12:21 pm    Post subject: Reply with quote

On http://forum.beryl-project.org/viewtopic.php?f=38&t=3719&p=21569 they said that it needs python-gnome2-desktop.
On gentoo i think that is gnome-python-desktop.
It wants to emerge 62 packages, i'll try without deps.
Back to top
View user's profile Send private message
roderick
l33t
l33t


Joined: 11 Jul 2005
Posts: 908
Location: St. John's, NL CANADA

PostPosted: Wed Mar 21, 2007 2:08 pm    Post subject: Reply with quote

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
View user's profile Send private message
rmh3093
Advocate
Advocate


Joined: 06 Aug 2003
Posts: 2138
Location: Albany, NY

PostPosted: Wed Mar 21, 2007 2:35 pm    Post subject: Reply with quote

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
View user's profile Send private message
roderick
l33t
l33t


Joined: 11 Jul 2005
Posts: 908
Location: St. John's, NL CANADA

PostPosted: Wed Mar 21, 2007 4:16 pm    Post subject: Reply with quote

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
View user's profile Send private message
roderick
l33t
l33t


Joined: 11 Jul 2005
Posts: 908
Location: St. John's, NL CANADA

PostPosted: Wed Mar 21, 2007 4:20 pm    Post subject: Reply with quote

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
View user's profile Send private message
roderick
l33t
l33t


Joined: 11 Jul 2005
Posts: 908
Location: St. John's, NL CANADA

PostPosted: Wed Mar 21, 2007 5:39 pm    Post subject: Reply with quote

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
View user's profile Send private message
zaiyon
Apprentice
Apprentice


Joined: 19 May 2004
Posts: 219
Location: Germany

PostPosted: Wed Mar 21, 2007 9:44 pm    Post subject: Reply with quote

Screenlets work fine here with gnome-experimentals gnome-python-desktop-2.18.
Thanks for your efforts so far, Gentoo rocks again! :D

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
View user's profile Send private message
IvanMajhen
Guru
Guru


Joined: 10 Jun 2006
Posts: 385
Location: Croatia

PostPosted: Wed Mar 21, 2007 9:58 pm    Post subject: Reply with quote

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
View user's profile Send private message
roderick
l33t
l33t


Joined: 11 Jul 2005
Posts: 908
Location: St. John's, NL CANADA

PostPosted: Wed Mar 21, 2007 10:11 pm    Post subject: Reply with quote

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
View user's profile Send private message
roderick
l33t
l33t


Joined: 11 Jul 2005
Posts: 908
Location: St. John's, NL CANADA

PostPosted: Wed Mar 21, 2007 10:12 pm    Post subject: Reply with quote

zaiyon wrote:
Screenlets work fine here with gnome-experimentals gnome-python-desktop-2.18.
Thanks for your efforts so far, Gentoo rocks again! :D

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Goto page 1, 2, 3, 4  Next
Page 1 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum