Web Browser With Black Background (Invert Colors / Night Mode) Through Proxy Filter - Android Software/Hacking General [Developers Only]

This is a solution for people looking to invert colors or force specific colors (e.g. white text / black background) on their web browser. Great for easier reading (especially at night) and saving power on OLED screens. CyanogenMod's browser has an invert colors option built in, but as far as I can tell, nobody has been able to port the CM browser to other ROMs. This solution works with any browser or ROM.
The basic idea is to run a web filter proxy such as Privoxy. Proxy filters are usually used for ad blocking, but they also have the power to completely rewrite a webpage. Privoxy is run in the background, and using the browser or WiFi/APN proxy settings, all web traffic is run through Privoxy. Privoxy rewrites the web pages based on the filters before it is displayed on your browser.
In the attached set, I've put together some badly-written but effective filters to force light text on black backgrounds. The filters rewrite the webpage so that the background is always black, text is always light gray, and links are always green. The filters only tweak the HTML/styles, so as a (usually) helpful side effect, the pictures remain unchanged. With my current configuration, Privoxy loads automatically in the background at startup, and all web pages run through Privoxy and are displayed in my designated colors. See the screenshots below to see it in action.
I put together a simple set of files that so folks can test this out.
Requirements
- You must have a rooted phone.
- You must be able to access proxy settings. Depending on your firmware, you might be able to set a proxy in Wireless and Network Settings (Wi-Fi settings -> Advanced, or Mobile Networks -> Access Point Names). You can also try an app like Transproxy or AutoProxy, or a browser that supports proxy settings, such as Firefox Mobile with the Proxy Mobile add-on.
Instructions
- Download and install Autostart (Root) from the Market.
- In your root folder, create a folder called /data/opt
- Download the attached "force_colors.zip" and extract the files
- Place all the files in /data/opt. Set appropriate permissions. (Privoxy and autostart.sh need to be executable.)
- Reboot your phone. Autostart should run the autostart.sh script (it will ask for superuser permission) and Privoxy will run in the background.
- Set your proxy host to localhost and the proxy port to 8118.
- If everything went correctly, all webpages should load in black background, light gray text and green links.
Note: If you use DroidWall or similar firewall settings, make sure that you allow access for "Applications running as root" so that Privoxy can access the network.
---
Note that these filters are infinitely customizable, if you know how to use regular expressions. Just edit force_colors.filter with the filters of your choice. For example, the Privoxy filters available here are specifically designed to invert some colors and make other ones darker, so you can still preserve some website colors in a more readable format.
In the next post, I'll describe everything I researched in pursuit of this solution. I am hoping others will pick up this project and make it into an easy-to-use package, and also to create some alternative filters to make them cleaner and/or more effective.
I think this feature is sorely needed in Android. Please pass the word to any developers who can help make it a reality!

[Note: This is my earlier post explaining what I did to make this solution work. Please note that I am a complete development noob! I hope this information is helpful and other people will improve on my solution.]
- There is an Android port of Privoxy on the Android Market called Privoxy (BETA 1). Install it and see if it works for you. On my phone, the app interface does not work. If I try to manually start Privoxy in a terminal window, it gives me a seg fault. Anyway, run the app once regardless, so that it copies the Privoxy files to the app data directory (/data/data/com.galoula.Privoxy/). We will use this directory as our base.
- A *working* Android port of Privoxy is included in Orbot: Tor on Android. (Tor uses Privoxy to pass the HTTP requests to a SOCKS proxy.) Download, install and run Orbot. You just need to run it once so that it copies the Privoxy binary to the app data folder.
- You'll find Orbot's Privoxy binary in /data/data/org.torproject.android/app_bin. Copy the "privoxy" binary and use it to replace the binary that came with Privoxy (BETA 1) (located in /data/data/com.galoula.Privoxy/bin). Set appropriate permissions. (We only installed Orbot for the binary, so you can uninstall Orbot now if you don't want it always loading in the background.)
- Now set up the filters. Download the attached force_colors.zip below. Extract the three files (force_colors.action, force_colors.filter, and privoxy_conf). Copy these files to /data/data/com.galoula.Privoxy/etc.
- Open a terminal window, navigate to /data/data/com.galoula.Privoxy/bin and start privoxy by running "./privoxy ../etc/privoxy_conf"
- By default, Privoxy will listen on port 8118. Go to your WiFi settings or APN settings. Set the Proxy name to "localhost" and the port to "8118". Now all web data will pass through Privoxy.
- Browse to a few websites and you'll see white text on black backgrounds! The default colors in the force_colors.filter are black for backgrounds, light gray for text, and green for links. Feel free to edit force_colors.filter to whatever color combination you prefer. I used HTML color names instead of hex codes to make it more readable.
- To run Privoxy every time at startup, I use an app from the Market called Autostart (Root). The directions are limited but basically, you just need to install the app and make a file called /data/opt/autostart.sh (set appropriate permissions). Then in autostart.sh, put this line: "/data/data/com.galoula.Privoxy/bin/privoxy /data/data/com.galoula.Privoxy/etc/privoxy_conf". The next time you reboot (might have to try it one or two times), Autostart will ask for superuser permission, and start Privoxy automatically.
Hope this is helpful for anybody else who wants to experiment.

hey claimui, this looks like a great approach! i'm looking forward to giving it a try this weekend and learning more about how the filtering works!

I spent a couple of days learning regular expressions (or at least some of them) and throwing together a simpler set of filters to force certain colors on a webpage. With this set, all backgrounds are black, all text is light grey, and links are green.
EDIT: My filters are now included in the force_colors.zip attached in the OP.

added to
black energy saving android apps for AMOLED screens

I made several updates to the original posts, including a suggestion on how to get Privoxy to start automatically on boot. After going through this whole process, this is a really effective solution. Privoxy starts automatically and invisibly whenever I start up my phone, and all of my webpages automatically pass through Privoxy and get displayed in my preferred colors.
For future tweaking, it would be nice to have a simple shortcut to enable/disable the filtering. (Although honestly I never want to disable it -- I always like my colors better!) Note that you can't simply kill Privoxy because your browser won't be able to find the proxy to connect to. So you either need a Privoxy command to toggle filtering on and off, or toggle the proxy settings to either use or bypass Privoxy.
In the meantime though, I think this still works really well. Hope others give it a try and can improve on the procedure.

Major update: I have finally consolidated all the steps into a small zip file and some simple instructions. You will need root access and a file manager or some basic knowledge of how to get around your phone. Just follow the instructions in the first post and you should be able to get it working very quickly.

Would like to test this but couldn't things to work...
Privoxy now updates to beta2.
Everything I try I get 404 Page can't loaded...
Have changed to localhost and port 8118 but doesn't work...

No need to install Privoxy from the Market. Just follow the instructions in my first post. After you install the Autostart app and put the files in the /data/opt folder, Privoxy will start at the next reboot.

Thx! Think it was a problem with SiyahKernel! After flashing from 2.0b2 to 2.0b3 now privoxy work!
Thx a lot! Have long time searched for something similar!

when I try to create the folder /data/opt it says it is created but in doesn't show up. also when I create the same folder and then move it to root folder it automatically renames it opt. I'm using root explorer.

In Root Explorer, first navigate to the /data folder, then click the button to Mount as R/W, then create the opt folder. Does that work?

Updated the OP to include some more suggestions for folks who are having trouble finding proxy settings. The basic options are:
1. See if your firmware comes with proxy settings. Under Wireless and Network Settings, look in Wi-Fi settings -> (menu button) Advanced, or Mobile Networks -> Access Point Names.
2. You can also try an app like Transproxy or AutoProxy.
3. Try a browser that supports proxy settings, such as Firefox Mobile with the Proxy Mobile add-on.

Nice.
Have you by any chance conducted a battery test or otherwise made any effort to notice the impact of this modification on battery life?

I haven't personally done any battery experiments (at least not for the browser) but this is a good reference: http://forum.xda-developers.com/showthread.php?t=660853
Basically yes, black backgrounds do save battery power on AMOLED screens. Personally I think the difference between 5% and 3% (or 3% and 2% at lower brightness) is not that big of a deal, probably not even noticeable in normal use. But if you want to squeeze the most milliwatts out of your battery then this will help.
To me the main benefit is that black backgrounds are just much easier to read, especially at night, and especially with the deep blacks / high contrast of the AMOLED screen.

Don't need 10 chars for this replay.
AWESOME!
Edit:
Sadly, from the time that passed since I posted this post, I stumbled upon a few annoying bugs.
1. Proccess locked at 50% cpu, (100% of a single core)
2. Some sites just don't work, and then I have to restart the browser.

Yes google mobile site everytime I would like to search something I get this Error:
This page contains the following errors:
error on line 3 at colum 31: AttValue: " or ' expected
Reparse document as HTML

I know regexp pretty well, but Privoxy syntax is a little bit confusing.
I'm trying to figure out the filters supplied by the OP, and they are just too confusing
To OP : How do you set the delimiter for the filters in Privoxy?
I know / and | are possible, are you using + for some reason?
All your filters start with s+, what is the + ?

Great work. Autostart didn't work on my Galaxy Note for some reason.
But maybe changing CSS is easier. This method works on Opera Mobile:
http://forum.xda-developers.com/showthread.php?t=1326434

eitama said:
Sadly, from the time that passed since I posted this post, I stumbled upon a few annoying bugs.
1. Proccess locked at 50% cpu, (100% of a single core)
2. Some sites just don't work, and then I have to restart the browser.
Click to expand...
Click to collapse
Hm, I haven't encountered these bugs. I am using the same files that I uploaded in the zip. Does it only happen with certain sites? Maybe I just need to tweak the filters. My regexp is poor so they are very crude, and could easily screw up some sites.
bgx said:
Yes google mobile site everytime I would like to search something I get this Error:
This page contains the following errors:
error on line 3 at colum 31: AttValue: " or ' expected
Reparse document as HTML
Click to expand...
Click to collapse
Can you tell me the specific URL? I notice you're on T-Mobile so maybe you have a carrier-specific browser/search settings.
eitama said:
I know regexp pretty well, but Privoxy syntax is a little bit confusing.
I'm trying to figure out the filters supplied by the OP, and they are just too confusing
To OP : How do you set the delimiter for the filters in Privoxy?
I know / and | are possible, are you using + for some reason?
All your filters start with s+, what is the + ?
Click to expand...
Click to collapse
Privoxy syntax is supposed to be like Perl -- well I don't know Perl so I'm just copying what I read. The basic reference is here: http://www.privoxy.org/user-manual/filter-file.html
In my filters, I'm using + as the delimiter. In Privoxy you can use whatever delimiter you want, and it doesn't make a difference (I think). I just copied the + from another filter set -- probably because it's easier to read than / when working with HTML.
The first couple of filters should not be too hard to figure out. For example:
Code:
# Set default colors
s+<body+<body bgcolor=black text=LightGray link=LimeGreen vlink=Green+isUg
This just makes sure every <body> tag starts with "<body bgcolor=black text=LightGray link=LimeGreen vlink=Green" (very crude, I know). The isUg at the end are the modifiers:
i = case insensitive matching
s = allow string to span multiple lines
U = ungreedy matching
g = global matching
Two filters substitute a tag with "JED-C-Anchor-color". This is not a valid tag; the browser will just skip it so the effect is basically the same as deleting the tag. Substituting instead of deleting just makes debugging easier. I used "JED-C" because I modified these filters from http://members.cox.net/pu61ic.1inux.dunc4n/software/privoxy.jed
tamarian said:
But maybe changing CSS is easier. This method works on Opera Mobile:
http://forum.xda-developers.com/showthread.php?t=1326434
Click to expand...
Click to collapse
Thanks for the tip! Yeah I know about changing CSS and that would be a better solution. But I don't think there is a way to change the CSS with the stock browser, and some people still like using the stock Samsung browser for hardware acceleration or whatever other reason. But maybe somebody could make a Privoxy filter that adds the same CSS code into all webpages?

Related

Tweakster - MortScript

Has anyone looked at TWEAKSTER for TREO. Seems quite nice but as I dont know anything about a TREO, maybe someone can port it to Der Kaiser?
http://discussion.treocentral.com/showthread.php?t=139811
"MortScript: Tweakster, BETA available
I know NOTHING about MortScript (have just started reading) so I hope that some of the The Mort Kings are here in Der Kaiser World and will give it a shot..
I cannot get the plugins to work, but main script seems fine..
"The Mort Virgin" =
--------------------------------------------------------------------------------
Cool new app available for you Treo power-users!!
Tweakster has three major functions:
1) Scheduling : create profiles & schedule events (33 plugins included)
2) Tweaks : applying tweaks (97 tweaks included)
3) Probes : retrieve system info (44 probes included)
Here are some examples of what you can do...
- Set up profiles for your favorite settings
- Change ringtones at 9:00 Mon-Fri to one set of ringtones, and
evenings and weekends to a different set of ringtones
- Soft Reset at 3:00 AM every day
- Turn Bluetooth & Wifi on at 8:00 AM, Mon - Fri
- Clear you IE cache every night at 2:00 AM
- Turn Brightness up, but keyboard lights off at 7:00 AM
- Check an eBay auction every 15 minutes, display current bid on Today Screen
- Set a storage alert when your builtin flash storage drops below 1MB
- Leave yourself a Voice reminder for lunch at 11:45
- NEW: Use your Treo as a SpyCam, schedule a video recording in "stealth" mode"
That DOES sound pretty cool. I would imagine one of the skilled artisans here in the Kaiser world could take that and make it work.
Screenshot's?
The link is broken in the first post. You copied and pasted the abbreviated hyperlink
It would help your cause if you gave the working link
For those that are interested, here is ALOT more detail on Tweakster.
1.0 PLUGIN DETAILS
The plugins included are fairly simple in nature and intended to showcase what you
"can" do with Tweakster. Some of them are very useful, others are sorta lame, all of
them could be improved upon. By all means, I hope others will either improve upon this
or add to this collection to make it more useful.
Audio Play - Plays an audio file, currently scans the "\Windows" directory looking for
sound files. This can be changed by modifying AudioPlay.input.
Backup Folder - Will periodically zip up a folder and save the zip file in the specified
target directory. Currently these are specified via BackupFolder.ini
under [settings]. You can also configure how many backups to keep in the
target directory, in order to limit the number of backups, at which point
it will remove the oldest backup as it creates a new one. Note this is
not intended as a full-backup solution, please use one of the fine products
available for that. This is intended for periodic backup of notes, saved
text messages, etc.
Auto Dialer - Will call a number at the specified time. It cannot do much else because
I can't control sound while the call is connected, so it's only useful
as a wakeup call. Although one clever user added that this could be for
for voting on Americal Idol. Please use responsibly This requires
VJDialer from VJPhoneTools.
Battery Alert - Will alert you if battery drops below a certain percentage. Allows you to
set a higher threshold than the default of 10%, if you want to know sooner
rather than later.
Bluetooth Off - Does what it says, requires VJVolubilis.
Bluetooth On - Does what it says, requires VJVolubilis.
Brightness - Allows you to alter the brightness level. Note, even though the control
panel lets you set the brightness level to 0, this plugin will NOT allow
that setting because once it exits the control panel you would have no way
of figuring out how to put it back!!
Cleanup - Allows you to selectively clear the IECache, \Temp directory, or
\My Documents\temp directories.
Clear Call History - Does what it says, wipes out your call history.
Clock Radio - Sorty cheesy plugin, but cool at the same time. If you don't like the
techy alarms and prefer something more traditional, this may be for you.
It allows you to select a radio station (I preloaded a few, which you can
change by modifying ClockRadio.ini), and it wakes you up at the specified
time displaying a full-screen analog clock. The clock has an "exit" button,
and if you tap on the clockface, it will snooze for 10 minutes. This requires
an internet connection to work, so don't even bother if you don't have a
reliable connection.
Ebay Auction - Specify an ebay listing number, and it will display the current bid and
time remaining at the chosen interval in a message box.
Flash - Will flash the keyboard lights multiple times to get your attention. May be
useful if you want a visual alert, rather than an audible alert.
Keylight Off - Does what it says.
Keylight On - Does what it says.
Launcher - Launches an application or file is there is an associated handler with that
file type. You can type in file path and the arguments at the time of
configuration, or if configure Launcher.ini, it will take the file and
arguments from there. Note, there is a bug in MortScript that if you
bring up the "Alt" keys to select a "\", once you quit that it will send
a return key to Mortscript and you will never be able to type in the path!
Use the on-screen keyboard instead.
Memory Alert - Allows you to set a free memory threshold and once free memory dips below
that, it will bring up an alert notifying you. Note, this is not a real-time
memory monitor, it only checks when the plugin is scheduled. i.e.) every
15 minutes or whatever interval you choose.
Message Box - Type in some text, and a message box with that text will show up as a reminder
at the specified time.
NoDoze - Will keep the phone awake at the specified time, for the specified amount of
time, battery be damned. Use sparingly.
Note Reminder - Will bring up notepad and let you type in a note, or if you prefer you can
scribble your note, and it will bring it up at the scheduled time.
PhoneRadio Off- Does what it says, requires VJVolubilis.
PhoneRadio On - Does what it says, requires VJVolubilis.
Ringer Volume - Does what it says, speaker volume is set independently.
Ring Tones - Allows you to set the "known caller" ringtone, and the "unknown caller"
ringtones at the specified time. It will check the following directories:
\Windows, \Windows\Rings, and \My Documents\Rings. It has a limit of 96
files and it can be slow to bring up the selection dialog depending on how
many files there are, please be patient.
Soft Reset - Schedule a reboot at the specified time. There is a "cancel" message, that
will allow you up to 60 seconds to cancel before it reboots.
Speaker Volume- Does what it says, ringer volume is set independently.
Note, there is no "Call Volume" plugin yet.
Spy Cam - Schedule a video recording. You specify the number of minutes to record
and you Treo will automatically create a video recording. If you specify
"stealth" mode, the Treo screen will remain blank and appear to be off
when the recording takes place. If you have LEDup installed (another 3rd
party app), it will give you the option of blinking the green LED while
it is recording. Please make sure you have specified the "Storage Card"
as your save location in the camera app, otherwise you will run out of
storage very quickly. You will also need to disable Keyguard for this
plugin. And finally, another caveat is that there is no recorded audio
while in stealth mode, this is a bug that will hopefully be fixed soon.
As with the Autodialer plugin, please use responsibly
Stock Quote - Allows you to specify a space-separated list of stock symbols and will bring
up a message box with stock quotes at the scheduled interval. Currently
these must be specified at the time you configure the plugin, not from the
.ini file.
Storage Alert - Allows you to set a free storage threshold and once free storage dips below
that, it will bring up an alert notifying you. Note, this is not a real-time
storage monitor, it only checks when the plugin is scheduled. i.e.) every
15 minutes or whatever interval you choose. You can set thresholds for
builtin flash or a storage card.
Today Line - Display a short message on the Today screen by hijacking the Operator/Carrier
Name. You can choose from the following:
News Headline
Stock Quote
Weather Forecast
Battery Status
Storage Status
Memory Status
eBay Auction
Note, because of the limited amount of space, the amount of information that
can be displayed is minimal. Once again, this is not real-time, it is updated
as often at the plugin is scheduled. There is a lot of room for improvement
here, such as cycling through the various options.
Vibrate - Does what it says, nothing else.
Voice Reminder- Starts up notepad in recording mode and will let you record a voice note.
It will play the message at the specified time.
Wifi Off - Does what it says, requires VJVolubilis.
Wifi On - Does what it says, requires VJVolubilis.
Hi Martindhk and others,
Tweakster works fine on the Kaiser, just tested many of the tweaks.
Personally I don't like the Mortscript interface, but the tweaks and features of Tweakster might make it better than for instance KaiserTweak or Schaps AdvancedConfig, which both contain similar, other or the same tweaks as Tweakster...I guess someone is going to have to work through all applications and make one
Regards,
Nika.
I agree on your point. Have tried some of the plugins and they seem to work. Could be cool with a nice interface towards the plugin part and the possibility to address them to buttons instead of a schedule
maybe you could post how to actually use the application? thanks
From the "readme"
INSTALLING TWEAKSTER:
Unfortunately, there is no CAB installer yet, you will have to manually
install Tweakster. The following steps should get you up and running:
1) Install MortScript 4.0
http://www.sto-helit.de/index.php?module=download&action=view&entry=65
Note, please make sure you install 4.0 and not 4.01 since there are still
compatibility issues in 4.01 that Mort is working on.
2) Install Tweakster
- Unzip the Tweakster_v1.0_BETArXX.zip file on your PC. Copy the entire
"Tweakster" folder to your Treo under "\Program Files".
(Note: It can be installed anywhere if you prefer elsewhere, but please
install it on built-in flash memory rather than the storage card to
minimize any issues.)
- If you want Tweakster to show up under "Programs" from the Start Menu,
you will need to create a shortcut to "\Program Files\Tweakster\Tweakster.mscr"
and place the shortcut under "\Windows\Start Menu\Programs"
3) Install VJ utilities.
These utilities allow you to set bluetooth, wifi and phone state,
as well as use the Autodialer plugin. They aren't strictly required but
are recommended, especially if you intend on using Tweakster profiles.
VJVolubilis: http://www.vijay555.com/?Releases:VJVolubilis
VJPhoneTools: http://www.vijay555.com/?Releases:VJPhoneTools
For now, they must be installed in the default location.
Both MortScript and the VJ utilities are lightweight, stable and very well
tested. These applications are donation-ware, but if you feel these apps are
useful, you can visit the author's site and make a contribution.
4) To start up Tweakster, select "\Program Files\Tweakster\Tweakster.mscr" with
the file browser of your choice, or if you made a shortcut in the Programs
Folder, select the shortcut you place there..
PLUGINS:
For more information on the scheduling plugins and what they do, please see
"PLUGIN DETAILS" in the Details.txt attachment. If you want to know how to create
your own plugins, you can take a look at the example plugin scripts in the Templates
folder of Tweakster.
TWEAKS:
In general, you should use precautions when applying tweaks. This goes for
ANY tweaking program, you should make sure you have a full backup of your Treo
and have a backup of your registry before you start trying out tweaks. Some of
the tweaks require a soft-reset, so if the tweak is not immediately effective,
you may need to reboot. If you are not completely sure what the tweak does,
please do some research on the internet. Most of these tweaks are widely known
and you can find information on them at the following locations:
http://wiki.xda-developers.com/index.php?pagename=WM5_Tweaks_Other
http://wiki.xda-developers.com/index.php?pagename=WM5_Tweaks_Performance
http://www.pocketpctweaks.com/
http://www.spbsoftwarehouse.com/products/tipsandtricks/tweaks.html?en
http://discussion.treocentral.com/showthread.php?t=103438
Has anyone looked into the reason why PLUGINS are not working??
Martinhdk said:
From the "readme"
INSTALLING TWEAKSTER:
Unfortunately, there is no CAB installer yet, you will have to manually
install Tweakster. The following steps should get you up and running:
1) Install MortScript 4.0
http://www.sto-helit.de/index.php?module=download&action=view&entry=65
Note, please make sure you install 4.0 and not 4.01 since there are still
compatibility issues in 4.01 that Mort is working on.
2) Install Tweakster
- Unzip the Tweakster_v1.0_BETArXX.zip file on your PC. Copy the entire
"Tweakster" folder to your Treo under "\Program Files".
(Note: It can be installed anywhere if you prefer elsewhere, but please
install it on built-in flash memory rather than the storage card to
minimize any issues.)
- If you want Tweakster to show up under "Programs" from the Start Menu,
you will need to create a shortcut to "\Program Files\Tweakster\Tweakster.mscr"
and place the shortcut under "\Windows\Start Menu\Programs"
3) Install VJ utilities.
These utilities allow you to set bluetooth, wifi and phone state,
as well as use the Autodialer plugin. They aren't strictly required but
are recommended, especially if you intend on using Tweakster profiles.
VJVolubilis: http://www.vijay555.com/?Releases:VJVolubilis
VJPhoneTools: http://www.vijay555.com/?Releases:VJPhoneTools
For now, they must be installed in the default location.
Both MortScript and the VJ utilities are lightweight, stable and very well
tested. These applications are donation-ware, but if you feel these apps are
useful, you can visit the author's site and make a contribution.
4) To start up Tweakster, select "\Program Files\Tweakster\Tweakster.mscr" with
the file browser of your choice, or if you made a shortcut in the Programs
Folder, select the shortcut you place there..
PLUGINS:
For more information on the scheduling plugins and what they do, please see
"PLUGIN DETAILS" in the Details.txt attachment. If you want to know how to create
your own plugins, you can take a look at the example plugin scripts in the Templates
folder of Tweakster.
TWEAKS:
In general, you should use precautions when applying tweaks. This goes for
ANY tweaking program, you should make sure you have a full backup of your Treo
and have a backup of your registry before you start trying out tweaks. Some of
the tweaks require a soft-reset, so if the tweak is not immediately effective,
you may need to reboot. If you are not completely sure what the tweak does,
please do some research on the internet. Most of these tweaks are widely known
and you can find information on them at the following locations:
http://wiki.xda-developers.com/index.php?pagename=WM5_Tweaks_Other
http://wiki.xda-developers.com/index.php?pagename=WM5_Tweaks_Performance
http://www.pocketpctweaks.com/
http://www.spbsoftwarehouse.com/products/tipsandtricks/tweaks.html?en
http://discussion.treocentral.com/showthread.php?t=103438
Click to expand...
Click to collapse
thanks much. checking it out now.
Martinhdk said:
From the "readme"
INSTALLING TWEAKSTER:
Unfortunately, there is no CAB installer yet, you will have to manually
install Tweakster. The following steps should get you up and running:
1) Install MortScript 4.0
http://www.sto-helit.de/index.php?module=download&action=view&entry=65
Note, please make sure you install 4.0 and not 4.01 since there are still
compatibility issues in 4.01 that Mort is working on.
2) Install Tweakster
- Unzip the Tweakster_v1.0_BETArXX.zip file on your PC. Copy the entire
"Tweakster" folder to your Treo under "\Program Files".
(Note: It can be installed anywhere if you prefer elsewhere, but please
install it on built-in flash memory rather than the storage card to
minimize any issues.)
- If you want Tweakster to show up under "Programs" from the Start Menu,
you will need to create a shortcut to "\Program Files\Tweakster\Tweakster.mscr"
and place the shortcut under "\Windows\Start Menu\Programs"
3) Install VJ utilities.
These utilities allow you to set bluetooth, wifi and phone state,
as well as use the Autodialer plugin. They aren't strictly required but
are recommended, especially if you intend on using Tweakster profiles.
VJVolubilis: http://www.vijay555.com/?Releases:VJVolubilis
VJPhoneTools: http://www.vijay555.com/?Releases:VJPhoneTools
For now, they must be installed in the default location.
Both MortScript and the VJ utilities are lightweight, stable and very well
tested. These applications are donation-ware, but if you feel these apps are
useful, you can visit the author's site and make a contribution.
4) To start up Tweakster, select "\Program Files\Tweakster\Tweakster.mscr" with
the file browser of your choice, or if you made a shortcut in the Programs
Folder, select the shortcut you place there..
PLUGINS:
For more information on the scheduling plugins and what they do, please see
"PLUGIN DETAILS" in the Details.txt attachment. If you want to know how to create
your own plugins, you can take a look at the example plugin scripts in the Templates
folder of Tweakster.
TWEAKS:
In general, you should use precautions when applying tweaks. This goes for
ANY tweaking program, you should make sure you have a full backup of your Treo
and have a backup of your registry before you start trying out tweaks. Some of
the tweaks require a soft-reset, so if the tweak is not immediately effective,
you may need to reboot. If you are not completely sure what the tweak does,
please do some research on the internet. Most of these tweaks are widely known
and you can find information on them at the following locations:
http://wiki.xda-developers.com/index.php?pagename=WM5_Tweaks_Other
http://wiki.xda-developers.com/index.php?pagename=WM5_Tweaks_Performance
http://www.pocketpctweaks.com/
http://www.spbsoftwarehouse.com/products/tipsandtricks/tweaks.html?en
http://discussion.treocentral.com/showthread.php?t=103438
Click to expand...
Click to collapse
also, i dont see a "readme" file or details.txt file in the attachment or post.
SRY - was not part of first post..
Here it is..
The thing is that I cannot get the plugins to work. Tried to SPYCAM - ooohhh - but nope, it needs to be tweaked to fit our device, I guess...
Hi. I was able to get the plugins to work to a certain extent. However I have into two problems in using this script and wonder if anyone might be able to directed me to the solution.
1) When I run a profile of my settings, the program tells me - Error: Script file not found: ". (Quotation mark is the script file not found) It proceeds to run the script I selected from Vjay555 folder anyway after I acknowledge the error message. I tried to look for an extra quotation mark in the Tweakster script (I don't think it is the plugin script that is causing the problem), but I can't make heads or tails of it.
2) When I run the -radioon script, it will turn on my phone radio, but it will not connect to my wireless provider. I'm not sure what that would be the case. If I use the Comm Manager or if I use Battery Status taskbar to turn off the phone and turn it back on again, I will get the phone to connect to my wireless provider.
Can someone help me figure out how to work out these problems? Thanks.
UPDATE: I tried the scripts that were in the plug in folder and found that the scripts were causing the first error reading. The more troubling finding was that VJVolubilis may not work for my phone (8125) as described on
http://forum.xda-developers.com/showthread.php?t=255911&highlight=VJVolubilis.
What a bummer. Any suggestions on a fix? Thanks.
Hi C
Did you find any solutions?
Martinhdk said:
Hi C
Did you find any solutions?
Click to expand...
Click to collapse
No solutions, but I have a hint to one of the problems. I installed PPC Profiles Pro from Modaco.com and PocketZenPhone and got the same problem with the lack of network connection when the phone radio is toggled back on. This may suggest that the problem is with the Wizard or with WM5. I don't know how to solve that problem.
Curious D said:
No solutions, but I have a hint to one of the problems. I installed PPC Profiles Pro from Modaco.com and PocketZenPhone and got the same problem with the lack of network connection when the phone radio is toggled back on. This may suggest that the problem is with the Wizard or with WM5. I don't know how to solve that problem.
Click to expand...
Click to collapse
Did you get any succes with the other plugins??
Haven't wanted to pay for one if one was available for free. If I can get help in fixing the radio toggle problem, then I'll be happy with PPC Profiles Pro. I'm tempted to try Phone Alarm or PocketZenPhone 6.0 (the version I tried was version 4.5.1), but I had read some bad stuff that happened to other users phones with this program (while others liked it).
help me
any way to reset all my tweaks?
PocketZenPhone 6.02 works on my 8125. I don't know what is different between the two versions that allows it to work. If I can't get an answer within the next few weeks, I'll probably purchase the program.
fily1983 said:
any way to reset all my tweaks?
Click to expand...
Click to collapse
Which tweaks are you looking to reset?

Fix for GB getting mobile version of website despte desktop UA string

I've noticed since upgrading my Droid X to Gingerbread that many websites that were previously fooled by setting the User Agent (in Dolphin HD) to "desktop" are no longer fooled and can now detect that I'm on a mobile device. This can be quite irritating as the mobile version of many sites is horrible.
To see if this article pertains to you, if you're set for a desktop user agent string, go to http://www.bbc.co.uk and see if you get the mobile version of the page or the desktop version. If you get the mobile version despite your user agent setting, this hack may help you.
When this first happened to me I decided to find out how the sites were detecting the fact that I'm on a mobile device. Generally a website only knows what you tell it about yourself, and what you tell it about yourself is 100% in the HTTP headers your browser sends (or that get added by a proxy server if you use one). So the first logical place to look was to see what all headers the browser was sending. Note: for any who might object that it also knows things about you by your cookies, your cookies are actually sent as HTTP headers as well.
I have a CGI script on one of my web servers that I use to see what all headers my browser is passing. There are plenty such scripts/sites on the web -- here is a decent one (it's not mine) if you want to see what your browser sends. Examining the headers, one stuck out like a sore thumb:
Code:
HTTP_X_WAP_PROFILE='http://uaprof.vtext/com/mot/mb810/mb810.xml'
Geez, that's a pretty dead giveaway isn't it? I checked a phone running FroYo and it does not send that header, so that further confirms this is the header these sites use to detect me as a mobile (since they don't detect me as a mobile under FroYo and do under Gingerbread).
I then Googled HTTP_X_WAP_PROFILE and found numerous coding resources where they suggest looking to see if that header exists and/or is set to anything in order to detect mobile browsers. Bingo.
Great - so how to get rid of it? My first thought is that since the header is clearly identifying me as a Droid X (MB810), there has to be something in the phone that is providing the data. Since I observed that the header is present whether I access the net via WiFi or via 3G, that further confirmed that this is all happening in the phone and not being added by Verizon in transit.
The first sensible place to look was /system/build.prop. Turns out that the first sensible place to look was the right place to look as I found this line:
Code:
ro.mot.hw.uaprof='http://uaprof.vtext/com/mot/mb810/mb810.xml'
Well, that's about as perfect as you could ask for. Not knowing if the phone might be touchy about completely removing this setting, my first attempt was to change the line to read like this:
Code:
ro.mot.hw.uaprof=''
I found that you must reboot the phone for the setting to take effect (no real surprise there). Unfortunately, afterward, when I examined the headers being sent by the browser, they now contained this:
Code:
HTTP_X_WAP_PROFILE=''
With that setting, the various websites still detected me as a mobile browser (which you would expect). Next I tried changing the build.prop to this:
Code:
ro.mot.hw.uaprof=
* Note - there is nothing after the equal sign - not a space or anything, just a carrriage return.
This (pleasantly) resulted in the HTTP_X_WAP_PROFILE header being completely absent -- the ideal outcome. Happily, the various websites that were detecting me as a mobile no longer did. Success!
In the interest of being thorough, I tested just removing the ro.mot.hw.uaprof setting altogether (by commenting out the line). I figured that probably was not the best plan, but I wanted to see what would happen. When I did that, the following header was the result:
Code:
ro.mot.hw.uaprof='http://uaprof.motorola.com/phoneconfig/MotoMB200/profile/MotoMB200.rdf'
Interesting default value -- and of course I was again identifiable as a mobile device.
So, the fix for this is pretty simple. The exact property that needs to be modified in your build.prop would of course vary if you're not running a Motorola build, but I'd expect it to be readily identifiable. Of course you have to be rooted to do this, and of course you should make a backup copy of your build.prop before you modify it, and of course you should think about what your fallback recovery is going to be if you foul up your build.prop and end up in a boot loop or something. Can you boot into Recovery and then fix the file with ADB, etc. -- it all depends on how your phone is set up.
For those that like step-by-step, here's precisely what I did:
Open Root Explorer (or other "root aware" editor)
Navigate to /system
Mount system as R/W
Open build.prop in text editor
Find the ro.mot.hw.uaprof line
Put a # at the beginning of the existing line (to make it into a comment)
Insert a new line below the existing line that says "ro.mot.hw.uaprof=" (without the double quotes -- no characters after the equal sign)
Save and exit editor
Mount system as R/O
Reboot phone
By doing it this way I end up with a backup copy of the original string in case I want to easily put it back. Root explorer automatically saves the original build.prop as build.prop.bak, but if you're really cautious you might want to actually make a copy of the file to your SD card or something.
At this point, in Dolphin HD, with my user agent string set to Desktop, all of the web sites that had begun seeing me as a mobile device now serve the normal desktop page (as desired). If I want to see the mobile version (for some reason) I can just switch Dolphin HD back to Android mode (user agent string) and then I get the mobile version.
Hope this helps someone. Sorry it was so long -- almost everything I write up is.
P.S. If you do this successfully on a non-Motorola phone, post here and let others know.
firstly,, BIG THANKS
I am running a GB2.3.3build.596 P3D 2file root DroidX..
when i open ROOT EXPLORER in r/w mount and open the build.prop i can not type anything..and this mobile site only crap was the reason i took 2 days of forum reading at 3 forums before i went ahead and sbf'd back to froyo from a stock Verz 2.3.3GB to then root ,and then to install the 2 P3D files to have a .596 build GB rooted phone
any suggestions, maybe another editor ware? total newb

Hack to Enable full Flash for Any Website

I was able to work out a hack which will allow desktop level flash in the Surface browser, even on sites that are not approved by Microsoft. So if there is a site that you like, but flash doesn't work, because Microsoft hasn't deemed it worthy enough yet, here's a way to manually enable Flash. (For those who aren't aware - only Microsoft approved sites are allowed to use Flash - its not universal - a site apparently has to be approved and put on a list for Flash to work - basically Microsoft censors the content that you see based upon whether or not the site meets their "criteria")
This hack is for the desktop Surface browser, not the metro Surface browser.
The downside with this hack is that, so far it appears that it only works for one website at a time.
Major disclaimer that you've heard a million times before - Tinkering with the registry has its risks - If you screw something up don't blame me.
How to do it:
1. Start
2. Swipe up from bottom and Select: "All apps" on bottom right menu
3. Select: Command Prompt
4. type regedit at the cursor and press enter
5. User account control appears - Do you want program to make changes - Yes
6. Path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer
7. Make Sure "Internet Explorer" is selected then go to "Edit" and Select "New" and "Key" from the menu that appears.
8. The New Yellow Key folder will appear on the file tree - name it: Flash
9. If you click View and Refresh, the new Key "Flash" should be just below "Feed Discovery" in the tree.
10. Make sure your new key "Flash" is selected (the only assigned value at this point will read: "Default")
11. Now go to Edit/New and select "String Value" Name the new value DebugDomain
10. Double Click the new string value. Edit box will open. In the field: "Value Data" put the domain of your website for example "www.myflashcrippledsite.com"
11. Click OK Close Regedit and your done.
12. In the Desktop Browser Make sure the setting ActiveX Filtering is unchecked. (Right side of browser where there are the Home, Favorites and Gear icons - select the little round Gear (tools icon) and then Safety and then uncheck ActiveX Filtering
View attachment 1439531
Now try browsing your site -might have to restart the browser or refresh your page - its worked for me without a restart of the computer but you might need to restart the Surface itself (Right swipe, Settings, Power, Restart.)
If you have problems, make sure you use the right domain for your website for example www.microsoft.com not http//www.microsoft.com
Also remember this works in the Desktop version of the browser not the metro version accessed from the Start screen.
And like I said above, make sure you don't forget to uncheck "ActiveX Filtering" or Flash still won't work.
For now, to view another site, you need to change the DebugDomain value to the domain of your new site - pretty quick once the key has been made, and shouldn't require a restart of the computer. Tomorrow I'll see if there's a way to put multiple DebugDomain keys.
Sorry if this is unclear, I just figured this out then typed it at 2:30 in the morning. I've tested it on a couple of sites with success. But this is still very experimental, haven't done much testing as its too late - more tomorrow.
But I'm simultaneously thrilled and annoyed at this - because after seeing how well flash works on many crippled sites, it makes me really angry that this function isn't on by default and I have to jump through ridiculous hoops just to get flash to work.
Awesome, have a script!
Works for me with just a page reload; thanks!
I wrote some scripts to automate this (scripting being the easiest way to do third-party code on Windows RT); see the attached file. You'll either need to run the EnableFlash script as Admin every time, or run the SetFlashRegPerms script as Admin just once first. If you put the EnableFlash script in a location that is in your PATH, you can easily launch it from any cmd or Powershell prompt.
I love Love LOVE that Windows RT can be scripted, and that people can run stuff as Admin so easily.
Dear all, I have just found a better solution to this problem.
See the thread here: http://forum.xda-developers.com/showthread.php?p=33414039#post33414039
This works on all websites you manually add, as many as you would like without the hassle of going trough the registry.
Wow I go to bed at 3:00 AM and by breakfast there's already a script for my solution as well as an alternative solution - gotta love XDA.
Thank you GoodDayToDie and Marvin_S for responding so quickly. I noticed Marvin_S started a new thread to fully explore enabling flash by editing the whitelist - sounds like a good alternative.
I feel much more positive about the Surface now - Lack of Flash support was one of the biggest negatives for this device and it was really bothering me.
And its nice to see that we have easy control over the OS in terms of changes and improvements - a big plus and bodes well for the Surface's future.

[Guide] Multi User Setup for Kitkat 4.4.4 (for noobs)

This tutorial will show you how to setup your device as admin and configure other user profiles (this is important when you're not the owner). Your device maker disabled multiuser functionality in Kitkat, like on my Lenovo Tab 2 A10-70L? - then this for you. At least, that's where this procedure is tested on. Afaik, this should work on Lollipop too. But will it work for your device? - No clue, you tell us!
Basically it's an accumulation of what I've read here (thanks again) and my personal experience as a noob myself.
So far, this guide is incomplete and I'm hoping for some pro tipps to perfect it. Please help me sort out the unclear parts highlighted in red and I'll update this post accordingly. The sooner the better, because this actually is not my device and someday soon I'll have to pass it over to my mom since it's my present to her, I'm only setting this slab up...
Preconditions:
Android treats the first account created as "owner". Only owner will have root privileges if installed accordingly (=admin).
Root permission and a file manager (e.g. ES File Explorer) are required for this fix so go get that first. For the Lenovo Tab 2 A10-70L, I followed this beautiful guide, besides that, I can't help much here.
Unable/uninstall all bloatware (I was adventurous with Titanium Backup with no probs so far, but some crap remained from looking at new user folders; still in search of a vendor/device-specific "save to remove" list)
Install ALL apps you and the other users suppesdly need. This will avoid the need to redownload and reinstall all the apps for each and every user wasting storage. Think thrice, usually it'll be more than desired, but better you do it instead of a DAU... Each user will be able to install apps later though. Full control over user restrictions can be applied for "guest profile" only.
Steps:
In file explorer, go to /system/ and open build.prop
Check if you have anything like the below text (you shouldn't, otherwise edit accordingly) and add these lines at the end of it:
Code:
# Multi Users
fw.max_users=[COLOR="DarkGreen"]X[/COLOR]
fw.show_multiuserui=1
Replace X with your desired digit (up to 7?)
(I've read somewhere that 7 users is maximum that system can handle, but I haven't tried)
Save, reboot and log in as "owner" (your profile)
Go to Settings>Device and say hello to new item "Users"
Create new users and/or a guest profile (important: write down the order in which you created them!)
All new user profiles are now shown as "new user" no matter what you wrote in the profile properties (only guest will be shown as "guest"). Mind you, this also applies for the lockscreen!
In file explorer, go to /data/system/users/ to find your users' folders containing some system files (what exactly?) Now guess what - the order of the numbered folders and #.xml files match the order you created them. "0" is you, the owner.
Open each .xml file and replace "Owner" with "Your Name" and "New user" with "Username"
Put the device to sleep, trigger lockscreen and log in to each user profile and
Pull down shortcut menu from top right and enable autorotate
Go to Settings>Users>Security, check all settings and note each unlock-code
Disable background services like sync, location, etc. that could potentionally drain battery where applicable
Rinse & repeat 8) for all new profiles
Install "Multi-User App Share" and set apps per user. (Or is there a newer app or more hackish approach without the need for xposed or compiling stuff etc.?)
= DONE =
If you want the user icon in status bar, follow http://forum.xda-developers.com/gal...-users-mod-t3017782/post58659868#post58659868 (haven't tried that ).
Well... build.prop fixes are working, at least for me. It's good alternative to multi-user app from Xposed (we don't want to use Xposed too much...).
Still tried with decompiling & compiling framework for fixing icon problem, and... in framework-res there is not status_bar_expanded_header.xml file, se we are in deep ****.
I am working on: LP

How To - Load full desktop websites permanently in Chrome for Android

-
Welcome to the permanent desktop mode for chrome on android thread, previously I had been posting my work on the back of an older thread from 2012, but as the op had long abandoned it, i have decided to make my own thread so its less confusing for users to find the current version.
The boring part:
Firstly with android N (and i assume all future versions, this is the case with O) because of selinux permissions chrome can no longer read from /data/local however the fix for this is simple (rather than messing with selinux) this location needs to be changed to /data/local/tmp which it can read.
However this is also not the end of the story, it appears recent versions of chrome and chromium wont actually even attempt to use the file (command line options) unless your running in debug mode.. most roms are not set as debug builds, however the fix for this is simple, in developer options set chrome into debug mode.
Only google knows why they cant just let us have a permanent destkop mode on chrome for android after all this time, its an insane stance to take for so long.
References:
1. Change of location for file, here and here
2. Change to requiring debugging application, here
How to make it work:
1. Installing the chrome command line file
Use one of the attached flash'able zips (attached below) and flash with recovery, this is the far easier way to install it.
Alternatively you can deploy manually with a root file explorer (and set permissions of the file to 755), the file must be placed into /data/local/tmp/.
Finally if you dont have root you can use the attached txt file and then follow the adb instructions at this post (adjusting the location to /data/local/tmp), eg:
adb push chrome-command-line /data/local/tmp/chrome-command-line
*Note : If your using the manual deploy using a root file explorer or the adb method above, you will need to manually adjust the scale factor in the below text file and also rename it from "chrome-command-line.txt" to become "chrome-command-line" (obviously sans quote marks).
2. Turning on developer options and setting chrome debug mode
Enable developer options, open developer options menu under settings and scroll down until you see "select debugging app", select it and select chrome, next ensure that the option below "wait for debugger" is set to off.
If however you discover the debugging app does not have chrome (or anything else) and just says none, you can still enable this over adb, first enable usb debugging and then run the command:
adb shell am set-debug-app --persistent com.android.chrome
After this chrome will be set into debugging mode, you can confirm this by entering the developer options menu again and you should now see chrome is now set.
3. Forcing zoom
In chrome go into the settings menu, then accessibility, and then at the bottom select "force enable zoom".
4. Restarting chrome
Close chrome (fully, ie kill application) and relaunch and enjoy desktop mode.
Note: Ive set the user agent to the latest build of chrome for Linux, so your going to need to adjust this if you want to impersonate another browser.
5. Scale Factors
*IMPORTANT UPDATE* - Since the June 2018 build of chrome for android it appears they have made a fairly major change of how the android app decides which interface (tab switching) method is used, ie phone or tablet (ie similar to desktop chrome). Previously if you were on a phone you could set the scale factor to what ever you wanted and would still always get the mobile interface, however now it appears to make this decision after taking force-device-scale-factor into account. So if you set the force device scale factor to a number thats to low your going to end up with the tabbed tablet interface, some users may love this, but if your not one of these people your only choice at this stage is to increase the scale factor number until you get the mobile interface again. The other change here is previously scale factors needed to be in 0.25 increments, it does appear that now it will accept x.xx,so any faction. This means you can now fine tune things a little more to get a larger view port but keep the mobile interface (tab switching method).
Years ago when i started to use this mod, there was no need to use a scale factor, but as our devices have started to have ever increasing resolution on smaller screens, it a worth while way to make things easier to read on the smaller screens, whilst still getting desktop mode on websites.
Some websites will decide what version you get only by your user agent, however a lot of websites now (wordpress sites for example), do this either or also by looking at the available view port size (typically the width). So whilst using scale factor is a great idea for reducing the amount you need to zoom, set it to high and your still going to get the mobile version. You may also find that in portrait mode you will still get a mobile version of a website due to the restricted width, however the increased width in landscape mode should allow you to get the desktop version still.
So what scale factor should you use, the below is a rough guide:
Resolutions below 720p - Use a scale factor of 1 or maybe upto 1.25, but your most likely going to see mobile version of websites with 1.5 or above.
Resolutions of 1080p - Use a scale factor of 1.5, 1.75 or 2, with a scale factor of 2 most websites will give you a desktop version, but you may find if you hold your device in portrait that you get the mobile version due to the width of the view port.
Resolutions above 1080p, i would use a scale factor of 1.75 to 2 or maybe even higher if you have a 4k screen.
But bear in mind the scale factor is very subjective, a 5" phone with a 1080p screen is not the same as 10" tablet with 1080p, my advice is try something from the above suggestions and see what works for you, scale factors will accept whole or 1/4 numbers (so in 0.25 increments). The higher the scale factor the larger things will be, essentially if you had say a view port width of 1000 and you used a scale factor of 2, your view port is now 500, but as your screen has not shrunk, stuff is basically displayed as if you have a lower resolution screen, (but you dont) so essentially stuff appears bigger.
Personally I use a scale factor of 1.85, which on a 1080p 5" based device, if i go lower than 1.8 i will get lose the mobile tab switching method and get the tablet tab switching method/interface.
Note: This method also has been tested and works with Chromium, Chrome Beta, Chrome Dev, Chrome Canary, set any one of these a the debug app and they will instead read the command line file.
*** Reserved ***
I was using this on Android O for a while then I realized I could no longer utilize the Google app. I use that to get my news feed. Google now almost exclusively uses amp which reroutes all webpages thru Google's servers to help expedite page loading. Unfortunately amp pages don't load in desktop mode. I wish they did because I love using chrome desktop mode full time.
Hi bsg411, we had discussed your issue on the old thread, its hardly a surprise that when chrome is forced into desktop mode that an accelerated mobile page has an issue, as avoiding mobile pages is exactly what the change does, desktop chrome on the pc or mac wont view amp pages unless your using the developers tab or a plugin.
However as we discussed before, you can get both desktop mode and deal with amp pages (mobile mode) would to use a two browser solution, and to use chrome beta, dev, canary or chromium for amp pages or for desktop pages and then normal chrome for the opposite setup. Its likely you will need to set which ever browser that gets the amp feed as your default browser (or clear preferences and deal with being asked on each click). But this way you can still have a chrome... based desktop and amp browser.
*Update: However i think ive just found another way to make this work...
Open the main Google app, then open the settings pane, select accounts and privacy, and then at the bottom of the page uncheck "Open webpage in the Google app."
This will make the Google app open the links in your default browser, instead of a custom tab in the Google app. The only small side effect is you will may have a pre-page with a redirect notice, but click that and you get the full desktop news web page.
Tested it from the google assistant and the google app and it works in both.
I have an opposite request.
I'm using Chrome on a 1920x1209 8" tablet (Lenovo tab3 8 plus). I want to use Chrome in "mobile phone" mode rather than "tablet mode". It's there any back to do this.
Thanks
Kiwi
---------- Post added at 01:16 AM ---------- Previous post was at 01:15 AM ----------
I have an opposite request.
I'm using Chrome on a 1920x1209 8" tablet (Lenovo tab3 8 plus). I want to use Chrome in "mobile phone" mode rather than "tablet mode". It's there any back to do this.
Thanks
Kiwi
@kiwijunglist The only major difference between phone mode and tablet mode is in tablet mode you get tabs, sadly there is no way that ive seen to disable this and i suspect it is set by the build prop stating its a tablet (i believe, i could be wrong).
However if your issue is that you would just like stuff larger due to the fact your running at a higher resolution you should be able to use this method, You could technically omit the user agent part and just include "--force-device-scale-factor=x", with x being your desired scale factor. However your going to want to play with this to find something that renders as you want, a good start might be "--force-device-scale-factor=2" other than adjusting this in the command line file, the rest of the instructions will be the same depending on if your rooted or not.
Where as some websites do look at the user agent to serve different versions, some websites (typically wordpress) instead give you different views based on the screen real estate.
If you read here:
https://developer.chrome.com/multidevice/user-agent#chrome_for_android_user_agent
You will see that the only real difference between the two is a mobile will say "Mobile Safari/BUILDNO" where as a tablet will say "Safari/BUILDNO", so you could also include your user agent and then add in mobile and a space before safari.
To get your current user agent on the tablet visit this page on it before you start:
https://www.whoishostingthis.com/tools/user-agent/
Copy and paste it some place and then adjust the command line file to include your user agent + the word mobile before safari.
If you dont want to adjust the scale factor, just leave it out or set it to 1, which essentially does the same.
I would also be interested to know if making this adjustment then also hides the tabs at the top, i have to admit it something that ive not tried and have always assumed it decided this based on the buildprop, but it would be interesting to know if the user agent change has any effect on it, however i suspect it does not as i have this running on a tablet and whilst i get desktop mode, i still get tabs like on desktop chrome.
If your struggling post back your user agent as it stand as the moment, let me know if you want to up the scale factor (effectively text size for a simple explanation) and i will create you a custom command line file to use.
Thanks. I'll have a read through your post and reply and let you know.
I'm the interim this is my user agent at present.
Mozilla/5.0 (Linux; Android 8.0.0; MI 6 Build/OPR1.170623.027) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.126 Mobile Safari/537.36
Looks like you already have mobile in there so your command line file would need:
chrome --user-agent="Mozilla/5.0 (Linux; Android 8.0.0; MI 6 Build/OPR1.170623.027) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.126 Mobile Safari/537.36" --force-device-scale-factor=2
As i said you may need to adjust your scale factor, however if your goal is to make every thing a bit larger and effectively trick wordpress type websites into giving you a more mobile view, 2 is probably a good start, you will have to have a play.
Thanks, this looks really useful
works great, thank you!!!
Perfect for using on my Planet Computers Gemini PDA. Made this so much more like a mini-laptop now, thank you!
This is awesome, I did it in a non-rooted nexus 5 but used chrome canary instead to not affect my regular chrome experience.
The only difference was the following command:
adb shell am set-debug-app --persistent com.chrome.canary
Click to expand...
Click to collapse
https://forum.xda-developers.com/android/general/how-to-load-desktop-websites-t3771982
Enable developer options, open developer options menu under settings and scroll down until you see "select debugging app", select it and select chrome, next ensure that the option below "wait for debugger" is set to off.
If however you discover the debugging app does not have chrome (or anything else) and just says none, you can still enable this over adb, first enable usb debugging and then run the command:
adb shell am set-debug-app --persistent com.android.chrome
After this chrome will be set into debugging mode, you can confirm this by entering the developer options menu again and you should now see chrome is now set.
Click to expand...
Click to collapse
after following the instructions faithfully above, going to "select debugging app", it still results: "No apps set for debugging"
However, in "Implementing WebView" Chrome is selected.
Samsung galaxy tab S3 Oreo 8.0
Thank you so much! This worked well without root.
kRel said:
https://forum.xda-developers.com/android/general/how-to-load-desktop-websites-t3771982
after following the instructions faithfully above, going to "select debugging app", it still results: "No apps set for debugging"
However, in "Implementing WebView" Chrome is selected.
Samsung galaxy tab S3 Oreo 8.0
Click to expand...
Click to collapse
after running the command you will see that chrome is already selected under "select debugging app" as a small message
"application to be debugged: chrome"
if you press on it to select an app it will show you "no apps"
this method works nicely and better than the previous method that i was using which was showing me warning message with every new tab that i open.
the only down side of changing the scale for me is the small address bar which is a bit annoying especially in portrait mode.
lowering the scale will make some sites to appear in mobile mode which i dont like.
but i will manage and try to find a solution for this issue and report back
Debug mode not needed? Just set permissions
I didn't need to use debug mode to get it to read /data/local/chrome-command-line. Just had to give the file read permissions (644 was enough). Also make sure the file starts with "chrome ".
i flashed the zip but im having the same problem i.e. chrome doesnt show up in select debug app... im on a moto g5s plus and have an unofficial pixel experience 9 rom
---------- Post added at 06:08 PM ---------- Previous post was at 05:56 PM ----------
andrewspetaci said:
i flashed the zip but im having the same problem i.e. chrome doesnt show up in select debug app... im on a moto g5s plus and have an unofficial pixel experience 9 rom
Click to expand...
Click to collapse
okay i found the solution myself... paste that debug file in /data/local instead of /data/local/tmp and u should be good ?
I'm just about to attempt it on my Gemini PDA too
it is awesome, my two tablet(huawei m5 and pixel c) work well
Did some testing with this. It is a mix of force-device-scale-factor and user-agent.
Some sites check your UA and some your screen size (scale).
--force-device-scale-factor=x.x
< 1.5 always loads pages like PC
> 1.6 always loads pages like Mobile
>2 uses no tabs, like phone (can combine with --enable-accessibility-tab-switcher)
<2 always tabs, like tablet
Playing with the scale sometimes need you to adjust font scale in Accessibility settings
Content of the chrome-command-line (1280x1920):
Code:
chrome --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36" --force-device-scale-factor=1.5 --top-controls-hide-threshold=0.5 --top-controls-show-threshold=0.5 --no-referrers --disable-notifications --enable-async-dns --enable-vulkan
For NON Rooted devices:
adb push chrome-command-line /data/local/tmp
adb shell chmod 755 /data/local/tmp/chrome-command-line
type this in chrome: chrome://flags#enable-command-line-on-non-rooted-devices and enable
(you get a warning that it is activated!)
For Root devices:
adb push chrome-command-line /data/local/tmp
adb shell
su
mv /data/local/tmp/chrome-command-line /data/local/
chmod 755 /data/local/chrome-command-line
Command line options from Chrome Browser java code:
Code:
enable-crash-reporter-for-testing
enable-idle-tracing
renderer-wait-for-java-debugger
trace-startup
enable-test-intents
force-show-update-menu-badge
disable-fullscreen
top-controls-hide-threshold
top-controls-show-threshold
open-custom-tabs-in-new-task
no-touch-mode
enable-vr-shell-dev
disable-contextual-search
enable-contextual-search
webview-sandboxed-renderer
enable-incognito-custom-tabs
allow-incognito-custom-tabs-from-third-party
enable-accessibility-tab-switcher
enable-dom-distiller
disable-reader-mode-bottom-bar
webview-disable-safebrowsing-support
enable-spdy-proxy-auth
disable-external-intent-requests
force-dump-upload
disable-fre First Run Experience
force-first-run-flow-complete
enable-data-reduction-promo-infobar
enable-data-reduction-proxy-savings-promo
type
strict-mode
disable-domain-reliability
always-extract-webapk-dex-on-startup
survey_override_site_id
force-enable-chrome-survey
disable-instant
ignore-background-tasks
use-mobile-user-agent
force-device-scale-factor= <1.56 loads PC style pages, with tabs, set text to 150%! >2 uses no tabs like phone
webview-safebrowsing-block-all-resources
wallet-service-use-sandbox
enable_partner_search_engine_promo
enable_existing_user_search_engine_promo
webview-sandboxed-renderer
default-country-code
enable-low-end-device-mode
disable-low-end-device-mode
log-native-library-residency
dont-crash-on-view-main-intents
no-restore-state
enable-incognito-snapshots-in-android-recents
enable-test-intents
disable-digital-asset-link-verification-for-url
custom-tabs-log-service-requests
partner-homepage-for-testing
disable-tab-merging
check-for-web-manifest-update-on-startup
Command line options from Chrome Browser lib file:
https://peter.sh/experiments/chromium-command-line-switches/
Have fun

Categories

Resources