You are not logged in.

#176 2008-01-10 12:42:58

gotmor
Member
From: Germany
Registered: 2007-09-03
Posts: 84
Website

Re: January 2008 Screenshots

Some smaller changes:

xmonad, urxvt, mplayer and some dzen instances (status bars, irssi notification, disk usage)

xm_dz_sh1.thumb.png

Offline

#177 2008-01-10 13:01:56

shijtin
Member
Registered: 2007-02-12
Posts: 22

Re: January 2008 Screenshots

Zepp wrote:

I like it. What's the music widget thing?

Thx wink
It's the Now Playing screenlet. The theme is a mod and I made a script for sonata.

Offline

#178 2008-01-10 13:34:04

Don-DiZzLe
Member
From: Nederland
Registered: 2007-03-31
Posts: 233

Re: January 2008 Screenshots

WOW gotmor! configs please?

Offline

#179 2008-01-10 14:38:50

gotmor
Member
From: Germany
Registered: 2007-09-03
Posts: 84
Website

Re: January 2008 Screenshots

Don-DiZzLe wrote:

WOW gotmor! configs please?

smile

You can find all configs and scripts here.
Jus plug together the bits you are interested in.

Offline

#180 2008-01-10 15:17:35

sen
Member
From: .de
Registered: 2007-02-18
Posts: 153
Website

Re: January 2008 Screenshots

shijtin wrote:

It's the Now Playing screenlet. The theme is a mod and I made a script for sonata.

Do you mind sharing your sonata scripts?

Offline

#181 2008-01-10 16:18:50

Shaika-Dzari
Member
From: Québec, Canada
Registered: 2006-04-14
Posts: 436
Website

Re: January 2008 Screenshots

pressh wrote:

Great pressh!

What do you use to have this small calendar?
A script from fvwm-lair?

@+

Offline

#182 2008-01-10 17:25:22

iBertus
Member
From: Greenville, NC
Registered: 2004-11-04
Posts: 2,228

Re: January 2008 Screenshots

justin wrote:
iBertus wrote:

/me can't wait to post a screenie of my new desktop setup tomorrow.... 2560x1600 on a single LCD screen! Anyone have a suggestion on what to do with all this space?

Guess I'll be the first to say it.... GIVE SOME TO ME! lol

Also, a wallpaper recommendation: http://nuwen.net/img/image/orion/2560x1600.png

Very nice WP! It's hard to find good wallpapers for this resolution. This is by far the most uniform LCD that I've ever owned. It dwarfs my previous 20" Acer. I'm thinking of wallmounting it to save ALL of my deskspace. It looks strange next to my SFF cube case... I look foward to having linux actually installed and not running from a live cd...

Offline

#183 2008-01-10 17:55:17

shijtin
Member
Registered: 2007-02-12
Posts: 22

Re: January 2008 Screenshots

sen wrote:

Do you mind sharing your sonata scripts?

Not at all. wink

First, the package python-mpdclient2 has to be installed.
The script will look for covers in ~/.covers or for 'cover.jpg'/'album.jpg'/'folder.jpg' in the folder of the song (you have to change the "musicdir" value).

Here is the file Sonata.py that goes in ~/.screenlets/NowPlaying/Players/ :

#!/usr/bin/env python


import os
import dbus
import gobject
import mpdclient2
from GenericPlayer import GenericAPI

class SonataAPI(GenericAPI):
    __name__ = 'Sonata API'
    __version__ = '0.0'
    __author__ = ''
    __desc__ = ''


    playerAPI = None

    __timeout = None
    __interval = 2

    callbackFn = None
    __curplaying = None


    ns = "org.MPD.Sonata"
    iroot = "/org/MPD/Sonata"
    iface = "org.MPD.SonataInterface"

    host = 'localhost'
    port = 6600
    musicdir = '/media/MULTIMEDIA/music/'

    def __init__(self, session_bus):
        GenericAPI.__init__(self, session_bus)
    
    # Check if the player is active : Returns Boolean
    # A handle to the dbus interface is passed in : doesn't need to be used
    # if there are other ways of checking this (like dcop in amarok)
    def is_active(self, dbus_iface):
        if self.ns in dbus_iface.ListNames(): return True
        else: return False

    # Make a connection to the Player
    def connect(self):
        proxy_obj = self.session_bus.get_object(self.ns, self.iroot)
        self.playerAPI = dbus.Interface(proxy_obj, self.iface)    

    # The following return Strings
    def get_title(self):
                song = mpdclient2.connect().currentsong()
        return song.title
    
    def get_album(self):
                song = mpdclient2.connect().currentsong()
        return song.album

    def get_artist(self):
                song = mpdclient2.connect().currentsong()
        return song.artist

    def get_cover_path(self):
                artist = self.get_artist()
                album = self.get_album()
                filename = os.path.expanduser("~/.covers/" + artist + "-" + album + ".jpg")
                if os.path.isfile(filename):
                        return filename
                songfile = mpdclient2.connect().currentsong().file
                songpath = self.musicdir + os.sep + os.path.dirname(songfile)
                filename = songpath + "/cover.jpg"
                if os.path.isfile(filename):
                        return filename
                filename = songpath + "/album.jpg"
                if os.path.isfile(filename):
                        return filename
                filename = songpath + "/folder.jpg"
                if os.path.isfile(filename):
                        return filename
                return ''
                

    # Returns Boolean
    def is_playing(self):
                status = mpdclient2.connect().status()
                return (status.state != 'stop')

    # The following do not return any values
    def play_pause(self):
                status = mpdclient2.connect().status()
                if status.state == 'play':
                        mpdclient2.connect().pause(1)
                elif status.state == 'pause':
                        mpdclient2.connect().pause(0)
                else:
                        mpdclient2.connect().play()

    def next(self):
        mpdclient2.connect().next()

    def previous(self):
        mpdclient2.connect().previous()

    def register_change_callback(self, fn):
        self.callback_fn = fn
        # Could not find a callback signal for Banshee, so just calling after some time interval
        if self.__timeout:
            gobject.source_remove(self.__timeout)
        self.__timeout = gobject.timeout_add(self.__interval * 1000, self.info_changed)

    def info_changed(self, signal=None):
        # Only call the callback function if Data has changed
        if self.__timeout:
            gobject.source_remove(self.__timeout)
        try:
            if self.__curplaying != None and not self.is_playing():
                self.__curplaying = None
                self.callback_fn()

            playinguri = self.get_title()
            if self.is_playing() and self.__curplaying != playinguri:
                self.__curplaying = playinguri
                self.callback_fn()
            self.__timeout = gobject.timeout_add(self.__interval * 1000, self.info_changed)
        except:
            # The player exited ? call callback function
            self.callback_fn()

And you have to change some lines in ~/.screenlets/NowPlaying/NowPlayingScreenlet.py :

...

PLAYER_LIST = {'Rhythmbox':'RhythmboxAPI',
                    'Listen':'ListenAPI',
                    'Banshee':'BansheeAPI',
                    'Amarok':'AmarokAPI',
                    'Exaile':'ExaileAPI',
                    'Sonata':'SonataAPI'}

PLAYER_LIST_LAUNCH = ['rhythmbox','listen','banshee','amarok','exaile','sonata --hidden']

...

This should work with other mpd clients with some modifications.

Offline

#184 2008-01-10 20:02:23

mascanho
Member
Registered: 2008-01-04
Posts: 53

Re: January 2008 Screenshots

Is there any way of having that screenlet but without using all those "heavy" DE and compiz or beryl or whatever its called now days ??
The applet itself is very nice and "eye-candy" but it requires the other things right ?

Offline

#185 2008-01-10 20:14:05

Roberth
Member
From: The Pale Blue Dot
Registered: 2007-01-12
Posts: 894

Re: January 2008 Screenshots

2008-01-10-200817_1024x768_scrot805.png.xs.jpg

2008-01-10-201030_1024x768_scrot234.png.xs.jpg

evilwm on my laptop:)


Use the Source, Luke!

Offline

#186 2008-01-10 20:14:06

sen
Member
From: .de
Registered: 2007-02-18
Posts: 153
Website

Re: January 2008 Screenshots

mascanho wrote:

Is there any way of having that screenlet but without using all those "heavy" DE and compiz or beryl or whatever its called now days ??
The applet itself is very nice and "eye-candy" but it requires the other things right ?

You can use xcompmgr. Setup your xorg.conf for compositing:

Section "Extensions"
    Option         "Composite"  "Enable"
EndSection

and then run xcompmgr like this (example):

xcompmgr -l 0.5 -t 0.5 -o 0.5 -r 2 -cFf

@shijtin
Thx! Doesn't work for me though. The screenlet starts without errors but it seems like it can't connect to mpd... the song change doesn't work either. Well I'll try to figure out what's wrong wink

btw: I use this now-playing version. Maybe that's the wrong one because it's modified... witch one do you use shijtin?

Last edited by sen (2008-01-10 20:21:04)

Offline

#187 2008-01-10 21:08:47

shijtin
Member
Registered: 2007-02-12
Posts: 22

Re: January 2008 Screenshots

sen wrote:

Maybe that's the wrong one because it's modified... witch one do you use shijtin?

I took it from gnome-look too.

Do you have python-mpdclient2 installed ?

Offline

#188 2008-01-10 21:22:50

cactus
Taco Eater
From: t͈̫̹ͨa͖͕͎̱͈ͨ͆ć̥̖̝o̫̫̼s͈̭̱̞͍̃!̰
Registered: 2004-05-25
Posts: 4,622
Website

Re: January 2008 Screenshots

screenshot_20080110_thumb.jpg


"Be conservative in what you send; be liberal in what you accept." -- Postel's Law
"tacos" -- Cactus' Law
"t̥͍͎̪̪͗a̴̻̩͈͚ͨc̠o̩̙͈ͫͅs͙͎̙͊ ͔͇̫̜t͎̳̀a̜̞̗ͩc̗͍͚o̲̯̿s̖̣̤̙͌ ̖̜̈ț̰̫͓ạ̪͖̳c̲͎͕̰̯̃̈o͉ͅs̪ͪ ̜̻̖̜͕" -- -̖͚̫̙̓-̺̠͇ͤ̃ ̜̪̜ͯZ͔̗̭̞ͪA̝͈̙͖̩L͉̠̺͓G̙̞̦͖O̳̗͍

Offline

#189 2008-01-10 21:30:06

sen
Member
From: .de
Registered: 2007-02-18
Posts: 153
Website

Re: January 2008 Screenshots

shijtin wrote:
sen wrote:

Maybe that's the wrong one because it's modified... witch one do you use shijtin?

I took it from gnome-look too.

Do you have python-mpdclient2 installed ?

Yes. I'll look into it tomorrow... maybe I made a stupid mistake! wink

Offline

#190 2008-01-10 21:30:49

Crooksey
Member
From: UK ~
Registered: 2006-08-14
Posts: 415
Website

Re: January 2008 Screenshots

justin wrote:

Playing with pekwm

http://www.jeah.net/~justin/archjan2008thumb.png

+ pekwm
+ sonata
+ urxvt
+ pypanel
+ visibility

Just a question I'll throw out there. Does anyone know if it's possible to click the far right/left side of the screen in Openbox to switch desktops? You can do this is pekwm, and it is a very convenient feature.

@upsidaisium: deerhoof <3

Mind sharing your .pypanelrc and .Xdefaults?


Arch Linux since 2006
Python Web Developer + Sys Admin (Gentoo/BSD)

Offline

#191 2008-01-10 21:35:11

Wilson Phillips
Member
From: Vicksburg, MS, USA
Registered: 2007-09-24
Posts: 70

Re: January 2008 Screenshots

Cactus. That girl can't stand up cause she is so top heavy!


Guarantee does not cover shark bite, bear attack, or children under 5.

Offline

#192 2008-01-10 21:39:36

Crooksey
Member
From: UK ~
Registered: 2006-08-14
Posts: 415
Website

Re: January 2008 Screenshots

Heh, cactus I remember using that wallpaper last Xmas http://crooksey.deviantart.com/art/Arch-Gnome-45284922 smile


Arch Linux since 2006
Python Web Developer + Sys Admin (Gentoo/BSD)

Offline

#193 2008-01-10 21:40:46

cactus
Taco Eater
From: t͈̫̹ͨa͖͕͎̱͈ͨ͆ć̥̖̝o̫̫̼s͈̭̱̞͍̃!̰
Registered: 2004-05-25
Posts: 4,622
Website

Re: January 2008 Screenshots

Crooksey wrote:

Heh, cactus I remember using that wallpaper last Xmas http://crooksey.deviantart.com/art/Arch-Gnome-45284922 smile

I probably got the link from you back then.
It was just sitting innocently in my wallpaper folder.


"Be conservative in what you send; be liberal in what you accept." -- Postel's Law
"tacos" -- Cactus' Law
"t̥͍͎̪̪͗a̴̻̩͈͚ͨc̠o̩̙͈ͫͅs͙͎̙͊ ͔͇̫̜t͎̳̀a̜̞̗ͩc̗͍͚o̲̯̿s̖̣̤̙͌ ̖̜̈ț̰̫͓ạ̪͖̳c̲͎͕̰̯̃̈o͉ͅs̪ͪ ̜̻̖̜͕" -- -̖͚̫̙̓-̺̠͇ͤ̃ ̜̪̜ͯZ͔̗̭̞ͪA̝͈̙͖̩L͉̠̺͓G̙̞̦͖O̳̗͍

Offline

#194 2008-01-10 21:45:13

shijtin
Member
Registered: 2007-02-12
Posts: 22

Re: January 2008 Screenshots

sen wrote:

Yes. I'll look into it tomorrow... maybe I made a stupid mistake! wink

Ok. I haven't tested it on any other computer so the mistake may be mine tongue

You can try this one (it was the first version without dbus) :

#!/usr/bin/env python


import os
import gobject
import mpdclient2
from GenericPlayer import GenericAPI

class SonataAPI(GenericAPI):
    __name__ = 'Sonata API'
    __version__ = '0.0'
    __author__ = ''
    __desc__ = ''


    playerAPI = None

    __timeout = None
    __interval = 2

    callbackFn = None
    __curplaying = None


    host = 'localhost'
    port = 6600
    musicdir = '/media/MULTIMEDIA/music/'

    def __init__(self, session_bus):
        GenericAPI.__init__(self, session_bus)
    
    # Check if the player is active : Returns Boolean
    # A handle to the dbus interface is passed in : doesn't need to be used
    # if there are other ways of checking this (like dcop in amarok)
    def is_active(self, dbus_iface):
        if self.is_playing(): return True
        else: return False

    # Make a connection to the Player
    def connect(self):
        pass

    # The following return Strings
    def get_title(self):
                song = mpdclient2.connect().currentsong()
        return song.title
    
    def get_album(self):
                song = mpdclient2.connect().currentsong()
        return song.album

    def get_artist(self):
                song = mpdclient2.connect().currentsong()
        return song.artist

    def get_cover_path(self):
                artist = self.get_artist()
                album = self.get_album()
                filename = os.path.expanduser("~/.covers/" + artist + "-" + album + ".jpg")
                if os.path.isfile(filename):
                        return filename
                songfile = mpdclient2.connect().currentsong().file
                songpath = self.musicdir + os.sep + os.path.dirname(songfile)
                filename = songpath + "/cover.jpg"
                if os.path.isfile(filename):
                        return filename
                filename = songpath + "/album.jpg"
                if os.path.isfile(filename):
                        return filename
                filename = songpath + "/folder.jpg"
                if os.path.isfile(filename):
                        return filename
                return ''
                

    # Returns Boolean
    def is_playing(self):
                status = mpdclient2.connect().status()
                return (status.state != 'stop')

    # The following do not return any values
    def play_pause(self):
                status = mpdclient2.connect().status()
                if status.state == 'play':
                        mpdclient2.connect().pause(1)
                elif status.state == 'pause':
                        mpdclient2.connect().pause(0)
                else:
                        mpdclient2.connect().play()

    def next(self):
        mpdclient2.connect().next()

    def previous(self):
        mpdclient2.connect().previous()

    def register_change_callback(self, fn):
        self.callback_fn = fn
        # Could not find a callback signal for Banshee, so just calling after some time interval
        if self.__timeout:
            gobject.source_remove(self.__timeout)
        self.__timeout = gobject.timeout_add(self.__interval * 1000, self.info_changed)

    def info_changed(self, signal=None):
        # Only call the callback function if Data has changed
        if self.__timeout:
            gobject.source_remove(self.__timeout)
        try:
            if self.__curplaying != None and not self.is_playing():
                self.__curplaying = None
                self.callback_fn()

            playinguri = self.get_title()
            if self.is_playing() and self.__curplaying != playinguri:
                self.__curplaying = playinguri
                self.callback_fn()
            self.__timeout = gobject.timeout_add(self.__interval * 1000, self.info_changed)
        except:
            # The player exited ? call callback function
            self.callback_fn()

Offline

#195 2008-01-10 23:36:38

Zepp
Member
From: Ontario, Canada
Registered: 2006-03-25
Posts: 334
Website

Re: January 2008 Screenshots

iBertus wrote:

/me can't wait to post a screenie of my new desktop setup tomorrow.... 2560x1600 on a single LCD screen! Anyone have a suggestion on what to do with all this space?

neutral 30" monitor?

Offline

#196 2008-01-10 23:41:58

Elvish Legion
Member
Registered: 2007-12-29
Posts: 53

Re: January 2008 Screenshots

screenshot1bn2.th.png

Arch 64, Best distro I've ever used

Last edited by Elvish Legion (2008-01-10 23:47:22)

Offline

#197 2008-01-11 00:54:25

Agent69
Member
Registered: 2006-05-26
Posts: 189

Re: January 2008 Screenshots

Roberth, that are some very nice screenshots. I've been playing with Evilwm on and off and the only thing I was missing was the ability to assign shortcut keys for application launches. (Of course, if it really bothered me, I would be investigating Xbindkeys, which I suspect would give me what I want.)

What chat client is that, by the way?

Offline

#198 2008-01-11 04:43:29

smurnjiff
Member
Registered: 2007-06-25
Posts: 211

Re: January 2008 Screenshots

I remember seeing that desktop background a looong time ago.

Offline

#199 2008-01-11 07:06:16

iBertus
Member
From: Greenville, NC
Registered: 2004-11-04
Posts: 2,228

Re: January 2008 Screenshots

Zepp wrote:
iBertus wrote:

/me can't wait to post a screenie of my new desktop setup tomorrow.... 2560x1600 on a single LCD screen! Anyone have a suggestion on what to do with all this space?

neutral 30" monitor?

Yep. It's too big. I now don't have room on my desk for anything else.

Also, I wanted to share this site with everyone. Has some good high-res wallpapers.

Last edited by iBertus (2008-01-11 07:09:36)

Offline

#200 2008-01-11 07:30:59

chaosgeisterchen
Member
From: Kefermarkt, Upper Austria
Registered: 2006-11-20
Posts: 550

Re: January 2008 Screenshots

iBertus wrote:

Also, I wanted to share this site with everyone. Has some good high-res wallpapers.

Hilarious. Thanks for the link!


celestary
Intel Core2Duo E6300 @ 1.86 GHz
kernel26
KDEmod current repository

Offline

Board footer

Powered by FluxBB