2
1
Fork
You've already forked yafy
0
yet another fork of yaft
  • C 92.8%
  • Shell 5.7%
  • Makefile 1.5%
Find a file
2025年09月27日 23:57:25 +02:00
ctrlseq Allow 1024 Sixel colors 2025年09月11日 22:45:24 +02:00
fb cleanup up error message 2025年08月30日 15:23:56 +02:00
fonts misc: add terminus font 2018年11月14日 13:57:14 +09:00
img * 仮想コンソールの切り替え時の処理を追加した 2012年10月17日 17:56:19 +09:00
info Disable sixel mode on reset, screen clear. 2025年08月30日 14:48:04 +02:00
man Update readme, man page; remove circleci config 2025年09月27日 23:57:25 +02:00
table update yaft-freebsd and yaft-x 2012年11月19日 15:11:00 +09:00
tools misc: occured => occurred 2018年10月15日 07:40:24 +09:00
x Fix yaftx initialization order 2025年09月11日 00:21:20 +02:00
.gitignore update .gitignore 2015年07月26日 22:25:16 +09:00
ChangeLog remove white space at eol 2015年07月27日 00:35:06 +09:00
ChangeLog.ja add ChangeLog.ja 2015年07月26日 22:25:30 +09:00
color.h Allow 1024 Sixel colors 2025年09月11日 22:45:24 +02:00
conf.h Update DA1 response 2025年09月11日 22:59:05 +02:00
glyph_builder.sh feature: update unifont download url ( #36 ) 2018年11月12日 08:12:06 +09:00
LICENSE rewrite code of yaftx for ver0.2.5 2014年05月16日 19:17:48 +09:00
makefile [l10n/ja] Create man page in Japanese 2025年09月27日 23:29:24 +02:00
parse.h Respond to XTSMGRAPHICS color register query 2024年10月13日 14:46:10 +02:00
README.bsd update README 2015年07月27日 11:36:45 +09:00
README.md Update readme, man page; remove circleci config 2025年09月27日 23:57:25 +02:00
terminal.h Rework pixmap 2025年09月11日 00:11:02 +02:00
util.h Feature/parse command line arg at startup ( #28 ) 2018年08月13日 16:54:01 +09:00
yaft.c Pnutbutr's patch for fb not getting activated 2025年08月30日 14:49:32 +02:00
yaft.h Allow 1024 Sixel colors 2025年09月11日 22:45:24 +02:00
yaft_wall add code for idump 2014年07月13日 20:46:17 +09:00

yafy (yet another fork of yaft)

Just yaft with a couple patches:

  • X11 title support
  • Sixel transparency
  • 1024 Sixel colors
  • misc bugfixes (handles tmux better)
  • some of hackerb9's patches (=more bugfixes)
  • Japanese man page by cmplstofB

Original readme below (updated in some places).

yaft (yet another framebuffer terminal)

description

Yet Another Framebuffer Terminal (aka "yaft") is simple terminal emulator for minimalist.

Features:

  • various framebuffer types (8/15/16/24/32bpp)
  • compatible with vt102 and Linux console (details)
  • UTF-8 encoding and UCS2 glyphs
  • 256 colors (same as xterm)
  • wallpaper
  • DRCS (DECDLD/DRCSMMv1) (experimental)
  • sixel (experimental)

There are several ports:

  • yaft for framebuffer console
    • Linux console
    • FreeBSD console
    • NetBSD/OpenBSD wscons (experimental)
  • yaftx for X Window System
  • yaft-android for Android

configuration

If you want to change configuration, rewrite "conf.h".

environment variables

  • FRAMEBUFFER=/dev/fb0: specify farmebuffer device
  • YAFT="wall": use current background as wallpaper (need idump or fbv)
$ idump /path/to/wallpaper.png; tput civis; YAFT="wall" FRAMEBUFFER="/dev/fb1" yaft

how to use your favorite fonts

You can use tools/mkfont_bdf to create "glyph.h".

usage: tools/mkfont_bdf ALIAS_FILE BDF1 BDF2 BDF3 ... > glyph.h

  • ALIAS_FILE: glyph substitution rule file (see table/alias)
  • BDF1, BDF2, BDF3...: bdf files
    • yaft supports only "monospace" bdf font
    • you can specify mulitiple bdf fonts (but these fonts MUST be the same size)
      • If there is more than one glyph of the same codepoint, the glyph included in the FIRST bdf file is chosen
$ ./mkfont_bdf table/your_alias your/favorite/fonts.bdf > glyph.h

Or try glyph_builder.sh (bash script for creating yaft's glyph.h)

  • supported fonts: mplus, efont, milkjf, unifont, dina, terminus, profont, tamsyn

build and install

BSD users should check README.bsd.

$ export LANG=en_US.UTF-8 # yaft uses libc's wcwidth for calculating glyph width
$ make
# make install
or
$ make yaftx
# make installx

screenshot

screenshot1

license

The MIT License (MIT)

Copyright (c) 2012 haru (uobikiemukot at gmail dot com)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.