Update xfontsel to vesion 1.1.0

pull/1/head
matthieu 2022-07-15 10:10:12 +00:00
parent 4148ea6407
commit 1d3ce46609
15 changed files with 544 additions and 223 deletions

View File

@ -1,3 +1,187 @@
commit 6ef6ff13da2adc354eeca629d2fc523cbe3aab42
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Jul 10 15:16:18 2022 -0700
xfontsel 1.1.0
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 770bea4ba363e30b9274c71a3ab51be34f2199b4
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun May 15 07:46:20 2022 -0700
gitlab CI: stop requiring Signed-off-by in commits
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit d92f14a70546d9fac579d7750b4ac0280743123a
Author: Greg A. Woods <woods@robohack.ca>
Date: Thu Jan 27 23:55:08 2022 -0800
include actual screen resolution in the resX & resY menus
When given the "-scaled" option fetch the actual screen resolution and
add that to the list of available resolutions for the resX and resY
menus.
I.e. If the pattern contains '*' for the resX and resY fields (i.e.
instead of '0') then we wil end up with the menu containing "0, 100,
NNN", which makes for a really good demonstration of how scaling of
fonts without knowing the true screen resolution can lead to very wonky
results. Even if the values in the pattern are '0' you still get the
true DPI as an option in the menus.
When you specify a size for a scalable font, you should use points,
never pixels. Points are a physical unit of measurement. There are
always 72 points per inch. Never more or less. So to scale fonts
properly on a screen the scaler needs to know the resolution of the
display in pixels per inch in order to render text at a measurable
physical point size. In the current X11 world it is still up to the
user to correctly specify the actual screen resolution when requesting a
scalable font to render text with, and this is now possible to
demonstrate with this change to Xfontsel.
So with the actual correct resolution selected from the resX and resY
menus (and if the resolution figures are accurate and if the display
hasn't been scaled by the hardware or, e.g. XrandR) then choosing any
avaliable point size will show the sample text with a height on the
screen physically matching the chosen point size. To that end the
default pixelSizeList resource has been changed to just "0", as it
should never be changed, and instead the default "pointSizeList"
resource has been extended with a list of reasonable real-world
sample (deci)point sizes.
[also touch up the help text and call exit() to exit main()]
Signed-off-by: Greg A. Woods <woods@robohack.ca>
commit 148a592bf5b10c5f536cb515536351d73952fc6f
Author: Alexander Gromnitsky <alexander.gromnitsky@gmail.com>
Date: Thu Dec 2 05:56:33 2021 +0200
Add 'reset' button
It's very tedious to deselect multiple XLFD field names if you want to
start from scratch (it's often easier to relaunch the app). Hence, a
simple reset button can be handy.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit d55f7ed9893bb74fb9d1f4cc84501928c0d52c46
Author: Thomas Kuehne <thomas@kuehne.cn>
Date: Sun Dec 5 13:40:43 2021 +0100
Fixed -Wmissing-field-initializers warning
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 3ef81a443a264c48f606dfedd47eb160822457fa
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Apr 3 15:48:25 2022 -0700
mark Quit() & QuitAction() as noreturn
Clears gcc warnings:
xfontsel.c: In function QuitAction:
xfontsel.c:1477:1: warning: function might be candidate for
attribute noreturn [-Wsuggest-attribute=noreturn]
QuitAction(Widget w, XEvent *event, String *params, Cardinal *num_params)
^~~~~~~~~~
xfontsel.c: In function Quit:
xfontsel.c:1392:6: warning: function might be candidate for
attribute noreturn [-Wsuggest-attribute=noreturn]
void Quit(Widget w, XtPointer closure, XtPointer callData)
^~~~
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit be2a75ec654722b282c9e2fac2b73a4dba9f50d0
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Apr 3 15:45:07 2022 -0700
Clean up variable scoping in GetFontNames()
Gets rid of gcc warning:
xfontsel.c: In function GetFontNames:
xfontsel.c:498:16: warning: declaration of f shadows a previous local [-Wshadow]
int maxField, f;
^
xfontsel.c:446:9: note: shadowed declaration is here
int f, field, count;
^
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 93112d07d66cd9ee93ef00527df1da39dfaf7290
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Apr 3 15:36:59 2022 -0700
Fix -Wsign-compare warning from gcc
ULabel.c: In function SetValues:
ULabel.c:670:19: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
for (i = 0; i < *num_args; i++) {
^
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 954fc5687b9805201c425fd3139acb6d19bd9bd5
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Apr 3 15:34:31 2022 -0700
const cleanup
Clears up 32 out of 49 -Wdiscarded-qualifiers warnings from gcc
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit b08c43c680e4ad3092893bc7f3eb5f98e67648af
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sat Apr 2 12:54:45 2022 -0700
man page: remove out-of-date COPYRIGHT section
The information previously listed here didn't match what is present in
the source code or the COPYING file, and the X(7) man page doesn't list
any license information as this had claimed.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit bfc30b3eec7fe816c63c773a535fb2b3efbb969e
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Mon Dec 6 12:08:39 2021 -0800
Build xz tarballs instead of bzip2
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 613461cf2b1fe8505027bdf8159e3ebde80276c2
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Mon Dec 6 12:08:33 2021 -0800
gitlab CI: add a basic build test
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit b8a708af87051de4f6f6d23655cfab1ed25ddf5e
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Wed Nov 21 17:03:41 2018 -0800
Update configure.ac bug URL for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 1e168e2b7c344f527edcd0d466b7c05d5071a460
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Nov 16 22:00:23 2018 -0800
Update README for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit a98ec351f665d12b0f0aa26dddeaf7a33423ffd1
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Mar 9 17:30:13 2018 -0800
@ -605,7 +789,7 @@ Date: Wed Jul 20 19:31:55 2005 +0000
configure cache, you cache it, and the cached value is probably wrong.
commit fb8c54ae47b8dd71f082fd0c4b705690c8aca524
Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Date: Fri Jul 1 18:11:22 2005 +0000
Build system for xfontsel

View File

@ -22,6 +22,7 @@
SUBDIRS = man
bin_PROGRAMS = xfontsel
AM_CPPFLAGS = -D_CONST_X_STRING
AM_CFLAGS = $(XFONTSEL_CFLAGS) $(CWARNFLAGS)
xfontsel_LDADD = $(XFONTSEL_LIBS)
@ -50,3 +51,5 @@ ChangeLog:
$(CHANGELOG_CMD)
dist-hook: ChangeLog INSTALL
EXTRA_DIST = README.md

View File

@ -74,7 +74,7 @@ build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = xfontsel$(EXEEXT)
subdir = .
DIST_COMMON = README $(am__configure_deps) $(dist_appdefault_DATA) \
DIST_COMMON = $(am__configure_deps) $(dist_appdefault_DATA) \
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/config.h.in $(top_srcdir)/configure COPYING \
ChangeLog INSTALL compile config.guess config.sub depcomp \
@ -209,9 +209,9 @@ am__relativize = \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz
GZIP_ENV = --best
DIST_TARGETS = dist-bzip2 dist-gzip
DIST_TARGETS = dist-xz dist-gzip
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@ -332,6 +332,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@ -341,6 +342,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = man
AM_CPPFLAGS = -D_CONST_X_STRING
AM_CFLAGS = $(XFONTSEL_CFLAGS) $(CWARNFLAGS)
xfontsel_LDADD = $(XFONTSEL_LIBS)
xfontsel_SOURCES = \
@ -356,6 +358,7 @@ dist_appdefault_DATA = \
app-defaults/XFontSel
MAINTAINERCLEANFILES = ChangeLog INSTALL
EXTRA_DIST = README.md
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@ -704,6 +707,7 @@ distdir: $(DISTFILES)
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__post_remove_distdir)
@ -711,7 +715,6 @@ dist-bzip2: distdir
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)

View File

@ -1,27 +0,0 @@
xfontsel application provides a simple way to display the X11 core
protocol fonts known to your X server, examine samples of each, and
retrieve the X Logical Font Description ("XLFD") full name for a font.
All questions regarding this software should be directed at the
Xorg mailing list:
http://lists.freedesktop.org/mailman/listinfo/xorg
Please submit bug reports to the Xorg bugzilla:
https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
The master development code repository can be found at:
git://anongit.freedesktop.org/git/xorg/app/xfontsel
http://cgit.freedesktop.org/xorg/app/xfontsel
For patch submission instructions, see:
http://www.x.org/wiki/Development/Documentation/SubmittingPatches
For more information on the git code manager, see:
http://wiki.x.org/wiki/GitPage

19
app/xfontsel/README.md Normal file
View File

@ -0,0 +1,19 @@
xfontsel application provides a simple way to display the X11 core
protocol fonts known to your X server, examine samples of each, and
retrieve the X Logical Font Description ("XLFD") full name for a font.
All questions regarding this software should be directed at the
Xorg mailing list:
https://lists.x.org/mailman/listinfo/xorg
The master development code repository can be found at:
https://gitlab.freedesktop.org/xorg/app/xfontsel
Please submit bug reports and requests to merge patches there.
For patch submission instructions, see:
https://www.x.org/wiki/Development/Documentation/SubmittingPatches

View File

@ -153,6 +153,9 @@ UCSLabelClassRec ucsLabelClassRec = {
/* Simple class fields initialization */
{
/* change_sensitive */ XtInheritChangeSensitive
#ifndef OLDXAW
/* extension */ ,NULL
#endif
},
/* UCSLabel class fields initialization */
{
@ -177,9 +180,9 @@ static XChar2b *buf2b;
static int buf2blen = 0;
static void _XawLabelDrawUCS(Display *dpy, Drawable d, GC gc,
int x, int y, char *str, int n)
int x, int y, const char *str, int n)
{
char *ep;
const char *ep;
unsigned short codepoint;
XChar2b *ptr;
@ -214,11 +217,11 @@ static void _XawLabelDrawUCS(Display *dpy, Drawable d, GC gc,
static int _XawLabelWidthUCS(
XFontStruct *fs,
char *str,
const char *str,
int n
)
{
char *ep;
const char *ep;
unsigned short codepoint;
XChar2b *ptr;
@ -287,7 +290,7 @@ static void SetTextWidthAndHeight(UCSLabelWidget lw)
lw->label.label_width = 0;
}
else if ((nl = index(lw->label.label, '\n')) != NULL) {
char *label;
const char *label;
lw->label.label_len = MULTI_LINE_LABEL;
lw->label.label_width = 0;
for (label = lw->label.label; nl != NULL; nl = index(label, '\n')) {
@ -320,7 +323,7 @@ static void SetTextWidthAndHeight(UCSLabelWidget lw)
lw->label.label_width = 0;
}
else if ((nl = index(lw->label.label, '\n')) != NULL) {
char *label;
const char *label;
lw->label.label_len = MULTI_LINE_LABEL;
lw->label.label_width = 0;
for (label = lw->label.label; nl != NULL; nl = index(label, '\n')) {
@ -520,7 +523,7 @@ static void Redisplay(Widget gw, XEvent *event, Region region)
if (w->label.pixmap == None) {
int len = w->label.label_len;
char *label = w->label.label;
const char *label = w->label.label;
Position y = w->label.label_y + w->label.font->max_bounds.ascent;
Position ksy = w->label.label_y;
@ -661,7 +664,7 @@ SetValues(Widget current, Widget request, Widget new,
UCSLabelWidget curlw = (UCSLabelWidget) current;
UCSLabelWidget reqlw = (UCSLabelWidget) request;
UCSLabelWidget newlw = (UCSLabelWidget) new;
int i;
unsigned int i;
Boolean was_resized = False, redisplay = False, checks[NUM_CHECKS];
for (i = 0; i < NUM_CHECKS; i++)
@ -756,7 +759,7 @@ static void Destroy(Widget w)
UCSLabelWidget lw = (UCSLabelWidget)w;
if ( lw->label.label != lw->core.name )
XtFree( lw->label.label );
XtFree( (char *) lw->label.label );
XtReleaseGC( w, lw->label.normal_GC );
XtReleaseGC( w, lw->label.gray_GC);
XmuReleaseStippledPixmap( XtScreen(w), lw->label.stipple );

View File

@ -82,7 +82,7 @@ typedef struct {
Pixel foreground;
XFontStruct *font;
XFontSet fontset;
char *label;
String label;
XtJustify justify;
Dimension internal_width;
Dimension internal_height;

View File

@ -19,32 +19,63 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 1 (pkg-config-0.24)
#
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 12 (pkg-config-0.29.2)
# PKG_PROG_PKG_CONFIG([MIN-VERSION])
# ----------------------------------
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
dnl 02111-1307, USA.
dnl
dnl As a special exception to the GNU General Public License, if you
dnl distribute this file as part of a program that contains a
dnl configuration script generated by Autoconf, you may include it under
dnl the same distribution terms that you use for the rest of that
dnl program.
dnl PKG_PREREQ(MIN-VERSION)
dnl -----------------------
dnl Since: 0.29
dnl
dnl Verify that the version of the pkg-config macros are at least
dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
dnl installed version of pkg-config, this checks the developer's version
dnl of pkg.m4 when generating configure.
dnl
dnl To ensure that this macro is defined, also add:
dnl m4_ifndef([PKG_PREREQ],
dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
dnl
dnl See the "Since" comment for each macro you use to see what version
dnl of the macros you require.
m4_defun([PKG_PREREQ],
[m4_define([PKG_MACROS_VERSION], [0.29.2])
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
])dnl PKG_PREREQ
dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
dnl ----------------------------------
dnl Since: 0.16
dnl
dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
dnl first found in the path. Checks that the version of pkg-config found
dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
dnl used since that's the first version where most current features of
dnl pkg-config existed.
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
@ -66,18 +97,19 @@ if test -n "$PKG_CONFIG"; then
PKG_CONFIG=""
fi
fi[]dnl
])# PKG_PROG_PKG_CONFIG
])dnl PKG_PROG_PKG_CONFIG
# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
#
# Check to see whether a particular set of modules exists. Similar
# to PKG_CHECK_MODULES(), but does not set variables or print errors.
#
# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
# only at the first occurence in configure.ac, so if the first place
# it's called might be skipped (such as if it is within an "if", you
# have to call PKG_CHECK_EXISTS manually
# --------------------------------------------------------------
dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------------------------------
dnl Since: 0.18
dnl
dnl Check to see whether a particular set of modules exists. Similar to
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
dnl
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
dnl only at the first occurence in configure.ac, so if the first place
dnl it's called might be skipped (such as if it is within an "if", you
dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
@ -87,8 +119,10 @@ m4_ifvaln([$3], [else
$3])dnl
fi])
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
# ---------------------------------------------
dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
dnl ---------------------------------------------
dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
dnl pkg_failed based on the result.
m4_define([_PKG_CONFIG],
[if test -n "$$1"; then
pkg_cv_[]$1="$$1"
@ -100,10 +134,11 @@ m4_define([_PKG_CONFIG],
else
pkg_failed=untried
fi[]dnl
])# _PKG_CONFIG
])dnl _PKG_CONFIG
# _PKG_SHORT_ERRORS_SUPPORTED
# -----------------------------
dnl _PKG_SHORT_ERRORS_SUPPORTED
dnl ---------------------------
dnl Internal check to see if pkg-config supports short errors.
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@ -111,26 +146,24 @@ if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
else
_pkg_short_errors_supported=no
fi[]dnl
])# _PKG_SHORT_ERRORS_SUPPORTED
])dnl _PKG_SHORT_ERRORS_SUPPORTED
# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
# [ACTION-IF-NOT-FOUND])
#
#
# Note that if there is a possibility the first call to
# PKG_CHECK_MODULES might not happen, you should be sure to include an
# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
#
#
# --------------------------------------------------------------
dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
dnl [ACTION-IF-NOT-FOUND])
dnl --------------------------------------------------------------
dnl Since: 0.4.0
dnl
dnl Note that if there is a possibility the first call to
dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
pkg_failed=no
AC_MSG_CHECKING([for $1])
AC_MSG_CHECKING([for $2])
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
@ -140,11 +173,11 @@ and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.])
if test $pkg_failed = yes; then
AC_MSG_RESULT([no])
AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
else
else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
@ -161,7 +194,7 @@ installed software in a non-standard prefix.
_PKG_TEXT])[]dnl
])
elif test $pkg_failed = untried; then
AC_MSG_RESULT([no])
AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE(
[The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
@ -177,16 +210,40 @@ else
AC_MSG_RESULT([yes])
$3
fi[]dnl
])# PKG_CHECK_MODULES
])dnl PKG_CHECK_MODULES
# PKG_INSTALLDIR(DIRECTORY)
# -------------------------
# Substitutes the variable pkgconfigdir as the location where a module
# should install pkg-config .pc files. By default the directory is
# $libdir/pkgconfig, but the default can be changed by passing
# DIRECTORY. The user can override through the --with-pkgconfigdir
# parameter.
dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
dnl [ACTION-IF-NOT-FOUND])
dnl ---------------------------------------------------------------------
dnl Since: 0.29
dnl
dnl Checks for existence of MODULES and gathers its build flags with
dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
dnl and VARIABLE-PREFIX_LIBS from --libs.
dnl
dnl Note that if there is a possibility the first call to
dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
dnl configure.ac.
AC_DEFUN([PKG_CHECK_MODULES_STATIC],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
_save_PKG_CONFIG=$PKG_CONFIG
PKG_CONFIG="$PKG_CONFIG --static"
PKG_CHECK_MODULES($@)
PKG_CONFIG=$_save_PKG_CONFIG[]dnl
])dnl PKG_CHECK_MODULES_STATIC
dnl PKG_INSTALLDIR([DIRECTORY])
dnl -------------------------
dnl Since: 0.27
dnl
dnl Substitutes the variable pkgconfigdir as the location where a module
dnl should install pkg-config .pc files. By default the directory is
dnl $libdir/pkgconfig, but the default can be changed by passing
dnl DIRECTORY. The user can override through the --with-pkgconfigdir
dnl parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
@ -197,16 +254,18 @@ AC_ARG_WITH([pkgconfigdir],
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_INSTALLDIR
])dnl PKG_INSTALLDIR
# PKG_NOARCH_INSTALLDIR(DIRECTORY)
# -------------------------
# Substitutes the variable noarch_pkgconfigdir as the location where a
# module should install arch-independent pkg-config .pc files. By
# default the directory is $datadir/pkgconfig, but the default can be
# changed by passing DIRECTORY. The user can override through the
# --with-noarch-pkgconfigdir parameter.
dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
dnl --------------------------------
dnl Since: 0.27
dnl
dnl Substitutes the variable noarch_pkgconfigdir as the location where a
dnl module should install arch-independent pkg-config .pc files. By
dnl default the directory is $datadir/pkgconfig, but the default can be
dnl changed by passing DIRECTORY. The user can override through the
dnl --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
@ -217,7 +276,24 @@ AC_ARG_WITH([noarch-pkgconfigdir],
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_NOARCH_INSTALLDIR
])dnl PKG_NOARCH_INSTALLDIR
dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------
dnl Since: 0.28
dnl
dnl Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
_PKG_CONFIG([$1], [variable="][$3]["], [$2])
AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
])dnl PKG_CHECK_VAR
# Copyright (C) 2002-2012 Free Software Foundation, Inc.
#

View File

@ -36,8 +36,8 @@
*appDefaultsVersion: 1
*pixelSizeList: 7, 30, 40, 50, 60
*pointSizeList: 250, 300, 350, 400
*pixelSizeList: 0
*pointSizeList: 80, 90, 100, 110, 120, 140, 160, 170, 180, 200, 250, 300, 350, 400
XFontSel.cursor: left_ptr
*allowShellResize: true
@ -50,8 +50,13 @@ XFontSel.cursor: left_ptr
*quitButton.left: chainLeft
*quitButton.right: chainLeft
*resetButton.Label: reset
*resetButton.fromHoriz: quitButton
*resetButton.left: chainLeft
*resetButton.right: chainLeft
*ownButton.Label: select
*ownButton.fromHoriz: quitButton
*ownButton.fromHoriz: resetButton
*ownButton.left: chainLeft
*ownButton.right: chainLeft

View File

@ -1,9 +1,9 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@ -17,7 +17,7 @@ scriptversion=2012-10-14.11; # UTC
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@ -53,7 +53,7 @@ func_file_conv ()
MINGW*)
file_conv=mingw
;;
CYGWIN*)
CYGWIN* | MSYS*)
file_conv=cygwin
;;
*)
@ -67,7 +67,7 @@ func_file_conv ()
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
cygwin/* | msys/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
@ -255,7 +255,8 @@ EOF
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
@ -339,9 +340,9 @@ exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:

105
app/xfontsel/configure vendored
View File

@ -1,8 +1,8 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for xfontsel 1.0.6.
# Generated by GNU Autoconf 2.69 for xfontsel 1.1.0.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
# Report bugs to <https://gitlab.freedesktop.org/xorg/app/xfontsel/issues>.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@ -267,7 +267,7 @@ fi
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
else
$as_echo "$0: Please tell bug-autoconf@gnu.org and
$0: https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
$0: https://gitlab.freedesktop.org/xorg/app/xfontsel/issues
$0: about your system, including any error possibly output
$0: before this message. Then install a modern shell, or
$0: manually run the script under such a shell if you do
@ -581,9 +581,9 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='xfontsel'
PACKAGE_TARNAME='xfontsel'
PACKAGE_VERSION='1.0.6'
PACKAGE_STRING='xfontsel 1.0.6'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
PACKAGE_VERSION='1.1.0'
PACKAGE_STRING='xfontsel 1.1.0'
PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/app/xfontsel/issues'
PACKAGE_URL=''
ac_unique_file="Makefile.am"
@ -732,6 +732,7 @@ infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
@ -815,6 +816,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@ -1067,6 +1069,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@ -1204,7 +1215,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@ -1317,7 +1328,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures xfontsel 1.0.6 to adapt to many kinds of systems.
\`configure' configures xfontsel 1.1.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1357,6 +1368,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@ -1387,7 +1399,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of xfontsel 1.0.6:";;
short | recursive ) echo "Configuration of xfontsel 1.1.0:";;
esac
cat <<\_ACEOF
@ -1444,7 +1456,7 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
Report bugs to <https://gitlab.freedesktop.org/xorg/app/xfontsel/issues>.
_ACEOF
ac_status=$?
fi
@ -1507,7 +1519,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
xfontsel configure 1.0.6
xfontsel configure 1.1.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@ -1764,7 +1776,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by xfontsel $as_me 1.0.6, which was
It was created by xfontsel $as_me 1.1.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@ -2593,7 +2605,7 @@ fi
# Define the identity of the package.
PACKAGE='xfontsel'
VERSION='1.0.6'
VERSION='1.1.0'
cat >>confdefs.h <<_ACEOF
@ -2640,29 +2652,6 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
# Check whether --enable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then :
enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
else
USE_MAINTAINER_MODE=no
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
$as_echo "$USE_MAINTAINER_MODE" >&6; }
if test $USE_MAINTAINER_MODE = yes; then
MAINTAINER_MODE_TRUE=
MAINTAINER_MODE_FALSE='#'
else
MAINTAINER_MODE_TRUE='#'
MAINTAINER_MODE_FALSE=
fi
MAINT=$MAINTAINER_MODE_TRUE
# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
@ -10440,19 +10429,19 @@ AM_BACKSLASH='\'
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XFONTSEL" >&5
$as_echo_n "checking for XFONTSEL... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xaw7 xmu xt x11 xproto >= 7.0.17" >&5
$as_echo_n "checking for xaw7 xmu xt x11 xproto >= 7.0.17... " >&6; }
if test -n "$XFONTSEL_CFLAGS"; then
pkg_cv_XFONTSEL_CFLAGS="$XFONTSEL_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xaw7 xmu xt x11\""; } >&5
($PKG_CONFIG --exists --print-errors "xaw7 xmu xt x11") 2>&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xaw7 xmu xt x11 xproto >= 7.0.17\""; } >&5
($PKG_CONFIG --exists --print-errors "xaw7 xmu xt x11 xproto >= 7.0.17") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_XFONTSEL_CFLAGS=`$PKG_CONFIG --cflags "xaw7 xmu xt x11" 2>/dev/null`
pkg_cv_XFONTSEL_CFLAGS=`$PKG_CONFIG --cflags "xaw7 xmu xt x11 xproto >= 7.0.17" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@ -10464,12 +10453,12 @@ if test -n "$XFONTSEL_LIBS"; then
pkg_cv_XFONTSEL_LIBS="$XFONTSEL_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xaw7 xmu xt x11\""; } >&5
($PKG_CONFIG --exists --print-errors "xaw7 xmu xt x11") 2>&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xaw7 xmu xt x11 xproto >= 7.0.17\""; } >&5
($PKG_CONFIG --exists --print-errors "xaw7 xmu xt x11 xproto >= 7.0.17") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_XFONTSEL_LIBS=`$PKG_CONFIG --libs "xaw7 xmu xt x11" 2>/dev/null`
pkg_cv_XFONTSEL_LIBS=`$PKG_CONFIG --libs "xaw7 xmu xt x11 xproto >= 7.0.17" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@ -10481,7 +10470,7 @@ fi
if test $pkg_failed = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@ -10490,14 +10479,14 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
XFONTSEL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xaw7 xmu xt x11" 2>&1`
XFONTSEL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xaw7 xmu xt x11 xproto >= 7.0.17" 2>&1`
else
XFONTSEL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xaw7 xmu xt x11" 2>&1`
XFONTSEL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xaw7 xmu xt x11 xproto >= 7.0.17" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$XFONTSEL_PKG_ERRORS" >&5
as_fn_error $? "Package requirements (xaw7 xmu xt x11) were not met:
as_fn_error $? "Package requirements (xaw7 xmu xt x11 xproto >= 7.0.17) were not met:
$XFONTSEL_PKG_ERRORS
@ -10508,7 +10497,7 @@ Alternatively, you may set the environment variables XFONTSEL_CFLAGS
and XFONTSEL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details." "$LINENO" 5
elif test $pkg_failed = untried; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@ -10532,8 +10521,8 @@ fi
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for APPDEFS" >&5
$as_echo_n "checking for APPDEFS... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xt" >&5
$as_echo_n "checking for xt... " >&6; }
if test -n "$APPDEFS_CFLAGS"; then
pkg_cv_APPDEFS_CFLAGS="$APPDEFS_CFLAGS"
@ -10573,7 +10562,7 @@ fi
if test $pkg_failed = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@ -10600,7 +10589,7 @@ Alternatively, you may set the environment variables APPDEFS_CFLAGS
and APPDEFS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details." "$LINENO" 5
elif test $pkg_failed = untried; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@ -10760,10 +10749,6 @@ else
am__EXEEXT_FALSE=
fi
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@ -11173,7 +11158,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by xfontsel $as_me 1.0.6, which was
This file was extended by xfontsel $as_me 1.1.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -11233,13 +11218,13 @@ $config_headers
Configuration commands:
$config_commands
Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>."
Report bugs to <https://gitlab.freedesktop.org/xorg/app/xfontsel/issues>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
xfontsel config.status 1.0.6
xfontsel config.status 1.1.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

View File

@ -23,14 +23,13 @@ dnl Process this file with autoconf to create configure.
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xfontsel], [1.0.6],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xfontsel])
AC_INIT([xfontsel], [1.1.0],
[https://gitlab.freedesktop.org/xorg/app/xfontsel/issues], [xfontsel])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])
# Initialize Automake
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
AM_INIT_AUTOMAKE([foreign dist-xz])
# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
m4_ifndef([XORG_MACROS_VERSION],
@ -38,7 +37,7 @@ m4_ifndef([XORG_MACROS_VERSION],
XORG_MACROS_VERSION(1.8)
XORG_DEFAULT_OPTIONS
PKG_CHECK_MODULES(XFONTSEL, xaw7 xmu xt x11)
PKG_CHECK_MODULES(XFONTSEL, xaw7 xmu xt x11 xproto >= 7.0.17)
PKG_CHECK_MODULES(APPDEFS, xt)
xt_appdefaultdir=`$PKG_CONFIG --variable=appdefaultdir xt`

View File

@ -225,6 +225,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@

View File

@ -215,10 +215,6 @@ parsed. An error message indicating a missing menu is printed
to stderr but otherwise nothing bad (or good) happens.
.PP
The average-width menu is too large to be useful.
.SH COPYRIGHT
Copyright 1989, 1991, X Consortium
.PP
See \fIX(__miscmansuffix__)\fP for a full statement of rights and permissions.
.SH AUTHOR
.PP
Ralph R. Swick, Digital Equipment Corporation/MIT Project Athena

View File

@ -50,6 +50,7 @@ Modified: Mark Leisher <mleisher@crl.nmsu.edu> to deal with UCS sample text.
#include <X11/Xmu/Atoms.h>
#include <X11/Xmu/StdSel.h>
#include <X11/Xfuncs.h>
#include <X11/Xlib.h>
#include "ULabel.h"
#define MIN_APP_DEFAULTS_VERSION 1
@ -67,7 +68,8 @@ Modified: Mark Leisher <mleisher@crl.nmsu.edu> to deal with UCS sample text.
void GetFontNames(XtPointer closure);
Boolean Matches(String pattern, String fontName, Boolean fields[], int *maxfields);
Boolean DoWorkPiece(XtPointer closure);
void Quit(Widget w, XtPointer closure, XtPointer callData);
void Quit(Widget w, XtPointer closure, XtPointer callData) _X_NORETURN;
void Reset(Widget w, XtPointer closure, XtPointer callData);
void OwnSelection(Widget w, XtPointer closure, XtPointer callData);
void SelectField(Widget w, XtPointer closure, XtPointer callData);
void ParseFontNames(XtPointer closure);
@ -79,7 +81,8 @@ void AnyValue(Widget w, XtPointer closure, XtPointer callData);
void EnableOtherValues(Widget w, XtPointer closure, XtPointer callData);
void EnableMenu(XtPointer closure);
void SetCurrentFont(XtPointer closure);
void QuitAction(Widget w, XEvent *event, String *params, Cardinal *num_params);
void QuitAction(Widget w, XEvent *event, String *params, Cardinal *num_params)
_X_NORETURN;
static XtActionsRec xfontsel_actions[] = {
{"Quit", QuitAction}
@ -95,8 +98,8 @@ static struct _appRes {
int app_defaults_version;
Cursor cursor;
String pattern;
String pixelSizeList;
String pointSizeList;
char *pixelSizeList;
char *pointSizeList;
Boolean print_on_quit;
String sample_text;
String sample_text16;
@ -159,7 +162,8 @@ static void Syntax(const char *call)
" -sample string sample text to use for 1-byte fonts\n"
" -sample16 string sample text to use for 2-byte fonts\n"
" -sampleUCS string sample text to use for ISO10646 fonts\n"
" -scaled use scaled instances of fonts\n");
" -scaled use scaled instances of fonts\n"
"plus any standard toolkit options\n");
exit (1);
}
@ -222,6 +226,7 @@ static void ScheduleWork(XtProc proc, XtPointer closure, int priority);
static void SetCurrentFontCount(void);
static void SetNoFonts(void);
static void SetParsingFontCount(int count);
static void reset_currentFontNameString(void);
static XtAppContext appCtx;
static int numFonts;
@ -233,11 +238,12 @@ static FieldValueList *fieldValues[FIELD_COUNT];
static FontValues currentFont;
static int matchingFontCount;
static Boolean anyDisabled = False;
static Widget resetButton;
static Widget ownButton;
static Widget fieldBox;
static Widget countLabel;
static Widget currentFontName;
static String currentFontNameString;
static char *currentFontNameString;
static int currentFontNameSize;
static Widget sampleText;
static int textEncoding = -1;
@ -274,7 +280,7 @@ see 'xfontsel' manual page."
);
}
ScheduleWork(GetFontNames, (XtPointer)XtDisplay(topLevel), 0);
ScheduleWork(GetFontNames, (XtPointer)topLevel, 0);
pane = XtCreateManagedWidget("pane",panedWidgetClass,topLevel,NZ);
{
@ -282,11 +288,14 @@ see 'xfontsel' manual page."
commandBox = XtCreateManagedWidget("commandBox",formWidgetClass,pane,NZ);
{
Widget quitButton /*, ownButton , countLabel*/;
Widget quitButton /*, resetButton, ownButton , countLabel*/;
quitButton =
XtCreateManagedWidget("quitButton",commandWidgetClass,commandBox,NZ);
resetButton =
XtCreateManagedWidget("resetButton",commandWidgetClass,commandBox,NZ);
ownButton =
XtCreateManagedWidget("ownButton",toggleWidgetClass,commandBox,NZ);
@ -294,6 +303,7 @@ see 'xfontsel' manual page."
XtCreateManagedWidget("countLabel",labelWidgetClass,commandBox,NZ);
XtAddCallback(quitButton, XtNcallback, Quit, NULL);
XtAddCallback(resetButton, XtNcallback, Reset, NULL);
XtAddCallback(ownButton,XtNcallback,OwnSelection,(XtPointer)True);
}
@ -321,10 +331,7 @@ see 'xfontsel' manual page."
/* currentFontName = */
{
Arg args[1];
currentFontNameSize = strlen(AppRes.pattern);
if (currentFontNameSize < 128) currentFontNameSize = 128;
currentFontNameString = (String)XtMalloc(currentFontNameSize);
strcpy(currentFontNameString, AppRes.pattern);
reset_currentFontNameString();
XtSetArg(args[0], XtNlabel, currentFontNameString);
currentFontName =
XtCreateManagedWidget("fontName",labelWidgetClass,pane,args,ONE);
@ -348,7 +355,7 @@ see 'xfontsel' manual page."
&wm_delete_window, 1);
XtAppMainLoop(appCtx);
return 0;
exit(0);
}
@ -441,19 +448,24 @@ struct ParseRec {
void GetFontNames(XtPointer closure)
{
Display *dpy = (Display*)closure;
Widget topLevel = (Widget)closure;
Display *dpy = XtDisplay(topLevel);
ParseRec *parseRec;
int f, field, count;
String *fontNames;
Boolean *b;
int count;
char **fontNames;
int work_priority = 0;
fontNames = XListFonts(dpy, AppRes.pattern, 32767, &numFonts);
fonts = (FontValues*)XtMalloc( numFonts*sizeof(FontValues) );
fontInSet = (Boolean*)XtMalloc( numFonts*sizeof(Boolean) );
for (f = numFonts, b = fontInSet; f; f--, b++) *b = True;
for (field = 0; field < FIELD_COUNT; field++) {
{
int f;
Boolean *b;
for (f = numFonts, b = fontInSet; f; f--, b++)
*b = True;
}
for (int field = 0; field < FIELD_COUNT; field++) {
fieldValues[field] = (FieldValueList*)XtMalloc(sizeof(FieldValueList));
fieldValues[field]->allocated = 1;
fieldValues[field]->count = 0;
@ -491,7 +503,7 @@ void GetFontNames(XtPointer closure)
ScheduleWork((XtProc)XFreeFontNames,(XtPointer)fontNames,work_priority);
ScheduleWork((XtProc)XtFree, (XtPointer)parseRec, work_priority);
if (AppRes.scaled_fonts)
ScheduleWork(FixScalables,(XtPointer)0,work_priority);
ScheduleWork(FixScalables,(XtPointer)topLevel, work_priority);
ScheduleWork(SortFields,(XtPointer)0,work_priority);
SetParsingFontCount(matchingFontCount);
if (strcmp(AppRes.pattern, DEFAULTPATTERN)) {
@ -574,9 +586,10 @@ void ParseFontNames(XtPointer closure)
if (len == 0)
v->string = NULL;
else {
v->string = (String)XtMalloc( len+1 );
strncpy( v->string, fieldP, len );
v->string[len] = '\0';
char *s = XtMalloc(len + 1);
strncpy( s, fieldP, len );
s[len] = '\0';
v->string = (String) s;
}
v->font = (int*)XtMalloc( 10*sizeof(int) );
v->allocated = 10;
@ -700,13 +713,50 @@ static void NewScalables(int f, char *slist)
/* Find all scalable fonts, defined as the set matching "0" in the pixel
* size field (field 6). Augment the match-lists for all other fields
* that are scalable. Add in new scalable pixel and point sizes given
* in resources.
* in resources, along with the current Screen's actual resX and resY
* values.
*/
/*ARGSUSED*/
void FixScalables(XtPointer closure)
{
int i;
FieldValue *fval = fieldValues[6]->value;
Widget topLevel = (Widget) closure;
Display *dpy = XtDisplay(topLevel);
int scr = XScreenNumberOfScreen(XtScreenOfObject(topLevel));
double xres, yres;
static char xreslist[21]; /* log10(UINT64_MAX) == 19 */
static char yreslist[21];
/* from xdpyinfo.c:
* there are 2.54 centimeters to an inch; so there are 25.4 millimeters.
*
* dpi = N pixels / (M millimeters / (25.4 millimeters / 1 inch))
* = N pixels / (M inch / 25.4)
* = N * 25.4 pixels / M inch
*/
xres = ((((double) DisplayWidth(dpy, scr)) * 25.4) /
((double) DisplayWidthMM(dpy, scr)));
yres = ((((double) DisplayHeight(dpy, scr)) * 25.4) /
((double) DisplayHeightMM(dpy, scr)));
/*
* xxx the "0" element is always added, so we can't force these here....
*
* However, what's interesting is that if the pattern contains '*' for these
* fields (i.e. instead of '0') then we end up with the menu containing "0,
* 100, xres", which makes for a really good demonstration of how scaling
* fonts without knowing the true screen resolution leads to very wonky
* results.
*
* xxx obviously these are static and related only to the screen of the
* Widget at the time this code executes and so you can't drag the Xfontsel
* winto to another screen with a different resolution and see things change
* dynamically -- you have to instantiate a new Xfontsel process on each
* different screen as desired.
*/
sprintf(xreslist, "%d", (int) (xres + 0.5));
sprintf(yreslist, "%d", (int) (yres + 0.5));
for (i = fieldValues[6]->count; --i >= 0; fval++) {
if (fval->string && !strcmp(fval->string, "0")) {
@ -716,8 +766,8 @@ void FixScalables(XtPointer closure)
NewScalables(6, AppRes.pixelSizeList);
AddScalables(7);
NewScalables(7, AppRes.pointSizeList);
AddScalables(8);
AddScalables(9);
NewScalables(8, xreslist);
NewScalables(9, yreslist);
AddScalables(11);
break;
}
@ -904,6 +954,7 @@ static void SetNoFonts(void)
matchingFontCount = 0;
SetCurrentFontCount();
XtSetSensitive(fieldBox, False);
XtSetSensitive(resetButton, False);
XtSetSensitive(ownButton, False);
if (AppRes.app_defaults_version >= MIN_APP_DEFAULTS_VERSION) {
XtUnmapWidget(sampleText);
@ -1088,7 +1139,7 @@ void SetCurrentFont(XtPointer closure)
len = 1;
}
if (len+1 > --bytesLeft) {
currentFontNameString = (String)
currentFontNameString =
XtRealloc(currentFontNameString, currentFontNameSize+=128);
bytesLeft += 128;
}
@ -1284,7 +1335,7 @@ void EnableOtherValues(Widget w, XtPointer closure, XtPointer callData)
if (scaledFonts)
{
/* Check for 2 out of 3 scalable y fields being set */
char *str;
const char *str;
Bool specificPxl, specificPt, specificY;
f = currentFont.value_index[6];
@ -1392,6 +1443,28 @@ void Quit(Widget w, XtPointer closure, XtPointer callData)
}
void Reset(Widget w, XtPointer closure, XtPointer callData) {
Arg args[1];
reset_currentFontNameString();
XtSetArg(args[0], XtNlabel, currentFontNameString);
XtSetValues(currentFontName, args, ONE);
for (int f = 0; f < FIELD_COUNT; f++)
currentFont.value_index[f] = patternFieldSpecified[f] ? 0 : -1;
SetCurrentFont(NULL);
EnableRemainingItems(SkipCurrentField); /* menu */
}
static void reset_currentFontNameString(void) {
currentFontNameSize = strlen(AppRes.pattern);
if (currentFontNameSize < 128) currentFontNameSize = 128;
XtFree(currentFontNameString);
currentFontNameString = XtMalloc(currentFontNameSize);
strcpy(currentFontNameString, AppRes.pattern);
}
static Boolean
ConvertSelection(Widget w, Atom *selection, Atom *target, Atom *type,
XtPointer *value, unsigned long *length, int *format)