rxvt-unicode: Versión mínima personalizada

This commit is contained in:
Tuxliban Torvalds 2022-03-26 00:31:19 -06:00
parent 6827e35383
commit 2e3ddf0ada
6 changed files with 179 additions and 0 deletions

View File

@ -0,0 +1,10 @@
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=rxvt-unicode
Comment=An Unicode capable rxvt clone
Exec=urxvt
Icon=rxvt-unicode
Terminal=false
Type=Application
Categories=Application;System;TerminalEmulator;

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,13 @@
--- a/src/main.C
+++ b/src/main.C
@@ -874,9 +874,8 @@
#endif
}
- if (parent)
{
- resize_all_windows (0, 0, 0);
+ resize_all_windows (szHint.width, szHint.height, 1);
scr_remap_chars ();
scr_touch (true);
}

View File

@ -0,0 +1,26 @@
--- a/src/rxvtfont.C.bukind 2007-11-30 14:36:33.000000000 +0600
+++ b/src/rxvtfont.C 2007-11-30 14:39:29.000000000 +0600
@@ -1171,12 +1171,21 @@
XGlyphInfo g;
XftTextExtents16 (disp, f, &ch, 1, &g);
+/*
+ * bukind: don't use g.width as a width of a character!
+ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial
+
g.width -= g.x;
int wcw = WCWIDTH (ch);
if (wcw > 0) g.width = (g.width + wcw - 1) / wcw;
if (width < g.width ) width = g.width;
+ */
+ int wcw = WCWIDTH (ch);
+ if (wcw > 1) g.xOff = g.xOff / wcw;
+ if (width < g.xOff) width = g.xOff;
+
if (height < g.height ) height = g.height;
if (glheight < g.height - g.y) glheight = g.height - g.y;
}

View File

@ -0,0 +1,25 @@
--- a/src/rxvtfont.C 2011-07-20 22:19:29.878012201 -0300
+++ b/src/rxvtfont.C 2011-07-20 22:19:33.634671723 -0300
@@ -1237,11 +1237,22 @@
FT_Face face = XftLockFace (f);
+/*
+ * use ascent, descent and height from XftFont *f instead of FT_Face face.
+ * this somehow reproduces the behaviour of the line height as seen on xterm.
+
ascent = (face->size->metrics.ascender + 63) >> 6;
descent = (-face->size->metrics.descender + 63) >> 6;
height = max (ascent + descent, (face->size->metrics.height + 63) >> 6);
width = 0;
+ */
+
+ ascent = f->ascent;
+ descent = f->descent;
+ height = max (ascent + descent, f->height);
+ width = 0;
+
bool scalable = face->face_flags & FT_FACE_FLAG_SCALABLE;
XftUnlockFace (f);

View File

@ -0,0 +1,105 @@
# Template file for 'rxvt-unicode'
pkgname=rxvt-unicode
version=9.30
revision=3
build_style=gnu-configure
hostmakedepends="pkg-config perl"
makedepends="xorgproto fontconfig-devel libXrender-devel libXft-devel
libSM-devel libptytty-devel perl"
depends="ncurses rxvt-unicode-terminfo-${version}_${revision}"
short_desc="Terminal emulator supporting Xft fonts and Unicode"
maintainer="Tuxliban Torvalds <tenshalito@gmail.com>"
license="GPL-3.0-or-later"
homepage="http://software.schmorp.de/pkg/rxvt-unicode.html"
distfiles="http://dist.schmorp.de/${pkgname}/${pkgname}-${version}.tar.bz2"
checksum=fe1c93d12f385876457a989fc3ae05c0915d2692efc59289d0f70fabe5b44d2d
##### Lista de funciones (versión vanilla) #####
# --with-term (predeterminado rxvt-unicode): Cambia la variable de entorno de la terminal al nombre especificado
# --disable-everything: Desactiva todas las funciones excepto las especificadas explícitamente
# --enable-slipwheeling (predeterminado: on): Agrega soporte para el desplazamiento continuo (usando la rueda del mouse como acelerador)
# mientras se mantiene presionada la tecla de control. Esta opción requiere que también se especifique --enable-mousewheel
# --enable-mousewheel (predeterminado: on): Agregar soporte para el desplazamiento a través de la rueda del mouse o los botones 4 y 5
# --enable-selectionscrolling (predeterminado: on): Agrega soporte para el desplazamiento cuando la selección se mueve a la parte
# superior o inferior de la pantalla
# --enable-fading (predeterminado: on): Agrega soporte para atenuar el texto cuando se pierde el enfoque
# --enable-combining (predeterminado: on): Habilita la composición automática de la combinación de caracteres en caracteres compuestos.
# Esto es necesario para ver correctamente el texto donde los acentos están codificados como caracteres Unicode separados
# --enable-xim (predeterminado: on): Agrega soporte para el protocolo XIM (X Input Method). Esto permite utilizar métodos de entrada
# alternativos (por ejemplo, kinput2) y también configurará correctamente la entrada para las personas que utilizan
# teclas muertas o teclas de composición
# --enable-font-styles (predeterminado: on): Agregar soporte para negrita, cursiva y negrita cursiva
# --enable-perl (predeterminado on): Activar soporte de plugins perl. Para mayor información consultar el manual de urxvtperl (3)
# --enable-xft (predeterminado: on): Agrega soporte para fuentes Xft (anti-aliased, entre otras). Las fuentes Xft son más lentas y
# requieren mucha memoria
# --with-codesets (predeterminado: all): activa la función de compilación para admitir grupos de conjuntos de códigos (codificación
# china, japonesa y coreana) adicionales. Estas tablas de conjuntos de códigos se utilizan para controlar las fuentes
# principales de X11, no son necesarias para las fuentes Xft, aunque tenerlas compiladas permite que rxvt-unicode elija
# fuentes de reemplazo de manera más inteligente
# --enable-256-color (predeterminado: off): Forza el uso del llamado modo de 256 colores, para evitar aplicaciones con errores que no
# admiten termcap/terminfo.
# También da como resultado un mayor uso de memoria y puede ralentizar urxvt drásticamente cuando una instancia de terminal
# usa más de seis fuentes
# --enable-unicode3 (predeterminado: off): Habilita la compatibilidad con el almacenamiento directo de caracteres Unicode por encima de
# 65535 (la página multilingüe básica). Esto aumenta los requisitos de almacenamiento por carácter de 2 a 4 bytes
# --enable-fallback (predeterminado: Rxvt): Al leer la configuración de Xresources, lee también la configuración de la clase CLASS
# --with-res-name (predeterminado: urxvt): Utiliza el nombre de pila como nombre de aplicación predeterminado al leer Xresources
# --with-res-class (predeterminado: URxvt): Utiliza la clase dada como clase de aplicación predeterminada al leer Xresources
# --enable-pixbuf (predeterminado: on): Agrega soporte para GDK-PixBuf que se usará para imágenes de fondo. Soporte para muchos formatos
# como JPG, PNG, TIFF, GIF, XPM, BMP, ICO y TGA
# --enable-startup-notification (predeterminado: on): Agrega soporte para notificaciones de inicio de escritorio. Esto permite que los
# administradores de ventanas muestren algún tipo de indicador de progreso durante el inicio
# --enable-transparency (predeterminado: on): Agrega soporte para simular transparencia. Tener en cuenta que esta función depende de libXrender
# y de la disponibilidad de la extensión RENDER en el servidor X
# --enable-rxvt-scroll (predeterminado: on): Agrega soporte para la barra de desplazamiento rxvt original
# --enable-next-scroll (predeterminado: on): Agrega soporte para una barra de desplazamiento similar a NeXT
# --enable-xterm-scroll (predeterminado: on): Agrega soporte para una barra de desplazamiento similar a Xterm
# --disable-backspace-key: Elimina cualquier manejo de la tecla de retroceso por nuestra parte, deje que el servidor X lo haga
# --disable-delete-key: Elimina cualquier manejo de la tecla de eliminación por nuestra parte, deje que el servidor X lo haga
# --disable-resources: Elimina cualquier soporte para la verificación de Xresources
# --disable-swapscreen: Elimina la compatibilidad con la pantalla secundaria / de intercambio
# --enable-frills: (predeterminado: on): Agrega soporte para muchas características pequeñas que no son esenciales, pero que es bueno tenerlas;
# para binarios de sistemas embebidos se recomienda deshabilitarlo
# --enable-iso14755 (predeterminado: on): Habilita la compatibilidad extendida con ISO 14755 (consultar urxvt (1))
# --enable-keepcrolling (predeterminado: on): Agrega soporte para el desplazamiento continuo de la pantalla cuando se mantiene presionado el botón
# del mouse en una flecha de la barra de desplazamiento
# --enable-smart-resize (predeterminado: off): Agrega un comportamiento inteligente de crecimiento / reducción al cambiar el tamaño. Esto debería
# mantener la esquina de la ventana más cercana a una esquina de la pantalla en una posición fija
# --enable-text-blink (predeterminado: on): Agrega soporte para texto parpadeante
# --enable-pointer-blank (predeterminado: on): Agrega soporte para que el puntero desaparezca al escribir o inactivo
# --enable-assert (predeterminado: off): Habilita las aserciones en el código, normalmente deshabilitadas. Este modificador solo es útil al
# desarrollar rxvt-unicode
# --with-name (predeterminado: urxvt): Establece el nombre de base para los binarios instalados, resultando en urxvt, urxvtd, etc
# --with-terminfo: Indica dónde se establecerá la variable de entorno TERMINFO. Esto es útil como último recurso si no es posible instalar las
# entradas de terminfo en todo el sistema
# --with-x: Utiliza el sistema X Window (prácticamente por defecto)
#
do_configure() {
./configure --prefix=/usr \
--disable-everything --enable-256-color \
--enable-xft --enable-font-styles \
--enable-perl --enable-mousewheel \
--enable-xim \
--with-terminfo=/usr/share/terminfo \
--with-term=rxvt-unicode-256color \
--without-codesets
}
pre_install() {
export TERMINFO="${DESTDIR}/usr/share/terminfo"
mkdir -p $TERMINFO
}
post_install() {
vinstall doc/etc/rxvt-unicode.terminfo 644 usr/share/terminfo/r
vinstall ${FILESDIR}/${pkgname}.desktop 644 usr/share/applications
vinstall ${FILESDIR}/${pkgname}.png 644 usr/share/pixmaps
}
rxvt-unicode-terminfo_package() {
short_desc+=" - terminfo data"
pkg_install() {
vmove usr/share/terminfo
}
}