This is a fork of https://github.com/swaywm/sway that replaces pango with https://codeberg.org/dnkl/fcft for font rendering. Note: do not use the master branch; use one of the fontconfig branches
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Daniel Eklöf 6dc43f469a
fcft: replace pango with fcft
1 year ago
.builds ci: make Meson warnings fatal 4 months ago
.github/ISSUE_TEMPLATE Fix IRC links in READMEs and templates 5 months ago
assets License wallpapers as CC-0 2 years ago
client fcft: replace pango with fcft 2 months ago
common fcft: replace pango with fcft 2 months ago
completions i3-compat: add GET_BINDING_STATE IPC command 1 year ago
contrib grimshot: Exit 1 on cancellation 4 months ago
include fcft: replace pango with fcft 2 months ago
protocols build: use Dependency.get_variable instead of get_pkgconfig_variable 4 months ago
sway fcft: replace pango with fcft 2 months ago
swaybar fcft: replace pango with fcft 2 months ago
swaymsg Make command line option lists const 9 months ago
swaynag fcft: replace pango with fcft 2 months ago
.clang-format Update clang format to better match existing code 4 months ago
.editorconfig Create .editorconfig 5 years ago
.gitignore Allocate minimum size necessary in pango text functions. (#3473) 3 years ago
CONTRIBUTING.md Fix IRC links in READMEs and templates 5 months ago
LICENSE MIT license 5 years ago
README.de.md readme: switch back to IRC web client 5 months ago
README.dk.md readme: switch back to IRC web client 5 months ago
README.es.md readme: switch back to IRC web client 5 months ago
README.fr.md readme: switch back to IRC web client 5 months ago
README.hu.md readme: switch back to IRC web client 5 months ago
README.ir.md Add persian README file 2 months ago
README.ja.md readme: switch back to IRC web client 5 months ago
README.ko.md readme: switch back to IRC web client 5 months ago
README.md fcft: replace pango with fcft 2 months ago
README.nl.md readme: switch back to IRC web client 5 months ago
README.pl.md readme: switch back to IRC web client 5 months ago
README.pt.md readme: switch back to IRC web client 5 months ago
README.ro.md readme: switch back to IRC web client 5 months ago
README.ru.md readme: switch back to IRC web client 5 months ago
README.tr.md readme: switch back to IRC web client 5 months ago
README.uk.md readme: switch back to IRC web client 5 months ago
README.zh-CN.md readme: switch back to IRC web client 5 months ago
README.zh-TW.md readme: switch back to IRC web client 5 months ago
config.in config.in: use portable hour specifier 2 months ago
meson.build fcft: replace pango with fcft 2 months ago
meson_options.txt Add meson options to enable/disable swaybar and swaynag 3 months ago
sway.desktop Update language in sway.desktop & sway(1) 3 years ago

README.md

Sway fork using fontconfig+fcft instead of pango for font rendering

Intro

This is a fork of https://github.com/swaywm/sway that replaces pango with fontconfig+fcft for font rendering.

I did this because starting with release 1.44, pango no longer supports bitmap fonts.

This is currently a very quick and dirty hack; it rips out pango, not with surgical precision, but with a sledge hammer (imaging trying to rip out anything with a sledge hammer...). The idea is to keep changes to regular sway sources down to a minimum, to make it easier to keep up-to-date with sway.

Currently, only the sway main binary has been ported. That is, no swaybar and no swaynag support.

The config syntax has changed, and now uses fontconfig syntax rather than pango syntax. That is, what used to be written as:

font MyFont 12px

is now written:

font MyFont:pixelsize=12

Instructions

I suggest you install sway like you usually do (e.g. use your distro's package), and then replace the installed sway binary with the one built here. Make sure you match the version!

First, checkout one of the fontconfig branches:

  • fontconfig -> master
  • fontconfig-v1.2 -> v1.2
  • and so on

Then, configure (disabling swaybar and swaynag since they are not supported), build, and install:

meson -Dswaybar=false -Dswaynag=false build/
ninja -C build/
sudo ninja -C build/ install

Finally, don't forget to update the sway config to use the new font syntax!

Limitations:

  • Swaybar not ported
  • Swaynag not ported
  • No markup