Students are fighting for freedom in Serbia. Support them!

πŸ”§ ПодСшавањС ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΡ… тСрминалских Ρ„ΠΎΠ½Ρ‚ΠΎΠ²Π°

[Π²Π΅Ρ€Π·ΠΈΡ˜Π° 0.2, 3. мај 2021.]

Π‘Ρ‚Ρ€Π°Ρ…ΠΈΡšΠ° Π Π°Π΄ΠΈΡ›

πŸ“œ Π£Π²ΠΎΠ΄

ΠœΠΎΠ΄Π΅Ρ€Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° тСрминалских ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ јС suckless terminal поставља извСснС условС Ρƒ ΠΏΠΎΠ³Π»Π΅Π΄Ρƒ Ρ„ΠΎΠ½Ρ‚Π° који користС. Осим ΠΏΠΎΠ΄Ρ€ΡˆΠΊΠ΅ Π·Π° Ρ‡Π΅ΡˆΡ›Π΅ ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅Π½Π΅ Π΄Π΅Π»ΠΎΠ²Π΅ Π£Π½ΠΈΠΊΠΎΠ΄Π°, тСрминалски Ρ„ΠΎΠ½Ρ‚ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΠΎΠ΄Ρ€ΠΆΠΈ ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π· сличан ΠΎΠ²ΠΎΠΌΠ΅:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌ nvim Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρƒ
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌ nvim Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρƒ

На овој слици Π²ΠΈΠ΄ΠΈΠΌΠΎ Π½ΠΈΠ· Π·Π½Π°ΠΊΠΎΠ²Π° који стандардно Π½Π΅ ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅ Ρƒ Π£Π½ΠΈΠΊΠΎΠ΄Ρƒ. Π Π΅Ρ†ΠΈΠΌΠΎ, симбол који прСдставља Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ са ΠΈΠ·Π²ΠΎΡ€Π½ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Ρƒ Ρ˜Π΅Π·ΠΈΠΊΡƒ C, ΠΈΠ»ΠΈ симбол Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Ρƒ Ρ˜Π΅Π·ΠΈΠΊΡƒ Vimscript.

ЏСмини Ρ‡ΠΈΡ‚Π°Ρ‡ amfora Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρƒ
ЏСмини Ρ‡ΠΈΡ‚Π°Ρ‡ amfora Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρƒ

На овој слици Π²ΠΈΠ΄ΠΈΠΌΠΎ СмоџијС Ρƒ боји, ΠΊΠ°ΠΎ Π΄Π΅ΠΎ тСкста Ρƒ тСкстуалном Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρƒ.

🎨 Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅ Ρ„ΠΎΠ½Ρ‚Π° са Смоџијима Ρƒ боји

ΠŸΡ€ΠΎΡ†Π΅Ρ ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ° ΠΏΠΎΠ΄Ρ€ΡˆΠΊΠ΅ Π·Π° ΠΎΠ²Π°ΠΊΠ°Π² ΠΏΡ€ΠΈΠΊΠ°Π· сС ΡΠ°ΡΡ‚ΠΎΡ˜ΠΈ ΠΈΠ· Π΄Π²Π° Π³Π»Π°Π²Π½Π° Π΄Π΅Π»Π°. ΠŸΡ€Π²ΠΈ Π΄Π΅ΠΎ јС ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅ Ρ„ΠΎΠ½Ρ‚Π° са Смоџијима Ρƒ боји, Ρ€Π΅Ρ†ΠΈΠΌΠΎ Ρƒ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π°ΠΌΠ° заснованим Π½Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜ΠΈ Arch Linux ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π° noto-fonts-emoji:

# pacman -S noto-fonts-emoji

Доста Ρ‚ΠΎΠ³Π° зависи ΠΈ ΠΎΠ΄ тСрминалског ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΈ систСмских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° којС сС користС. ЈСдан ΠΎΠ΄ прСдуслова Π·Π° ΠΏΡ€ΠΈΠΊΠ°Π· Смоџија Ρƒ боји јС Π·Π°ΠΊΡ€ΠΏΠ° Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Xft, libxft-bgra. Π£ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π°ΠΌΠ° заснованим Π½Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜ΠΈ Arch Linux, Ρ‚ΠΎ сС постиТС ΠΈΠ½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ˜ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π° libxft-bgra (овај ΠΏΠ°ΠΊΠ΅Ρ‚ јС Ρƒ Arch User Repository-Ρ˜Ρƒ β€” AUR, ΠΏΠ° јС Π·Π° њСга ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Π½ AUR helper, Ρ€Π΅Ρ†ΠΈΠΌΠΎ pikaur):

$ pikaur -S libxft-bgra

Осим ΠΎΠ²ΠΎΠ³Π°, Π·Π° ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ΅ suckless ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ су dwm, dmenu, st, tabbed, ΠΈΡ‚Π΄., ΠΌΠΎΡ€Π° сС, Ρƒ зависности ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, Π΄ΠΎΠ΄Π°Ρ‚ΠΈ овај Ρ„ΠΎΠ½Ρ‚ Ρƒ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΈ Π΄Π΅ΠΎ config.h, Π° Ρƒ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ st-Π° ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΠΈ Π·Π°ΠΊΡ€ΠΏΠ° font2, Ρƒ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ Π΄Π° Π²Π΅Ρ› нијС ΠΏΡ€ΠΈΠΌΠ΅ΡšΠ΅Π½Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌ dwm ΠΈΠΌΠ° ΡƒΠ³Ρ€Π°Ρ’Π΅Π½ΠΎ ΠΎΠ½Π΅ΠΌΠΎΠ³ΡƒΡ›Π°Π²Π°ΡšΠ΅ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π΅ Ρ„ΠΎΠ½Ρ‚ΠΎΠ²Π° Ρƒ боји (Ρ˜Π΅Ρ€ ΠΎΠ½ΠΈ Π±Π΅Π· ΠΏΠΎΠΌΠ΅Π½ΡƒΡ‚Π΅ Π·Π°ΠΊΡ€ΠΏΠ΅ libxft-bgra Ρ‡ΠΈΠ½Π΅ Π΄Π° dwm ΠΊΡ€Π°Ρ…ΠΈΡ€Π°), ΠΏΠ° јС послС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅ Π·Π°ΠΊΡ€ΠΏΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ ΠΈ ставити ΠΏΠΎΠ΄ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ линијС:

	/*FcBool iscol;
	if(FcPatternGetBool(xfont->pattern, FC_COLOR, 0, &iscol) == FcResultMatch && iscol) {
		XftFontClose(drw->dpy, xfont);
		return NULL;
	}*/

πŸ’¨ Π”ΠΎΠ΄Π°Π²Π°ΡšΠ΅ Nerd Font симбола

Π”Ρ€ΡƒΠ³ΠΈ Π΄Π΅ΠΎ ΠΏΠΎΠ΄Ρ€ΡˆΠΊΠ΅ Π·Π° ΠΏΠΎΠΌΠ΅Π½ΡƒΡ‚ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π· јС ΠΊΡ€ΠΏΡ™Π΅ΡšΠ΅ скриптом font-patcher ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠ³ Nerd Fonts Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΠ°. Π£ΠΊΠΎΠ»ΠΈΠΊΠΎ Π²Π°ΠΌ ΠΏΡ€Π΅ΡƒΠ·ΠΈΠΌΠ°ΡšΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π³ΠΈΠ³Π°Π±Π°Ρ˜Ρ‚Π° Ρ€Π°Π·Π½ΠΈΡ… ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΎΠ²Π°Π½ΠΈΡ… Ρ„ΠΎΠ½Ρ‚ΠΎΠ²Π° Π½Π΅ Π΄Π΅Π»ΡƒΡ˜Π΅ ΠΏΡ€ΠΈΠΌΠ°ΠΌΡ™ΠΈΠ²ΠΎ (ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ Π½Π΅ Π΄Π΅Π»ΡƒΡ˜Π΅ Π½ΠΈ ΠΌΠ΅Π½ΠΈ), ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ fork Π³Π»Π°Π²Π½ΠΎΠ³ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΠ° који садрТи само Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½Π΅ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚Π΅ Π·Π° ΠΊΡ€ΠΏΡ™Π΅ΡšΠ΅ ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅Ρ›ΠΈΡ… Ρ„ΠΎΠ½Ρ‚ΠΎΠ²Π°.

Π Π΅Ρ†ΠΈΠΌΠΎ, ΡƒΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΆΠ΅Π»ΠΈΠΌΠΎ Π΄Π° Π΄ΠΎΠ΄Π°ΠΌΠΎ симболС Ρ„ΠΎΠ½Ρ‚Ρƒ MxPlus_IBM_VGA_8x16.ttf са ΡΠ°Ρ˜Ρ‚Π° int10h.org, ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ›Π΅ΠΌΠΎ Π½Π°Ρ€Π΅Π΄Π±Ρƒ:

$ ./font-patcher -l -c --careful MxPlus_IBM_VGA_8x16.ttf

ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π° сС Π΄Π° сС Ρ„Π°Ρ˜Π» са Ρ‚ΠΈΠΌ Ρ„ΠΎΠ½Ρ‚ΠΎΠΌ Π½Π°Π»Π°Π·ΠΈ Ρƒ Π³Π»Π°Π²Π½ΠΎΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΡƒ Nerd Fonts Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΠ°.

ΠžΠΏΡ†ΠΈΡ˜Π° -l ΠΎΠ²Π΄Π΅ слуТи Π΄Π° сС ΠΏΠΎΠΊΡƒΡˆΠ° Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΎ Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€Π°ΡšΠ΅ Powerline симбола, ΠΎΠΏΡ†ΠΈΡ˜Π° -c Π΄Π° сС Π΄ΠΎΠ΄Π°Ρ˜Ρƒ сви доступни симболи, Π° ΠΎΠΏΡ†ΠΈΡ˜Π° --careful Π΄Π° сС Π½Π΅ ΠΏΡ€Π΅ΠΏΠΈΡΡƒΡ˜Ρƒ ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅Ρ›ΠΈ симболи.

πŸ’Ύ Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅ измСњСног Ρ„ΠΎΠ½Ρ‚Π°

Овим сС добија Ρ„Π°Ρ˜Π» MxPlus IBM VGA 8x16 Nerd Font Complete.ttf, који сС ΠΌΠΎΠΆΠ΅ Π΄ΠΎΠ΄Π°Ρ‚ΠΈ Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌ Ρƒ fontpath-Ρƒ Xorg сСрвСра, Ρ€Π΅Ρ†ΠΈΠΌΠΎ /usr/local/share/fonts/mxplus. Након Ρ‚ΠΎΠ³Π° јС Ρƒ Ρ‚ΠΎΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΡƒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚ΠΈ:

# mkfontdir && mkfontscale

Ρ‡ΠΈΠΌΠ΅ сС ΠΊΡ€Π΅ΠΈΡ€Π°Ρ˜Ρƒ (Π°ΠΆΡƒΡ€ΠΈΡ€Π°Ρ˜Ρƒ) Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ fonts.dir ΠΈ fonts.scale. Π£ΠΊΠΎΠ»ΠΈΠΊΠΎ Ρ‚Π°Ρ˜ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌ нијС Ρƒ fontpath-Ρƒ, Ρ‚Ρ€Π΅Π±Π° Π³Π° Π΄ΠΎΠ΄Π°Ρ‚ΠΈ, Ρ€Π΅Ρ†ΠΈΠΌΠΎ додавањСм Ρ€Π΅Π΄Π°:

xset fp+ /usr/local/share/fonts/mxplus

Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ ~/.xinitrc.

Π£ΠΊΠΎΠ»ΠΈΠΊΠΎ јС свС ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΠΊΠ°ΠΊΠΎ Ρ‚Ρ€Π΅Π±Π°, Π½Π°Ρ€Π΅Π΄Π±Π° fc-match Π±ΠΈ Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ Π΄Π° Π²Ρ€Π°Ρ‚ΠΈ:

$ fc-match "MxPlus_IBM_VGA_8x16 Nerd Font"
MxPlus IBM VGA 8x16 Nerd Font Complete.ttf: "MxPlus_IBM_VGA_8x16 Nerd Font" "Book"

Π‘Π°Π΄Π° сС ΠΌΠΎΠΆΠ΅, Ρ€Π΅Ρ†ΠΈΠΌΠΎ, Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ config.h ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° st Π΄ΠΎΠ΄Π°Ρ‚ΠΈ:

static char *font = "MxPlus_IBM_VGA_8x16 Nerd Font:size=12";

ΠΈ Π½Π°ΠΊΠΎΠ½ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°ΡšΠ° ΠΈ ΠΈΠ½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ˜Π΅ Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ Π±ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠΎ СмоџијС Ρƒ боји ΠΈ Nerd Font симболС Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρƒ. Π£ΠΊΠΎΠ»ΠΈΠΊΠΎ користитС мој fork dwm-Π°, притиском Π½Π° Win+E сС ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ ΠΌΠ΅Π½ΠΈ Π·Π° унос Смоџија. Π”Π° Π±ΠΈ сС Смоџији Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΈ Ρƒ Ρ‚ΠΎΠΌ ΠΌΠ΅Π½ΠΈΡ˜Ρƒ, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС Π΄Π° сС Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΡƒ dmenu постави Ρ„ΠΎΠ½Ρ‚ Π·Π° СмоџијС:

static const char *fonts[] = {
        "MxPlus_IBM_VGA_8x16 Nerd Font:size=12:style=Book:antialias=false:autohint=false",
        "Noto Color Emoji:style=Regular:size=10"
};

🧹 Бонус: ΠΈΡΠΊΡ™ΡƒΡ‡ΠΈΠ²Π°ΡšΠ΅ Π°Π½Ρ‚ΠΈΠ°Π»ΠΈΡ˜Π°ΡΠΈΠ½Π³Π°

ВСрминалски Ρ„ΠΎΠ½Ρ‚ΠΎΠ²ΠΈ ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ јС Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ MxPlus IBM VGA Π±ΠΎΡ™Π΅ ΠΈΠ·Π³Π»Π΅Π΄Π°Ρ˜Ρƒ ΡƒΠΊΠΎΠ»ΠΈΠΊΠΎ сС искључи Π°Π½Ρ‚ΠΈΠ°Π»ΠΈΡ˜Π°ΡΠΈΠ½Π³. Ово сС постиТС ΠΏΠΎΡΡ‚Π°Π²Ρ™Π°ΡšΠ΅ΠΌ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Ρƒ /etc/fonts/conf.d, Ρ€Π΅Ρ†ΠΈΠΌΠΎ /etc/fonts/conf.d/25-noaa-vga.conf:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
	<match target="font">
                <test qual="any" name="family">
                        <string>MxPlus_IBM_VGA_8x16 Nerd Font</string>
                </test>
		<edit name="antialias" mode="assign">
			<bool>false</bool>
		</edit>
	</match>
</fontconfig>
https://gitlab.freedesktop.org/xorg/lib/libxft


Generated by slweb Β© 2020-2026 Strahinya Radich.