Reply
Thread Tools
Posts: 875 | Thanked: 918 times | Joined on Sep 2010
#331
Originally Posted by Mitrandir View Post
This option only switches the method Telescope uses to show desktop:
1. show.desktop.iconify=off — Telescope shows desktop by sending _NET_SHOW_DESKTOP event
In either case desktop will be shown by clicked on background. But I can introduce new option to disable this
I installed Telescope but my Xserver lacks composite so can't test until I restart it. Does clicking a window in Telescope restore all windows after the desktop has been shown? Wouldn't need the disable feature if this is the case.

Does clicking a window only bring it to foreground or does it do anything nasty like maximizing it?


Originally Posted by Mitrandir View Post
Yes, I have issue with gnome-terminal’ thumbnail too. This needs to be investigated further. Probably something wrong with my thumbnail getting code, because it was only tested on Diablo.
I hope it has no problem with rxvt since I have hundreds of them.

Edit: Just saw the screenshot and it appears rxvt works fine, yay!
 
Posts: 59 | Thanked: 9 times | Joined on Jan 2008 @ Lisbon, Portugal
#332
As soon as I have a new SD card, I will make a video introduction to the Raspberry Pi - showing it run XBMC, Quake III (of course!), and DWM featuring Telescope. I will make a smaller one just showing Telescope for you guys here

Don't bother too much trying to correct DWM's behaviour, it doesn't follow freedesktop's standards, therefore a few problems are to be expected. It works on all EWHM compliant window managers I tried and tiling window manager users will probably not be your target audience, anyway.

I'm an exception there. Awesome WM has its own exposé-like plugin, but this one is so much faster it isn't even funny - and the behaviour is much saner, too.

From these early tests with Telescope, on a 1366x768 screen, I can display 13 windows, before Telescope just shows me a blank screen. That's not a big problem for me, as most of my windows are urxvts, and within those I just tab, so I don't have dozens of those lying around.

The Raspberry Pi is connected to a FullHD monitor, so I expect it to hold a few more windows without problems. You will be surprised with Telescope's speed there. I surely was.
 

The Following User Says Thank You to Onyros For This Useful Post:
Posts: 59 | Thanked: 9 times | Joined on Jan 2008 @ Lisbon, Portugal
#333
Originally Posted by auouymous View Post
Does clicking a window only bring it to foreground or does it do anything nasty like maximizing it?
On DWM, Fluxbox and Awesome, it'll not only bring windows to the foreground, if they're on a different workspace, it'll "move" there. It won't touch window positioning from what I saw - apart from DWM, but it just changes the order of the tiled windows around. Only tested on grid layout.

I hope it has no problem with rxvt since I have hundreds of them.

Edit: Just saw the screenshot and it appears rxvt works fine, yay!
Hundreds of urxvts may be problematic (displays a blank screen, given a certain limit), but if you tab a few and group them into windows...

edit: A little video I put up on Youtube showing how it's working for me:



Invoking Telescope with the "Menu" key on my keyboard, a previously utterly disregarded key :P

Last edited by Onyros; 2012-07-08 at 20:21.
 

The Following User Says Thank You to Onyros For This Useful Post:
Posts: 355 | Thanked: 598 times | Joined on Sep 2009 @ Nizhny Novgorod, Russia
#334
Telescope won't maximize windows or change it’s geometry, it only will bring window to front.

Originally Posted by Onyros
I can display 13 windows, before Telescope just shows me a blank screen
That’s strange, because there are no any hardcoded limits. Will need to debug this too.

Onyros, cool video, thank you
 
Posts: 59 | Thanked: 9 times | Joined on Jan 2008 @ Lisbon, Portugal
#335
Yup, I know there are no limits - it's just how many windows I could display before it got a little too crowded for it to display, I suppose. On the 1920x1080 display I could display a few more windows
 
Posts: 59 | Thanked: 9 times | Joined on Jan 2008 @ Lisbon, Portugal
#336
Package submitted to the AUR - https://aur.archlinux.org/packages.php?ID=60640 -, I also put a few instructions for compilation on the Youtube video (had a couple of people asking questions already).

Now, there's only one big thing missing: where can I donate a couple of beers to you?
 
Posts: 355 | Thanked: 598 times | Joined on Sep 2009 @ Nizhny Novgorod, Russia
#337
Cool!

I guess there is no easy way to receive donations to russia
At least, I don’t know any

So, your appreciation is well enough
 

The Following User Says Thank You to Mitrandir For This Useful Post:
Posts: 875 | Thanked: 918 times | Joined on Sep 2010
#338
I haven't restarted all apps yet but Telelscope has no problem showing ~50 windows at 2048x1152. There are a couple of issues though.

1) Telescope is opening in a window with window decorations.

2) I have "place windows manually" enabled so new windows are anchored on my mouse pointer and I have to click to drop them. I have to move mouse to upper left corner and click to make Telescope mostly fullscreen.

3) My dock sits above the Telescope window.

4) The hotkey opens Telescope but doesn't close it.

Include Xproto in TeleWindow.cpp
Code:
#include <X11/Xproto.h>
Put this after the _NET_WM_WINDOW_TYPE_SPLASH property in TeleWindow::TeleWindow()
Code:
#define MWM_DECORATIONS (1L<<1)
struct s_mwm_hints {
  CARD32 flags;
  CARD32 functions;
  CARD32 decorations;
  INT32 input_mode;
  CARD32 status;
} motif_hints;
Atom motif_atom;
motif_hints.flags = MWM_DECORATIONS;
motif_hints.decorations = 0; // disable window decorations
motif_atom = XInternAtom(_dpy, "_MOTIF_WM_HINTS", False);
XChangeProperty(_dpy, _win, motif_atom, motif_atom, 32, PropModeReplace, (unsigned char *)&motif_hints, sizeof(motif_hints) / 4);

XSizeHints *size_hints;
if((size_hints = XAllocSizeHints()) != NULL){
  size_hints->flags = PPosition;
  size_hints->x = 0;
  size_hints->y = 0;
  XSetWMNormalHints(_dpy, _win, size_hints);
  XFree(size_hints);
}

And put this before the XMapWindow call in TeleWindow::show()
Code:
Atom props[4];
props[0] = XInternAtom(_dpy, "_NET_WM_STATE_ABOVE", False);
props[1] = XInternAtom(_dpy, "_NET_WM_STATE_STICKY", False);
XChangeProperty(_dpy, _win, XInternAtom(_dpy, "_NET_WM_STATE", False), XA_ATOM, 32, PropModeReplace, (unsigned char *)&props, 2);
That code fixes all but issue #4.

Why does Telescope need the composite extension?
 

The Following User Says Thank You to auouymous For This Useful Post:
Posts: 355 | Thanked: 598 times | Joined on Sep 2009 @ Nizhny Novgorod, Russia
#339
Thank you for the investigation and for the fix! I will integrate it.

Telescope needs Composite for a single XCompositeRedirectSubwindows() function. It is used to enable off-screen store for windows’ pixels. This makes it possible to request windows’ contents via XRender use it to draw thumbnails.
 
Posts: 875 | Thanked: 918 times | Joined on Sep 2010
#340

That is one of three instances of Telescope

I discovered that pressing escape while no window had focus (focus follows mouse) would minimize every single window. So I commented out the line inside TeleWindow.cpp TeleWindow::showDesktop().

I also commented out the else block in TeleWindow.cpp TeleWindow:nHotKeyPress() and replaced it with hide(); so pressing the hotkey will open and close telescope.

Now if only it could show the contents of minimized windows. Half of my windows are shaded (minimized into the titlebar) and appear black in Telescope.

Last edited by auouymous; 2012-07-13 at 00:05.
 
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 02:55.