Skip to content

Latest commit

 

History

History
102 lines (79 loc) · 2.71 KB

index.org

File metadata and controls

102 lines (79 loc) · 2.71 KB

AHUBU Helps Users Be Utilitarian

AHUBU Helps Users Be Utilitarian

Welcome to AHUBU, the best web browser around.

Getting started / key binds

To move around the page, try the j/k keys for scrolling.

Press ‘f’ for link hinting.

Type ‘o’ to pop open the buffer prompt to enter a new URL or search term.

Press ‘t’ to do the same, but in a new tab.

Use ‘gt’ and ‘gT’ to cycle through tabs (or just push 1 - 9 to hop to the aforementioned tab).

Press ‘b’ to view a list of your open buffers (tabs) and type some partial match on the URL or title to filter your results to that match.

To jump to a quickmark (like a bookmark, but much better), press ‘go’ followed by the quickmark defined in your ~/.ahuburc or $XDG_CONFIG_HOME/ahubu/ahuburc file (you do have one of those right?)

So, if your file looked like this:

;; -*- mode: clojure -*-

{
 ;; These shadow into the keybinds with a more concise syntax.
 :quickmarks
 {
  :a "http://ahungry.com"
  :d "http://ddg.gg"
  :e "http://example.com"
  }
 }

You could press ‘goa’ to jump to ahungry.com, or ‘gne’ to open example.com in a new buffer.

Customizing the behavior

Filters

Network level

Look at this project’s conf/url-ignore-regexes.txt file to add your own list of regexes to exclude from requesting.

DOM id level

Look at the project’s conf/dom-id-ignores.txt file to add your own list of DOM IDs to exclude from rendering.

DOM class level

Look at the project’s conf/dom-class-ignores.txt file to add your own list of DOM class identifiers to exclude from rendering.

Quickmarks and Keybinds

Create an rc file in ~/.ahuburc (or $XDG_CONFIG_HOME/ahubu/ahuburc) with contents such as this:

cp conf/default-rc ~/.ahuburc

You can bind any of the following to your key presses:

  • A valid Clojure function call (or expression, such as a Clojure lambda)
  • A string literal (this will run as javascript in the browser)
  • A keyword bind can be a keyword letter, OR a string (useful for CTRL + key binds)

At the moment, rebinding :keymaps will require you to fully spec out your custom keymaps, so make sure to start with a full config and customize as needed.

;; -*- mode: clojure -*-

{
 ;; These shadow into the keybinds with a more concise syntax.
 :quickmarks
 {
  :a "http://ahungry.com"
  :d "http://ddg.gg"
  :e "http://example.com"
  }

 ;; These tie to the various modes.
 :keymaps
 {
  :default
  {
   :z "my_custom_js_call()"
   :y ahubu.lib/any-builtin-function
   :x #(println "Hello)
  }
 }