|
Page 1 of 2 |
|
1
2
|
Next
Decent Window Manager (FVWM2) Ported To Diablo
So I've been searching for a decent WM for my n800. I spent many an hour ssh -X ing into my laptop trying out different windows managers on my tablet. I ended up deciding upon fvwm2 for my purposes. (I originally compiled Enlightenment, but it kept segfault-ing in scratchbox, and I got to frustrated trying to debug with gdbserver, as the bug only reared its head under armel).
With a little configuration, I got FVWM2 to be very usable. Below is what I considered important considerations: 1) No reboot between matchbox and FVWM2 The ability to go back to matchbox like nothing ever happened. 2) Play nice with hildon-desktop I like the applets, menu (navigator bar) and status bar, so I want them there. However, I didn't like how navigator is always on top (with non-hildonized apps) with most WM's I tried but with FVWM its not the case. The "home desktop", "status bar" and "navigation bar" are all separate windows and can be moved, resize, hidden, lowered and raised, etc. I've configured them to me without title bar and handles, but when in focus a window op pop-up can be opened with the fullscreen button. 3) Play nice with osso-* essential services and all hildonized apps Access to all essential things, like connectivity UI. The hildonized apps play nicely. Sometimes they are tiny, but that is fixed by maximizing or resizing. Sometimes they are too big and can't be resized, but thats handled by the scrollbar feature 4) Finger friendly (Including the maemo finger keyboard) The fullscreen button has been mapped to bring up the window op menu, allowing you to do most window manipulations easily. Most importantly, in all hildonized apps, you can still you the finger keyboard :) 5) Desktop Switcher Im really glad about this. I normally leave the "home desktop" clean and move all apps the other workspaces. 6) Highly Configurable Able to change keybindings (I have a mini keyboard I use when using ssh -X to turn my tablet essentially into a terminal to my lab machine) Able to add rules for each window. There is a save layout module, but I havent figured out how to restore it yet... 7) Themes? Apparently there are themes available for FVWM2? I don't know, haven't played around with that. 8) Lightweight, few dependencies Important, as this meant I was able to compile it easily :) Here is a screenshot of it running: http://www.cs.rpi.edu/~phillc3/fvwm-screenshot.png Installation Instructions: (Standard disclaimer, Not responsible for Blah, blah, blah...) First download the tar file: http://www.cs.rpi.edu/~phillc3/fvwm2.tar Copy it to your tablet: (Or just download it there) become root: (Here are some methods) sudu su (If you are in your sudoers) sudo gainroot (If becomeroot installed) ssh method (if ssh client installed) cd to root directory: cd / untar: tar -xvf /home/user/fvmw2.tar Its now installed, but there is still the annoyance of stopping matchbox-window-maker (only one WM at a time is allowed of course) You may notice that if you try the logical killall matchbox-window, but it will just restart. This is due to a launcher thats gaurding it (dsmetools). In theory you should be able to stop it via this launcher, but I have had no luck. So, the workaround was to modify the matchbox launcher script so that it won't try to restart matchbox if it "crashes". If you are curious about the technical details, it involved a one character change of -r to -o in /etc/osso-af-init/nice-launch-wrapper-restart.sh. But so this didn't effect all apps that use this script, I made a new one /etc/osso-af-init/nice-launch-wrapper-once.sh with this change. Then I changed /etc/osso-af-init to use this new launcher. Anyway, you should notice a script /home/user/install.sh. Running this will do the following: Make a backup copy of the modifyed matchbox.sh Copy the new launcher Modify matchbox.sh Install a matchbox restart script (/usr/local/bin/matchbox) Usage: Starting fvwm2: killall matchbox-window //Close matchbox fvwm2 //Lauch fvwm2 Back to matchbox: Close fvwm2 via menu execute /usr/local/bin/matchbox Uninstall: run /home/user/uninstall.sh This will install all files added, restoring backups NOTE: This DOES NOT remove following files, as they may be there by another program /usr/lib/libWidgets.a /usr/lib/libXpm.a /usr/lib/libXpm.so.4 It DOES remove xterm and links that were added during installation in /usr/local/bin Let me know of any problems. I havent tested it on N810, nor have I run the "install script", (its really tiny, but if there is a typo let me know). Happy Hacking :) |
Re: Decent Window Manager (FVWM2) Ported To Diablo
That's really cool, so in the screenshot you're simulating the Hildon desktop in FVWM2?
One trick I've found for having two WMs at a time is using Xephyr nested X-server to open a WM in display :1, I use this for my Debian chroot (see my sig). |
Re: Decent Window Manager (FVWM2) Ported To Diablo
The screenshot is straight off my tablet, everything running natively on it and no chroot. (I do however like to run apps from my laptop using X-fowarding). When you start the wm, it just encapsulates the hildon-desktop, which is really three windows, kinda wrapped into one. This gives you freedom to do what you will with the status-bar, navigation bar and the home/backround/applet area. I got rid of the handles and title as they werent really needed (I think I will see if I can remove the border too). The whole reason I decided went for an alt wm is so I can use non-hildonized apps and not have them cramped. I've yet to play around with running with a chroot, but Im sure it will be my next project when I get bored :)
|
Re: Decent Window Manager (FVWM2) Ported To Diablo
I try running /home/user/install.sh but I get the message:
Code:
cp: cannot stat '/home/user/matchbox-start.sh': No such file or directoryHoping to get this running! Thanks |
Re: Decent Window Manager (FVWM2) Ported To Diablo
To me, this sounds like the same file (well same function anyway) :)
I'd just run: ln -s /home/user/start-matchbox.sh /home/user/matchbox-start.sh and hope for the best. |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Looks great! I'm pumped about trying it when I get home. I've never used this WM before, how quick is it compared to matchbox?
|
Re: Decent Window Manager (FVWM2) Ported To Diablo
I did what Qwerty12 said and I received no error messages. Then I typed "killall matchbox-window" in xterm. All my open windows seemed to close one at a time, then reopened, nothing changed. Typing "fvwm2" gets me:
Code:
/bin/sh: fvwm2: not found |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Oops, looks like Im a little dislexic. I fixed the install script. As for the speed I don't see a noticable slowdown.
Here are some more screenshots. http://www.cs.rpi.edu/~phillc3/Screenshot-1.png http://www.cs.rpi.edu/~phillc3/Screenshot-2.png Sometimes the os keyboard stays on the screen if you close the window without "deselecting the text entry area". When this happens I click on a hildonized text entry area, then click off it in the same window and it goes away. (EG, I click on the search applet entry field, then click else where on my home area). As for the not found, it should be located in /usr/local/bin. It might not be in the path variable by default, I think I may have had to add it somepoint along the way. Its a simple snippet of code to add it to the path, but I cant produce it off the top of my head. You can try running it with absolute path /usr/local/bin/fvwm2 Hopefully that will do it |
Re: Decent Window Manager (FVWM2) Ported To Diablo
PS: Once all the caveats I overlooked come out, I will see if I can sum them up in a README in the tar.
|
Re: Decent Window Manager (FVWM2) Ported To Diablo
Oh, Just remembered something important!! Make sure you restart after running install.sh. Else you wont be able to kill matchbox as it will have been started by the old launcher script, it will just restart endlessly. (Or until you kill it 10 times in 60s, then your tablet will give up and restart I think).
Yeah, def a readme when all one's demonstrated all my errors :-p. |
Re: Decent Window Manager (FVWM2) Ported To Diablo
OK! Finally got it working after the install.sh fix. To run fvmwm2, though, I couldnt just type fvmw2 in xterm. I had to enter /usr/local/bin/fvwm2
Thanks iiiedokeiii! |
Re: Decent Window Manager (FVWM2) Ported To Diablo
This even works with KDE. The desktop is put in its own window and the panels stay right where they were. It sounds like a dumb idea to run it with KDE, but I tried opening Konquerer and it seemed to open/run faster than usual (maybe just imaging things.) I'll have to experiment more with this :)
|
Re: Decent Window Manager (FVWM2) Ported To Diablo
Thats cool. I opened kicker the other day with remote forwarding so I could have the menu to easily play with other programs. Ive been wanting to open a desktop but couldn't get nautilus to spawn a desktop on it (I normally run gnome). I'll have to try the KDE desktop for kicks.
|
Re: Decent Window Manager (FVWM2) Ported To Diablo
Hey, I got it to stop via dsmetool just fine...
In my case, you gotta do a: Code:
chroot /mnt/initfs dsmetool --stop="/usr/bin/matchbox-window-manager -theme hendrika -use_titlebar yes -use_desktop_mode plain -use_lowlight no -use_cursor yes -use_dialog_mode static -use_super_modal yes"EDIT: Here ya go: Code:
chroot /mnt/initfs dsmetool --stop="$(tr '\000' ' ' </proc/`pidof matchbox-window-manager`/cmdline|sed 's/ $//')" |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Ok, or maybe one better... get the existing code to do all the work for us.
Code:
#!/bin/sh |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Very Nice. I've tried to stop it using the exact args it was started with, but I guess I never was able to form the command correctly. This makes things much nicer. Thanks :)
|
Re: Decent Window Manager (FVWM2) Ported To Diablo
stupid newb question:
First download the tar file: http://www.cs.rpi.edu/~phillc3/fvwm2.tar Copy it to your tablet: (Or just download it there) I downloaded the file....and copied it to /home/user/ directory... become root: (Here are some methods) sudu su (If you are in your sudoers) sudo gainroot (If becomeroot installed) ssh method (if ssh client installed) I got Root.... cd to root directory: cd / Did this too..... untar: tar -xvf /home/user/fvmw2.tar But the tar command gives me a "Cant open '/home/user/fvmw2.tar' : No such file or directory But I can 'ls' and the tar file is there..... Any ideas....? :( Thanks so much for your help, Steve |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Well, it should be fvwm2.tar; transposition. There's a few such things through here...
|
Re: Decent Window Manager (FVWM2) Ported To Diablo
Yes...that allowed me to tar....thanks.
But when I do the killall matchbox-window it just restarts the matchbox....and it wont let me do it as root....I have to exit. Isnt there an way to add this all to a script, so I can just click on a button and it kills matchbox and brings FVWM up and runs it....? I am going to be having to do this pretty frequently. Any ideas or help would be great....thanks again Benson Steve |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Yeah, I tend to saf things bass ackwards sowetimes, especially in these late night posts. If I remember correctly you need to run the install script then restart before you will permanently aable to kill matchbox. The script copies a modified startup script for matchbox that allows it to be killed. As far starting and stopping it, I added the commands to my cpu status bar applet.
~Cody |
Re: Decent Window Manager (FVWM2) Ported To Diablo
You can do iiiedokeiii's install script, which prevents matchbox from restarting; this isn't necessarily the best option though, because if matchbox dies from a crash or something, you could be stuck with no window manager at all.
If you read through the whole thread, you'll see a couple of options to avoid that; the one in post 15 is what I currently use, as I think it's the best option. I think the CPU applet iiiedokeiii mentioned is the same one I use; it's full name is osso-statusbar-cpu. You can also use Personal Menu or Personal Launcher to run arbitrary commands. With any of those, you should be able to select a menu item that will run a script; you can have that script either shut matchbox down cleanly (as above) or kill it, as you like, and then start FVWM. You can also have another entry to stop FVWM and restart Matchbox. |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Benson,
Thanks....I feel like such a leech, so I am apologizing up front. You posted this Code: chroot /mnt/initfs dsmetool --stop="$(tr '\000' ' ' </proc/`pidof matchbox-window-manager`/cmdline|sed 's/ $//')" So a few questions: -- So does this go into a script text file? -- What is the extension of that file? -- And you call it with....sh "filename.sh"...or..? -- The CPU status bar then hold a button that you put that above command in and it executes it. -- This one looks like the stop....so is there a start one..? -- Should I remove part of the stuff that iiiedokeiii's did in his install script that changed the restart of matchbox.. -- When you exit FVWM how do you restart Matchbox....doesnt that leave you with no window manager...? -- What file under FVWM to I set the resolution of the desktop I want....say 1280x1024 or 1024x768...? I know there are alot of questions, but I hate to bother you guys will onsey twosey questions constantly....I am sure I will be asking more....let me know when it gets annoying. :) Steve |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Yeah, I wouldn't use that one, because it is stop only.
The next post down is really the recommended one. You dump that in a file (extension doesn't matter), make it executable with chmod +x <filename>, and then call it as /path/to/filename start or /path/to/filename stop. (If you don't make it executable, you can still run it with sh filename start, as you suggested, but it's tidier to set execute permissions.) You have to be root to start and stop that though, so either this, or the other script that you run via osso-statusbar-cpu will have to get root. To actually axe matchbox and start F, you'll need a script that ensures it's root, runs the matchbox stopper, and starts F; mine looks like this: (I have the above script installed as /usr/bin/matchbox.) /home/user/bin/mbfv Code:
#!/bin/shCode:
#!/bin/shFor configuring F, you edit .fvwm2rc; you can set number and size of desktops. Unlike most WMs, F lets you have any combination of virtual and multiple desktops. (The essential distinctions are that you can pan incrementally in a virtual desktop, but only switch between multiple desktops, and that apps hanging over a screenful of virtual desktop show up in the next screenful, while apps hanging off the edge of a desktop don't show up in any other virtual desktop.) The config you've got should make (I think) 5 desktops, each the size of your screen. At least that's what I'm running right now. If you wanted to display large windows without scrollbarring them, for some reason, you could set that to fewer (or even more...) larger desktops, but scrollbarring works fine for me. FVWM is very configurable, and the config file may be correspondingly intimidating, but it's really not that bad once you get into it. One thing it occurred to me I do have custom is three-button stylus support. See the code below: you paste the green lines into the relevant region in your .fvwm2rc; you'll get a button in the window titlebars that lets you pick what mouse button the stylus is. (And that button works regardless of which mouse button you use, so you can actually switch back; version 1 was somewhat awkward that way... :o) This one defines the button, or rather the (vector) icon on it. Code:
ButtonStyle 1 5 45x45@1 55x45@1 55x55@0 45x55@0 45x45@1 # DotCode:
# This menu is invoked as a sub-menu - it allows you to quit,Add the input menu to the desktop pop-up menu -- not really needed, but convenient. And at the bottom is the menu itself. Xvkbd is the onscreen keyboard I use, but with an N810, you may not want that. Remove the last 2 lines to dump it. Code:
# This menu will fire up some very common utilitiesCode:
# |
Re: Decent Window Manager (FVWM2) Ported To Diablo
OMG.....thanks so much....!! :)
Am so grateful for this.....I have printed it out and will be digesting this tonite..... Thanks again....that was a lot of thought. Will let you know how it goes.... Steve |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Benson,
I don't know if you are familiar with PokerTH, but someone on ITT recently ported it to Hildon. There is one major problem with it though, and that is everytime the turn comes to you, the keyboard pops up. Very frustrating. So, the most elegant way I found to stop this from happening was to kill hildon-input-method via "/etc/osso-a-init/keyboard.sh stop" while using the game. Originally, I wrote a simple "script" that would see if hildon-input-method was running, and if it was kill it, else start it. This was still a bit of a pain because you'd have to run this script everytime you were done with the game to restart your keyboard (you could automatically run it when PokerTH started to kill your keyboard). So today, I spent an hour seeing if I could automate the whole process. And after a bit and trial and error, I came up with this: Code:
#!/bin/shAs you can probably see, my script calles PokerTH on line 15, and when PokerTH is killed control "returns" to my script and hildon-input-method is started back up. Ok, this is the second script I've ever written, be easy ;) Couldn't this exact same philosophy be applied to killing hildon-desktop, starting fvwm, then when fvwm quits, restarting hildon-desktop? Please point out where my logic is flawed ;) |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Benson,
I have tried to do all of this.....but I cant get it to shutdown matchbox. So I tried to do it all manually......I got root and typed in everything at the prompt....ie /usr/bin/matchboxwm stop.....but it just went back to the prompt. So then I manually typed in the below script....one by one....and none of them errored out, but still didnt get rid of matchbox..... This is what I put into the file.....and also tried to put in manually. #!/bin/sh . /etc/osso-af-init/af-defines.sh . /etc/osso-af-init/matchbox.defs . /etc/osso-af-init/matchbox.sh The script file I called matchboxwm and made it executable, but it doesnt do anything. I tried to run the commands above one at a time with Stop and it looks like it took them, but nothing happened....really frustating. It is like it takes the commands, but doesnt do anything with them....is there something I mind need to load that I havent....? Any thoughts would be appreciated....as I am stuck. Steve |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Benson,
If I get root....then change to /home/user/bin and then type: /home/user/bin/mbfv I get this error: /bin/sh: /home/user/bin/mbfv: not found if I do a ls in the directory, both files are there: mbfv and fvmb So why does it tell me it is not there....if it is...? Steve |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Could be something it calls is not found; is the matchbox script above saved as /usr/bin/matchboxwm, and made executable?
Also, the "stop" must be lowercase, whereas you typed "Stop" above. |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Quote:
|
Re: Decent Window Manager (FVWM2) Ported To Diablo
SUCCESS....!!!!!!!!!!!!!!!!
Benson.....I had typed the scripts in windows notepad and saved them to the memory card. Well it put a ^M at the end of each line, and I removed those in VI.....and wala...!! I have FVWM running. Ok.....now back to the editor to change some stuff... Thanks for your help.... Steve |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Ah, ok. A tip, if you have to use Windows editors, is to use notepad. It can deal with (open, edit, and save) files containing UNIX line-ends, although creating a new file always uses DOS line-ends.
On the tablet, you ought to get a real text editor; for me, that means JOE, but nano is said to be a viable option. Or stick with vi, if you like it, but other options are available. |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Benson,
I have two issues: 1. I cant close FVWM. I can drop to root and killall fvwm2, but Matchbox wont start up with the matchboxwm start. 2. How did you scroll the whole screen. I messed with desktopsize, but I cant get the screen to get scrollbars. I can get apps to have scroll bars, but if I move them off the screen, I cant scroll to the other screen. 3. Also.....the video you showed me, definately was scrolling the RDesktop.....but when I fire up PyRdesktop, it maximizes the screen at 800x480, and I cant do anything about it. Were you using PyRdesktop or something else...? How did you set the resolution of the remote desktop to 1280x1024...and then scroll within a window...? Steve |
Re: Decent Window Manager (FVWM2) Ported To Diablo
OK, I don't know of a way to scrollbar the whole screen, but you can bind Ctrl+dpad or something to scroll around in it. You can also use the pager down in the left corner, above the button-bar. (You may have to push windows down (click button 3 on decorations) to see the pager.)
I used the rdesktop-cli that comes with pyrdesktop, using -g 1280x1024. Then used FVWM to scrollbar that window. Since you only need the large resolution on one screen, it's easy enough to just make a shell script to run it, although that functionality might be nice in pyrdesktop at some point. (Particularly, it would be more widely helpful for specifying smaller sizes, so part of the screen doesn't get chopped in windowed mode... Not that your use doesn't count.) |
Re: Decent Window Manager (FVWM2) Ported To Diablo
Benson,
I went into the Rdesktop.py and changed: to_run = "-f" to to_run = "-g 1280x1024 " And now it comes up setup at the right resolution, but I can use the PyRdesktop front gui end to save the displays. BUT....I had to start over....something I did stopped my Tablet from getting out to the web....not for sure what....so after a lot of frustration, I started over. So will get the windowing done tomorrow....but I am almost there....thanks to you... Steve |
Re: Decent Window Manager (FVWM2) Ported To Diablo
I found this to kill matchbox
#!/bin/bash source /etc/osso-af-init/osso-gtk.defs source /etc/osso-af-init/matchbox.defs echo Theme is $MBTHEME source /etc/osso-af-init/maemo-af-desktop.sh stop sleep 2 source /etc/osso-af-init/matchbox.sh stop sleep 1 I've added it to the tar download. It obviates the need to use the modified matchbox.sh and restart-once launcher, and is much cleaner. I myself am going to try out openbox, which now appears to be in one of the repo's, which is nice. I'll see how it is. |
Re: Decent Window Manager (FVWM2) Ported To Diablo
I am going to try openbox too but that script does not work, or i cant use it.
/home/user # sh stop* Theme is glasser-12pt stop-matchbox.sh: source: line 6: can't open /etc/osso-af-init/maemo-af-desktop.sh /home/user # and there is no file called maemo-af-desktop.sh in /etc/osso-af-init/ |
Re: Decent Window Manager (FVWM2) Ported To Diablo
You can remove
source /etc/osso-af-init/maemo-af-desktop.sh stop sleep 2 from the script. 1) We don't want to stop the desktop 2) The desktop stop script is now called hilden-desktop.sh I think also the shebang should point to /bin/sh instead of bash, but I'm not positive. Try that and it should work? |
Re: Decent Window Manager (FVWM2) Ported To Diablo
openbox is very nice and fast, it is the window manager under LXDE, my current favorite "tablettop environment" :)
|
Re: Decent Window Manager (FVWM2) Ported To Diablo
I like Fluxbox, among others.
|
Re: Decent Window Manager (FVWM2) Ported To Diablo
iiiedokeiii or Benson,
HELP...!! :-) I did setup and boot to SD and got all that working.....but when I tried to replicate this setup with fvwm, I just cant get it working. If I drop down in xterm and gainroot, and type in the scripts manually, I get this error....even with iiiedokeiii new script above... Error, AF_PIDDIR is not defined. I have tried every imaginable combination of all the scripts, but I cant get past this error. This comes every time as it executes /etc/osso-af-init/matchbox.sh stop. Any thoughts or ideas...? Thanks so much, Steve |
| All times are GMT. The time now is 00:02. |
Page 1 of 2 |
|
1
2
|
Next
vBulletin® Version 3.8.8