You are not logged in.
Telescope is a task switcher first developed by user Mitrandir (on Maemo Talk forums) for the Nokia N8xx line of internet tablets running Maemo OS (debian based), to give users of the legacy Maemo OS 2008 some of the functionality added to the OS on the N900s.
It was comprised of both a launcher and a task switcher, which draws (dynamic) thumbnails of all open windows, on all desktops, at the press of a key. Launcher has been disabled on the desktop version because it's still problematic. Other than that it's incredibly fast and very, very lightweight.
Enough talk, here's a screenshot of Telescope in action:
And a small video:
I have created an AUR package for Telescope (please feel free to have a look and offer any corrections, it's my first one to date). * Use at own risk, yadda, yadda, yadda *
It has been tested on Arch i686 and Arch Linux ARM (running beautifully on the Raspberry Pi - video coming up), on DWM (somewhat buggy, but works), Fluxbox and Awesome (old build). Currently * not working * on Openbox.
General configuration is done on /etc/telescope.conf, with the following options:
hotkey = <hotkey name (default=F5)>
background.filename = <path to wallpaper>
background.mode = <stretched|centered|scaled|cropped>
background.color = <color in #ffffff notation>
border.width = <border width in px>
text.font.size = <caption font size (default=24)>
test.yOffset = <caption Y-axis offset (default=-7)>
show.desktop.thumbnail = <on|off — show desktop as one of thumbnails. Switching to it doesn't work on Ubuntu but worked on KDE. Needs to be fixed>
show.desktop.iconify = <on|off — show desktop by minimizing all windows. Ugly but useful if default _NET_SHOW_DESKTOP method doesn't work for particular WM>
Further keybindings (after the task switcher is invoked) can be changed on /etc/telescope.keys.
I'm only sharing this with you girls and guys, because I find it useful, very lightweight & fast, and for which there isn't an alternative - other than running Compiz. There are and there will be bugs, if anyone cares to address them. Remember it was developed for the N8xx internet tablets, but it's already working pretty well on the desktop.
All credit due to Mitrandir, don't bother the bloke too much, he has already mentioned he may not have time for feedback/suggestions and only offered a desktop version because I badgered the guy
Last edited by Onyros (2012-07-09 17:32:21)
Offline
Old Maemo user, kaptenen?
Offline
Onyros, sorry for the stupid question: I installed it and ran it but when i press f5 it does not do anything. Am I doing smth wrong? I am using i3wm but it does not work also in dwm.
Offline
I haven't tested in i3, but I'm sure it works in DWM. Any output from the terminal you may be getting? I haven't used it as much as I thought I would myself, maybe it does need an update, though I'm just the "messenger", not the developer.
Try running it with
telescope &
and try changing the default hotkey, check whether it is indeed running on htop (or your process viewer of choice!).
Offline
Did a checkout of the latest tip, running make gives me this:
make
g++ -c -Wall -Werror -O2 -DMAEMO4 -DDBUS -DLAUNCHER `pkg-config --cflags x11 xcomposite xdamage xrender imlib2 xft dbus-1 glib-2.0` -pthread XEventLoop.cpp -o XEventLoop.o
XEventLoop.cpp: In member function ‘void XEventLoop::eventLoop()’:
XEventLoop.cpp:90:34: error: ‘int dbus_watch_get_fd(DBusWatch*)’ is deprecated (declared at /usr/include/dbus-1.0/dbus/dbus-connection.h:451) [-Werror=deprecated-declarations]
XEventLoop.cpp:90:59: error: ‘int dbus_watch_get_fd(DBusWatch*)’ is deprecated (declared at /usr/include/dbus-1.0/dbus/dbus-connection.h:451) [-Werror=deprecated-declarations]
XEventLoop.cpp:99:21: error: ‘int dbus_watch_get_fd(DBusWatch*)’ is deprecated (declared at /usr/include/dbus-1.0/dbus/dbus-connection.h:451) [-Werror=deprecated-declarations]
XEventLoop.cpp:99:21: error: ‘int dbus_watch_get_fd(DBusWatch*)’ is deprecated (declared at /usr/include/dbus-1.0/dbus/dbus-connection.h:451) [-Werror=deprecated-declarations]
XEventLoop.cpp:99:21: error: ‘int dbus_watch_get_fd(DBusWatch*)’ is deprecated (declared at /usr/include/dbus-1.0/dbus/dbus-connection.h:451) [-Werror=deprecated-declarations]
XEventLoop.cpp:99:21: error: ‘int dbus_watch_get_fd(DBusWatch*)’ is deprecated (declared at /usr/include/dbus-1.0/dbus/dbus-connection.h:451) [-Werror=deprecated-declarations]
cc1plus: all warnings being treated as errors
make: *** [XEventLoop.o] Error 1
(not an Arch system, but maybe someone can help).
Applying the Makefile.patch from the AUR-tarball works, but then only gives
make
Makefile:83: depend: No such file or directory
g++ -M -MM -MG -MP -Wall -Werror -Wno-error=narrowing -O2 -DDESKTOP -DDBUS `pkg-config --cflags x11 xcomposite xdamage xrender imlib2 xft dbus-1 glib-2.0` -pthread TeleWindow.cpp Main.cpp XTools.cpp Thumbnail.cpp Settings.cpp Mapping.cpp Mappings.cpp Resources.cpp DBus.cpp XEventLoop.cpp Image.cpp >depend
cc1plus: error: -Werror=narrowing: no option -Wnarrowing
cc1plus: error: -Werror=narrowing: no option -Wnarrowing
cc1plus: error: -Werror=narrowing: no option -Wnarrowing
cc1plus: error: -Werror=narrowing: no option -Wnarrowing
cc1plus: error: -Werror=narrowing: no option -Wnarrowing
cc1plus: error: -Werror=narrowing: no option -Wnarrowing
cc1plus: error: -Werror=narrowing: no option -Wnarrowing
cc1plus: error: -Werror=narrowing: no option -Wnarrowing
cc1plus: error: -Werror=narrowing: no option -Wnarrowing
cc1plus: error: -Werror=narrowing: no option -Wnarrowing
cc1plus: error: -Werror=narrowing: no option -Wnarrowing
make: *** [depend] Error 1
Somehow complaining about ./depend
Offline
thx Onyros!
as an old n900 user which loved my device i really like it alot , its great!
i was wondering if one coul use keystorkes to quick jump to clients (IE press F and if firefox is the only one starting with f it would autoselect it and switch etc..)
thx alot
Its super great!
Z.
Offline
Ah, sorry, if you're interested in venturing into further functionality, you probably have to fork the code or something, as I'm not the developer - as I mentioned in the first post
As for the error in compiling Telescope, avx, just make sure all dependencies are met, may need some trial and error as deps and packages tend to be named differently from distro to distro. I distinctly remember compiling in Debian, then again Maemo was deb-based, too.
Offline
Just a small question but is /etc/telescope.conf supposed to be blank/empty?
Offline
Nope, here's what's in mine
hotkey = Menu
background.filename = ~/Images/Wallpapers/arch_wall_new.png
background.mode = stretched
text.font.size = 10
There are other options, as noted on the first post
BTW, I've been using it with a hot corners script I found here and it works pretty, pretty well - both in DWM and Fluxbox, which are the only two I ever use.
Last edited by Onyros (2013-01-15 12:04:59)
Offline
But did you add those options to the file or were they included?
Offline
There's no conf file included, so you have to populate it with your own options.
Offline
Could somebody give an example of configuration working for dwm? I mean dwm's "config.h" and Telescope's "telescope.conf".
Offline
I like to add, you don't need the hotkey to trigger Telescope.
You can use dbus instead:
dbus-send --print-reply --dest=org.telescope /Telescope org.telescope.Telescope.Show
Last edited by Ikem (2013-02-11 02:48:55)
Offline
Does not build:
/home/XYZ/AUR/telescope/PKGBUILD: Line 19: cd: /home/XYZ/AUR/telescope/src/telescope: no such file or directory
Last edited by Thorsten Reinbold (2013-02-11 13:51:04)
Offline
Can't get this to work. It installs and starts just fine but nothing happens when I press F5, or any key assigned as the hotkey.
I'm using DWM with proprietary radeon drivers and composite works too.
Output from telescope:
[Opt] 'background.color' = '#000000'
Background color: #000000
[Opt] 'hotkey' = 'F5'
[Opt] 'show.desktop.thumbnail' = 'off'
[Opt] 'show.desktop.iconify' = 'off'
Loading background from ''
Background mode: 0
Cannot load background
rgb = (0, 0, 0)
Offline
I changed it a little to not segfault when started on an empty dwm tag and repackaged it here: https://aur.archlinux.org/packages/telescope-git/ It still doesn't close windows with the x with dwm, and I'm looking for a way to get that to happen. I tried XKillClient but that shut down urxvtd and thus all my terminals which was not intended.
Offline
That's really cool I'm glad someone picked it up! As I mentioned in the original post, I just submitted the package and did not create the application myself - nor do I have the knowledge or the time to even troubleshoot it.
Thanks, Adam
Offline
Telescope is a life-saver for those (like me) who wants a nice Exposé feature on Xfce.
It's fast and lightweight, too bad the previews are often buggy.
Offline
I'm not sure the standard way to post patches but here's one to make dwm properly fullscreen telescope (and all other "splash" windows) so it doesn't become just another window in tile mode:
diff --git a/dwm.c b/dwm.c
index 7a203de..a4dd931 100644
--- a/dwm.c
+++ b/dwm.c
@@ -61,7 +61,7 @@ enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
enum { ColBorder, ColFG, ColBG, ColLast }; /* color */
enum { NetSupported, NetWMName, NetWMState,
NetWMFullscreen, NetActiveWindow, NetWMWindowType,
- NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */
+ NetWMWindowTypeDialog, NetWMWindowTypeSplash, NetClientList, NetLast }; /* EWMH atoms */
enum { WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast }; /* default atoms */
enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
ClkClientWin, ClkRootWin, ClkLast }; /* clicks */
@@ -1705,6 +1705,7 @@ setup(void) {
netatom[NetWMFullscreen] = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False);
netatom[NetWMWindowType] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False);
netatom[NetWMWindowTypeDialog] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DIALOG", False);
+ netatom[NetWMWindowTypeSplash] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_SPLASH", False);
netatom[NetClientList] = XInternAtom(dpy, "_NET_CLIENT_LIST", False);
/* init cursors */
cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr);
@@ -2161,7 +2162,7 @@ updatewindowtype(Client *c) {
Atom state = getatomprop(c, netatom[NetWMState]);
Atom wtype = getatomprop(c, netatom[NetWMWindowType]);
- if(state == netatom[NetWMFullscreen])
+ if(state == netatom[NetWMFullscreen] || wtype == netatom[NetWMWindowTypeSplash])
setfullscreen(c, True);
if(wtype == netatom[NetWMWindowTypeDialog])
c->isfloating = True;
you can also see it on my dwm github:
https://github.com/adamcdunlap/dwm
Offline