X-Git-Url: https://git.armaanb.net/?p=chorizo.git;a=blobdiff_plain;f=README;h=373d692a0d7d09a965c3f75a23f2b5303f044a87;hp=8c7466d30e9a12b1b6a6bd7c83a6a27e550f6b50;hb=HEAD;hpb=332a083e69c96be8cf1258f6fad751c3eefc550f diff --git a/README b/README index 8c7466d..373d692 100644 --- a/README +++ b/README @@ -1,316 +1,108 @@ + _ _ + ___| |__ ___ _ __(_)_______ + / __| '_ \ / _ \| '__| |_ / _ \ + | (__| | | | (_) | | | |/ / (_) | + \___|_| |_|\___/|_| |_/___\___/ + https://sr.ht/~armaan/chorizo - ========== - lariza - ========== +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A simple web browser using GTK+ 2, GLib and WebKitGTK+. +A simple web browser using GTK+ 3, GLib and WebKit2GTK+. Features: - - - A WebKit viewport - - An input box to change the URI or to search the current page - - Built-in launching of suckless' tabbed - - Built-in adblock + - A WebKit2 viewport + - 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 - - View source mode - Cooperative instances using FIFOs - - Support for Flash and Java - - -============== -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. - - -======================== -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" which is the first URI specified on - the command line. - - Mod1 + e - Open a new window. - - Mod1 + s - Toggles "view source mode". This will display the web pages - source code. Note that the page will be reloaded (which is - annoying but WebKit enforces this). - - 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 + Wheel up or Ctrl + Wheel up - Increase zoom level of the current page. - - Mod1 + Wheel down or Ctrl + Wheel down - Decrase zoom level of the current page. - - - 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 + q - 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 - Embeds the main window and all newly created windows in the - window specified by . The download manager is always a - "popup". - - -r - Print all navigation requests on STDERR. - - -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, about:blank 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_ZOOM - Zoom level for WebKit viewports. Defaults to 1.0. - - -======= -Adblock -======= - -lariza has built-in adblock functionality. In each line of - - ~/.config/lariza/adblock.black - -you can store a regular expression. These expressions match -case-insensitive and partially, i.e. ".*foo.*" is the same as ".*FOO.*" -and you can use anchors like "^https?://...". - -Lines starting with "#" are ignored. - - -======================= -Keyword based searching -======================= + - Certificate trust store + - User script support + - Extensions -In this file, you can configure keywords and the associated URIs: +Refer to the manpages chorizo(1), chorizo-usage(1), and +chorizo-config(5), for more information. - ~/.config/lariza/keywordsearch +Installation +------------ -Each line has to look like this: +The following C libraries are required: - wi https://en.wikipedia.org/w/index.php?title=Special:Search&search=%s + - GTK+ 3 + - WebKit2 API for GTK+ 3 + - gst-libav, gst-plugins-good - for media playback -"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 generate the manpages, scdoc is required. This isn't necesary on +release tarballs. -Lines starting with "#" are ignored. +chorizo expects to be run on a POSIX-ish operating system. +To build and install the program: -================ -Download manager -================ + $ make + # make install -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. -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. +Background information +---------------------- +What chorizo is and what it's not -==================== -WebKit local storage -==================== + 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. -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 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. -I have explicitly not turned off the local storage feature in WebKit -because I don't know if this breaks web applications. +How is chorizo related to lariza? + 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. -============ -Dependencies -============ + 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 -lariza needs the following Arch Linux packages: +Migrating from another browser +------------------------------ - - gtk2 - - webkitgtk2 +From lariza: + 1. Copy the relevant paths from ~/.config/lariza to + ~/.local/share/chorizo. Read chorizo(1) for full details on the + correct paths. + 2. Your symlinks from /usr will broken, so you should relink everything. -========== -Literature -========== + 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. -API references: +From Firefox/Chromium/Brave/etc: + 1. Set your expectations right. Read the background information + section of the README. - - http://webkitgtk.org/reference/webkitgtk/stable/index.html - - https://developer.gnome.org/gtk2/stable/index.html - - https://developer.gnome.org/glib/stable/index.html + 2. Copy the cookie database into ~/.local/share/lariza/cookies.db. -Regular expressions supported by GRegex, you can use these in your -adblock patterns: + 3. Read all the manpages. - - https://developer.gnome.org/glib/stable/glib-regex-syntax.html +Copyright +--------- +MIT License, see the LICENSE file for more information.