Ideas For A Pandora-Friendly Desktop Environment


CoMiKe

Member
Joined
Mar 22, 2007
Messages
394
Location
GP32Spain, Spain
Website
blog.0penware.com
As of now, we have the excellent PMenu launcher, that seems to be very control-friendly, but doesn't run on top of X-Windows.

The provided XFCE desktop environment let us run desktop applications, but it seems the touchscreen is not very confortable, and it isn't suited for the Pandora controls.

I've been thinking it would be wonderful to have a desktop environment that could be used without touchscreen (althout the touchscreen would remain usable if the user prefers so).

So here are my ideas. Sorry about the poor mockup, but I'm not a great designer. All those text placeholders should be changed for the corresponding application and category icons.

pandesk.png


Controls in desktop mode:

- Shoulder buttons: Select previous / next active task (like Alt-TAB - Alt-Shift-TAB).
- DPAD: Move text cursor or focus (like standard arrow keys in a keyboard).
- Left nub: Move mouse pointer (mainly for web browsing).
- Right nub: Scroll.
- X[sup]Y[/sup][sub]A[/sub]B buttons: X - (To be suggested), Y - Middle-click, A - Right-click, B - Left-click.
- Pandora button: Enter launch mode (see below).
- Select button: Focus system tray.
- Start button: Toogle fullscreen (show / hide taskbar).

Controls in launcher mode:

- Shoulder buttons: Select previous / next category.
- DPAD: Select icon.
- Left nub: Move mouse pointer
- Right nub: Scroll.
- Pandora button: Return to desktop mode.
- X[sup]Y[/sup][sub]A[/sub]B buttons X button: (To be suggested).
- X[sup]Y[/sup][sub]A[/sub]B buttons Y button: Middle-click (paste).
- X[sup]Y[/sup][sub]A[/sub]B buttons B button: Left-click (launch application).
- X[sup]Y[/sup][sub]A[/sub]B buttons A button: Right-click (context menu).
- Select button: Configure categories (like GMenu2X)?
- Start button: (To be suggested)

The mouse pointer should follow the focus resulting from the Pandora controls, but could be hidden when the focus changes using the Pandora buttons and shown again when the mouse nub or touch screen is used.

Any other opinions and suggestions will be welcome.
 
dflemstr said:
Qt cannot be used for window managers in the way that you think.

BTW, your mockup kinda looks like Matchbox... Why not just use that?
Of course, why not? :)

I'm not telling this should be done from scratch. I'm only suggesting what could be a good way to handle the desktop environment without using the touchscreen and without browsing those crappy menus that usual desktop managers include.
 
Last edited by a moderator:
CoMiKe said:
dflemstr said:
Qt cannot be used for window managers in the way that you think.

BTW, your mockup kinda looks like Matchbox... Why not just use that?
Of course, why not? :)

I'm not telling this should be done from scratch. I'm only suggesting what could be a good way to handle the desktop environment without using the touchscreen and without browsing those crappy menus that usual desktop managers include.
Ok, I'll tell you a little secret: I'm developing an alternative menu thingie for the Pandora. Not like PMenu, but rather something that you would Alt-Tab to (or press another button...) to launch new applications.

Code:
http://github.com/dflemstr/panorama

I won't show any screenshots yet (because it's in an early stage); if you want to see how it looks, you have to figure out how to compile it yourself.
I'll tell you a few things though:
- It's VERY finger friendly. You'll have to slide your finger quite a lot. It can still be controlled via the D-Pad (etc) though.
- It uses Qt ;)
- It is *VERY* moddable, so *you* could easily make a system that looks *exactly* like your mockup yourself quite easily, and without touching a single line of C++.

But sssh, don't tell anyone... ;)
 
Last edited by a moderator:
I think if we made one stick control the mouse and one scroll withing the windows that the pointer is over that would be almost as good as a mouse. The shoulder buttons would be right and left click and pressed together would be mid click. The right most and left most buttons(a, b, x, or y) would scroll desktops. The upper most and lower most buttons I was thinking of using lowermost as a tab(most used key in Linux when using terminals, important to me, I don't want to use two keys to use tab) and haven't thought of anything to use the upper most. So:

Left Stick: Mouse movement
Right Stick: scroll window
Right Shoulder: right click
Left Shoulder: left click
R+L Shoulder: mid click(used a lot in Linux as an easy select/paste)
Left most button: scroll desktop -1
Right most button: scroll desktop +1
Lower most button: Tab(see above)
Upper most button: Undecided

With configuring keys you can keep whatever WM you want and never have to use the touch screen. I'm just not a touch screen person, especially when I have my hands in position to use keyboard/game controls, it would be annoying to reach up to the touchscreen to do things.
 
dflemstr said:
Ok, I'll tell you a little secret: I'm developing an alternative menu thingie for the Pandora. Not like PMenu, but rather something that you would Alt-Tab to (or press another button...) to launch new applications.

Code:
http://github.com/dflemstr/panorama

I won't show any screenshots yet (because it's in an early stage); if you want to see how it looks, you have to figure out how to compile it yourself.
I'll tell you a few things though:
I would like to test it, but I don't have a running compiler / toolchain / whatever.

dflemstr: - It's VERY finger friendly. You'll have to slide your finger quite a lot. It can still be controlled via the D-Pad (etc) though.
That sounds pretty nice.

dflemstr: - It uses Qt ;)
I don't really mind, but it sounds good to me, anyway.

dflemstr: - It is *VERY* moddable, so *you* could easily make a system that looks *exactly* like your mockup yourself quite easily, and without touching a single line of C++.
I don't mind the look very much, but the usability. The most that it could be used with the Pandora controls without having to rely on the touchscreen, the better. :)

dflemstr: But sssh, don't tell anyone... ;)
Your secret is safe with me. :D
 
Last edited by a moderator:
second exodous said:
I think if we made one stick control the mouse and one scroll withing the windows that the pointer is over that would be almost as good as a mouse. The shoulder buttons would be right and left click and pressed together would be mid click. The right most and left most buttons(a, b, x, or y) would scroll desktops. The upper most and lower most buttons I was thinking of using lowermost as a tab(most used key in Linux when using terminals, important to me, I don't want to use two keys to use tab) and haven't thought of anything to use the upper most. So:

Left Stick: Mouse movement
Right Stick: scroll window
Right Shoulder: right click
Left Shoulder: left click
R+L Shoulder: mid click(used a lot in Linux as an easy select/paste)
Left most button: scroll desktop -1
Right most button: scroll desktop +1
Lower most button: Tab(see above)
Upper most button: Undecided

With configuring keys you can keep whatever WM you want and never have to use the touch screen. I'm just not a touch screen person, especially when I have my hands in position to use keyboard/game controls, it would be annoying to reach up to the touchscreen to do things.

I updated my control suggestions on my first post. I don't like shoulder buttons to emulate mouse clicks, as they are not very confortable for such an important function.
 
Last edited by a moderator:
I'll give it a try later (currently in Windows, don't feel like setting up Git). Sounds interesting. :)
 
Perhaps this could be achieved with the current XFCE desktop, deleting the XFCE menu applet, creating a GMenu2X-like application to be shown when the Pandora button is pressed and changing the control asignment to match the ones listed on my first post.

The most problematic part is probably how to activate the system tray, but I think that could be assigned to a keystroke in XFCE...
 
Vorporeal said:
I'll give it a try later (currently in Windows, don't feel like setting up Git). Sounds interesting. :)

<offtopic type="kinda">
If you intend to try it out (I don't recommend it; I haven't worked much on the UI yet) you need the Qt 4.6.1 kinetic nightly build which you can get here:
git://gitorious.org/+qt-kinetic-developers/qt/kinetic.git
...and you'll have to compile it on the kinetic-declarativeui Git branch.
I don't plan on actually releasing this for a *loong* time (working on it periodically when I have spare time) so I'm actually targeting Qt 4.7 for the beta (or whatever) release.

I'll work more on key navigation etc in order to please CoMiKe but for now the infrastructure is most important, followed by optimization, since the actual user interface for the program is written using Javascript and QML with a WebKit renderer (yeah... really) and thus can be modded ad infinitum later.
</offtopic>
 
Last edited by a moderator:
dflemstr said:
Vorporeal said:
I'll give it a try later (currently in Windows, don't feel like setting up Git). Sounds interesting. :)

<offtopic type="kinda">
If you intend to try it out (I don't recommend it; I haven't worked much on the UI yet) you need the Qt 4.6.1 kinetic nightly build which you can get here:
git://gitorious.org/+qt-kinetic-developers/qt/kinetic.git
...and you'll have to compile it on the kinetic-declarativeui Git branch.
I don't plan on actually releasing this for a *loong* time (working on it periodically when I have spare time) so I'm actually targeting Qt 4.7 for the beta (or whatever) release.

I'll work more on key navigation etc in order to please CoMiKe but for now the infrastructure is most important, followed by optimization, since the actual user interface for the program is written using Javascript and QML with a WebKit renderer (yeah... really) and thus can be modded ad infinitum later.
</offtopic>

Oy, that just made it a lot more complicated than I expected. If I've got time (need to study for my final exams :( ) I'll see if I can get it running.

From your description, it almost seems as though you're writing WebOS for the Pandora...
 
Last edited by a moderator:
btw, pmenu can run on fb or on X11; our current runs is pmenu running on X11 as root window, with the other option being a full xfce environment on x11; but pmenu can run without x11 just as well.

dflem is a machine; this guy must have too much free time. Damn, I miss that :) Good on you, use up that time and energy while you got it :)

matchbox had a numnber of stability issues, and was feature incomplete in a lot of ways; they're sort of mid-transition betwene major revisions and we had issues with various versions we tried.. ie: we could patch it, but our energy is better spent on our own software rather than wrestling with others :) But to be specific, I dont' recall now.. we moved on from MB because we had to, and it was a long time ago.. maybe go do some searches from that time period, but it'd be hard to locate perhaps. But some of it shoudl be in public locations. I know I'd have it in private discussions, but thats way too much effort to go back and find, and rather moot at this point.

Naturally on ship-day, you can build MB and toss it up and good to go; it had screwy .desktop detection, which was one issue, so that would need to be addressed. (It has a plugin module system, but we figured we didn't need to bother with it if we didn't have to.) Anyway.

jeff
 
I notice a lot of people propose some sort of task selector like you've outlined above. I still think just havening a few tasks per desktop would be a simpler solution and one that is already implemented in every WM. Also, I don't think you can have very many programs open, so around 4 desktops with 2 programs/windows per desktop would be plenty.

Although I got to say when it comes to desktop environments I can't visualize using things that I see in screen shots or in explanations, I have to use it.

As far as using the Right and Left shoulder buttons as right and left click its the most logical. It will suck if they are not comfortable to use, but when your hands are in the position that allow you to use the sticks most comfortably the R and L buttons should be comfortable to use, when you're using the keyboard you don't really need them. I don't know though, I have to actually hold the Pandora to know.
 
skeezix said:
btw, pmenu can run on fb or on X11; our current runs is pmenu running on X11 as root window, with the other option being a full xfce environment on x11; but pmenu can run without x11 just as well.

dflem is a machine; this guy must have too much free time. Damn, I miss that :) Good on you, use up that time and energy while you got it :)
Qt can also run on the FB if it needs to... Just sayin ;)

Oh and it's 2:30 AM here so it's not really "free" time that I'm using...
 
Last edited by a moderator:
I mention pmenu X11-or-not since its in the OP up top.

I'm a QT man myself .. I spent _far_ too much of my hard-won cash on the triple-threat license for a few years; people don't know good thery got it now ;) (one man company, spending like $4000 or whatever on licenses to damned QT, brutal! But I do like my QT, espcially compared to the alternatives)

jeff
 
Anyway, I've been testing XFCE in a virtual machine, and it seems you can assign any action to the keystroke you choose. So that's one problem less. :)

Now, we need the nubs working as mouse pointer (left nub) and scroll (right nub), and it's been said in another thread it will be worked out (was working on a previous kernel, when the nub firmware wasn't still fixed). So it seems this isn't a problem, either. ;)

The last thing is having a program selector that shows when the Pandora key is pressed, but:

skeezix said:
btw, pmenu can run on fb or on X11; our current runs is pmenu running on X11 as root window, with the other option being a full xfce environment on x11; but pmenu can run without x11 just as well.
So it seems we could assign the Pandora hotkey in XFCE to run PMenu. It could be a little overkill, though. Perhaps someone could write a light, categorized GMenu2X-like launcher using GTK (preferably, as that's what XFCE uses), QT or whatever toolkit you want to use. Then, it would be a perfect environment, IMHO. :)
 
Last edited by a moderator:
You can select if yo want pmenu or xfce, so thats one way; if you dont' want to rebot, you can still just fire up pmenu if you want.

Unless somethign comes up, I'm planning to build a very rudimentary button catcher, that maps (via config) to a sh-script; ie: by default catch the pandora-button and map it to a script, but in theory could map other buttons as well, though that is best left to a DM I'd think. Still, could be an easy way for you to hijack something if you need.

(when in low power mode, the panda button will return things to normal power mode via a sh-script, so keeping that mapped to some key is probably pretty handy; the same tool might well be the one watchign for lig close/open events though, so I suppose you could get away without that mapping since the lid can do that.)

But again, I'm posting on phone and really tired, so permit me to be completely off :)

jeff
 
Back
Top