]> git.armaanb.net Git - chorizo.git/blobdiff - README
Rename web_extensions to web-extensions
[chorizo.git] / README
diff --git a/README b/README
index 9f69486e81c941243a2a1c1e52837d19e0e098d4..373d692a0d7d09a965c3f75a23f2b5303f044a87 100644 (file)
--- a/README
+++ b/README
+        _                _
+    ___| |__   ___  _ __(_)_______
+   / __| '_ \ / _ \| '__| |_  / _ \
+  | (__| | | | (_) | |  | |/ / (_) |
+   \___|_| |_|\___/|_|  |_/___\___/
+  https://sr.ht/~armaan/chorizo
 
-                               ==========
-                                 lariza
-                               ==========
-
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 A simple web browser using GTK+ 3, GLib and WebKit2GTK+.
 
 Features:
-
     - A WebKit2 viewport
-    - An input box to change the URI or to search the current page
-    - Built-in launching of suckless' tabbed
+    - An input box to change the URI, search the current page, or
+      search the web
+    - Tab management
+    - Full keyboard control
+    - An ini configuration file
     - Built-in download manager
-    - Optimized hotkeys: Left hand on keyboard, right hand on mouse
-    - Keyword based searching: Opening "wi foo" will search wikipedia
+    - Web feeds indicator
     - Global content zoom
     - Cooperative instances using FIFOs
-    - Support for Java
-
-
-==============================================
-IMPORTANT: Current state of the WebKit2 branch
-==============================================
-
-WebKit1 is essentially dead. Sooner or later, we have to jump to
-WebKit2. See also:
-
-http://blogs.igalia.com/carlosgc/2014/08/01/webkitgtk-2-5-1-good-bye-webkit1/
-
-There's a number of issues on this branch:
-
-    - No adblock support. As stated in commit f1174ff, this has to be
-      implemented as a "WebKit2 web extension". Maybe do this in a
-      project of its own?
-    - Java appears to work but Flash looks very broken. In fact, there's
-      a number of crashes of "WebKitPluginProcess2" when pages using
-      Flash are opened.
-    - "View source" mode is not yet ported. This feature has been
-      removed from WebKit2, so we have to invent some way to re-create
-      this...
-    - There's an annoying border around the WebView widget.
-    - There may be a hell lot of other issues that I have not yet
-      encountered.
-
-However, important issues of the original WebKit1 lariza have been
-fixed:
-
-    - Those pages that crash all WebKit1 browsers do work now.
-    - The "back" button works reliably.
-
-
-==============
-About the name
-==============
-
-"lariza" stems from a german sentence:
-
-    Alle anderen waren mir zu anstrengend.
-     l   a         r    i  z  a
-
-That phrase basically means: "It was too tiresome to deal with any other
-browser." I couldn't find a simple browser that does just what I need.
-Most of them are utterly bloated, others lack essential functions. Thus,
-I was forced to write scripts and tools and stuff to deal with these
-issues. That is what was tiresome. I don't want to work around bugs or
-nonsensical behavior anymore.
-
-So, I wrote my own browser^W WebKit GUI. WebKit does all the dirty work.
-
-
-================================
-What lariza is and what it's not
-================================
-
-lariza does what I need. It won't do other things. I'm open for pull
-requests but please don't be upset if I turn them down -- which might
-happen if it's a feature that I simply don't need.
-
-Especially, it's very likely that lariza will never have a "follow
-mode" like dwb, luakit or others have. I've used these browsers for
-quite some time and I've also used Firefox extensions that add a "follow
-mode". The point is, "follow mode" doesn't work anymore. This was a good
-thing ten years ago. Today, a lot of websites make heavy use of
-JavaScript or hovering. You NEED some kind of pointing device. I found
-using "follow mode" to be very frustrating today, because you still have
-to reach for the mouse all the time. So, you might as well just optimize
-your mousing workflow.
-
-lariza does not compete with powerful browsers like dwb or luakit, nor
-with monstrous applications like Firefox or Chromium. lariza won't have
-persistent storage, nor a plugin system, nor cloud sync, nor bookmarks.
-
-lariza tries not to exceed 1000 lines of code.
-
-That being said, this kind of minimalism is not for everyone. If you're
-looking for more features (and a more open feature policy), then you
-might want to check out okraits' fork:
-
-    https://github.com/okraits/lariza/
-
-
-========================
-Using lariza with tabbed
-========================
-
-By default, lariza automatically launches an instance of suckless'
-tabbed.
-
-You can turn this feature off (see command line arguments) or you can
-specify a command line argument to embed lariza in an arbitrary
-container (XEMBED). Note that lariza will also automatically embed new
-windows in the same container.
-
-When using the automatically launched tabbed instance, you can't use
-tabbed's Ctrl + Shift + Return hotkey. This is because tabbed is
-launched with "-d", so it knows nothing about lariza. However, lariza
-provides its own hotkey to launch a new window which will be embedded in
-the same instance of tabbed.
-
-
-=======
-Hotkeys
-=======
-
-Main windows
-
-    When the WebKit viewport is focused:
-
-        Mod1 + q
-            Close the current window.
-
-        Mod1 + w
-            Go to your "homepage". See the environment variable
-            $LARIZA_HOME_URI.
-
-        Mod1 + e
-            Open a new window.
-
-        Mod1 + r
-            Reload the current page.
-
-        Mod1 + d
-            Open the download manager.
-
-        Mod1 + l
-            Focus the location bar.
-
-        Mod1 + k
-            Focus the location bar and set its text to "/", allowing you
-            to easily initiate a search.
-
-        Mod1 + 2  or  Mod1 + n
-            Repeat the last search (forward).
-
-        Mod1 + 3
-            Repeat the last search (backward).
-
-        Escape
-            Stop loading.
-
-        Middle mouse
-            Open the link under the pointer in a new window.
-
-        Backward / forward (mouse keys 8 and 9)
-            Does the obvious.
-
-        Mod1 + Scroll up  or  Ctrl + Scroll up
-            Increase zoom level of the current page.
-
-        Mod1 + Scroll down  or  Ctrl + Scroll down
-            Decrase zoom level of the current page.
-
-        Mod1 + Scroll horizontally  or  Ctrl + Scroll horizontally
-            Reset zoom to $LARIZA_ZOOM.
-
-
-    When the location bar is focused:
-
-        Mod1 + q
-            Close the current window.
-
-        Mod1 + d
-            Open the download manager.
-
-        Mod1 + r
-            Reload the current page.
-
-        Mod1 + k
-            Reset the content of the location bar to "/".
-
-        Escape
-            Reset the content of the location bar to the current URI.
-
-        Return
-            "Commit", i.e. begin searching, do a keyword based search or
-            open the URI.
-
-
-Download manager
-
-    Mod1 + d
-        Close the download manager (downloads are not aborted).
-
-
-======================
-Command line arguments
-======================
-
-Usage:
-
-    lariza [OPTION]... [URI]...
-
-In addition to the standard arguments of GTK+ 2, lariza knows about the
-following options:
-
-    -e <wid>
-        Embeds the main window and all newly created windows in the
-        window specified by <wid>. The download manager is always a
-        "popup".
-
-    -C
-        Disables cooperative instances.
-
-    -T
-        Disables automatic launching of suckless' tabbed.
-
-After these options there can be any number of URIs. If no URIs are
-given, $LARIZA_HOME_URI will be opened.
-
-
-=====================
-Environment variables
-=====================
-
-In addition to the standard variables of GTK+ 2, lariza knows about the
-following environment variables:
-
-    LARIZA_ACCEPTED_LANGUAGE
-        In HTTP requests, WebKit sets the "Accepted-Language" header to
-        this value. Defaults to "en-US".
-
-    LARIZA_DOWNLOAD_DIR
-        All downloads are automatically stored in this directory.
-        Defaults to "/tmp".
-
-    LARIZA_FIFO_SUFFIX
-        Cooperative instances are implemented using a named pipe in the
-        file system. The name of this pipe usually is (at least on
-        modern systems following XDG "standards"):
-
-            /var/run/user/$UID/lariza.fifo-$LARIZA_FIFO_SUFFIX
-
-        $UID is the id of your user. $LARIZA_FIFO_SUFFIX defaults to
-        "main". If you change this variable, you can launch several
-        independent cooperative instances of lariza.
-
-    LARIZA_HOME_URI
-        This URI will be opened by pressing the appropriate hotkeys
-        ("homepage" or "new window") and if no URIs are specified on the
-        command line. Defaults to "about:blank".
-
-    LARIZA_USER_AGENT
-        Lariza will identify itself with this string. Uses WebKit's
-        default value if unset.
-
-    LARIZA_ZOOM
-        Zoom level for WebKit viewports. Defaults to 1.0.
+    - Certificate trust store
+    - User script support
+    - Extensions
 
+Refer to the manpages chorizo(1), chorizo-usage(1), and
+chorizo-config(5), for more information.
 
-=======================
-Keyword based searching
-=======================
+Installation
+------------
 
-In this file, you can configure keywords and the associated URIs:
+The following C libraries are required:
 
-    ~/.config/lariza/keywordsearch
+    - GTK+ 3
+    - WebKit2 API for GTK+ 3
+    - gst-libav, gst-plugins-good - for media playback
 
-Each line has to look like this:
+To generate the manpages, scdoc is required. This isn't necesary on
+release tarballs.
 
-    wi https://en.wikipedia.org/w/index.php?title=Special:Search&search=%s
+chorizo expects to be run on a POSIX-ish operating system.
 
-"wi" is the keyword, so when opening "wi foo", lariza will search in
-Wikipedia. Note the "%s" at the end of the URI: This is where your
-search term will be placed.
+To build and install the program:
 
-Lines starting with "#" are ignored.
+    $ make
+    # make install
 
 
-================
-Download manager
-================
+Background information
+----------------------
 
-Open the download manager using the appropriate hotkey. A new window
-listing your downloads will appear. Clicking on an item will remove it
-from the list and -- if needed -- cancel the download.
+What chorizo is and what it's not
 
-There's no file manager integration (I don't use one), nor does lariza
-delete, overwrite or resume downloads. If a file already exists, it
-won't be touched. Instead, the new file name will have a suffix such as
-".1", ".2", ".3" and so on.
+  chorizo does what I need. It won't do other things. I'm open for
+  contributions but please don't be upset if I turn them down -- which
+  might happen if it's a feature that I simply don't need.
 
+  chorizo does not compete with powerful browsers like dwb or luakit, nor
+  with monstrous applications like Firefox or Chromium. Because under
+  the hood chorizo is powered by WebKit, however, it is on par with
+  browsers like Safari for page rendering features.
 
-====================
-WebKit local storage
-====================
+How is chorizo related to lariza?
 
-WebKit does create files in your $XDG_* directories, i.e. ~/.local/share
-or ~/.cache. It's up to you what you want to do with this junk. I remove
-it regularly when no WebKit browser is running. Another option would be
-to change the $XDG_* variables.
+  chorizo is a fork of the lariza browser by Peter Hofmann. I wanted
+  to take it in a slightly different direction (mostly just adding
+  features not considered to be in the spirit of lariza), so I forked
+  it. The name was changed in order to reduce confusion between the
+  two browsers as they grew apart. The versioning scheme was also
+  moved away from being calendar-based.
 
-I have explicitly not turned off the local storage feature in WebKit
-because I don't know if this breaks web applications.
+  Features that this fork has that lariza is missing:
+    - Configuration file
+    - Revamped download manager
+    - New, ergonomic keybindings inspire by both Emacs and Vim
+    - Better default directories
+    - Easily togglable images and JavaScript
+    - Cleaned up source code
+    - Easy web searching
+    - User stylesheet support
+    - A variety of tweaks and adjustments that make the experience nicer
 
+Migrating from another browser
+------------------------------
 
-============
-Dependencies
-============
+From lariza:
+  1. Copy the relevant paths from ~/.config/lariza to
+  ~/.local/share/chorizo. Read chorizo(1) for full details on the
+  correct paths.
 
-lariza needs the following Arch Linux packages:
+  2. Your symlinks from /usr will broken, so you should relink everything.
 
-    - gtk3
-    - webkit2gtk (WebKit2 API for GTK+ 3)
+  3. Read lariza-config(5), as the keybindings are radically different
+  out of the box. Everything is configurable, however, and you can
+  reconfigure the bindings to act just like your previous browser.
 
+From Firefox/Chromium/Brave/etc:
+  1. Set your expectations right. Read the background information
+  section of the README.
 
-==========
-Literature
-==========
+  2. Copy the cookie database into ~/.local/share/lariza/cookies.db.
 
-API references:
+  3. Read all the manpages.
 
-    - http://webkitgtk.org/reference/webkit2gtk/stable/index.html
-    - https://developer.gnome.org/gtk3/stable/index.html
-    - https://developer.gnome.org/glib/stable/index.html
+Copyright
+---------
+MIT License, see the LICENSE file for more information.