ABOOKRC(5)

πŸŽ€ ABOOKRC(5) πŸŽ€

ok so you've met abook(1) and now you wanna customize it?? bestie, welcome to the rc file era πŸ’… this page is all about the manual page for abookrc β€” the config file situation β€” and we're gonna go through literally every single knob together.


✨ NAME ✨

$HOME/.abook/abookrc β€” it's the configuration file for the abook address book program, and it's about to be your new fave little text file 🫢


🌸 DESCRIPTION 🌸

So abookrc is the (optional, no pressure) configuration file for use with the abook(1) address book program.

Where does it live? It's stored in a user's $HOME/.abook or XDG_DATA_HOME/abook directory. Pick your fighter πŸ’–

The format is a whole vibe: set option=value. That's it. That's the whole grammar. The info below lists each of these options and the values they may take, so like, read on.

And here's the good part: if a variable is not set in abookrc, a sensible default β€” listed with the description below, iykyk β€” will be used. no cap, it just handles it for you ✨

Comments in abookrc are on lines beginning with '#'. go off, annotate your heart out.


πŸ’œ COMMANDS πŸ’œ

  • set option = value β€” the classic. sets an option to a value. iconic behavior.
  • field identifier = human_readable_name [ , type ] β€” defines a new custom field πŸ¦‹ type can be one of 'string' (default), 'emails', 'list', or 'date'.
  • view view name = field1 [ , field2, ... ] β€” defines a view/tab, with fieldN being the identifier of a field declared with the field command, or the identifier of a standard field.

🌈 Standard fields

lowkey the VIP list, here they are:

name, email,
address, address2, city, state, zip, country,
phone, workphone, fax, mobile,
nick, url, notes, anniversary
Note: if you don't define any view, abook will use a default display based on the above standard fields. so like, it's got you either way 🫢

⭐ VARIABLES ⭐

  • autosave=[true|false] β€” Defines whether the addressbook is automatically saved on exit. Default is true. (bestie please leave this on, the way I would simply pass away if I lost an entry 😭)
  • preserve_fields=[all|standard|none] β€” Specifies how fields not declared with the field command nor in a view should be preserved while loading an abook database.
    • all β€” preserve any completely unknown field.
    • standard β€” only preserve the standard fields (see a list in the description of the view command) and the legacy 'custom[1-5]' fields.
    • none β€” discards any unknown field.
    • Default is standard.
  • index_format=format_string β€” Defines the way entries are displayed in the main list. This is a string containing field names enclosed between braces, with an optional width limit specified by a number (right alignment if negative) after the field name and a colon, and an arbitrary number of alternative fields (first with non empty content is to be displayed) separated by vertical bars. For instance:
    • {name:22} β€” displays the name field with a maximal width of 22 characters.
    • {phone:-12|workphone|mobile} β€” displays (right aligned within a width of 13 characters), either the phone, workphone or mobile field, whichever being the first to be non-empty.
    • Default is " {name:22} {email:40} {phone:12|workphone|mobile}"
  • show_all_emails=[true|false] β€” Defines whether all email addresses for a contact are shown in the main list view. Default is true.
  • emailpos
  • extra_column
  • extra_alternative
  • extrapos

β€” all four of these are Obsoleted by index_format. rest in peace, legends πŸ’€ (don't use them, they're giving legacy.)

  • mutt_return_all_emails=[true|false] β€” Defines whether to return all email addresses matching the search criteria to a mutt query. Default is true.
  • print_command=command β€” Defines the command to used when printing the addressbook. Default is "lpr".
  • www_command=command β€” Defines the command used to start the web browser to view a contact's URL. Default is "lynx".
  • address_style=[eu|uk|us] β€” Defines the style of address formatting to be used when exporting as text / printing the database (European, UK, or USA). Default is European ("eu").
  • use_ascii_only=[true|false] β€” This option allows you to force Abook use only ASCII characters. This option is useful if your terminal doesn't support non-ASCII characters. Default is false.
  • add_email_prevent_duplicates=[true|false] β€” Defines whether to avoid adding addresses already in data. Default is false.
  • sort_field=field β€” Defines the field to be used by the "sort by field" command. Default is "nick" (Nickname/Alias).
  • show_cursor=[true|false] β€” Defines if the cursor is visible in main display. Default is false.
  • use_mouse=[true|false] β€” Defines if navigation via the mouse is activated. Default is false. Most terminals can also inhibit ncurses mouse events at runtime by holding the Shift key (restoring mouse-selection behavior). so if the mouse stuff is being weird, hold shift and slay πŸ–±οΈ
  • scroll_speed=lines β€” Defines the number of lines the address list is scrolled by on a mouse wheel action. This option only takes effect if use_mouse is enabled. Default is 2.
  • use_colors=[true|false] β€” Defines if the output of abook is colorized. Default is false. (turn this on, the aesthetic potential is unmatched πŸ”₯)

🎨 Color settings

These are the ones that make your address book look like a main character. Foreground and background for literally everything:

  • color_header_fg=color β€” Foreground color for header bar
  • color_header_bg=color β€” Background color for header bar
  • color_footer_fg=color β€” Foreground color for footer bar
  • color_footer_bg=color β€” Background color for footer bar
  • color_list_even_fg=color β€” Foreground color for normal list entries with even index in the list (starting with index 0)
  • color_list_even_bg=color β€” Background color for normal list entries with even index in the list (starting with index 0)
  • color_list_odd_fg=color β€” Foreground color for normal list entries with odd index in the list (starting with index 0)
  • color_list_odd_bg=color β€” Background color for normal list entries with odd index in the list (starting with index 0)
  • color_list_header_fg=color β€” Foreground color for the list header
  • color_list_header_bg=color β€” Background color for the list header
  • color_list_highlight_fg=color β€” Foreground color for highlighted list entries
  • color_list_highlight_bg=color β€” Background color for highlighted list entries
  • color_tab_border_fg=color β€” Foreground color for tab borders on details page
  • color_tab_border_bg=color β€” Background color for tab borders on details page
  • color_tab_label_fg=color β€” Foreground color for tab labes on details page
  • color_tab_label_bg=color β€” Background color for tab labes on details page
  • color_field_name_fg=color β€” Foreground color for field names on details page
  • color_field_name_bg=color β€” Background color for field names on details page
  • color_field_value_fg=color β€” Foreground color for field values on details page
  • color_field_value_bg=color β€” Background color for field values on details page

And where color can be: default, black, red, green, yellow, blue, magenta, cyan, white 🌈


🧚 SAMPLE CONFIGURATION FILE 🧚

here's a whole mood board of a config, copy away bestie:

# sample abook configuration file
#

# Declare a few custom fields
field pager = Pager
field address_lines = Address, list
field birthday = Birthday, date

# Define how fields should be displayed in tabs
view CONTACT = name, email
view ADDRESS = address_lines, city, state, zip, country
view PHONE = phone, workphone, pager, mobile, fax
view OTHER = url, birthday

# Preserve any unknown field while loading an abook database
set preserve_fields=all

# Automatically save database on exit
set autosave=true

# Format of entries lines in list
set index_format=" {name:22} {email:40} {phone:12|workphone|mobile}"

# Show all email addresses in list
set show_all_emails=true

# Command used to start mutt
set mutt_command=mutt

# Return all email addresses to a mutt query
set mutt_return_all_emails=true

# Command used to print
set print_command=lpr

# Command used to start the web browser
set www_command=lynx

# Address style [eu|us|uk]
set address_style=eu

# Use ASCII characters only
set use_ascii_only=false

# Prevent double entry
set add_email_prevent_duplicates=false

# Field to be used with "sort by field" command
set sort_field=nick

# Show cursor in main display
set show_cursor=false

πŸ‘€ SEE ALSO πŸ‘€

abook(1). that's the one. go read it, it's the whole reason this file exists πŸ’–


πŸ‘‘ AUTHORS πŸ‘‘

This manual page was written by Alan Ford <alan@whirlnet.co.uk> and expanded by Cedric Duval <cedricduval@free.fr>. kings, both of them 🫑

abook was written by Jaakko Heinonen <jheinonen@users.sourceforge.net>


and that's the whole page!! this one's from the File Formats Manual, dated Oct 25, 2005, and it's ABOOKRC(5) β€” like, that's the section 5 file formats manual entry for abookrc, bestie. go configure something iconic πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from