Browser Hints

Browser Hints

Optimize your browsing experience

The web browser is a tool used by most people all day. Optimizing it for better performance or usability can provide major benefits. This page provides solutions and links for just this purpose.

Please read the disclaimer before proceeding. We review and update guided solutions like this regularly. If you have suggestions or requests, please write support@kfocus.org.

General Hints

Browser Scaling: Sometimes, GTK apps like Google Chrome or Firefox will not scale like the rest of the UI. If this affects your system, see the workaround found in the External Displays Guided Solution.

Printing: See Printing which discusses interfaces for browsers.

Google Chrome

Google ChromeIntel Graphics: Some people have seen Google Chrome present corrupt graphics, especially around text on certain web pages. However, most pages are unaffected. This is an Intel Graphics (i915 iGPU) issue, 11th-gen CPUs and later. See GPU Select for complete resolution.

System titlebars: We prefer standard titlebars on Chrome, and this should be set by default. Use Chrome Menu (TR) > Appearance and then select Use QT theme at the top (if this is not available, use the GTK theme instead). Then enable [x] Use system titlebars and borders near the bottom.

Firefox

FirefoxFirefox as a Snap: Ubuntu started distributing Firefox a snap package starting in 22.04. This usually works fine, however, there are some situations where one may need to use the normal Debian package. If this is the case, we suggest using the official Mozilla PPA as described here. The steps are below:

# Run as root sudo -i # Remove firefox snap snap remove --purge firefox # Add repo add-apt-repository ppa:mozillateam/ppa # Add pin echo ' Package: * Pin: release o=LP-PPA-mozillateam Pin-Priority: 1001 ' > tee /etc/apt/preferences.d/mozilla-firefox # Unattended upgrades for firefox are probably not needed # so this step in the guide was skipped apt install firefox exit

KeePassXC Plugin: See Passwords for detail on using KeePassXC with your browser. If you want with to work with Firefox, you either will need to use a snap workaround, or install the non-snap version as described above.

System titlebars: We prefer standard titlebars on Firefox. Right-click on the toolbar or tab barand select “Customize Toolbar…” option. It'll open toolbar customize window. Now look for “Title Bar” checkbox option present at the bottom-left corner of the window and enable it.

VIM Text Editing in the Browser

If you love all things VIM, click here to learn about Wasavi. We found it can provide a huge productivity boost. This is easy to install as a single web extension which can be synced to wherever you login to your browser. The following example exrc content can provide some nice defaults. Set this using Menu > Extensions > Manage Extensions > Wasavi Details > Extension Options:

"exrc for wasavi " Set line number set nu " map ;k to remove trailing space map ;k :%s?s\+$??g<CR> " map clipboard paste to ctrl+shift+v map! <c-V> <c-r>* " map clipboard copy to ctrl+shift+c map! <c-C> "*y " Set whitespace set et sw=2 ts=2 set ai

Wasavi has a few limitations. First, it is only available for Chrome-based browsers and was last updated in 2019. Second, it does not use your own VIM settings and syntax highlighting, but instead only provides a limited (but useful) subset. Finally, you must remember to type :wq to save any edits to the text field.

If you tried Wasavi and want to go use all your VIM-foo, then you could click here to try Firenvim. This tool brings your entire NeoVIM capability into your browser using the same settings, macros, and syntax highlighting as in the terminal. It is also actively maintained and possibly more secure.

Be aware, however, that setting up Firenvim takes more patience, skill, and time. In addition, your configuration is tied to a specific machine. Also, if you use it with Firefox, you will need to install a non-snap version. We have confirmed it works well with Chrome.

See Newsletter 2023-07-03 for more detail.

Revisions

This is a partial revision history. See the git repository for all entries.

Disclaimer

We try hard to provide a useful solution validated by professionals. However, we cannot anticipate every situation, and therefore cannot guarantee this procedure will work for your needs. Always backup your data and test the solution to determine the correct procedure for you.

THIS SOLUTION IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOLUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

KFocus Logo