icons-in-terminal
allows you to get any fonts in your terminal without replacing or patching your font.config.json
.icons-in-terminal
can also be use with graphical applications.$ git clone https://github.com/sebastiencs/icons-in-terminal.git
To install icons-in-terminal
, run:
$ ./install.sh $ # Follow the instructions to edit ~/.config/fontconfig/conf.d/30-icons.conf
Or if your terminal is supported (Experimental)
$ ./install-autodetect.sh
Done ! You can start a new terminal and run print_icons.sh
to see the installed gryphs.
You can see names of each icon by giving any parameter to print_icons.sh
:
$ ./print_icons.sh $ ./print_icons.sh --names $ ./print_icons.sh --names | grep ANY_NAME
To use icons in your terminal, do not copy-paste icons from the output of print_icons.sh
but use their variable name: see integrations.
When one of the provided font will be updated and add new icons, some codepoints in icons-in-terminal.ttf
will be changed, the variable names won't.
If you want to add new font, follow these instructions:
There are a few dependencies to install:
You can add the name and path of your font to the file config.json
.
Each font can take parameters:
start-from
: exclude all glyphes before the given codepoint.until
: exclude all glyphes at the given codepoint and after.excludes
: exclude the given codepoints.move-vertically
: Use this parameter if your font and its glyphes are not centered vertically.short-name
: Prefix to insert before the glyph name when you want to use the icon in your shell or anywhere elsemap-names
: Define a name to the glyph. If not provided, the name will be read from the ttf fileOnce done, you can run:
This project is inspired by awesome-terminal-fonts but is different.
I don't modify any existing font, I merge all glyphes from the provided fonts in a new font file and insert them in the private use areas.
The file ~/.config/fontconfig/conf.d/30-icons.conf
tells to freetype to search the glyph in icons-in-terminal.ttf
if it fails in your default font file. As the codepoints generated are in the private use areas, freetype should always fail and fallback to icons-in-terminal.ttf
The only requirement is that your default font shouldn't be already patched/modified. But why use a patched font with a limited number of glyphes when they are all included here :)
Your terminal emulator should also support fallback font (most of them support it)
There are already 3618 glyphes included:
To use icons-in-terminal
with fish, add this line to ~/.config/fish/config.fish
:
source ~/.local/share/icons-in-terminal/icons.fish
Restart a terminal, now you can print any icons with its name:
Add this line to your .bashrc:
source ~/.local/share/icons-in-terminal/icons_bash.sh
Restart a terminal, now you can print any icons with its name:
$ echo -e $oct_location # note the '-e'
Add this line to your emacs init file:
(add-to-list 'load-path "~/.local/share/icons-in-terminal/")
To use icons-in-terminal in your package:
(require 'icons-in-terminal) (insert (icons-in-terminal 'oct_flame)) ; C-h f icons-in-terminal[RET] for more infoProjects using icons-in-terminal
https://github.com/sebastiencs/ls-icons
https://github.com/sebastiencs/sidebar.el
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4