09-26-2013, 08:00 PM | #1 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
FRONTER. aka. "awesome layer hacker" V.1.0.1
THE CONCEPT:
It's quite simple. manipulate the underlying LUA structure of the kindle (Touch and newer) window manager to allow for most applications to be run without recoding. SAFETY: It's all done in a bindmount so no harm is done should something go horribly wrong. COPYRIGHT: I can't distribute Amazon code.. So I don't - we make a copy of the EXISTING code and then patch that DO I NEED THIS??? err. probably not unless you are looking to run some stuff from debian/other sources that uses X and hasnt been title patched. Some devs may note that FRONTER is required to run a release. DOES IT WORK ALL THE TIME??? meh. mostly. WHAT IS EXPECTED OPERATION???? You run the KUAL button, Awesome will restart... after that any apps you start that dont have correct titles (L:Blah...) will be automagically renamed on-the-fly until you reboot. ANYTHING ELSE??? or ARGH! I CAN'T EXIT 'whatever-name' APPLICATION Yes, If you GET STUCK (some apps may launch window that are WAY too big for the screen and you can't exit or fail to render properly etc...) then you can always place TWO FINGERS on the screen and then release one. This will CLOSE THE APPLICATION. Currently this is ANYWHERE on the screen AT ANY TIME and won't ask you if you are sure... That is something that will probably be improved upon in the next version. TODO: add "are you sure" dialog. Allow for keyboard toggling. Well that's it. enjoy Original message was: Spoiler:
Last edited by twobob; 10-13-2013 at 12:53 PM. Reason: V.1.0 |
09-26-2013, 08:29 PM | #2 |
Evangelist
Posts: 456
Karma: 1287375
Join Date: Jan 2013
Location: West Gardiner, Maine
Device: Touch (5.3.7)
|
Thank you! Will try it our ASAP.
OK, I installed and ran the KUAL button - love the patching sign! I compiled gftp in the chrooted image you posted, exported it to the regular system, called it from the command-line, and WOW - it started right up! My next question, how to enable a keyboard? do you have an easy way to make it pop up and/or hide again? edit: i looked at the scripts for the keyboard and changed a couple. I don't have evilwhatever, but I do have kterm for the matchbox-keyboard program. Also, I'm not sure what order you call these programs in? I loved your little toolbar you had before, where did that go? overall, THIS IS AWESOME!!! Last edited by brianinmaine; 09-27-2013 at 03:57 AM. |
09-27-2013, 04:39 AM | #3 |
Evangelist
Posts: 456
Karma: 1287375
Join Date: Jan 2013
Location: West Gardiner, Maine
Device: Touch (5.3.7)
|
Since you seem to be a pretty busy guy, twobob, I just thought I'd introduce you to a cool game: pente
It works great with your fronter project! Needs no keyboard on my touch, but it is a little picky about piece placement. 5 in a row wins, or capture 5 pairs of pieces to win. Sounds simple, plays hard with someone who knows what they're doing. Enjoy, and thanks for all the work you do on here! EDIT: Attachment deleted. See below. Last edited by twobob; 09-27-2013 at 05:44 PM. |
09-27-2013, 04:31 PM | #4 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
and THAT is a perfect example of the first thing my script fails on
Titles with SPACES in. appreciate any help anyone can offer fixing that... in the interim... Try this version ;P (I have partially patched it) OH and DO NOT try to activate "color" in the options menu. Cause a segfault, did not investigate further. EDIT: This would now work OOTB Last edited by twobob; 10-13-2013 at 12:54 PM. |
09-27-2013, 07:06 PM | #5 | |
Evangelist
Posts: 456
Karma: 1287375
Join Date: Jan 2013
Location: West Gardiner, Maine
Device: Touch (5.3.7)
|
Quote:
|
|
09-27-2013, 07:09 PM | #6 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
I put together a script for starting up things
Code:
#!/bin/sh ################################################################################## # # Twobob generalised starter for a fronter serviced application. # ################################################################################## cd /mnt/us/extensions/pente #setup helpful variables... EXTENSION=/mnt/us/extensions export LD_LIBRARY_PATH=${EXTENSION}/pente/usr/lib:/usr/lib:/lib PLATFORM="$(cat /sys/devices/platform/mxc_epdc_fb/graphics/fb0/modes)" SSSTATE=`lipc-get-prop com.lab126.powerd preventScreenSaver` # be certin we only have one instance killall -9 pente &> /dev/null usleep 500 #check for patch (Active) if [ ! -d /tmp/twobob/xdg/awesome/ ]; then if [ -d /mnt/us/extensions/fronter/arch ]; then eips 3 37 "FRONTER dir not activated. Installing patch" sleep 2 /mnt/us/extensions/fronter/arch/mount.sh & else eips 3 37 "FRONTER patch not installed." eips 3 38 "please install it, then retry" fi sleep 2 exit; fi # Okay we seem likely to start the game at this point so... # prevent SS from bothering us mid game. lipc-set-prop com.lab126.powerd preventScreenSaver 1 #uncomment for your ver. if [ "$PLATFORM" = "${PLATFORM/758/}" ]; then #Touch # Insert your Touch Specific Start command here # NOTE: In THIS instance pente is an application that will return to process without a backgrounding & # we will run pente -nostealth to emulate a usual "blocking" apps activity for the same of this demo # THEN we will add a & - because you WILL want one AFTER the app call (whether the app is blocking or not) # always add one... ${EXTENSION}/pente/usr/bin/pente -nocolor -noiconic -geometry 800x600 -x11 -nostealth & fi if [ "$PLATFORM" != "${PLATFORM/758/}" ]; then #It's a PW # Insert your Paperwhite Specific Start command here ${EXTENSION}/pente/usr/bin/pente -nocolor -noiconic -geometry 1024x758 -x11 -nostealth & fi # check if we should restore the setting once per minute while : do if [ -n "`pidof pente`" ] then sleep 60 else lipc-set-prop com.lab126.powerd preventScreenSaver "$SSSTATE" exit; fi done # all done. Last edited by twobob; 09-27-2013 at 10:18 PM. |
09-27-2013, 07:09 PM | #7 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
|
09-27-2013, 07:24 PM | #8 |
Evangelist
Posts: 456
Karma: 1287375
Join Date: Jan 2013
Location: West Gardiner, Maine
Device: Touch (5.3.7)
|
Very KUAL!
|
09-28-2013, 12:04 AM | #9 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
well actually... if we implemented a way to "scroll thru" the various windows that have been "FRONTED" it may now be complete.
I'll think on that. The only issue left is windows being not in the correct order (not all games handle this correctly for example, they expect a few windows open at once) Kind of like ALT+TAB... That would probably be enough for this to be utterly usable now. |
09-28-2013, 09:36 AM | #10 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
OR perhaps.. I should be adding special tag that we test for in the title - and an index value?
something like L:A_N:application_ID:$NAME.fronted.$index_PC:N_O:R maybe and then iterate over the previous titles to ensure the latest windows are added above the previous ones of the same title? or even possibly anything with an index of >1 could be put on the dialog layer? Thoughts on that? Last edited by twobob; 09-28-2013 at 09:44 AM. |
09-30-2013, 05:08 PM | #11 |
Developer's Corner Mascot
Posts: 486
Karma: 1277790
Join Date: Sep 2013
Device: Kindle Paperwhite 5.3.4, Kindle Keyboard 3.4
|
The only way to kill fronter is a full restart of the system? I'm a little maniac in this stuff and don't like to leave extra processes active when not needed xD If fronter is a process (?)
Last edited by Aeris; 09-30-2013 at 05:13 PM. |
09-30-2013, 07:07 PM | #12 | |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Quote:
Most web search engines understand the 'man'(ual) and 'info' commands if you don't have a full (with documentation) Linux install to look up the help files on. (I.E: try: 'man ps' in your favorite search engine) |
|
09-30-2013, 07:21 PM | #13 |
Developer's Corner Mascot
Posts: 486
Karma: 1277790
Join Date: Sep 2013
Device: Kindle Paperwhite 5.3.4, Kindle Keyboard 3.4
|
I'm not sure if the process is called fronter... I've tried to see through processes with "ps aux" but could not find it.
If it isn't a process, I still wonder what is it and what does the patch do, and why after restarting the device the patch get lost |
09-30-2013, 08:01 PM | #14 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
it's not a process.
as such. and the "process", such as it is, occurs all the time anyway on your system. Awesome uses a layer of coding (rc.lua parts of) to decide how to order the windows when presented to the window manager. we insert a couple of hooks into that at key stages to coerce the naming of any application that DONT match the required title protocol (Nyoxi post) so that they DO fit. Currently I do this via xdotool. It just silently ignores anything that is properly named. So is there overhead? meh. the process would be I suppose /mnt/us/extensions/fronter/echo.sh you can view the very simple details in /extensions/fronter/arch/command.patch one way to stop the functionality would be: (This is what I do) umount /etc/xdg/awesome killall -9 awesome The fact that the rc.lua is parsed AT LOAD TIME by awesome is what ties my hands. There is in the STANDARD awesome a key combination to reload the config. That appears to have been stripped out by amazon far as I can tell. So yeah. rc.lua patched to have a link to /mnt/us/extensions/fronter/echo.sh patched copy of amazon code exists in a bind mount /etc/xdg/awesome <-- This is why it get's lost. on reboot. Intentional to stop anything really bad happening in an unrecoverable way simple as that. currently the performance is frankly terrible. It could easily be improved by logically sorting which things to throw at xdotool rather than using xdotool to determine that. Last edited by twobob; 09-30-2013 at 08:07 PM. |
09-30-2013, 08:13 PM | #15 |
Developer's Corner Mascot
Posts: 486
Karma: 1277790
Join Date: Sep 2013
Device: Kindle Paperwhite 5.3.4, Kindle Keyboard 3.4
|
I'm not sure to follow you...
Do you mean that your "patch" consumes resoruces or not? With resources I mean cpu and battery when NO fronter-based apps are running. I don't use launchpad for this reason, for example, because it keeps consumes resources cycling over the keyboard... If yes, I'd like to "patch" before opening an app (like now it does), and "un-patch" after closing it Last edited by Aeris; 09-30-2013 at 08:26 PM. |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Scanned text pdf with OCR but graphical layer instead vectorial | whopper | 2 | 09-10-2011 06:32 PM | |
Hacker friendly | soul_rebel | Which one should I buy? | 12 | 02-13-2011 09:34 PM |
Life Found in the Deepest layer of Earth's Crust | kennyc | Lounge | 0 | 11-19-2010 05:02 PM |
Best firmware for Hanlin V5 aka Bebook Mini aka Papyre 5.1? | javimm | HanLin eBook | 1 | 01-11-2010 05:37 PM |