Initial public release

This commit is contained in:
Dakshinamurthy Karra 2021-06-30 13:01:32 +05:30
commit eb900d58d8
78 changed files with 106285 additions and 0 deletions

30
.gitignore vendored Normal file
View file

@ -0,0 +1,30 @@
Makefile
config.log
config.status
libtool
libtool-disable-static
man/Makefile
src/.deps/
src/.libs/
src/Makefile
src/libxosd-xft/.deps/
src/libxosd-xft/.libs/
src/libxosd-xft/Makefile
src/libxosd-xft/geometry.lo
src/libxosd-xft/geometry.o
src/libxosd-xft/libxosd-xft.la
src/libxosd-xft/monitors.lo
src/libxosd-xft/monitors.o
src/libxosd-xft/xosd-xft.lo
src/libxosd-xft/xosd-xft.o
src/nerdfonts.o
src/osd-demo
src/osd-demo.o
src/osd-example
src/osd-example.o
src/osd-show-file
src/osd-show-file.o
src/osd-show-key
src/osd-show-key.o
src/utf8.o
xosd-xft.pc

11
AUTHORS Normal file
View file

@ -0,0 +1,11 @@
Author:
Dakshinamurthy Karra (dakshinamurthy.karra@gmail.com)
Maintainer:
Dakshinamurthy Karra (dakshinamurthy.karra@gmail.com)
Source Contributions:
+ others listed in the ChangeLog
Thanks:
The original xosd program!!

1
COPYING Symbolic link
View file

@ -0,0 +1 @@
/usr/share/automake-1.16/COPYING

166
COPYING.LESSER Normal file
View file

@ -0,0 +1,166 @@
LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this licen=
se
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

13
ChangeLog Normal file
View file

@ -0,0 +1,13 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.0.0] - 2021-07-21
Initial public release

1
INSTALL Symbolic link
View file

@ -0,0 +1 @@
/usr/share/automake-1.16/INSTALL

12
Makefile.am Normal file
View file

@ -0,0 +1,12 @@
ACLOCAL_AMFLAGS=-I m4
SUBDIRS = src man
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = xosd-xft.pc
DISTCLEANFILES = libtool-disable-static
m4datadir = @M4DATADIR@
EXTRA_DIST = autogen.sh

885
Makefile.in Normal file
View file

@ -0,0 +1,885 @@
# Makefile.in generated by automake 1.16.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES = xosd-xft.pc
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
DATA = $(pkgconfig_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir distdir-am dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/xosd-xft.pc.in \
AUTHORS COPYING COPYING.LESSER ChangeLog INSTALL NEWS README \
compile config.guess config.sub install-sh ltmain.sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
if test -d "$(distdir)"; then \
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -rf "$(distdir)" \
|| { sleep 5 && rm -rf "$(distdir)"; }; \
else :; fi
am__post_remove_distdir = $(am__remove_distdir)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
DIST_TARGETS = dist-gzip
# Exists only to be overridden by the user if desired.
AM_DISTCHECK_DVI_TARGET = dvi
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
M4DATADIR = @M4DATADIR@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XFT_CFLAGS = @XFT_CFLAGS@
XFT_LIBS = @XFT_LIBS@
XMKMF = @XMKMF@
XRENDER_CFLAGS = @XRENDER_CFLAGS@
XRENDER_LIBS = @XRENDER_LIBS@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = src man
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = xosd-xft.pc
DISTCLEANFILES = libtool-disable-static
m4datadir = @M4DATADIR@
EXTRA_DIST = autogen.sh
all: all-recursive
.SUFFIXES:
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
xosd-xft.pc: $(top_builddir)/config.status $(srcdir)/xosd-xft.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $@
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool config.lt
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
done
uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
-rm -f cscope.files
cscope.files: clean-cscope cscopelist
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -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)
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)
dist-zstd: distdir
tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
$(am__post_remove_distdir)
dist-tarZ: distdir
@echo WARNING: "Support for distribution archives compressed with" \
"legacy program 'compress' is deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__post_remove_distdir)
dist dist-all:
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
$(am__post_remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
*.tar.zst*) \
zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build/sub \
&& ../../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
--srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
$(am__post_remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@test -n '$(distuninstallcheck_dir)' || { \
echo 'ERROR: trying to run $@ with an empty' \
'$$(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
$(am__cd) '$(distuninstallcheck_dir)' || { \
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am: install-pkgconfigDATA
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-pkgconfigDATA
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-cscope clean-generic \
clean-libtool cscope cscopelist-am ctags ctags-am dist \
dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
dist-xz dist-zip dist-zstd distcheck distclean \
distclean-generic distclean-libtool distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-pkgconfigDATA install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am uninstall-pkgconfigDATA
.PRECIOUS: Makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

0
NEWS Normal file
View file

0
README Normal file
View file

83
README.md Normal file
View file

@ -0,0 +1,83 @@
# XOSD-XFT - OSD for X11
Inspired by [libxosd](https://sourceforge.net/projects/libxosd/).
`xosd-xft` supports:
* Use Xft/TTF fonts
* Xrandr and Xinerama extensions
* Allows you to choose a monitor in multihead setups - including active monitor
* Use `osd-show-key` to display a [Nerd Font](https://nerdfonts.com) glyph
* Use `osd-show-file` to display a file
# Installation
```bash
./configure
make
sudo make install
```
# Quick Look
## Using osd-show-key
To display volume off glyph and execute `amixer` command:
```bash
osd-show-key -e 'amixer set Master off' :fa-volume_off:")
```
To list available glyph names that contain `volume` in them:
```
osd-show-key -lvolume
```
## Using osd-showfile
To override the font used to display a file:
```bash
osd-show-file -f "SourceCodePro:size=14" /etc/passwd
```
The following command shows the output of uptime on the screen and updates every 5 seconds:
```bash
while true; do uptime; sleep 5; done | osd-show-file --number-of-lines 1 -g 0x1l+0-0
```
## Using the library
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <xosd-xft.h>
xosd_xft *osd;
int main(int argc, char *argv[])
{
osd_geometry g;
xosd_xft *osd = osd_create();
if(osd_parse_geometry("300x300+0+0*middle/center", "center/middle", &g) == NULL) {
fprintf(stderr, "%s\n", osd_error);
return EXIT_FAILURE;
}
osd_set_geometry(osd, &g);
osd_set_font(osd, "mono:size=16");
osd_set_color(osd, "lightblue");
osd_set_bgcolor(osd, "black", 100);
char* message = "HELLO XOSD-XFT" ;
osd_display(osd, message, strlen(message));
usleep(1000000);
osd_destroy(osd);
return EXIT_SUCCESS;
}
```

1517
aclocal.m4 vendored Normal file

File diff suppressed because it is too large Load diff

5
autobuild.sh Executable file
View file

@ -0,0 +1,5 @@
libtoolize && \
aclocal && \
automake --add-missing && autoconf
echo Now run: CFLAGS=\'-O2 -DDEBUG \' ./configure

17103
autom4te.cache/output.0 Normal file

File diff suppressed because it is too large Load diff

17103
autom4te.cache/output.1 Normal file

File diff suppressed because it is too large Load diff

17103
autom4te.cache/output.2 Normal file

File diff suppressed because it is too large Load diff

17104
autom4te.cache/output.3 Normal file

File diff suppressed because it is too large Load diff

626
autom4te.cache/requests Normal file
View file

@ -0,0 +1,626 @@
# This file was generated by Autom4te 2.71.
# It contains the lists of macros which have been traced.
# It can be safely removed.
@request = (
bless( [
'0',
1,
[
'/usr/share/autoconf'
],
[
'/usr/share/autoconf/autoconf/autoconf.m4f',
'/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4',
'/usr/share/aclocal/libtool.m4',
'/usr/share/aclocal/ltargz.m4',
'/usr/share/aclocal/ltdl.m4',
'/usr/share/aclocal/ltoptions.m4',
'/usr/share/aclocal/ltsugar.m4',
'/usr/share/aclocal/ltversion.m4',
'/usr/share/aclocal/lt~obsolete.m4',
'/usr/share/aclocal/pkg.m4',
'/usr/share/aclocal-1.16/amversion.m4',
'/usr/share/aclocal-1.16/auxdir.m4',
'/usr/share/aclocal-1.16/cond.m4',
'/usr/share/aclocal-1.16/depend.m4',
'/usr/share/aclocal-1.16/depout.m4',
'/usr/share/aclocal-1.16/init.m4',
'/usr/share/aclocal-1.16/install-sh.m4',
'/usr/share/aclocal-1.16/lead-dot.m4',
'/usr/share/aclocal-1.16/maintainer.m4',
'/usr/share/aclocal-1.16/make.m4',
'/usr/share/aclocal-1.16/missing.m4',
'/usr/share/aclocal-1.16/options.m4',
'/usr/share/aclocal-1.16/prog-cc-c-o.m4',
'/usr/share/aclocal-1.16/runlog.m4',
'/usr/share/aclocal-1.16/sanity.m4',
'/usr/share/aclocal-1.16/silent.m4',
'/usr/share/aclocal-1.16/strip.m4',
'/usr/share/aclocal-1.16/substnot.m4',
'/usr/share/aclocal-1.16/tar.m4',
'configure.ac'
],
{
'_LT_AC_LOCK' => 1,
'AM_RUN_LOG' => 1,
'_LT_AC_TAGVAR' => 1,
'm4_include' => 1,
'LT_PATH_NM' => 1,
'AC_LIBTOOL_DLOPEN' => 1,
'AC_LIBTOOL_SETUP' => 1,
'_AM_DEPENDENCIES' => 1,
'AM_MISSING_PROG' => 1,
'AC_LIBLTDL_CONVENIENCE' => 1,
'LT_AC_PROG_SED' => 1,
'_LT_AC_LANG_RC_CONFIG' => 1,
'AM_PROG_LD' => 1,
'AM_ENABLE_SHARED' => 1,
'AC_LIBTOOL_OBJDIR' => 1,
'_LT_LINKER_BOILERPLATE' => 1,
'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
'_AM_SET_OPTIONS' => 1,
'_LT_AC_LANG_F77_CONFIG' => 1,
'AC_ENABLE_STATIC' => 1,
'_LT_AC_PROG_ECHO_BACKSLASH' => 1,
'LT_CMD_MAX_LEN' => 1,
'AM_MAINTAINER_MODE' => 1,
'LTOPTIONS_VERSION' => 1,
'LT_AC_PROG_GCJ' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'AM_PROG_LIBTOOL' => 1,
'AC_LIBTOOL_RC' => 1,
'LT_LANG' => 1,
'LT_SYS_SYMBOL_USCORE' => 1,
'AM_DISABLE_SHARED' => 1,
'AC_LIBLTDL_INSTALLABLE' => 1,
'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
'PKG_CHECK_MODULES' => 1,
'_AM_PROG_TAR' => 1,
'AC_PROG_NM' => 1,
'_LT_AC_SYS_COMPILER' => 1,
'AM_SILENT_RULES' => 1,
'LT_LIB_DLLOAD' => 1,
'_LT_AC_CHECK_DLFCN' => 1,
'_LT_AC_LANG_GCJ_CONFIG' => 1,
'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
'_LT_LINKER_OPTION' => 1,
'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
'AM_SET_LEADING_DOT' => 1,
'_AM_IF_OPTION' => 1,
'_LT_PROG_LTMAIN' => 1,
'_AM_PROG_CC_C_O' => 1,
'PKG_WITH_MODULES' => 1,
'AC_CONFIG_MACRO_DIR_TRACE' => 1,
'LT_LIB_M' => 1,
'_LT_AC_LANG_CXX' => 1,
'AC_LIBTOOL_DLOPEN_SELF' => 1,
'AC_CHECK_LIBM' => 1,
'_LT_AC_SHELL_INIT' => 1,
'AC_LTDL_SHLIBPATH' => 1,
'AC_PROG_LIBTOOL' => 1,
'LT_PATH_LD' => 1,
'AC_DISABLE_SHARED' => 1,
'AC_LTDL_DLSYM_USCORE' => 1,
'AC_LIBTOOL_CXX' => 1,
'AM_PROG_CC_C_O' => 1,
'LT_AC_PROG_RC' => 1,
'_LT_PATH_TOOL_PREFIX' => 1,
'_LT_COMPILER_OPTION' => 1,
'AM_DEP_TRACK' => 1,
'AM_SET_DEPDIR' => 1,
'PKG_HAVE_DEFINE_WITH_MODULES' => 1,
'AC_LIB_LTDL' => 1,
'AC_PROG_LD_GNU' => 1,
'AM_PROG_NM' => 1,
'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
'LT_PROG_GCJ' => 1,
'LT_SYS_DLSEARCH_PATH' => 1,
'_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
'_LT_PROG_ECHO_BACKSLASH' => 1,
'_LT_LIBOBJ' => 1,
'AC_DISABLE_FAST_INSTALL' => 1,
'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
'AM_INIT_AUTOMAKE' => 1,
'LT_INIT' => 1,
'AC_LTDL_SYMBOL_USCORE' => 1,
'AC_LTDL_PREOPEN' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AM_MISSING_HAS_RUN' => 1,
'_LT_PROG_FC' => 1,
'LT_SYS_MODULE_PATH' => 1,
'AC_ENABLE_SHARED' => 1,
'AC_PROG_LD' => 1,
'AC_CONFIG_MACRO_DIR' => 1,
'LT_AC_PROG_EGREP' => 1,
'AM_MAKE_INCLUDE' => 1,
'AC_ENABLE_FAST_INSTALL' => 1,
'_LT_COMPILER_BOILERPLATE' => 1,
'_AM_CONFIG_MACRO_DIRS' => 1,
'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'AM_ENABLE_STATIC' => 1,
'_LT_PROG_CXX' => 1,
'_LT_AC_LANG_C_CONFIG' => 1,
'AC_LIBTOOL_GCJ' => 1,
'_LT_WITH_SYSROOT' => 1,
'LT_OUTPUT' => 1,
'_LT_AC_SYS_LIBPATH_AIX' => 1,
'_PKG_SHORT_ERRORS_SUPPORTED' => 1,
'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
'AC_DEFUN' => 1,
'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
'AM_SANITY_CHECK' => 1,
'AC_LIBTOOL_LINKER_OPTION' => 1,
'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
'AC_WITH_LTDL' => 1,
'AC_DISABLE_STATIC' => 1,
'_m4_warn' => 1,
'_LT_PROG_F77' => 1,
'PKG_CHECK_EXISTS' => 1,
'm4_pattern_allow' => 1,
'AC_LTDL_DLLIB' => 1,
'_LT_AC_LANG_F77' => 1,
'_LT_PREPARE_SED_QUOTE_VARS' => 1,
'AC_LTDL_ENABLE_INSTALL' => 1,
'LT_PROG_RC' => 1,
'AC_DEFUN_ONCE' => 1,
'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
'LTDL_INIT' => 1,
'AC_LTDL_SYSSEARCHPATH' => 1,
'LT_FUNC_DLSYM_USCORE' => 1,
'PKG_NOARCH_INSTALLDIR' => 1,
'LTDL_CONVENIENCE' => 1,
'_LT_AC_TAGCONFIG' => 1,
'm4_pattern_forbid' => 1,
'_LT_CC_BASENAME' => 1,
'_AM_AUTOCONF_VERSION' => 1,
'AC_LIBTOOL_PICMODE' => 1,
'AC_PATH_MAGIC' => 1,
'_LT_AC_FILE_LTDLL_C' => 1,
'_LT_AC_LANG_CXX_CONFIG' => 1,
'PKG_HAVE_WITH_MODULES' => 1,
'_LT_DLL_DEF_P' => 1,
'LTVERSION_VERSION' => 1,
'PKG_INSTALLDIR' => 1,
'_AM_SET_OPTION' => 1,
'AC_LIBTOOL_FC' => 1,
'include' => 1,
'LT_SYS_DLOPEN_DEPLIBS' => 1,
'_LT_AC_LANG_GCJ' => 1,
'AC_LIBTOOL_COMPILER_OPTION' => 1,
'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
'AC_PATH_TOOL_PREFIX' => 1,
'AU_DEFUN' => 1,
'AC_LIBTOOL_PROG_CC_C_O' => 1,
'AC_LTDL_OBJDIR' => 1,
'PKG_CHECK_MODULES_STATIC' => 1,
'LT_SUPPORTED_TAG' => 1,
'AM_SUBST_NOTMAKE' => 1,
'LT_SYS_DLOPEN_SELF' => 1,
'_AM_MANGLE_OPTION' => 1,
'_AC_AM_CONFIG_HEADER_HOOK' => 1,
'AC_PROG_EGREP' => 1,
'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
'AM_PROG_INSTALL_SH' => 1,
'_AC_PROG_LIBTOOL' => 1,
'LTOBSOLETE_VERSION' => 1,
'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
'LTSUGAR_VERSION' => 1,
'_LT_AC_TRY_DLOPEN_SELF' => 1,
'LT_SYS_MODULE_EXT' => 1,
'_LTDL_SETUP' => 1,
'AM_CONDITIONAL' => 1,
'LT_WITH_LTDL' => 1,
'PKG_PROG_PKG_CONFIG' => 1,
'AC_LTDL_SHLIBEXT' => 1,
'LTDL_INSTALLABLE' => 1,
'AM_AUX_DIR_EXPAND' => 1,
'_LT_AC_PROG_CXXCPP' => 1,
'AC_PROG_LD_RELOAD_FLAG' => 1,
'LT_FUNC_ARGZ' => 1,
'AM_DISABLE_STATIC' => 1,
'LT_PROG_GO' => 1,
'_LT_REQUIRED_DARWIN_CHECKS' => 1,
'PKG_CHECK_VAR' => 1,
'AC_LIBTOOL_LANG_C_CONFIG' => 1,
'AC_LIBTOOL_WIN32_DLL' => 1,
'AM_PROG_INSTALL_STRIP' => 1,
'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
'AC_DEPLIBS_CHECK_METHOD' => 1,
'AC_LIBTOOL_F77' => 1,
'AC_LIBTOOL_CONFIG' => 1
}
], 'Autom4te::Request' ),
bless( [
'1',
1,
[
'/usr/share/autoconf'
],
[
'/usr/share/autoconf/autoconf/autoconf.m4f',
'/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4',
'/usr/share/aclocal/ltargz.m4',
'/usr/share/aclocal/ltdl.m4',
'/usr/share/aclocal/pkg.m4',
'/usr/share/aclocal-1.16/amversion.m4',
'/usr/share/aclocal-1.16/auxdir.m4',
'/usr/share/aclocal-1.16/cond.m4',
'/usr/share/aclocal-1.16/depend.m4',
'/usr/share/aclocal-1.16/depout.m4',
'/usr/share/aclocal-1.16/init.m4',
'/usr/share/aclocal-1.16/install-sh.m4',
'/usr/share/aclocal-1.16/lead-dot.m4',
'/usr/share/aclocal-1.16/maintainer.m4',
'/usr/share/aclocal-1.16/make.m4',
'/usr/share/aclocal-1.16/missing.m4',
'/usr/share/aclocal-1.16/options.m4',
'/usr/share/aclocal-1.16/prog-cc-c-o.m4',
'/usr/share/aclocal-1.16/runlog.m4',
'/usr/share/aclocal-1.16/sanity.m4',
'/usr/share/aclocal-1.16/silent.m4',
'/usr/share/aclocal-1.16/strip.m4',
'/usr/share/aclocal-1.16/substnot.m4',
'/usr/share/aclocal-1.16/tar.m4',
'm4/libtool.m4',
'm4/ltoptions.m4',
'm4/ltsugar.m4',
'm4/ltversion.m4',
'm4/lt~obsolete.m4',
'configure.ac'
],
{
'LT_SYS_DLSEARCH_PATH' => 1,
'_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
'LT_PROG_GCJ' => 1,
'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
'AC_DISABLE_FAST_INSTALL' => 1,
'_LT_PROG_ECHO_BACKSLASH' => 1,
'_LT_LIBOBJ' => 1,
'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
'PKG_HAVE_DEFINE_WITH_MODULES' => 1,
'AM_DEP_TRACK' => 1,
'AM_SET_DEPDIR' => 1,
'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
'AM_PROG_NM' => 1,
'AC_LIB_LTDL' => 1,
'AC_PROG_LD_GNU' => 1,
'_LT_AC_SHELL_INIT' => 1,
'AC_LTDL_SHLIBPATH' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_CHECK_LIBM' => 1,
'_LT_PATH_TOOL_PREFIX' => 1,
'_LT_COMPILER_OPTION' => 1,
'LT_AC_PROG_RC' => 1,
'AC_LIBTOOL_CXX' => 1,
'AC_LTDL_DLSYM_USCORE' => 1,
'AM_PROG_CC_C_O' => 1,
'LT_PATH_LD' => 1,
'AC_DISABLE_SHARED' => 1,
'_LT_AC_LANG_C_CONFIG' => 1,
'AC_LIBTOOL_GCJ' => 1,
'_LT_PROG_CXX' => 1,
'AM_ENABLE_STATIC' => 1,
'AM_MAKE_INCLUDE' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'_AM_CONFIG_MACRO_DIRS' => 1,
'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
'_LT_COMPILER_BOILERPLATE' => 1,
'AC_ENABLE_FAST_INSTALL' => 1,
'_LT_PROG_FC' => 1,
'AM_MISSING_HAS_RUN' => 1,
'LT_AC_PROG_EGREP' => 1,
'AC_CONFIG_MACRO_DIR' => 1,
'LT_SYS_MODULE_PATH' => 1,
'AC_ENABLE_SHARED' => 1,
'AC_PROG_LD' => 1,
'AC_LTDL_SYMBOL_USCORE' => 1,
'LT_INIT' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AC_LTDL_PREOPEN' => 1,
'_LT_AC_PROG_ECHO_BACKSLASH' => 1,
'AC_ENABLE_STATIC' => 1,
'_LT_AC_LANG_F77_CONFIG' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'LTOPTIONS_VERSION' => 1,
'LT_AC_PROG_GCJ' => 1,
'AM_MAINTAINER_MODE' => 1,
'LT_CMD_MAX_LEN' => 1,
'AC_LIBTOOL_OBJDIR' => 1,
'_AM_SET_OPTIONS' => 1,
'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
'_LT_LINKER_BOILERPLATE' => 1,
'_LT_AC_LANG_RC_CONFIG' => 1,
'AM_ENABLE_SHARED' => 1,
'AM_PROG_LD' => 1,
'AM_MISSING_PROG' => 1,
'AC_LIBLTDL_CONVENIENCE' => 1,
'LT_AC_PROG_SED' => 1,
'_AM_DEPENDENCIES' => 1,
'm4_include' => 1,
'_LT_AC_TAGVAR' => 1,
'_LT_AC_LOCK' => 1,
'AM_RUN_LOG' => 1,
'AC_LIBTOOL_SETUP' => 1,
'AC_LIBTOOL_DLOPEN' => 1,
'LT_PATH_NM' => 1,
'_LT_PROG_LTMAIN' => 1,
'_AM_IF_OPTION' => 1,
'AC_CONFIG_MACRO_DIR_TRACE' => 1,
'LT_LIB_M' => 1,
'_LT_AC_LANG_CXX' => 1,
'AC_LIBTOOL_DLOPEN_SELF' => 1,
'PKG_WITH_MODULES' => 1,
'_AM_PROG_CC_C_O' => 1,
'_LT_AC_CHECK_DLFCN' => 1,
'LT_LIB_DLLOAD' => 1,
'_LT_AC_SYS_COMPILER' => 1,
'AM_SILENT_RULES' => 1,
'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
'AM_SET_LEADING_DOT' => 1,
'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
'_LT_AC_LANG_GCJ_CONFIG' => 1,
'_LT_LINKER_OPTION' => 1,
'PKG_CHECK_MODULES' => 1,
'_AM_PROG_TAR' => 1,
'AC_PROG_NM' => 1,
'AC_LIBTOOL_RC' => 1,
'LT_LANG' => 1,
'AM_PROG_LIBTOOL' => 1,
'AC_LIBLTDL_INSTALLABLE' => 1,
'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
'AM_DISABLE_SHARED' => 1,
'LT_SYS_SYMBOL_USCORE' => 1,
'_LTDL_SETUP' => 1,
'AM_CONDITIONAL' => 1,
'LT_SYS_MODULE_EXT' => 1,
'AC_LTDL_SHLIBEXT' => 1,
'LTDL_INSTALLABLE' => 1,
'LT_WITH_LTDL' => 1,
'PKG_PROG_PKG_CONFIG' => 1,
'LTOBSOLETE_VERSION' => 1,
'_AC_PROG_LIBTOOL' => 1,
'_LT_AC_TRY_DLOPEN_SELF' => 1,
'LTSUGAR_VERSION' => 1,
'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
'_AC_AM_CONFIG_HEADER_HOOK' => 1,
'AC_PROG_EGREP' => 1,
'_AM_MANGLE_OPTION' => 1,
'AM_PROG_INSTALL_SH' => 1,
'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
'PKG_CHECK_MODULES_STATIC' => 1,
'AC_LTDL_OBJDIR' => 1,
'LT_SYS_DLOPEN_SELF' => 1,
'AM_SUBST_NOTMAKE' => 1,
'LT_SUPPORTED_TAG' => 1,
'AC_LIBTOOL_F77' => 1,
'AC_DEPLIBS_CHECK_METHOD' => 1,
'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
'AC_LIBTOOL_CONFIG' => 1,
'AM_PROG_INSTALL_STRIP' => 1,
'AC_LIBTOOL_WIN32_DLL' => 1,
'AC_LIBTOOL_LANG_C_CONFIG' => 1,
'AC_PROG_LD_RELOAD_FLAG' => 1,
'LT_FUNC_ARGZ' => 1,
'PKG_CHECK_VAR' => 1,
'LT_PROG_GO' => 1,
'_LT_REQUIRED_DARWIN_CHECKS' => 1,
'AM_DISABLE_STATIC' => 1,
'AM_AUX_DIR_EXPAND' => 1,
'_LT_AC_PROG_CXXCPP' => 1,
'LT_PROG_RC' => 1,
'AC_DEFUN_ONCE' => 1,
'AC_LTDL_ENABLE_INSTALL' => 1,
'_LT_PREPARE_SED_QUOTE_VARS' => 1,
'LTDL_INIT' => 1,
'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
'PKG_CHECK_EXISTS' => 1,
'_LT_PROG_F77' => 1,
'_m4_warn' => 1,
'_LT_AC_LANG_F77' => 1,
'AC_LTDL_DLLIB' => 1,
'm4_pattern_allow' => 1,
'AM_SANITY_CHECK' => 1,
'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
'AC_DISABLE_STATIC' => 1,
'AC_WITH_LTDL' => 1,
'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
'AC_LIBTOOL_LINKER_OPTION' => 1,
'_LT_AC_SYS_LIBPATH_AIX' => 1,
'_LT_WITH_SYSROOT' => 1,
'LT_OUTPUT' => 1,
'AC_DEFUN' => 1,
'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
'_PKG_SHORT_ERRORS_SUPPORTED' => 1,
'LT_SYS_DLOPEN_DEPLIBS' => 1,
'_LT_AC_LANG_GCJ' => 1,
'AC_LIBTOOL_PROG_CC_C_O' => 1,
'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
'AC_PATH_TOOL_PREFIX' => 1,
'AU_DEFUN' => 1,
'AC_LIBTOOL_COMPILER_OPTION' => 1,
'_LT_DLL_DEF_P' => 1,
'PKG_HAVE_WITH_MODULES' => 1,
'_LT_AC_LANG_CXX_CONFIG' => 1,
'include' => 1,
'_AM_SET_OPTION' => 1,
'AC_LIBTOOL_FC' => 1,
'PKG_INSTALLDIR' => 1,
'LTVERSION_VERSION' => 1,
'AC_LIBTOOL_PICMODE' => 1,
'_LT_AC_FILE_LTDLL_C' => 1,
'AC_PATH_MAGIC' => 1,
'_LT_AC_TAGCONFIG' => 1,
'LTDL_CONVENIENCE' => 1,
'AC_LTDL_SYSSEARCHPATH' => 1,
'LT_FUNC_DLSYM_USCORE' => 1,
'PKG_NOARCH_INSTALLDIR' => 1,
'_AM_AUTOCONF_VERSION' => 1,
'_LT_CC_BASENAME' => 1,
'm4_pattern_forbid' => 1
}
], 'Autom4te::Request' ),
bless( [
'2',
1,
[
'/usr/share/autoconf'
],
[
'/usr/share/autoconf/autoconf/autoconf.m4f',
'aclocal.m4',
'configure.ac'
],
{
'AM_MAKEFILE_INCLUDE' => 1,
'AM_SILENT_RULES' => 1,
'AC_INIT' => 1,
'AC_FC_FREEFORM' => 1,
'AM_GNU_GETTEXT' => 1,
'include' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'GTK_DOC_CHECK' => 1,
'AM_PROG_MKDIR_P' => 1,
'sinclude' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AM_XGETTEXT_OPTION' => 1,
'_AM_COND_ENDIF' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_CANONICAL_TARGET' => 1,
'AC_LIBSOURCE' => 1,
'AC_CONFIG_MACRO_DIR_TRACE' => 1,
'AM_PROG_CXX_C_O' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'_LT_AC_TAGCONFIG' => 1,
'LT_INIT' => 1,
'_AM_COND_IF' => 1,
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AM_PROG_LIBTOOL' => 1,
'AM_PROG_F77_C_O' => 1,
'm4_sinclude' => 1,
'AC_FC_SRCEXT' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'm4_pattern_forbid' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AC_CONFIG_LINKS' => 1,
'AC_REQUIRE_AUX_FILE' => 1,
'_m4_warn' => 1,
'm4_pattern_allow' => 1,
'AM_CONDITIONAL' => 1,
'AC_SUBST' => 1,
'AC_CONFIG_HEADERS' => 1,
'AM_PROG_MOC' => 1,
'IT_PROG_INTLTOOL' => 1,
'AC_CONFIG_FILES' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'AC_CANONICAL_HOST' => 1,
'AM_NLS' => 1,
'_AM_MAKEFILE_INCLUDE' => 1,
'AM_MAINTAINER_MODE' => 1,
'AM_PATH_GUILE' => 1,
'AM_PROG_AR' => 1,
'm4_include' => 1,
'AC_SUBST_TRACE' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_FC_PP_SRCEXT' => 1,
'AM_POT_TOOLS' => 1,
'AM_PROG_CC_C_O' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'AM_EXTRA_RECURSIVE_TARGETS' => 1,
'LT_SUPPORTED_TAG' => 1,
'AM_PROG_FC_C_O' => 1,
'AC_FC_PP_DEFINE' => 1,
'_AM_COND_ELSE' => 1,
'AC_CANONICAL_BUILD' => 1,
'AM_ENABLE_MULTILIB' => 1,
'AH_OUTPUT' => 1
}
], 'Autom4te::Request' ),
bless( [
'3',
1,
[
'/usr/share/autoconf'
],
[
'/usr/share/autoconf/autoconf/autoconf.m4f',
'aclocal.m4',
'/usr/share/autoconf/autoconf/trailer.m4',
'configure.ac'
],
{
'_AM_COND_ENDIF' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_CANONICAL_TARGET' => 1,
'AC_LIBSOURCE' => 1,
'AC_CONFIG_MACRO_DIR_TRACE' => 1,
'AM_PROG_CXX_C_O' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AM_MAKEFILE_INCLUDE' => 1,
'AM_SILENT_RULES' => 1,
'AC_INIT' => 1,
'AC_FC_FREEFORM' => 1,
'AM_GNU_GETTEXT' => 1,
'include' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'GTK_DOC_CHECK' => 1,
'sinclude' => 1,
'AM_PROG_MKDIR_P' => 1,
'AM_XGETTEXT_OPTION' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AC_CONFIG_LINKS' => 1,
'_LT_AC_TAGCONFIG' => 1,
'_AM_COND_IF' => 1,
'LT_INIT' => 1,
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AM_PROG_LIBTOOL' => 1,
'AM_PROG_F77_C_O' => 1,
'm4_sinclude' => 1,
'AC_FC_SRCEXT' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'm4_pattern_forbid' => 1,
'AM_CONDITIONAL' => 1,
'AC_SUBST' => 1,
'AC_CONFIG_HEADERS' => 1,
'AM_PROG_MOC' => 1,
'IT_PROG_INTLTOOL' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'AC_CONFIG_FILES' => 1,
'AC_CANONICAL_HOST' => 1,
'AM_NLS' => 1,
'_AM_MAKEFILE_INCLUDE' => 1,
'AM_MAINTAINER_MODE' => 1,
'AM_PROG_AR' => 1,
'AM_PATH_GUILE' => 1,
'AC_REQUIRE_AUX_FILE' => 1,
'_m4_warn' => 1,
'm4_pattern_allow' => 1,
'AM_PROG_FC_C_O' => 1,
'AC_FC_PP_DEFINE' => 1,
'_AM_COND_ELSE' => 1,
'AM_ENABLE_MULTILIB' => 1,
'AC_CANONICAL_BUILD' => 1,
'AH_OUTPUT' => 1,
'AC_SUBST_TRACE' => 1,
'm4_include' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_FC_PP_SRCEXT' => 1,
'AM_POT_TOOLS' => 1,
'AM_PROG_CC_C_O' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'AM_EXTRA_RECURSIVE_TARGETS' => 1,
'LT_SUPPORTED_TAG' => 1
}
], 'Autom4te::Request' )
);

2969
autom4te.cache/traces.0 Normal file

File diff suppressed because it is too large Load diff

2969
autom4te.cache/traces.1 Normal file

File diff suppressed because it is too large Load diff

671
autom4te.cache/traces.2 Normal file
View file

@ -0,0 +1,671 @@
m4trace:aclocal.m4:1061: -1- AC_SUBST([am__quote])
m4trace:aclocal.m4:1061: -1- AC_SUBST_TRACE([am__quote])
m4trace:aclocal.m4:1061: -1- m4_pattern_allow([^am__quote$])
m4trace:aclocal.m4:1513: -1- m4_include([m4/libtool.m4])
m4trace:aclocal.m4:1514: -1- m4_include([m4/ltoptions.m4])
m4trace:aclocal.m4:1515: -1- m4_include([m4/ltsugar.m4])
m4trace:aclocal.m4:1516: -1- m4_include([m4/ltversion.m4])
m4trace:aclocal.m4:1517: -1- m4_include([m4/lt~obsolete.m4])
m4trace:configure.ac:6: -1- AC_INIT([xosd_xft], [1.0.0])
m4trace:configure.ac:6: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.ac:6: -1- m4_pattern_forbid([_AC_])
m4trace:configure.ac:6: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
m4trace:configure.ac:6: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.ac:6: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.ac:6: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.ac:6: -1- m4_pattern_forbid([^_?AS_])
m4trace:configure.ac:6: -1- AC_SUBST([SHELL])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([SHELL])
m4trace:configure.ac:6: -1- m4_pattern_allow([^SHELL$])
m4trace:configure.ac:6: -1- AC_SUBST([PATH_SEPARATOR])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PATH_SEPARATOR$])
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE_NAME])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE_STRING])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE_URL])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_URL$])
m4trace:configure.ac:6: -1- AC_SUBST([exec_prefix], [NONE])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([exec_prefix])
m4trace:configure.ac:6: -1- m4_pattern_allow([^exec_prefix$])
m4trace:configure.ac:6: -1- AC_SUBST([prefix], [NONE])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([prefix])
m4trace:configure.ac:6: -1- m4_pattern_allow([^prefix$])
m4trace:configure.ac:6: -1- AC_SUBST([program_transform_name], [s,x,x,])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([program_transform_name])
m4trace:configure.ac:6: -1- m4_pattern_allow([^program_transform_name$])
m4trace:configure.ac:6: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([bindir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^bindir$])
m4trace:configure.ac:6: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([sbindir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^sbindir$])
m4trace:configure.ac:6: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([libexecdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^libexecdir$])
m4trace:configure.ac:6: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([datarootdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^datarootdir$])
m4trace:configure.ac:6: -1- AC_SUBST([datadir], ['${datarootdir}'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([datadir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^datadir$])
m4trace:configure.ac:6: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([sysconfdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^sysconfdir$])
m4trace:configure.ac:6: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([sharedstatedir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^sharedstatedir$])
m4trace:configure.ac:6: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([localstatedir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^localstatedir$])
m4trace:configure.ac:6: -1- AC_SUBST([runstatedir], ['${localstatedir}/run'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([runstatedir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^runstatedir$])
m4trace:configure.ac:6: -1- AC_SUBST([includedir], ['${prefix}/include'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([includedir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^includedir$])
m4trace:configure.ac:6: -1- AC_SUBST([oldincludedir], ['/usr/include'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([oldincludedir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^oldincludedir$])
m4trace:configure.ac:6: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
['${datarootdir}/doc/${PACKAGE_TARNAME}'],
['${datarootdir}/doc/${PACKAGE}'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([docdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^docdir$])
m4trace:configure.ac:6: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([infodir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^infodir$])
m4trace:configure.ac:6: -1- AC_SUBST([htmldir], ['${docdir}'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([htmldir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^htmldir$])
m4trace:configure.ac:6: -1- AC_SUBST([dvidir], ['${docdir}'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([dvidir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^dvidir$])
m4trace:configure.ac:6: -1- AC_SUBST([pdfdir], ['${docdir}'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([pdfdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^pdfdir$])
m4trace:configure.ac:6: -1- AC_SUBST([psdir], ['${docdir}'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([psdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^psdir$])
m4trace:configure.ac:6: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([libdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^libdir$])
m4trace:configure.ac:6: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([localedir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^localedir$])
m4trace:configure.ac:6: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([mandir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^mandir$])
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
@%:@undef PACKAGE_NAME])
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
@%:@undef PACKAGE_TARNAME])
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
@%:@undef PACKAGE_VERSION])
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
@%:@undef PACKAGE_STRING])
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
@%:@undef PACKAGE_BUGREPORT])
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_URL$])
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
@%:@undef PACKAGE_URL])
m4trace:configure.ac:6: -1- AC_SUBST([DEFS])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([DEFS])
m4trace:configure.ac:6: -1- m4_pattern_allow([^DEFS$])
m4trace:configure.ac:6: -1- AC_SUBST([ECHO_C])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ECHO_C])
m4trace:configure.ac:6: -1- m4_pattern_allow([^ECHO_C$])
m4trace:configure.ac:6: -1- AC_SUBST([ECHO_N])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ECHO_N])
m4trace:configure.ac:6: -1- m4_pattern_allow([^ECHO_N$])
m4trace:configure.ac:6: -1- AC_SUBST([ECHO_T])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ECHO_T])
m4trace:configure.ac:6: -1- m4_pattern_allow([^ECHO_T$])
m4trace:configure.ac:6: -1- AC_SUBST([LIBS])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.ac:6: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.ac:6: -1- AC_SUBST([build_alias])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([build_alias])
m4trace:configure.ac:6: -1- m4_pattern_allow([^build_alias$])
m4trace:configure.ac:6: -1- AC_SUBST([host_alias])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([host_alias])
m4trace:configure.ac:6: -1- m4_pattern_allow([^host_alias$])
m4trace:configure.ac:6: -1- AC_SUBST([target_alias])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([target_alias])
m4trace:configure.ac:6: -1- m4_pattern_allow([^target_alias$])
m4trace:configure.ac:7: -1- AM_INIT_AUTOMAKE([no-define])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
m4trace:configure.ac:7: -1- AM_AUTOMAKE_VERSION([1.16.3])
m4trace:configure.ac:7: -1- AC_REQUIRE_AUX_FILE([install-sh])
m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_PROGRAM])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_SCRIPT])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([INSTALL_DATA])
m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_DATA$])
m4trace:configure.ac:7: -1- AC_SUBST([am__isrc], [' -I$(srcdir)'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__isrc])
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__isrc$])
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([am__isrc])
m4trace:configure.ac:7: -1- AC_SUBST([CYGPATH_W])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CYGPATH_W])
m4trace:configure.ac:7: -1- m4_pattern_allow([^CYGPATH_W$])
m4trace:configure.ac:7: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([PACKAGE])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE$])
m4trace:configure.ac:7: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([VERSION])
m4trace:configure.ac:7: -1- m4_pattern_allow([^VERSION$])
m4trace:configure.ac:7: -1- AC_REQUIRE_AUX_FILE([missing])
m4trace:configure.ac:7: -1- AC_SUBST([ACLOCAL])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([ACLOCAL])
m4trace:configure.ac:7: -1- m4_pattern_allow([^ACLOCAL$])
m4trace:configure.ac:7: -1- AC_SUBST([AUTOCONF])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AUTOCONF])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AUTOCONF$])
m4trace:configure.ac:7: -1- AC_SUBST([AUTOMAKE])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AUTOMAKE])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AUTOMAKE$])
m4trace:configure.ac:7: -1- AC_SUBST([AUTOHEADER])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AUTOHEADER])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AUTOHEADER$])
m4trace:configure.ac:7: -1- AC_SUBST([MAKEINFO])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([MAKEINFO])
m4trace:configure.ac:7: -1- m4_pattern_allow([^MAKEINFO$])
m4trace:configure.ac:7: -1- AC_SUBST([install_sh])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([install_sh])
m4trace:configure.ac:7: -1- m4_pattern_allow([^install_sh$])
m4trace:configure.ac:7: -1- AC_SUBST([STRIP])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([STRIP])
m4trace:configure.ac:7: -1- m4_pattern_allow([^STRIP$])
m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM])
m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
m4trace:configure.ac:7: -1- AC_REQUIRE_AUX_FILE([install-sh])
m4trace:configure.ac:7: -1- AC_SUBST([MKDIR_P])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([MKDIR_P])
m4trace:configure.ac:7: -1- m4_pattern_allow([^MKDIR_P$])
m4trace:configure.ac:7: -1- AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([mkdir_p])
m4trace:configure.ac:7: -1- m4_pattern_allow([^mkdir_p$])
m4trace:configure.ac:7: -1- AC_SUBST([AWK])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AWK])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AWK$])
m4trace:configure.ac:7: -1- AC_SUBST([SET_MAKE])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([SET_MAKE])
m4trace:configure.ac:7: -1- m4_pattern_allow([^SET_MAKE$])
m4trace:configure.ac:7: -1- AC_SUBST([am__leading_dot])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__leading_dot])
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__leading_dot$])
m4trace:configure.ac:7: -1- AC_SUBST([AMTAR], ['$${TAR-tar}'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AMTAR])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AMTAR$])
m4trace:configure.ac:7: -1- AC_SUBST([am__tar])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__tar])
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__tar$])
m4trace:configure.ac:7: -1- AC_SUBST([am__untar])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__untar])
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__untar$])
m4trace:configure.ac:7: -1- AM_SILENT_RULES
m4trace:configure.ac:7: -1- AC_SUBST([AM_V])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AM_V])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_V$])
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AM_V])
m4trace:configure.ac:7: -1- AC_SUBST([AM_DEFAULT_V])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AM_DEFAULT_V])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_DEFAULT_V$])
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V])
m4trace:configure.ac:7: -1- AC_SUBST([AM_DEFAULT_VERBOSITY])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$])
m4trace:configure.ac:7: -1- AC_SUBST([AM_BACKSLASH])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AM_BACKSLASH])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_BACKSLASH$])
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH])
m4trace:configure.ac:32: -1- LT_INIT
m4trace:configure.ac:32: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$])
m4trace:configure.ac:32: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])
m4trace:configure.ac:32: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
m4trace:configure.ac:32: -1- AC_SUBST([LIBTOOL])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LIBTOOL])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LIBTOOL$])
m4trace:configure.ac:32: -1- AC_CANONICAL_HOST
m4trace:configure.ac:32: -1- AC_CANONICAL_BUILD
m4trace:configure.ac:32: -1- AC_REQUIRE_AUX_FILE([config.sub])
m4trace:configure.ac:32: -1- AC_REQUIRE_AUX_FILE([config.guess])
m4trace:configure.ac:32: -1- AC_SUBST([build], [$ac_cv_build])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([build])
m4trace:configure.ac:32: -1- m4_pattern_allow([^build$])
m4trace:configure.ac:32: -1- AC_SUBST([build_cpu], [$[1]])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([build_cpu])
m4trace:configure.ac:32: -1- m4_pattern_allow([^build_cpu$])
m4trace:configure.ac:32: -1- AC_SUBST([build_vendor], [$[2]])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([build_vendor])
m4trace:configure.ac:32: -1- m4_pattern_allow([^build_vendor$])
m4trace:configure.ac:32: -1- AC_SUBST([build_os])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([build_os])
m4trace:configure.ac:32: -1- m4_pattern_allow([^build_os$])
m4trace:configure.ac:32: -1- AC_SUBST([host], [$ac_cv_host])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([host])
m4trace:configure.ac:32: -1- m4_pattern_allow([^host$])
m4trace:configure.ac:32: -1- AC_SUBST([host_cpu], [$[1]])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([host_cpu])
m4trace:configure.ac:32: -1- m4_pattern_allow([^host_cpu$])
m4trace:configure.ac:32: -1- AC_SUBST([host_vendor], [$[2]])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([host_vendor])
m4trace:configure.ac:32: -1- m4_pattern_allow([^host_vendor$])
m4trace:configure.ac:32: -1- AC_SUBST([host_os])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([host_os])
m4trace:configure.ac:32: -1- m4_pattern_allow([^host_os$])
m4trace:configure.ac:32: -1- AC_SUBST([CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:32: -1- AC_SUBST([CFLAGS])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CFLAGS])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CFLAGS$])
m4trace:configure.ac:32: -1- AC_SUBST([LDFLAGS])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LDFLAGS])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LDFLAGS$])
m4trace:configure.ac:32: -1- AC_SUBST([LIBS])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.ac:32: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.ac:32: -1- AC_SUBST([CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:32: -1- AC_SUBST([CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:32: -1- AC_SUBST([CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:32: -1- AC_SUBST([CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:32: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([ac_ct_CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^ac_ct_CC$])
m4trace:configure.ac:32: -1- AC_SUBST([CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:32: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([EXEEXT])
m4trace:configure.ac:32: -1- m4_pattern_allow([^EXEEXT$])
m4trace:configure.ac:32: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([OBJEXT])
m4trace:configure.ac:32: -1- m4_pattern_allow([^OBJEXT$])
m4trace:configure.ac:32: -1- AC_REQUIRE_AUX_FILE([compile])
m4trace:configure.ac:32: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([DEPDIR])
m4trace:configure.ac:32: -1- m4_pattern_allow([^DEPDIR$])
m4trace:configure.ac:32: -1- AC_SUBST([am__include])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([am__include])
m4trace:configure.ac:32: -1- m4_pattern_allow([^am__include$])
m4trace:configure.ac:32: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
m4trace:configure.ac:32: -1- AC_SUBST([AMDEP_TRUE])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([AMDEP_TRUE])
m4trace:configure.ac:32: -1- m4_pattern_allow([^AMDEP_TRUE$])
m4trace:configure.ac:32: -1- AC_SUBST([AMDEP_FALSE])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([AMDEP_FALSE])
m4trace:configure.ac:32: -1- m4_pattern_allow([^AMDEP_FALSE$])
m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
m4trace:configure.ac:32: -1- AC_SUBST([AMDEPBACKSLASH])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([AMDEPBACKSLASH])
m4trace:configure.ac:32: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
m4trace:configure.ac:32: -1- AC_SUBST([am__nodep])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([am__nodep])
m4trace:configure.ac:32: -1- m4_pattern_allow([^am__nodep$])
m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([am__nodep])
m4trace:configure.ac:32: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CCDEPMODE])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CCDEPMODE$])
m4trace:configure.ac:32: -1- AM_CONDITIONAL([am__fastdepCC], [
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3])
m4trace:configure.ac:32: -1- AC_SUBST([am__fastdepCC_TRUE])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
m4trace:configure.ac:32: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
m4trace:configure.ac:32: -1- AC_SUBST([am__fastdepCC_FALSE])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
m4trace:configure.ac:32: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
m4trace:configure.ac:32: -1- AC_SUBST([SED])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([SED])
m4trace:configure.ac:32: -1- m4_pattern_allow([^SED$])
m4trace:configure.ac:32: -1- AC_SUBST([GREP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([GREP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^GREP$])
m4trace:configure.ac:32: -1- AC_SUBST([EGREP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([EGREP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^EGREP$])
m4trace:configure.ac:32: -1- AC_SUBST([FGREP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([FGREP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^FGREP$])
m4trace:configure.ac:32: -1- AC_SUBST([GREP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([GREP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^GREP$])
m4trace:configure.ac:32: -1- AC_SUBST([LD])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LD])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LD$])
m4trace:configure.ac:32: -1- AC_SUBST([DUMPBIN])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([DUMPBIN])
m4trace:configure.ac:32: -1- m4_pattern_allow([^DUMPBIN$])
m4trace:configure.ac:32: -1- AC_SUBST([ac_ct_DUMPBIN])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN])
m4trace:configure.ac:32: -1- m4_pattern_allow([^ac_ct_DUMPBIN$])
m4trace:configure.ac:32: -1- AC_SUBST([DUMPBIN])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([DUMPBIN])
m4trace:configure.ac:32: -1- m4_pattern_allow([^DUMPBIN$])
m4trace:configure.ac:32: -1- AC_SUBST([NM])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([NM])
m4trace:configure.ac:32: -1- m4_pattern_allow([^NM$])
m4trace:configure.ac:32: -1- AC_SUBST([LN_S], [$as_ln_s])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LN_S])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LN_S$])
m4trace:configure.ac:32: -1- AC_SUBST([OBJDUMP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([OBJDUMP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^OBJDUMP$])
m4trace:configure.ac:32: -1- AC_SUBST([OBJDUMP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([OBJDUMP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^OBJDUMP$])
m4trace:configure.ac:32: -1- AC_SUBST([DLLTOOL])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([DLLTOOL])
m4trace:configure.ac:32: -1- m4_pattern_allow([^DLLTOOL$])
m4trace:configure.ac:32: -1- AC_SUBST([DLLTOOL])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([DLLTOOL])
m4trace:configure.ac:32: -1- m4_pattern_allow([^DLLTOOL$])
m4trace:configure.ac:32: -1- AC_SUBST([AR])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([AR])
m4trace:configure.ac:32: -1- m4_pattern_allow([^AR$])
m4trace:configure.ac:32: -1- AC_SUBST([ac_ct_AR])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([ac_ct_AR])
m4trace:configure.ac:32: -1- m4_pattern_allow([^ac_ct_AR$])
m4trace:configure.ac:32: -1- AC_SUBST([STRIP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([STRIP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^STRIP$])
m4trace:configure.ac:32: -1- AC_SUBST([RANLIB])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([RANLIB])
m4trace:configure.ac:32: -1- m4_pattern_allow([^RANLIB$])
m4trace:configure.ac:32: -1- m4_pattern_allow([LT_OBJDIR])
m4trace:configure.ac:32: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LT_OBJDIR$])
m4trace:configure.ac:32: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory where libtool stores uninstalled libraries. */
@%:@undef LT_OBJDIR])
m4trace:configure.ac:32: -1- LT_SUPPORTED_TAG([CC])
m4trace:configure.ac:32: -1- AC_SUBST([MANIFEST_TOOL])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([MANIFEST_TOOL])
m4trace:configure.ac:32: -1- m4_pattern_allow([^MANIFEST_TOOL$])
m4trace:configure.ac:32: -1- AC_SUBST([DSYMUTIL])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([DSYMUTIL])
m4trace:configure.ac:32: -1- m4_pattern_allow([^DSYMUTIL$])
m4trace:configure.ac:32: -1- AC_SUBST([NMEDIT])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([NMEDIT])
m4trace:configure.ac:32: -1- m4_pattern_allow([^NMEDIT$])
m4trace:configure.ac:32: -1- AC_SUBST([LIPO])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LIPO])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LIPO$])
m4trace:configure.ac:32: -1- AC_SUBST([OTOOL])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([OTOOL])
m4trace:configure.ac:32: -1- m4_pattern_allow([^OTOOL$])
m4trace:configure.ac:32: -1- AC_SUBST([OTOOL64])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([OTOOL64])
m4trace:configure.ac:32: -1- m4_pattern_allow([^OTOOL64$])
m4trace:configure.ac:32: -1- AC_SUBST([LT_SYS_LIBRARY_PATH])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
@%:@undef HAVE_DLFCN_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_STDIO_H], [/* Define to 1 if you have the <stdio.h> header file. */
@%:@undef HAVE_STDIO_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
@%:@undef HAVE_STDLIB_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
@%:@undef HAVE_STRING_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
@%:@undef HAVE_INTTYPES_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
@%:@undef HAVE_STDINT_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
@%:@undef HAVE_STRINGS_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
@%:@undef HAVE_SYS_STAT_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
@%:@undef HAVE_SYS_TYPES_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
@%:@undef HAVE_UNISTD_H])
m4trace:configure.ac:32: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.ac:32: -1- m4_pattern_allow([^STDC_HEADERS$])
m4trace:configure.ac:32: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if all of the C90 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
@%:@undef STDC_HEADERS])
m4trace:configure.ac:32: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H])
m4trace:configure.ac:32: -1- m4_pattern_allow([^HAVE_DLFCN_H$])
m4trace:configure.ac:34: -1- AC_SUBST([LT_CURRENT])
m4trace:configure.ac:34: -1- AC_SUBST_TRACE([LT_CURRENT])
m4trace:configure.ac:34: -1- m4_pattern_allow([^LT_CURRENT$])
m4trace:configure.ac:35: -1- AC_SUBST([LT_AGE])
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([LT_AGE])
m4trace:configure.ac:35: -1- m4_pattern_allow([^LT_AGE$])
m4trace:configure.ac:36: -1- AC_SUBST([LT_REVISION])
m4trace:configure.ac:36: -1- AC_SUBST_TRACE([LT_REVISION])
m4trace:configure.ac:36: -1- m4_pattern_allow([^LT_REVISION$])
m4trace:configure.ac:38: -1- AM_MAINTAINER_MODE
m4trace:configure.ac:38: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
m4trace:configure.ac:38: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
m4trace:configure.ac:38: -1- AC_SUBST_TRACE([MAINTAINER_MODE_TRUE])
m4trace:configure.ac:38: -1- m4_pattern_allow([^MAINTAINER_MODE_TRUE$])
m4trace:configure.ac:38: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
m4trace:configure.ac:38: -1- AC_SUBST_TRACE([MAINTAINER_MODE_FALSE])
m4trace:configure.ac:38: -1- m4_pattern_allow([^MAINTAINER_MODE_FALSE$])
m4trace:configure.ac:38: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_TRUE])
m4trace:configure.ac:38: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_FALSE])
m4trace:configure.ac:38: -1- AC_SUBST([MAINT])
m4trace:configure.ac:38: -1- AC_SUBST_TRACE([MAINT])
m4trace:configure.ac:38: -1- m4_pattern_allow([^MAINT$])
m4trace:configure.ac:41: -1- AC_SUBST([CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:41: -1- AC_SUBST([CFLAGS])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CFLAGS])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CFLAGS$])
m4trace:configure.ac:41: -1- AC_SUBST([LDFLAGS])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([LDFLAGS])
m4trace:configure.ac:41: -1- m4_pattern_allow([^LDFLAGS$])
m4trace:configure.ac:41: -1- AC_SUBST([LIBS])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.ac:41: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.ac:41: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.ac:41: -1- AC_SUBST([CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:41: -1- AC_SUBST([CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:41: -1- AC_SUBST([CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:41: -1- AC_SUBST([CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:41: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([ac_ct_CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^ac_ct_CC$])
m4trace:configure.ac:41: -1- AC_SUBST([CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:41: -1- AC_REQUIRE_AUX_FILE([compile])
m4trace:configure.ac:41: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CCDEPMODE])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CCDEPMODE$])
m4trace:configure.ac:41: -1- AM_CONDITIONAL([am__fastdepCC], [
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3])
m4trace:configure.ac:41: -1- AC_SUBST([am__fastdepCC_TRUE])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
m4trace:configure.ac:41: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
m4trace:configure.ac:41: -1- AC_SUBST([am__fastdepCC_FALSE])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
m4trace:configure.ac:41: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
m4trace:configure.ac:41: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
m4trace:configure.ac:41: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
m4trace:configure.ac:43: -1- AC_SUBST([LN_S], [$as_ln_s])
m4trace:configure.ac:43: -1- AC_SUBST_TRACE([LN_S])
m4trace:configure.ac:43: -1- m4_pattern_allow([^LN_S$])
m4trace:configure.ac:44: -1- AC_SUBST([XMKMF])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([XMKMF])
m4trace:configure.ac:44: -1- m4_pattern_allow([^XMKMF$])
m4trace:configure.ac:44: -1- AC_SUBST([CPP])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.ac:44: -1- m4_pattern_allow([^CPP$])
m4trace:configure.ac:44: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.ac:44: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.ac:44: -1- AC_SUBST([CPP])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.ac:44: -1- m4_pattern_allow([^CPP$])
m4trace:configure.ac:44: -1- AC_DEFINE_TRACE_LITERAL([X_DISPLAY_MISSING])
m4trace:configure.ac:44: -1- m4_pattern_allow([^X_DISPLAY_MISSING$])
m4trace:configure.ac:44: -1- AH_OUTPUT([X_DISPLAY_MISSING], [/* Define to 1 if the X Window System is missing or not being used. */
@%:@undef X_DISPLAY_MISSING])
m4trace:configure.ac:44: -1- AC_SUBST([X_CFLAGS])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([X_CFLAGS])
m4trace:configure.ac:44: -1- m4_pattern_allow([^X_CFLAGS$])
m4trace:configure.ac:44: -1- AC_SUBST([X_PRE_LIBS])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([X_PRE_LIBS])
m4trace:configure.ac:44: -1- m4_pattern_allow([^X_PRE_LIBS$])
m4trace:configure.ac:44: -1- AC_SUBST([X_LIBS])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([X_LIBS])
m4trace:configure.ac:44: -1- m4_pattern_allow([^X_LIBS$])
m4trace:configure.ac:44: -1- AC_SUBST([X_EXTRA_LIBS])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([X_EXTRA_LIBS])
m4trace:configure.ac:44: -1- m4_pattern_allow([^X_EXTRA_LIBS$])
m4trace:configure.ac:54: -1- AC_SUBST([M4DATADIR])
m4trace:configure.ac:54: -1- AC_SUBST_TRACE([M4DATADIR])
m4trace:configure.ac:54: -1- m4_pattern_allow([^M4DATADIR$])
m4trace:configure.ac:57: -1- AH_OUTPUT([HAVE_LIBPTHREAD], [/* Define to 1 if you have the `pthread\' library (-lpthread). */
@%:@undef HAVE_LIBPTHREAD])
m4trace:configure.ac:57: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBPTHREAD])
m4trace:configure.ac:57: -1- m4_pattern_allow([^HAVE_LIBPTHREAD$])
m4trace:configure.ac:61: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
@%:@undef HAVE_UNISTD_H])
m4trace:configure.ac:61: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNISTD_H])
m4trace:configure.ac:61: -1- m4_pattern_allow([^HAVE_UNISTD_H$])
m4trace:configure.ac:66: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4trace:configure.ac:66: -1- m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
m4trace:configure.ac:66: -1- m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
m4trace:configure.ac:66: -1- AC_SUBST([PKG_CONFIG])
m4trace:configure.ac:66: -1- AC_SUBST_TRACE([PKG_CONFIG])
m4trace:configure.ac:66: -1- m4_pattern_allow([^PKG_CONFIG$])
m4trace:configure.ac:66: -1- AC_SUBST([PKG_CONFIG_PATH])
m4trace:configure.ac:66: -1- AC_SUBST_TRACE([PKG_CONFIG_PATH])
m4trace:configure.ac:66: -1- m4_pattern_allow([^PKG_CONFIG_PATH$])
m4trace:configure.ac:66: -1- AC_SUBST([PKG_CONFIG_LIBDIR])
m4trace:configure.ac:66: -1- AC_SUBST_TRACE([PKG_CONFIG_LIBDIR])
m4trace:configure.ac:66: -1- m4_pattern_allow([^PKG_CONFIG_LIBDIR$])
m4trace:configure.ac:66: -1- AC_SUBST([PKG_CONFIG])
m4trace:configure.ac:66: -1- AC_SUBST_TRACE([PKG_CONFIG])
m4trace:configure.ac:66: -1- m4_pattern_allow([^PKG_CONFIG$])
m4trace:configure.ac:66: -1- AC_SUBST([XFT_CFLAGS])
m4trace:configure.ac:66: -1- AC_SUBST_TRACE([XFT_CFLAGS])
m4trace:configure.ac:66: -1- m4_pattern_allow([^XFT_CFLAGS$])
m4trace:configure.ac:66: -1- AC_SUBST([XFT_LIBS])
m4trace:configure.ac:66: -1- AC_SUBST_TRACE([XFT_LIBS])
m4trace:configure.ac:66: -1- m4_pattern_allow([^XFT_LIBS$])
m4trace:configure.ac:67: -1- AC_SUBST([X11_CFLAGS])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([X11_CFLAGS])
m4trace:configure.ac:67: -1- m4_pattern_allow([^X11_CFLAGS$])
m4trace:configure.ac:67: -1- AC_SUBST([X11_LIBS])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([X11_LIBS])
m4trace:configure.ac:67: -1- m4_pattern_allow([^X11_LIBS$])
m4trace:configure.ac:68: -1- AC_SUBST([XRENDER_CFLAGS])
m4trace:configure.ac:68: -1- AC_SUBST_TRACE([XRENDER_CFLAGS])
m4trace:configure.ac:68: -1- m4_pattern_allow([^XRENDER_CFLAGS$])
m4trace:configure.ac:68: -1- AC_SUBST([XRENDER_LIBS])
m4trace:configure.ac:68: -1- AC_SUBST_TRACE([XRENDER_LIBS])
m4trace:configure.ac:68: -1- m4_pattern_allow([^XRENDER_LIBS$])
m4trace:configure.ac:73: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
@%:@undef HAVE_VPRINTF])
m4trace:configure.ac:73: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT])
m4trace:configure.ac:73: -1- m4_pattern_allow([^HAVE_DOPRNT$])
m4trace:configure.ac:73: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */
@%:@undef HAVE_DOPRNT])
m4trace:configure.ac:84: -1- AH_OUTPUT([HAVE_LIBXINERAMA], [/* Define to 1 if you have the `Xinerama\' library (-lXinerama). */
@%:@undef HAVE_LIBXINERAMA])
m4trace:configure.ac:84: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXINERAMA])
m4trace:configure.ac:84: -1- m4_pattern_allow([^HAVE_LIBXINERAMA$])
m4trace:configure.ac:97: -1- AH_OUTPUT([HAVE_LIBXRANDR], [/* Define to 1 if you have the `Xrandr\' library (-lXrandr). */
@%:@undef HAVE_LIBXRANDR])
m4trace:configure.ac:97: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXRANDR])
m4trace:configure.ac:97: -1- m4_pattern_allow([^HAVE_LIBXRANDR$])
m4trace:configure.ac:102: -1- AC_DEFINE_TRACE_LITERAL([XOSD_XFT_VERSION])
m4trace:configure.ac:102: -1- m4_pattern_allow([^XOSD_XFT_VERSION$])
m4trace:configure.ac:105: -1- AC_CONFIG_MACRO_DIR_TRACE([m4])
m4trace:configure.ac:106: -1- AC_CONFIG_FILES([
xosd-xft.pc
Makefile
man/Makefile
src/Makefile
src/libxosd-xft/Makefile
])
m4trace:configure.ac:113: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.ac:113: -1- m4_pattern_allow([^LIB@&t@OBJS$])
m4trace:configure.ac:113: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([LTLIBOBJS])
m4trace:configure.ac:113: -1- m4_pattern_allow([^LTLIBOBJS$])
m4trace:configure.ac:113: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
m4trace:configure.ac:113: -1- AC_SUBST([am__EXEEXT_TRUE])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE])
m4trace:configure.ac:113: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
m4trace:configure.ac:113: -1- AC_SUBST([am__EXEEXT_FALSE])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE])
m4trace:configure.ac:113: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
m4trace:configure.ac:113: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
m4trace:configure.ac:113: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([top_builddir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([top_build_prefix])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([srcdir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([abs_srcdir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([top_srcdir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([abs_top_srcdir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([builddir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([abs_builddir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([abs_top_builddir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([INSTALL])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([MKDIR_P])
m4trace:configure.ac:113: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])

671
autom4te.cache/traces.3 Normal file
View file

@ -0,0 +1,671 @@
m4trace:aclocal.m4:1061: -1- AC_SUBST([am__quote])
m4trace:aclocal.m4:1061: -1- AC_SUBST_TRACE([am__quote])
m4trace:aclocal.m4:1061: -1- m4_pattern_allow([^am__quote$])
m4trace:aclocal.m4:1513: -1- m4_include([m4/libtool.m4])
m4trace:aclocal.m4:1514: -1- m4_include([m4/ltoptions.m4])
m4trace:aclocal.m4:1515: -1- m4_include([m4/ltsugar.m4])
m4trace:aclocal.m4:1516: -1- m4_include([m4/ltversion.m4])
m4trace:aclocal.m4:1517: -1- m4_include([m4/lt~obsolete.m4])
m4trace:configure.ac:6: -1- AC_INIT([xosd_xft], [1.0.0])
m4trace:configure.ac:6: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.ac:6: -1- m4_pattern_forbid([_AC_])
m4trace:configure.ac:6: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
m4trace:configure.ac:6: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.ac:6: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.ac:6: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.ac:6: -1- m4_pattern_forbid([^_?AS_])
m4trace:configure.ac:6: -1- AC_SUBST([SHELL])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([SHELL])
m4trace:configure.ac:6: -1- m4_pattern_allow([^SHELL$])
m4trace:configure.ac:6: -1- AC_SUBST([PATH_SEPARATOR])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PATH_SEPARATOR$])
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE_NAME])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE_STRING])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE_URL])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_URL$])
m4trace:configure.ac:6: -1- AC_SUBST([exec_prefix], [NONE])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([exec_prefix])
m4trace:configure.ac:6: -1- m4_pattern_allow([^exec_prefix$])
m4trace:configure.ac:6: -1- AC_SUBST([prefix], [NONE])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([prefix])
m4trace:configure.ac:6: -1- m4_pattern_allow([^prefix$])
m4trace:configure.ac:6: -1- AC_SUBST([program_transform_name], [s,x,x,])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([program_transform_name])
m4trace:configure.ac:6: -1- m4_pattern_allow([^program_transform_name$])
m4trace:configure.ac:6: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([bindir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^bindir$])
m4trace:configure.ac:6: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([sbindir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^sbindir$])
m4trace:configure.ac:6: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([libexecdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^libexecdir$])
m4trace:configure.ac:6: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([datarootdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^datarootdir$])
m4trace:configure.ac:6: -1- AC_SUBST([datadir], ['${datarootdir}'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([datadir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^datadir$])
m4trace:configure.ac:6: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([sysconfdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^sysconfdir$])
m4trace:configure.ac:6: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([sharedstatedir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^sharedstatedir$])
m4trace:configure.ac:6: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([localstatedir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^localstatedir$])
m4trace:configure.ac:6: -1- AC_SUBST([runstatedir], ['${localstatedir}/run'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([runstatedir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^runstatedir$])
m4trace:configure.ac:6: -1- AC_SUBST([includedir], ['${prefix}/include'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([includedir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^includedir$])
m4trace:configure.ac:6: -1- AC_SUBST([oldincludedir], ['/usr/include'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([oldincludedir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^oldincludedir$])
m4trace:configure.ac:6: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
['${datarootdir}/doc/${PACKAGE_TARNAME}'],
['${datarootdir}/doc/${PACKAGE}'])])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([docdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^docdir$])
m4trace:configure.ac:6: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([infodir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^infodir$])
m4trace:configure.ac:6: -1- AC_SUBST([htmldir], ['${docdir}'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([htmldir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^htmldir$])
m4trace:configure.ac:6: -1- AC_SUBST([dvidir], ['${docdir}'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([dvidir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^dvidir$])
m4trace:configure.ac:6: -1- AC_SUBST([pdfdir], ['${docdir}'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([pdfdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^pdfdir$])
m4trace:configure.ac:6: -1- AC_SUBST([psdir], ['${docdir}'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([psdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^psdir$])
m4trace:configure.ac:6: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([libdir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^libdir$])
m4trace:configure.ac:6: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([localedir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^localedir$])
m4trace:configure.ac:6: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([mandir])
m4trace:configure.ac:6: -1- m4_pattern_allow([^mandir$])
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
@%:@undef PACKAGE_NAME])
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
@%:@undef PACKAGE_TARNAME])
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
@%:@undef PACKAGE_VERSION])
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
@%:@undef PACKAGE_STRING])
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
@%:@undef PACKAGE_BUGREPORT])
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE_URL$])
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
@%:@undef PACKAGE_URL])
m4trace:configure.ac:6: -1- AC_SUBST([DEFS])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([DEFS])
m4trace:configure.ac:6: -1- m4_pattern_allow([^DEFS$])
m4trace:configure.ac:6: -1- AC_SUBST([ECHO_C])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ECHO_C])
m4trace:configure.ac:6: -1- m4_pattern_allow([^ECHO_C$])
m4trace:configure.ac:6: -1- AC_SUBST([ECHO_N])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ECHO_N])
m4trace:configure.ac:6: -1- m4_pattern_allow([^ECHO_N$])
m4trace:configure.ac:6: -1- AC_SUBST([ECHO_T])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ECHO_T])
m4trace:configure.ac:6: -1- m4_pattern_allow([^ECHO_T$])
m4trace:configure.ac:6: -1- AC_SUBST([LIBS])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.ac:6: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.ac:6: -1- AC_SUBST([build_alias])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([build_alias])
m4trace:configure.ac:6: -1- m4_pattern_allow([^build_alias$])
m4trace:configure.ac:6: -1- AC_SUBST([host_alias])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([host_alias])
m4trace:configure.ac:6: -1- m4_pattern_allow([^host_alias$])
m4trace:configure.ac:6: -1- AC_SUBST([target_alias])
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([target_alias])
m4trace:configure.ac:6: -1- m4_pattern_allow([^target_alias$])
m4trace:configure.ac:7: -1- AM_INIT_AUTOMAKE([no-define])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
m4trace:configure.ac:7: -1- AM_AUTOMAKE_VERSION([1.16.3])
m4trace:configure.ac:7: -1- AC_REQUIRE_AUX_FILE([install-sh])
m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_PROGRAM])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_SCRIPT])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([INSTALL_DATA])
m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_DATA$])
m4trace:configure.ac:7: -1- AC_SUBST([am__isrc], [' -I$(srcdir)'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__isrc])
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__isrc$])
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([am__isrc])
m4trace:configure.ac:7: -1- AC_SUBST([CYGPATH_W])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CYGPATH_W])
m4trace:configure.ac:7: -1- m4_pattern_allow([^CYGPATH_W$])
m4trace:configure.ac:7: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([PACKAGE])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE$])
m4trace:configure.ac:7: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([VERSION])
m4trace:configure.ac:7: -1- m4_pattern_allow([^VERSION$])
m4trace:configure.ac:7: -1- AC_REQUIRE_AUX_FILE([missing])
m4trace:configure.ac:7: -1- AC_SUBST([ACLOCAL])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([ACLOCAL])
m4trace:configure.ac:7: -1- m4_pattern_allow([^ACLOCAL$])
m4trace:configure.ac:7: -1- AC_SUBST([AUTOCONF])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AUTOCONF])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AUTOCONF$])
m4trace:configure.ac:7: -1- AC_SUBST([AUTOMAKE])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AUTOMAKE])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AUTOMAKE$])
m4trace:configure.ac:7: -1- AC_SUBST([AUTOHEADER])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AUTOHEADER])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AUTOHEADER$])
m4trace:configure.ac:7: -1- AC_SUBST([MAKEINFO])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([MAKEINFO])
m4trace:configure.ac:7: -1- m4_pattern_allow([^MAKEINFO$])
m4trace:configure.ac:7: -1- AC_SUBST([install_sh])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([install_sh])
m4trace:configure.ac:7: -1- m4_pattern_allow([^install_sh$])
m4trace:configure.ac:7: -1- AC_SUBST([STRIP])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([STRIP])
m4trace:configure.ac:7: -1- m4_pattern_allow([^STRIP$])
m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM])
m4trace:configure.ac:7: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
m4trace:configure.ac:7: -1- AC_REQUIRE_AUX_FILE([install-sh])
m4trace:configure.ac:7: -1- AC_SUBST([MKDIR_P])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([MKDIR_P])
m4trace:configure.ac:7: -1- m4_pattern_allow([^MKDIR_P$])
m4trace:configure.ac:7: -1- AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([mkdir_p])
m4trace:configure.ac:7: -1- m4_pattern_allow([^mkdir_p$])
m4trace:configure.ac:7: -1- AC_SUBST([AWK])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AWK])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AWK$])
m4trace:configure.ac:7: -1- AC_SUBST([SET_MAKE])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([SET_MAKE])
m4trace:configure.ac:7: -1- m4_pattern_allow([^SET_MAKE$])
m4trace:configure.ac:7: -1- AC_SUBST([am__leading_dot])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__leading_dot])
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__leading_dot$])
m4trace:configure.ac:7: -1- AC_SUBST([AMTAR], ['$${TAR-tar}'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AMTAR])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AMTAR$])
m4trace:configure.ac:7: -1- AC_SUBST([am__tar])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__tar])
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__tar$])
m4trace:configure.ac:7: -1- AC_SUBST([am__untar])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__untar])
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__untar$])
m4trace:configure.ac:7: -1- AM_SILENT_RULES
m4trace:configure.ac:7: -1- AC_SUBST([AM_V])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AM_V])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_V$])
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AM_V])
m4trace:configure.ac:7: -1- AC_SUBST([AM_DEFAULT_V])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AM_DEFAULT_V])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_DEFAULT_V$])
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V])
m4trace:configure.ac:7: -1- AC_SUBST([AM_DEFAULT_VERBOSITY])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$])
m4trace:configure.ac:7: -1- AC_SUBST([AM_BACKSLASH])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AM_BACKSLASH])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AM_BACKSLASH$])
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH])
m4trace:configure.ac:32: -1- LT_INIT
m4trace:configure.ac:32: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$])
m4trace:configure.ac:32: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])
m4trace:configure.ac:32: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
m4trace:configure.ac:32: -1- AC_SUBST([LIBTOOL])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LIBTOOL])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LIBTOOL$])
m4trace:configure.ac:32: -1- AC_CANONICAL_HOST
m4trace:configure.ac:32: -1- AC_CANONICAL_BUILD
m4trace:configure.ac:32: -1- AC_REQUIRE_AUX_FILE([config.sub])
m4trace:configure.ac:32: -1- AC_REQUIRE_AUX_FILE([config.guess])
m4trace:configure.ac:32: -1- AC_SUBST([build], [$ac_cv_build])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([build])
m4trace:configure.ac:32: -1- m4_pattern_allow([^build$])
m4trace:configure.ac:32: -1- AC_SUBST([build_cpu], [$[1]])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([build_cpu])
m4trace:configure.ac:32: -1- m4_pattern_allow([^build_cpu$])
m4trace:configure.ac:32: -1- AC_SUBST([build_vendor], [$[2]])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([build_vendor])
m4trace:configure.ac:32: -1- m4_pattern_allow([^build_vendor$])
m4trace:configure.ac:32: -1- AC_SUBST([build_os])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([build_os])
m4trace:configure.ac:32: -1- m4_pattern_allow([^build_os$])
m4trace:configure.ac:32: -1- AC_SUBST([host], [$ac_cv_host])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([host])
m4trace:configure.ac:32: -1- m4_pattern_allow([^host$])
m4trace:configure.ac:32: -1- AC_SUBST([host_cpu], [$[1]])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([host_cpu])
m4trace:configure.ac:32: -1- m4_pattern_allow([^host_cpu$])
m4trace:configure.ac:32: -1- AC_SUBST([host_vendor], [$[2]])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([host_vendor])
m4trace:configure.ac:32: -1- m4_pattern_allow([^host_vendor$])
m4trace:configure.ac:32: -1- AC_SUBST([host_os])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([host_os])
m4trace:configure.ac:32: -1- m4_pattern_allow([^host_os$])
m4trace:configure.ac:32: -1- AC_SUBST([CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:32: -1- AC_SUBST([CFLAGS])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CFLAGS])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CFLAGS$])
m4trace:configure.ac:32: -1- AC_SUBST([LDFLAGS])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LDFLAGS])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LDFLAGS$])
m4trace:configure.ac:32: -1- AC_SUBST([LIBS])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.ac:32: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.ac:32: -1- AC_SUBST([CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:32: -1- AC_SUBST([CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:32: -1- AC_SUBST([CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:32: -1- AC_SUBST([CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:32: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([ac_ct_CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^ac_ct_CC$])
m4trace:configure.ac:32: -1- AC_SUBST([CC])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:32: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([EXEEXT])
m4trace:configure.ac:32: -1- m4_pattern_allow([^EXEEXT$])
m4trace:configure.ac:32: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([OBJEXT])
m4trace:configure.ac:32: -1- m4_pattern_allow([^OBJEXT$])
m4trace:configure.ac:32: -1- AC_REQUIRE_AUX_FILE([compile])
m4trace:configure.ac:32: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([DEPDIR])
m4trace:configure.ac:32: -1- m4_pattern_allow([^DEPDIR$])
m4trace:configure.ac:32: -1- AC_SUBST([am__include])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([am__include])
m4trace:configure.ac:32: -1- m4_pattern_allow([^am__include$])
m4trace:configure.ac:32: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
m4trace:configure.ac:32: -1- AC_SUBST([AMDEP_TRUE])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([AMDEP_TRUE])
m4trace:configure.ac:32: -1- m4_pattern_allow([^AMDEP_TRUE$])
m4trace:configure.ac:32: -1- AC_SUBST([AMDEP_FALSE])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([AMDEP_FALSE])
m4trace:configure.ac:32: -1- m4_pattern_allow([^AMDEP_FALSE$])
m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
m4trace:configure.ac:32: -1- AC_SUBST([AMDEPBACKSLASH])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([AMDEPBACKSLASH])
m4trace:configure.ac:32: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
m4trace:configure.ac:32: -1- AC_SUBST([am__nodep])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([am__nodep])
m4trace:configure.ac:32: -1- m4_pattern_allow([^am__nodep$])
m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([am__nodep])
m4trace:configure.ac:32: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CCDEPMODE])
m4trace:configure.ac:32: -1- m4_pattern_allow([^CCDEPMODE$])
m4trace:configure.ac:32: -1- AM_CONDITIONAL([am__fastdepCC], [
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3])
m4trace:configure.ac:32: -1- AC_SUBST([am__fastdepCC_TRUE])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
m4trace:configure.ac:32: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
m4trace:configure.ac:32: -1- AC_SUBST([am__fastdepCC_FALSE])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
m4trace:configure.ac:32: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
m4trace:configure.ac:32: -1- AC_SUBST([SED])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([SED])
m4trace:configure.ac:32: -1- m4_pattern_allow([^SED$])
m4trace:configure.ac:32: -1- AC_SUBST([GREP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([GREP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^GREP$])
m4trace:configure.ac:32: -1- AC_SUBST([EGREP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([EGREP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^EGREP$])
m4trace:configure.ac:32: -1- AC_SUBST([FGREP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([FGREP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^FGREP$])
m4trace:configure.ac:32: -1- AC_SUBST([GREP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([GREP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^GREP$])
m4trace:configure.ac:32: -1- AC_SUBST([LD])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LD])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LD$])
m4trace:configure.ac:32: -1- AC_SUBST([DUMPBIN])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([DUMPBIN])
m4trace:configure.ac:32: -1- m4_pattern_allow([^DUMPBIN$])
m4trace:configure.ac:32: -1- AC_SUBST([ac_ct_DUMPBIN])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN])
m4trace:configure.ac:32: -1- m4_pattern_allow([^ac_ct_DUMPBIN$])
m4trace:configure.ac:32: -1- AC_SUBST([DUMPBIN])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([DUMPBIN])
m4trace:configure.ac:32: -1- m4_pattern_allow([^DUMPBIN$])
m4trace:configure.ac:32: -1- AC_SUBST([NM])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([NM])
m4trace:configure.ac:32: -1- m4_pattern_allow([^NM$])
m4trace:configure.ac:32: -1- AC_SUBST([LN_S], [$as_ln_s])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LN_S])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LN_S$])
m4trace:configure.ac:32: -1- AC_SUBST([OBJDUMP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([OBJDUMP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^OBJDUMP$])
m4trace:configure.ac:32: -1- AC_SUBST([OBJDUMP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([OBJDUMP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^OBJDUMP$])
m4trace:configure.ac:32: -1- AC_SUBST([DLLTOOL])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([DLLTOOL])
m4trace:configure.ac:32: -1- m4_pattern_allow([^DLLTOOL$])
m4trace:configure.ac:32: -1- AC_SUBST([DLLTOOL])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([DLLTOOL])
m4trace:configure.ac:32: -1- m4_pattern_allow([^DLLTOOL$])
m4trace:configure.ac:32: -1- AC_SUBST([AR])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([AR])
m4trace:configure.ac:32: -1- m4_pattern_allow([^AR$])
m4trace:configure.ac:32: -1- AC_SUBST([ac_ct_AR])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([ac_ct_AR])
m4trace:configure.ac:32: -1- m4_pattern_allow([^ac_ct_AR$])
m4trace:configure.ac:32: -1- AC_SUBST([STRIP])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([STRIP])
m4trace:configure.ac:32: -1- m4_pattern_allow([^STRIP$])
m4trace:configure.ac:32: -1- AC_SUBST([RANLIB])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([RANLIB])
m4trace:configure.ac:32: -1- m4_pattern_allow([^RANLIB$])
m4trace:configure.ac:32: -1- m4_pattern_allow([LT_OBJDIR])
m4trace:configure.ac:32: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LT_OBJDIR$])
m4trace:configure.ac:32: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory where libtool stores uninstalled libraries. */
@%:@undef LT_OBJDIR])
m4trace:configure.ac:32: -1- LT_SUPPORTED_TAG([CC])
m4trace:configure.ac:32: -1- AC_SUBST([MANIFEST_TOOL])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([MANIFEST_TOOL])
m4trace:configure.ac:32: -1- m4_pattern_allow([^MANIFEST_TOOL$])
m4trace:configure.ac:32: -1- AC_SUBST([DSYMUTIL])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([DSYMUTIL])
m4trace:configure.ac:32: -1- m4_pattern_allow([^DSYMUTIL$])
m4trace:configure.ac:32: -1- AC_SUBST([NMEDIT])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([NMEDIT])
m4trace:configure.ac:32: -1- m4_pattern_allow([^NMEDIT$])
m4trace:configure.ac:32: -1- AC_SUBST([LIPO])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LIPO])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LIPO$])
m4trace:configure.ac:32: -1- AC_SUBST([OTOOL])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([OTOOL])
m4trace:configure.ac:32: -1- m4_pattern_allow([^OTOOL$])
m4trace:configure.ac:32: -1- AC_SUBST([OTOOL64])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([OTOOL64])
m4trace:configure.ac:32: -1- m4_pattern_allow([^OTOOL64$])
m4trace:configure.ac:32: -1- AC_SUBST([LT_SYS_LIBRARY_PATH])
m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH])
m4trace:configure.ac:32: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
@%:@undef HAVE_DLFCN_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_STDIO_H], [/* Define to 1 if you have the <stdio.h> header file. */
@%:@undef HAVE_STDIO_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
@%:@undef HAVE_STDLIB_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
@%:@undef HAVE_STRING_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
@%:@undef HAVE_INTTYPES_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
@%:@undef HAVE_STDINT_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
@%:@undef HAVE_STRINGS_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
@%:@undef HAVE_SYS_STAT_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
@%:@undef HAVE_SYS_TYPES_H])
m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
@%:@undef HAVE_UNISTD_H])
m4trace:configure.ac:32: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.ac:32: -1- m4_pattern_allow([^STDC_HEADERS$])
m4trace:configure.ac:32: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if all of the C90 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
@%:@undef STDC_HEADERS])
m4trace:configure.ac:32: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H])
m4trace:configure.ac:32: -1- m4_pattern_allow([^HAVE_DLFCN_H$])
m4trace:configure.ac:34: -1- AC_SUBST([LT_CURRENT])
m4trace:configure.ac:34: -1- AC_SUBST_TRACE([LT_CURRENT])
m4trace:configure.ac:34: -1- m4_pattern_allow([^LT_CURRENT$])
m4trace:configure.ac:35: -1- AC_SUBST([LT_AGE])
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([LT_AGE])
m4trace:configure.ac:35: -1- m4_pattern_allow([^LT_AGE$])
m4trace:configure.ac:36: -1- AC_SUBST([LT_REVISION])
m4trace:configure.ac:36: -1- AC_SUBST_TRACE([LT_REVISION])
m4trace:configure.ac:36: -1- m4_pattern_allow([^LT_REVISION$])
m4trace:configure.ac:38: -1- AM_MAINTAINER_MODE
m4trace:configure.ac:38: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
m4trace:configure.ac:38: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
m4trace:configure.ac:38: -1- AC_SUBST_TRACE([MAINTAINER_MODE_TRUE])
m4trace:configure.ac:38: -1- m4_pattern_allow([^MAINTAINER_MODE_TRUE$])
m4trace:configure.ac:38: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
m4trace:configure.ac:38: -1- AC_SUBST_TRACE([MAINTAINER_MODE_FALSE])
m4trace:configure.ac:38: -1- m4_pattern_allow([^MAINTAINER_MODE_FALSE$])
m4trace:configure.ac:38: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_TRUE])
m4trace:configure.ac:38: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_FALSE])
m4trace:configure.ac:38: -1- AC_SUBST([MAINT])
m4trace:configure.ac:38: -1- AC_SUBST_TRACE([MAINT])
m4trace:configure.ac:38: -1- m4_pattern_allow([^MAINT$])
m4trace:configure.ac:41: -1- AC_SUBST([CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:41: -1- AC_SUBST([CFLAGS])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CFLAGS])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CFLAGS$])
m4trace:configure.ac:41: -1- AC_SUBST([LDFLAGS])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([LDFLAGS])
m4trace:configure.ac:41: -1- m4_pattern_allow([^LDFLAGS$])
m4trace:configure.ac:41: -1- AC_SUBST([LIBS])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.ac:41: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.ac:41: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.ac:41: -1- AC_SUBST([CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:41: -1- AC_SUBST([CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:41: -1- AC_SUBST([CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:41: -1- AC_SUBST([CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:41: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([ac_ct_CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^ac_ct_CC$])
m4trace:configure.ac:41: -1- AC_SUBST([CC])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:41: -1- AC_REQUIRE_AUX_FILE([compile])
m4trace:configure.ac:41: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([CCDEPMODE])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CCDEPMODE$])
m4trace:configure.ac:41: -1- AM_CONDITIONAL([am__fastdepCC], [
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3])
m4trace:configure.ac:41: -1- AC_SUBST([am__fastdepCC_TRUE])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
m4trace:configure.ac:41: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
m4trace:configure.ac:41: -1- AC_SUBST([am__fastdepCC_FALSE])
m4trace:configure.ac:41: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
m4trace:configure.ac:41: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
m4trace:configure.ac:41: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
m4trace:configure.ac:41: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
m4trace:configure.ac:43: -1- AC_SUBST([LN_S], [$as_ln_s])
m4trace:configure.ac:43: -1- AC_SUBST_TRACE([LN_S])
m4trace:configure.ac:43: -1- m4_pattern_allow([^LN_S$])
m4trace:configure.ac:44: -1- AC_SUBST([XMKMF])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([XMKMF])
m4trace:configure.ac:44: -1- m4_pattern_allow([^XMKMF$])
m4trace:configure.ac:44: -1- AC_SUBST([CPP])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.ac:44: -1- m4_pattern_allow([^CPP$])
m4trace:configure.ac:44: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.ac:44: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.ac:44: -1- AC_SUBST([CPP])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.ac:44: -1- m4_pattern_allow([^CPP$])
m4trace:configure.ac:44: -1- AC_DEFINE_TRACE_LITERAL([X_DISPLAY_MISSING])
m4trace:configure.ac:44: -1- m4_pattern_allow([^X_DISPLAY_MISSING$])
m4trace:configure.ac:44: -1- AH_OUTPUT([X_DISPLAY_MISSING], [/* Define to 1 if the X Window System is missing or not being used. */
@%:@undef X_DISPLAY_MISSING])
m4trace:configure.ac:44: -1- AC_SUBST([X_CFLAGS])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([X_CFLAGS])
m4trace:configure.ac:44: -1- m4_pattern_allow([^X_CFLAGS$])
m4trace:configure.ac:44: -1- AC_SUBST([X_PRE_LIBS])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([X_PRE_LIBS])
m4trace:configure.ac:44: -1- m4_pattern_allow([^X_PRE_LIBS$])
m4trace:configure.ac:44: -1- AC_SUBST([X_LIBS])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([X_LIBS])
m4trace:configure.ac:44: -1- m4_pattern_allow([^X_LIBS$])
m4trace:configure.ac:44: -1- AC_SUBST([X_EXTRA_LIBS])
m4trace:configure.ac:44: -1- AC_SUBST_TRACE([X_EXTRA_LIBS])
m4trace:configure.ac:44: -1- m4_pattern_allow([^X_EXTRA_LIBS$])
m4trace:configure.ac:54: -1- AC_SUBST([M4DATADIR])
m4trace:configure.ac:54: -1- AC_SUBST_TRACE([M4DATADIR])
m4trace:configure.ac:54: -1- m4_pattern_allow([^M4DATADIR$])
m4trace:configure.ac:57: -1- AH_OUTPUT([HAVE_LIBPTHREAD], [/* Define to 1 if you have the `pthread\' library (-lpthread). */
@%:@undef HAVE_LIBPTHREAD])
m4trace:configure.ac:57: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBPTHREAD])
m4trace:configure.ac:57: -1- m4_pattern_allow([^HAVE_LIBPTHREAD$])
m4trace:configure.ac:61: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
@%:@undef HAVE_UNISTD_H])
m4trace:configure.ac:61: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNISTD_H])
m4trace:configure.ac:61: -1- m4_pattern_allow([^HAVE_UNISTD_H$])
m4trace:configure.ac:66: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4trace:configure.ac:66: -1- m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
m4trace:configure.ac:66: -1- m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
m4trace:configure.ac:66: -1- AC_SUBST([PKG_CONFIG])
m4trace:configure.ac:66: -1- AC_SUBST_TRACE([PKG_CONFIG])
m4trace:configure.ac:66: -1- m4_pattern_allow([^PKG_CONFIG$])
m4trace:configure.ac:66: -1- AC_SUBST([PKG_CONFIG_PATH])
m4trace:configure.ac:66: -1- AC_SUBST_TRACE([PKG_CONFIG_PATH])
m4trace:configure.ac:66: -1- m4_pattern_allow([^PKG_CONFIG_PATH$])
m4trace:configure.ac:66: -1- AC_SUBST([PKG_CONFIG_LIBDIR])
m4trace:configure.ac:66: -1- AC_SUBST_TRACE([PKG_CONFIG_LIBDIR])
m4trace:configure.ac:66: -1- m4_pattern_allow([^PKG_CONFIG_LIBDIR$])
m4trace:configure.ac:66: -1- AC_SUBST([PKG_CONFIG])
m4trace:configure.ac:66: -1- AC_SUBST_TRACE([PKG_CONFIG])
m4trace:configure.ac:66: -1- m4_pattern_allow([^PKG_CONFIG$])
m4trace:configure.ac:66: -1- AC_SUBST([XFT_CFLAGS])
m4trace:configure.ac:66: -1- AC_SUBST_TRACE([XFT_CFLAGS])
m4trace:configure.ac:66: -1- m4_pattern_allow([^XFT_CFLAGS$])
m4trace:configure.ac:66: -1- AC_SUBST([XFT_LIBS])
m4trace:configure.ac:66: -1- AC_SUBST_TRACE([XFT_LIBS])
m4trace:configure.ac:66: -1- m4_pattern_allow([^XFT_LIBS$])
m4trace:configure.ac:67: -1- AC_SUBST([X11_CFLAGS])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([X11_CFLAGS])
m4trace:configure.ac:67: -1- m4_pattern_allow([^X11_CFLAGS$])
m4trace:configure.ac:67: -1- AC_SUBST([X11_LIBS])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([X11_LIBS])
m4trace:configure.ac:67: -1- m4_pattern_allow([^X11_LIBS$])
m4trace:configure.ac:68: -1- AC_SUBST([XRENDER_CFLAGS])
m4trace:configure.ac:68: -1- AC_SUBST_TRACE([XRENDER_CFLAGS])
m4trace:configure.ac:68: -1- m4_pattern_allow([^XRENDER_CFLAGS$])
m4trace:configure.ac:68: -1- AC_SUBST([XRENDER_LIBS])
m4trace:configure.ac:68: -1- AC_SUBST_TRACE([XRENDER_LIBS])
m4trace:configure.ac:68: -1- m4_pattern_allow([^XRENDER_LIBS$])
m4trace:configure.ac:73: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
@%:@undef HAVE_VPRINTF])
m4trace:configure.ac:73: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT])
m4trace:configure.ac:73: -1- m4_pattern_allow([^HAVE_DOPRNT$])
m4trace:configure.ac:73: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */
@%:@undef HAVE_DOPRNT])
m4trace:configure.ac:84: -1- AH_OUTPUT([HAVE_LIBXINERAMA], [/* Define to 1 if you have the `Xinerama\' library (-lXinerama). */
@%:@undef HAVE_LIBXINERAMA])
m4trace:configure.ac:84: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXINERAMA])
m4trace:configure.ac:84: -1- m4_pattern_allow([^HAVE_LIBXINERAMA$])
m4trace:configure.ac:97: -1- AH_OUTPUT([HAVE_LIBXRANDR], [/* Define to 1 if you have the `Xrandr\' library (-lXrandr). */
@%:@undef HAVE_LIBXRANDR])
m4trace:configure.ac:97: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXRANDR])
m4trace:configure.ac:97: -1- m4_pattern_allow([^HAVE_LIBXRANDR$])
m4trace:configure.ac:102: -1- AC_DEFINE_TRACE_LITERAL([XOSD_XFT_VERSION])
m4trace:configure.ac:102: -1- m4_pattern_allow([^XOSD_XFT_VERSION$])
m4trace:configure.ac:105: -1- AC_CONFIG_MACRO_DIR_TRACE([m4])
m4trace:configure.ac:106: -1- AC_CONFIG_FILES([
xosd-xft.pc
Makefile
man/Makefile
src/Makefile
src/libxosd-xft/Makefile
])
m4trace:configure.ac:113: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.ac:113: -1- m4_pattern_allow([^LIB@&t@OBJS$])
m4trace:configure.ac:113: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([LTLIBOBJS])
m4trace:configure.ac:113: -1- m4_pattern_allow([^LTLIBOBJS$])
m4trace:configure.ac:113: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
m4trace:configure.ac:113: -1- AC_SUBST([am__EXEEXT_TRUE])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE])
m4trace:configure.ac:113: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
m4trace:configure.ac:113: -1- AC_SUBST([am__EXEEXT_FALSE])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE])
m4trace:configure.ac:113: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
m4trace:configure.ac:113: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
m4trace:configure.ac:113: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([top_builddir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([top_build_prefix])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([srcdir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([abs_srcdir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([top_srcdir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([abs_top_srcdir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([builddir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([abs_builddir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([abs_top_builddir])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([INSTALL])
m4trace:configure.ac:113: -1- AC_SUBST_TRACE([MKDIR_P])
m4trace:configure.ac:113: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])

1
compile Symbolic link
View file

@ -0,0 +1 @@
/usr/share/automake-1.16/compile

1
config.guess vendored Symbolic link
View file

@ -0,0 +1 @@
/usr/share/automake-1.16/config.guess

1
config.sub vendored Symbolic link
View file

@ -0,0 +1 @@
/usr/share/automake-1.16/config.sub

17104
configure vendored Executable file

File diff suppressed because it is too large Load diff

113
configure.ac Normal file
View file

@ -0,0 +1,113 @@
dnl
dnl Configure.ac for xosd_xft
dnl
dnl Process this file with autoconf to produce a configure script.
AC_INIT(xosd_xft, 1.0.0)
AM_INIT_AUTOMAKE([no-define])
dnl
dnl Require autoconf version 2.57
dnl
AC_PREREQ(2.57)
dnl The libtool version numbers (LT_*); Don't even think about faking this!
dnl
dnl immediately before every release do:
dnl ===================================
dnl if (the interface is totally unchanged from previous release)
dnl LT_REVISION ++;
dnl else { /* interfaces have been added, removed or changed */
dnl LT_REVISION = 0;
dnl LT_CURRENT ++;
dnl if (any interfaces have been _added_ since last release)
dnl AGE ++;
dnl if (any interfaces have been _removed_ or _incompatibly changed_)
dnl AGE = 0;
dnl }
LT_CURRENT=4
LT_AGE=2
LT_REVISION=14
LT_INIT
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_AGE)
AC_SUBST(LT_REVISION)
AM_MAINTAINER_MODE
dnl Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PATH_XTRA([X11],[X11/Xlib.h],[XrmInitialize()])
# We need two libtools, one that builds both shared and static, and
# one that builds only static. This is because the resulting libtool
# does not allow us to choose which to build at runtime.
sed -e 's/^build_old_libs=yes/build_old_libs=no/' libtool > libtool-disable-static
chmod +x libtool-disable-static
LIBS="$LIBS"
CFLAGS="$CFLAGS -Wall"
M4DATADIR="$datadir/aclocal"
AC_SUBST(M4DATADIR)
dnl Checks for libraries.
AC_CHECK_LIB(pthread, pthread_create,,
AC_MSG_ERROR([*** POSIX thread support not found ***]))
dnl Check for header files.
AC_CHECK_HEADERS(unistd.h)
AC_CHECK_HEADER(pthread.h,,
AC_MSG_ERROR([*** POSIX thread support not installed ***]))
dnl Check for Xft
PKG_CHECK_MODULES([XFT], [xft])
PKG_CHECK_MODULES([X11], [x11])
PKG_CHECK_MODULES([XRENDER], [xrender])
dnl Checks for typedefs, structures, and compiler characteristics.
dnl Checks for library functions.
AC_FUNC_VPRINTF
# nicked from the irmix project...
AC_ARG_ENABLE([xinerama],
AS_HELP_STRING([--disable-xinerama],
[disable use of Xinerama extension]),
[disable_xinerama="yes"],
[disable_xinerama="no"])
if test x$disable_xinerama = "xno"
then
AC_CHECK_LIB(Xinerama,
XineramaQueryExtension)
fi
# nicked from above and enabling xrandr
AC_ARG_ENABLE([xrandr],
AS_HELP_STRING([--disable-xrandr],
[disable use of Xrandr extension]),
[disable_xrandr="yes"],
[disable_xrandr="no"])
if test x$disable_xrandr = "xno"
then
AC_CHECK_LIB(Xrandr,
XRRQueryExtension)
fi
dnl Define XOSD_XFT_VERSION
AC_DEFINE_UNQUOTED(XOSD_XFT_VERSION, "${VERSION}")
dnl Produce Output files
AC_CONFIG_MACRO_DIRS([m4])
AC_CONFIG_FILES([
xosd-xft.pc
Makefile
man/Makefile
src/Makefile
src/libxosd-xft/Makefile
])
AC_OUTPUT

1
depcomp Symbolic link
View file

@ -0,0 +1 @@
/usr/share/automake-1.16/depcomp

1
install-sh Symbolic link
View file

@ -0,0 +1 @@
/usr/share/automake-1.16/install-sh

1
ltmain.sh Symbolic link
View file

@ -0,0 +1 @@
/usr/share/libtool/build-aux/ltmain.sh

1
m4/libtool.m4 vendored Symbolic link
View file

@ -0,0 +1 @@
/usr/share/aclocal/libtool.m4

1
m4/ltoptions.m4 vendored Symbolic link
View file

@ -0,0 +1 @@
/usr/share/aclocal/ltoptions.m4

1
m4/ltsugar.m4 vendored Symbolic link
View file

@ -0,0 +1 @@
/usr/share/aclocal/ltsugar.m4

1
m4/ltversion.m4 vendored Symbolic link
View file

@ -0,0 +1 @@
/usr/share/aclocal/ltversion.m4

1
m4/lt~obsolete.m4 vendored Symbolic link
View file

@ -0,0 +1 @@
/usr/share/aclocal/lt~obsolete.m4

20
man/Makefile.am Normal file
View file

@ -0,0 +1,20 @@
SUFFIXES = .md
.md:
@if command -v pandoc &> /dev/null ; \
then \
pandoc -s -t man -o $@ $< ; \
else \
@echo Pandoc not installed. Just touching and going ahead ; \
touch $@ ; \
fi
man_MANS = osd-show-key.1 osd-show-file.1 osd-demo.1 \
xosd-xft.3 osd_create.3 osd_destroy.3 osd_display.3 osd_hide.3 \
osd_parse_geometry.3 osd_set_bgcolor.3 osd_set_color.3 osd_set_debug_level.3 \
osd_set_font.3 osd_set_geometry.3 osd_set_monitor.3 osd_set_number_of_lines.3 \
osd_set_padding.3 osd_set_shadowcolor.3 osd_set_shadowoffset.3 osd_set_xinerama.3 \
osd_set_xrandr.3 osd_show.3
EXTRA_DIST = ${man_MANS}
# vim: foldmethod=marker tabstop=2 shiftwidth=2 noexpandtab

600
man/Makefile.in Normal file
View file

@ -0,0 +1,600 @@
# Makefile.in generated by automake 1.16.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = man
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)"
man3dir = $(mandir)/man3
NROFF = nroff
MANS = $(man_MANS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
M4DATADIR = @M4DATADIR@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XFT_CFLAGS = @XFT_CFLAGS@
XFT_LIBS = @XFT_LIBS@
XMKMF = @XMKMF@
XRENDER_CFLAGS = @XRENDER_CFLAGS@
XRENDER_LIBS = @XRENDER_LIBS@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUFFIXES = .md
man_MANS = osd-show-key.1 osd-show-file.1 osd-demo.1 \
xosd-xft.3 osd_create.3 osd_destroy.3 osd_display.3 osd_hide.3 \
osd_parse_geometry.3 osd_set_bgcolor.3 osd_set_color.3 osd_set_debug_level.3 \
osd_set_font.3 osd_set_geometry.3 osd_set_monitor.3 osd_set_number_of_lines.3 \
osd_set_padding.3 osd_set_shadowcolor.3 osd_set_shadowoffset.3 osd_set_xinerama.3 \
osd_set_xrandr.3 osd_show.3
EXTRA_DIST = ${man_MANS}
all: all-am
.SUFFIXES:
.SUFFIXES: .md
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu man/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-man1: $(man_MANS)
@$(NORMAL_INSTALL)
@list1=''; \
list2='$(man_MANS)'; \
test -n "$(man1dir)" \
&& test -n "`echo $$list1$$list2`" \
|| exit 0; \
echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
{ for i in $$list1; do echo "$$i"; done; \
if test -n "$$list2"; then \
for i in $$list2; do echo "$$i"; done \
| sed -n '/\.1[a-z]*$$/p'; \
fi; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
fi; \
done; \
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
while read files; do \
test -z "$$files" || { \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
done; }
uninstall-man1:
@$(NORMAL_UNINSTALL)
@list=''; test -n "$(man1dir)" || exit 0; \
files=`{ for i in $$list; do echo "$$i"; done; \
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
sed -n '/\.1[a-z]*$$/p'; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
install-man3: $(man_MANS)
@$(NORMAL_INSTALL)
@list1=''; \
list2='$(man_MANS)'; \
test -n "$(man3dir)" \
&& test -n "`echo $$list1$$list2`" \
|| exit 0; \
echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \
{ for i in $$list1; do echo "$$i"; done; \
if test -n "$$list2"; then \
for i in $$list2; do echo "$$i"; done \
| sed -n '/\.3[a-z]*$$/p'; \
fi; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \
fi; \
done; \
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
while read files; do \
test -z "$$files" || { \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \
done; }
uninstall-man3:
@$(NORMAL_UNINSTALL)
@list=''; test -n "$(man3dir)" || exit 0; \
files=`{ for i in $$list; do echo "$$i"; done; \
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
sed -n '/\.3[a-z]*$$/p'; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir)
tags TAGS:
ctags CTAGS:
cscope cscopelist:
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(MANS)
installdirs:
for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-man
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man: install-man1 install-man3
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-man
uninstall-man: uninstall-man1 uninstall-man3
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
cscopelist-am ctags-am distclean distclean-generic \
distclean-libtool distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-man1 install-man3 install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
uninstall-am uninstall-man uninstall-man1 uninstall-man3
.PRECIOUS: Makefile
.md:
@if command -v pandoc &> /dev/null ; \
then \
pandoc -s -t man -o $@ $< ; \
else \
@echo Pandoc not installed. Just touching and going ahead ; \
touch $@ ; \
fi
# vim: foldmethod=marker tabstop=2 shiftwidth=2 noexpandtab
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

1
man/osd-demo.1 Normal file
View file

@ -0,0 +1 @@
.so osd-show-key.1

1
man/osd-show-file.1 Normal file
View file

@ -0,0 +1 @@
.so osd-show-key.1

144
man/osd-show-key.1 Normal file
View file

@ -0,0 +1,144 @@
.\" Automatically generated by Pandoc 2.14.0.2
.\"
.TH "XOSD-XFT" "1" "Jun 28 2021" "" "XOSD-XFT General Commands"
.hy
.SH NAME
.PP
osd-show-key, osd-show-file, osd-demo - Show information in a OSD window
.SH SYNOPSIS
.PP
osd-show-key [\f[I]options\f[R]] \f[I]message\f[R]
.PP
osd-show-file [\f[I]options\f[R]] [\f[I]file\f[R]]
.PP
osd\[en]demo [\f[I]options\f[R]]
.SH DESCRIPTION
.PP
\f[C]osd-show-key\f[R] shows a message in a translucent window on the
screen.
\f[C]osd-show-key\f[R] can understand unicode escape sequences in the
message and can also understand glyph names from Nerd fonts.
.PP
\f[C]osd-show-file\f[R] shows a given file in a OSD window.
If a file is not given \f[C]osd-show-file\f[R] reads from the standard
input.
.PP
\f[C]osd-demo\f[R] is a small program that shows the capabilities of
\f[C]xosd-xft\f[R] library.
.PP
Both \f[C]osd-show-key\f[R] and \f[C]osd-show-file\f[R] provides various
options to control the colors, font and geometry used to display the
information.
.SH OPTIONS
.TP
-g \f[I]GEOMETRY\f[R], --geometry=\f[I]GEOMETRY\f[R]
Specify the geometry for the window.
The geometry contains the size, offset and alignment specifications.
.IP
.nf
\f[C]
geometry: <size><offset>*<alignment>
size: <width>x<height>
The \[ga]width\[ga] is specified as an integer. It can optionally succeed
by either \[ga]%\[ga] or \[ga]c\[ga]. \[ga]%\[ga] is used to specify the width as a percentage
of the screen width. \[ga]c\[ga] is used to specify the width as number of
characters
offset: [+-]<xoffset>[+-]<yoffset>
The \[ga]xoffset\[ga] and \[ga]yoffset\[ga] follows the standard X geometry definition
when alignment is not provided. When alignment is provided the offsets
are used to adjust the alignmennt positions
alignment: <valign>/<halign>
The \[ga]valign\[ga] can be any one of \[ga]top\[ga], \[ga]middle\[ga], or \[ga]bottom\[ga]. The \[ga]halign\[ga] can
be one of \[ga]left\[ga], \[ga]center\[ga] or \[ga]right\[ga].
\f[R]
.fi
.TP
-t \f[I]ALIGN\f[R], --text-align=\f[I]ALIGN\f[R]
Text alignment within the OSD window
.IP
.nf
\f[C]
alignment: <halign>/<valign>
halign: one of left,center,right or none
valign: one of top,middle,bottom or none
\f[R]
.fi
.TP
-f \f[I]FONT\f[R], --font=*FONT
Font for display.
\f[I]FONT\f[R] is Xft font name.
.TP
-c \f[I]COLOR\f[R], --color=\f[I]COLOR\f[R]
Foreground color for text.
\f[I]COLOR\f[R] is a X11 color name.
.TP
-p \f[I]PADDING\f[R], --padding=\f[I]PADDING\f[R]
Padding for the content
.IP
.nf
\f[C]
padding: top right bottom left
All as integers. When later values are absent, the previous values are used
as in CSS specification.
\f[R]
.fi
.TP
-b \f[I]COLOR\f[R], --bg-color=\f[I]COLOR\f[R]
Color for background (default: black)
.TP
-a \f[I]ALPHA\f[R], --bg-alpha=\f[I]ALPHA\f[R]
Background transparency
.RS
.IP
.nf
\f[C]
ALPHA value should be between 0-100
\f[R]
.fi
.RE
.TP
--no-xinerama
Turn off xinerama support
.TP
--no-xrandr
Turn off xrandr support
.TP
-m \f[I]MONITOR\f[R], --monitor=\f[I]MONITOR\f[R]
Monitor to display message
.IP
.nf
\f[C]
MONITOR is either a number of the monitor (the numbering starts with 1). You can
specify either \[ga]active\[ga] or \[ga]primary\[ga] to choose either of the active or primary
monitors.
\f[R]
.fi
.PP
Besides the above options \f[C]osd-show-file\f[R] accepts the following
options:
.TP
-n \f[I]NUMBER\f[R], --number-of-lines=\f[I]NUMBER\f[R]
Number of lines to display
.PP
The \f[C]osd-show-key\f[R] command accepts the following additional
options:
.TP
-e \f[I]COMMAND\f[R], --exec=\f[I]COMMAND\f[R]
Executes the command using system(3) before displaying the window
.TP
-l[\f[I]SEARCH\f[R]], --list[=\f[I]SEARCH\f[R]]
List the glyph names known to the command.
If a SEARCH is give, lists glyph names that contains the search pattern.
.SH EXAMPLES
.PP
To display \f[C]/etc/passwd\f[R]:
.IP
.nf
\f[C]
osd-show-file /etc/passwd
\f[R]
.fi
.SH AUTHORS
Dakshinamurthy Karra.

143
man/osd-show-key.1.md Normal file
View file

@ -0,0 +1,143 @@
% XOSD-XFT(1) | XOSD-XFT General Commands
% Dakshinamurthy Karra
% Jun 28 2021
# NAME
osd-show-key, osd-show-file, osd-demo - Show information in a OSD window
# SYNOPSIS
osd-show-key [*options*] *message*
osd-show-file [*options*] [*file*]
osd--demo [*options*]
# DESCRIPTION
`osd-show-key` shows a message in a translucent window on the screen.
`osd-show-key` can understand unicode escape sequences in the message and
can also understand glyph names from Nerd fonts.
`osd-show-file` shows a given file in a OSD window. If a file is not given
`osd-show-file` reads from the standard input.
`osd-demo` is a small program that shows the capabilities of `xosd-xft`
library.
Both `osd-show-key` and `osd-show-file` provides various options to control
the colors, font and geometry used to display the information.
# OPTIONS
-g *GEOMETRY*, \--geometry=*GEOMETRY*
: Specify the geometry for the window. The geometry contains the size,
offset and alignment specifications.
```
geometry: <size><offset>*<alignment>
size: <width>x<height>
The `width` is specified as an integer. It can optionally succeed
by either `%` or `c`. `%` is used to specify the width as a percentage
of the screen width. `c` is used to specify the width as number of
characters
offset: [+-]<xoffset>[+-]<yoffset>
The `xoffset` and `yoffset` follows the standard X geometry definition
when alignment is not provided. When alignment is provided the offsets
are used to adjust the alignmennt positions
alignment: <valign>/<halign>
The `valign` can be any one of `top`, `middle`, or `bottom`. The `halign` can
be one of `left`, `center` or `right`.
```
-t *ALIGN*, \--text-align=*ALIGN*
: Text alignment within the OSD window
```
alignment: <halign>/<valign>
halign: one of left,center,right or none
valign: one of top,middle,bottom or none
```
-f *FONT*, \--font=*FONT
: Font for display. *FONT* is Xft font name.
-c *COLOR*, \--color=*COLOR*
: Foreground color for text. *COLOR* is a X11 color name.
-p *PADDING*, \--padding=*PADDING*
: Padding for the content
```
padding: top right bottom left
All as integers. When later values are absent, the previous values are used
as in CSS specification.
```
-b *COLOR*, \--bg-color=*COLOR*
: Color for background (default: black)
-a *ALPHA*, \--bg-alpha=*ALPHA*
: Background transparency
```
ALPHA value should be between 0-100
```
\--no-xinerama
: Turn off xinerama support
\--no-xrandr
: Turn off xrandr support
-m *MONITOR*, \--monitor=*MONITOR*
: Monitor to display message
```
MONITOR is either a number of the monitor (the numbering starts with 1). You can
specify either `active` or `primary` to choose either of the active or primary
monitors.
```
Besides the above options `osd-show-file` accepts the following options:
-n *NUMBER*, \--number-of-lines=*NUMBER*
: Number of lines to display
The `osd-show-key` command accepts the following additional options:
-e *COMMAND*, \--exec=*COMMAND*
: Executes the command using system(3) before displaying the window
-l[*SEARCH*], \--list[=*SEARCH*]
: List the glyph names known to the command. If a SEARCH is give, lists
glyph names that contains the search pattern.
# EXAMPLES
To display `/etc/passwd`:
```
osd-show-file /etc/passwd
```
To override the font used to display a file:
```
osd-show-file -f "SourceCodePro:size=14" /etc/passwd
```
To override the geometry - using 120 characters width and 30 lines height:
```
osd-show-file -g 120cx30l /etc/passwd
```
To display volume off glyph and execute `amixer` command:
```
osd-show-key -e 'amixer set Master toggle' :fa-volume_off:")
```
To list available glyph names that contain `volume` in them:
```
osd-show-key -lvolume
```

1
man/osd_create.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

1
man/osd_destroy.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

1
man/osd_display.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

1
man/osd_hide.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

1
man/osd_parse_geometry.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

1
man/osd_set_bgcolor.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

1
man/osd_set_color.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

View file

@ -0,0 +1 @@
.so xosd-xft.3

1
man/osd_set_font.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

1
man/osd_set_geometry.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

1
man/osd_set_monitor.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

View file

@ -0,0 +1 @@
.so xosd-xft.3

1
man/osd_set_padding.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

View file

@ -0,0 +1 @@
.so xosd-xft.3

View file

@ -0,0 +1 @@
.so xosd-xft.3

1
man/osd_set_xinerama.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

1
man/osd_set_xrandr.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

1
man/osd_show.3 Normal file
View file

@ -0,0 +1 @@
.so xosd-xft.3

241
man/xosd-xft.3 Normal file
View file

@ -0,0 +1,241 @@
.\" Automatically generated by Pandoc 2.14.0.2
.\"
.TH "XOSD-XFT" "3" "Jun 28 2021" "" "XOSD-XFT Programmers Manual"
.hy
.SH NAME
.PP
osd_create, osd_destroy - create and destroy osd objects
.PD 0
.P
.PD
osd_show, osd_hide, osd_display - display content
.PD 0
.P
.PD
osd_parse_geometry osd_set_geometry - set size, position and offsets
.PD 0
.P
.PD
osd_set_font - set font
.PD 0
.P
.PD
osd_set_color, osd_set_bgcolor, osd_set_shadowcolor,
osd_set_shadowoffset - color handling
.PD 0
.P
.PD
osd_set_padding, osd_set_number_of_lines - padding and display lines for
content
.PD 0
.P
.PD
osd_set_monitor, osd_set_xinerama osd_set_xrandr - settings for
multihead
.SH SYNOPSIS
.IP
.nf
\f[C]
#include <xosd-xft.h>
extern char* osd_error;
xosd_xft *osd_create();
int osd_destroy(xosd_xft *osd);
int osd_show(xosd_xft *osda);
int osd_hide(xosd_xft *osda);
int osd_display(xosd_xft *osd, char *message, int len);
osd_geometry* osd_parse_geometry(const char *geometry, const char* textalign, osd_geometry *g);
void osd_set_geometry(xosd_xft *osd, const osd_geometry *geometry);
void osd_set_font(xosd_xft *osd, const char *font);
void osd_set_color(xosd_xft *osd, const char *color);
void osd_set_bgcolor(xosd_xft *osd, const char *bgcolor, unsigned int alpha);
void osd_set_shadowcolor(xosd_xft *osd, const char *shadowcolor);
void osd_set_shadowoffset(xosd_xft *osd, int offset);
void osd_set_padding(xosd_xft *osd, const char *padding);
void osd_set_number_of_lines(xosd_xft *osd, int nlines);
void osd_set_monitor(xosd_xft *osd, int monitor);
void osd_set_xinerama(xosd_xft *osd, int xinerama);
void osd_set_xrandr(xosd_xft *osd, int xrandr);
\f[R]
.fi
.SH DESCRIPTION
.PP
The \f[B]osd_create()\f[R] function creates a \f[C]xosd_xft\f[R] object
that is used in subsequent calls.
\f[B]osd_create()\f[R] does not allocate any X resources till a
subsequent call to \f[B]osd_display\f[R] is made.
\f[B]osd_destroy\f[R] frees the resources used during the course of
operation.
.PP
The \f[B]osd_show()\f[R] and \f[B]osd_hide()\f[R] methods are used to
display and hide the OSD window after it is shown.
These can be used only after \f[B]osd_display()\f[R] is used to display
the window.
.PP
The \f[B]osd_display()\f[R] methods adds the given line to the content.
If the window is not yet displayed, \f[B]osd_display()\f[R] initializes
the required resources and displays the window.
The settings are validated during this method call and
\f[B]display_window()\f[R] returns \f[C]-1\f[R] on error and the
\f[B]osd_error\f[R] variable contains the error message.
.PP
The \f[B]osd_parse_geometry()\f[R] is a convenience method to initialize
a \f[B]osd_geometry\f[R] object from a string representation.
The \f[B]osd_parse_geometry()\f[R] returns NULL if the string is not in
proper format.
.PP
\f[B]Geometry String Format\f[R]:
.IP
.nf
\f[C]
geometry: <size><offset>*<alignment>
size: <width>x<height>
The \[ga]width\[ga] is specified as an integer. It can optionally succeed
by either \[ga]%\[ga] or \[ga]c\[ga]. \[ga]%\[ga] is used to specify the width as a percentage
of the screen width. \[ga]c\[ga] is used to specify the width as number of
characters
offset: [+-]<xoffset>[+-]<yoffset>
The \[ga]xoffset\[ga] and \[ga]yoffset\[ga] follows the standard X geometry definition
when alignment is not provided. When alignment is provided the offsets
are used to adjust the alignmennt positions
alignment: <valign>/<halign>
The \[ga]valign\[ga] can be any one of \[ga]top\[ga], \[ga]middle\[ga], or \[ga]bottom\[ga]. The \[ga]halign\[ga] can
be one of \[ga]left\[ga], \[ga]center\[ga] or \[ga]right\[ga].
\f[R]
.fi
.PP
The \f[B]osd_geometry\f[R] structure holds the parsed geometry
information and can be used with a subsequent
\f[B]osd_set_geometry()\f[R] call.
.PP
\f[B]osd_geometry\f[R]:
.IP
.nf
\f[C]
/* Parsed Geometry and Text Alignment */
typedef struct _geometry
{
/* Size - width_per and height_per set to true if % are used
width_chars and height_lines set to true if char sizes are used */
unsigned int width; /* Width */
int width_per; /* Is Width Unit as percentage of screen size */
int width_chars; /* Is Width Unit as number of characters */
unsigned int height; /* Height */
int height_per; /* Is Height Unit as pecentage of screen size */
int height_lines; /* Is Height Unit as number of lines */
/* Position - offsets are abs values, neg set to true when negative */
unsigned int xoffset; /* X Offset - Absolute value */
int xneg; /* Is X Offset Negative */
unsigned int yoffset; /* Y Offset - Absolute value */
int yneg; /* Is Y Offset Negative */
/* Alignment - Horizontal and Vertical Alignment of OSD Window */
osd_valign valign; /* Vertical Alignment */
osd_halign halign; /* Horizontal Alignment */
/* Alignment - for Text */
osd_valign text_valign; /* Text Vertical Alignment */
osd_halign text_halign; /* Text Horizontal Alignment */
} osd_geometry;
\f[R]
.fi
.PP
\f[B]Horizontal and Vertical Alignment Constants\f[R]
.IP
.nf
\f[C]
/* Vertical Alignment */
typedef enum
{
XOSD_XFT_top = 0, /* Align to Top */
XOSD_XFT_bottom, /* Align to Bottom */
XOSD_XFT_middle, /* Align to Middle */
XOSD_XFT_valign_none /* Unspecified - defaults to Top */
} osd_valign;
/* Horizontal Alignment */
typedef enum
{
XOSD_XFT_left = 0, /* Align to Left */
XOSD_XFT_center, /* Align to Center */
XOSD_XFT_right, /* Align to Righht */
XOSD_XFT_halign_none /* Unspecified - defaults to Left */
} osd_halign;
\f[R]
.fi
.PP
\f[B]osd_set_geometry()\f[R] can be used to modify the geometry.
If the window is already displayed, \f[B]osd_set_geometry()\f[R] sets
the modifies the displayed window.
.PP
The \f[B]osd_set_font()\f[R] method is used to specify the font used for
displaying the content.
Setting font after the window is displayed doesn\[cq]t have any effect.
The \f[B]font\f[R] parameter is the name of the font in \f[I]Xft\f[R]
format.
.PP
The \f[B]osd_set_color()\f[R], \f[B]osd_set_bgcolor()\f[R] and
\f[B]osd_set_shadowcolor()\f[R] methods are used to set the
corresponding color values.
Either X11 color names or values can be used for the color parameters.
The \f[B]alpha\f[R] parameter is an integer between 0-100 and sets the
transparency (0 being fully transparent, 100 opaque).
.PP
\f[B]osd_set_padding\f[R] is used to set the padding for the content.
The \f[B]padding\f[R] parameter is a string and uses the CSS convention.
The \f[B]osd_set_number_of_lines\f[R] method can be used to set the
number of lines to display.
.PP
The library supports multihead displays using \f[I]Xrandr\f[R] or
\f[I]Xinerama\f[R] extensions.
\f[B]osd_set_monitor()\f[R] allows you to select a monitor to display
the content.
You can set \f[B]monitor\f[R] to \f[I]ACTIVE\f[R] or \f[I]PRIMARY\f[R]
to select either active or primary monitor.
Active monitor is the default.
\f[B]osd_set_xinerama\f[R] or \f[B]osd_set_xrandr\f[R] are used to
disable calls to either library.
.SH EXAMPLES
.PP
The following program displays the message on the active monitor.
.IP
.nf
\f[C]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <xosd-xft.h>
xosd_xft *osd;
int main(int argc, char *argv[])
{
osd_geometry g;
xosd_xft *osd = osd_create();
if(osd_parse_geometry(\[dq]300x300+0+0*middle/center\[dq], \[dq]center/middle\[dq], &g) == NULL) {
fprintf(stderr, \[dq]%s\[rs]n\[dq], osd_error);
return EXIT_FAILURE;
}
osd_set_geometry(osd, &g);
osd_set_font(osd, \[dq]mono:size=16\[dq]);
osd_set_color(osd, \[dq]lightblue\[dq]);
osd_set_bgcolor(osd, \[dq]black\[dq], 100);
char* message = \[dq]HELLO XOSD-XFT\[dq] ;
osd_display(osd, message, strlen(message));
usleep(1000000);
osd_destroy(osd);
return EXIT_SUCCESS;
}
\f[R]
.fi
.SH AUTHORS
Dakshinamurthy Karra.

191
man/xosd-xft.3.md Normal file
View file

@ -0,0 +1,191 @@
% XOSD-XFT(3) | XOSD-XFT Programmers Manual
% Dakshinamurthy Karra
% Jun 28 2021
# NAME
osd\_create, osd\_destroy - create and destroy osd objects
\
osd\_show, osd\_hide, osd\_display - display content
\
osd\_parse\_geometry osd\_set\_geometry - set size, position and offsets
\
osd\_set\_font - set font
\
osd\_set\_color, osd\_set\_bgcolor, osd\_set\_shadowcolor, osd\_set\_shadowoffset - color handling
\
osd\_set\_padding, osd\_set\_number\_of\_lines - padding and display lines for content
\
osd\_set\_monitor, osd\_set\_xinerama osd\_set\_xrandr - settings for multihead
# SYNOPSIS
```
#include <xosd-xft.h>
extern char* osd_error;
xosd_xft *osd_create();
int osd_destroy(xosd_xft *osd);
int osd_show(xosd_xft *osda);
int osd_hide(xosd_xft *osda);
int osd_display(xosd_xft *osd, char *message, int len);
osd_geometry* osd_parse_geometry(const char *geometry, const char* textalign, osd_geometry *g);
void osd_set_geometry(xosd_xft *osd, const osd_geometry *geometry);
void osd_set_font(xosd_xft *osd, const char *font);
void osd_set_color(xosd_xft *osd, const char *color);
void osd_set_bgcolor(xosd_xft *osd, const char *bgcolor, unsigned int alpha);
void osd_set_shadowcolor(xosd_xft *osd, const char *shadowcolor);
void osd_set_shadowoffset(xosd_xft *osd, int offset);
void osd_set_padding(xosd_xft *osd, const char *padding);
void osd_set_number_of_lines(xosd_xft *osd, int nlines);
void osd_set_monitor(xosd_xft *osd, int monitor);
void osd_set_xinerama(xosd_xft *osd, int xinerama);
void osd_set_xrandr(xosd_xft *osd, int xrandr);
```
# DESCRIPTION
The **osd_create()** function creates a `xosd_xft` object that is used in subsequent calls. **osd_create()** does not allocate
any X resources till a subsequent call to **osd_display** is made. **osd_destroy** frees the resources used during the course
of operation.
The **osd_show()** and **osd_hide()** methods are used to display and hide the OSD window after it is shown. These can be used
only after **osd_display()** is used to display the window.
The **osd_display()** methods adds the given line to the content. If the window is not yet displayed, **osd_display()** initializes
the required resources and displays the window. The settings are validated during this method call and **display_window()** returns
`-1` on error and the **osd_error** variable contains the error message.
The **osd_parse_geometry()** is a convenience method to initialize a **osd_geometry** object from a string representation. The
**osd_parse_geometry()** returns NULL if the string is not in proper format.
**Geometry String Format**:
```
geometry: <size><offset>*<alignment>
size: <width>x<height>
The `width` is specified as an integer. It can optionally succeed
by either `%` or `c`. `%` is used to specify the width as a percentage
of the screen width. `c` is used to specify the width as number of
characters
offset: [+-]<xoffset>[+-]<yoffset>
The `xoffset` and `yoffset` follows the standard X geometry definition
when alignment is not provided. When alignment is provided the offsets
are used to adjust the alignmennt positions
alignment: <valign>/<halign>
The `valign` can be any one of `top`, `middle`, or `bottom`. The `halign` can
be one of `left`, `center` or `right`.
```
The **osd_geometry** structure holds the parsed geometry information and can be used with a subsequent **osd_set_geometry()** call.
**osd_geometry**:
```
/* Parsed Geometry and Text Alignment */
typedef struct _geometry
{
/* Size - width_per and height_per set to true if % are used
width_chars and height_lines set to true if char sizes are used */
unsigned int width; /* Width */
int width_per; /* Is Width Unit as percentage of screen size */
int width_chars; /* Is Width Unit as number of characters */
unsigned int height; /* Height */
int height_per; /* Is Height Unit as pecentage of screen size */
int height_lines; /* Is Height Unit as number of lines */
/* Position - offsets are abs values, neg set to true when negative */
unsigned int xoffset; /* X Offset - Absolute value */
int xneg; /* Is X Offset Negative */
unsigned int yoffset; /* Y Offset - Absolute value */
int yneg; /* Is Y Offset Negative */
/* Alignment - Horizontal and Vertical Alignment of OSD Window */
osd_valign valign; /* Vertical Alignment */
osd_halign halign; /* Horizontal Alignment */
/* Alignment - for Text */
osd_valign text_valign; /* Text Vertical Alignment */
osd_halign text_halign; /* Text Horizontal Alignment */
} osd_geometry;
```
**Horizontal and Vertical Alignment Constants**
```
/* Vertical Alignment */
typedef enum
{
XOSD_XFT_top = 0, /* Align to Top */
XOSD_XFT_bottom, /* Align to Bottom */
XOSD_XFT_middle, /* Align to Middle */
XOSD_XFT_valign_none /* Unspecified - defaults to Top */
} osd_valign;
/* Horizontal Alignment */
typedef enum
{
XOSD_XFT_left = 0, /* Align to Left */
XOSD_XFT_center, /* Align to Center */
XOSD_XFT_right, /* Align to Righht */
XOSD_XFT_halign_none /* Unspecified - defaults to Left */
} osd_halign;
```
**osd_set_geometry()** can be used to modify the geometry. If the window is already displayed, **osd_set_geometry()**
sets the modifies the displayed window.
The **osd_set_font()** method is used to specify the font used for displaying the content. Setting font after the window is
displayed doesn't have any effect. The **font** parameter is the name of the font in *Xft* format.
The **osd_set_color()**, **osd_set_bgcolor()** and **osd_set_shadowcolor()** methods are used to set the corresponding color values.
Either X11 color names or values can be used for the color parameters. The **alpha** parameter is an integer between 0-100 and sets
the transparency (0 being fully transparent, 100 opaque).
**osd_set_padding** is used to set the padding for the content. The **padding** parameter is a string and uses the CSS convention.
The **osd_set_number_of_lines** method can be used to set the number of lines to display.
The library supports multihead displays using *Xrandr* or *Xinerama* extensions. **osd_set_monitor()** allows you to select a monitor
to display the content. You can set **monitor** to *ACTIVE* or *PRIMARY* to select either active or primary monitor. Active monitor is
the default. **osd_set_xinerama** or **osd_set_xrandr** are used to disable calls to either library.
# EXAMPLES
The following program displays the message on the active monitor.
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <xosd-xft.h>
xosd_xft *osd;
int main(int argc, char *argv[])
{
osd_geometry g;
xosd_xft *osd = osd_create();
if(osd_parse_geometry("300x300+0+0*middle/center", "center/middle", &g) == NULL) {
fprintf(stderr, "%s\n", osd_error);
return EXIT_FAILURE;
}
osd_set_geometry(osd, &g);
osd_set_font(osd, "mono:size=16");
osd_set_color(osd, "lightblue");
osd_set_bgcolor(osd, "black", 100);
char* message = "HELLO XOSD-XFT" ;
osd_display(osd, message, strlen(message));
usleep(1000000);
osd_destroy(osd);
return EXIT_SUCCESS;
}
```

1
missing Symbolic link
View file

@ -0,0 +1 @@
/usr/share/automake-1.16/missing

24
src/Makefile.am Normal file
View file

@ -0,0 +1,24 @@
noinst_PROGRAMS = osd-example
bin_PROGRAMS = osd-demo osd-show-file osd-show-key
osd_demo_SOURCES = osd-demo.c
osd_demo_LDADD = libxosd-xft/libxosd-xft.la @XFT_LIBS@ @X11_LIBS@ @XRENDER_LIBS@
osd_show_file_SOURCES = osd-show-file.c
osd_show_file_LDADD = libxosd-xft/libxosd-xft.la @XFT_LIBS@ @X11_LIBS@ @XRENDER_LIBS@
osd_show_key_SOURCES = osd-show-key.c utf8.c nerdfonts.c
osd_show_key_LDADD = libxosd-xft/libxosd-xft.la @XFT_LIBS@ @X11_LIBS@ @XRENDER_LIBS@
osd_example_SOURCES = osd-example.c
osd_example_LDADD = libxosd-xft/libxosd-xft.la @XFT_LIBS@ @X11_LIBS@ @XRENDER_LIBS@
include_HEADERS = xosd-xft.h
AM_CFLAGS = @XFT_CFLAGS@
SUBDIRS=libxosd-xft

885
src/Makefile.in Normal file
View file

@ -0,0 +1,885 @@
# Makefile.in generated by automake 1.16.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
noinst_PROGRAMS = osd-example$(EXEEXT)
bin_PROGRAMS = osd-demo$(EXEEXT) osd-show-file$(EXEEXT) \
osd-show-key$(EXEEXT)
subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \
$(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includedir)"
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
am_osd_demo_OBJECTS = osd-demo.$(OBJEXT)
osd_demo_OBJECTS = $(am_osd_demo_OBJECTS)
osd_demo_DEPENDENCIES = libxosd-xft/libxosd-xft.la
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
am_osd_example_OBJECTS = osd-example.$(OBJEXT)
osd_example_OBJECTS = $(am_osd_example_OBJECTS)
osd_example_DEPENDENCIES = libxosd-xft/libxosd-xft.la
am_osd_show_file_OBJECTS = osd-show-file.$(OBJEXT)
osd_show_file_OBJECTS = $(am_osd_show_file_OBJECTS)
osd_show_file_DEPENDENCIES = libxosd-xft/libxosd-xft.la
am_osd_show_key_OBJECTS = osd-show-key.$(OBJEXT) utf8.$(OBJEXT) \
nerdfonts.$(OBJEXT)
osd_show_key_OBJECTS = $(am_osd_show_key_OBJECTS)
osd_show_key_DEPENDENCIES = libxosd-xft/libxosd-xft.la
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = ./$(DEPDIR)/nerdfonts.Po ./$(DEPDIR)/osd-demo.Po \
./$(DEPDIR)/osd-example.Po ./$(DEPDIR)/osd-show-file.Po \
./$(DEPDIR)/osd-show-key.Po ./$(DEPDIR)/utf8.Po
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(osd_demo_SOURCES) $(osd_example_SOURCES) \
$(osd_show_file_SOURCES) $(osd_show_key_SOURCES)
DIST_SOURCES = $(osd_demo_SOURCES) $(osd_example_SOURCES) \
$(osd_show_file_SOURCES) $(osd_show_key_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
HEADERS = $(include_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
M4DATADIR = @M4DATADIR@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XFT_CFLAGS = @XFT_CFLAGS@
XFT_LIBS = @XFT_LIBS@
XMKMF = @XMKMF@
XRENDER_CFLAGS = @XRENDER_CFLAGS@
XRENDER_LIBS = @XRENDER_LIBS@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
osd_demo_SOURCES = osd-demo.c
osd_demo_LDADD = libxosd-xft/libxosd-xft.la @XFT_LIBS@ @X11_LIBS@ @XRENDER_LIBS@
osd_show_file_SOURCES = osd-show-file.c
osd_show_file_LDADD = libxosd-xft/libxosd-xft.la @XFT_LIBS@ @X11_LIBS@ @XRENDER_LIBS@
osd_show_key_SOURCES = osd-show-key.c utf8.c nerdfonts.c
osd_show_key_LDADD = libxosd-xft/libxosd-xft.la @XFT_LIBS@ @X11_LIBS@ @XRENDER_LIBS@
osd_example_SOURCES = osd-example.c
osd_example_LDADD = libxosd-xft/libxosd-xft.la @XFT_LIBS@ @X11_LIBS@ @XRENDER_LIBS@
include_HEADERS = xosd-xft.h
AM_CFLAGS = @XFT_CFLAGS@
SUBDIRS = libxosd-xft
all: all-recursive
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu src/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
|| test -f $$p1 \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
clean-noinstPROGRAMS:
@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
osd-demo$(EXEEXT): $(osd_demo_OBJECTS) $(osd_demo_DEPENDENCIES) $(EXTRA_osd_demo_DEPENDENCIES)
@rm -f osd-demo$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(osd_demo_OBJECTS) $(osd_demo_LDADD) $(LIBS)
osd-example$(EXEEXT): $(osd_example_OBJECTS) $(osd_example_DEPENDENCIES) $(EXTRA_osd_example_DEPENDENCIES)
@rm -f osd-example$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(osd_example_OBJECTS) $(osd_example_LDADD) $(LIBS)
osd-show-file$(EXEEXT): $(osd_show_file_OBJECTS) $(osd_show_file_DEPENDENCIES) $(EXTRA_osd_show_file_DEPENDENCIES)
@rm -f osd-show-file$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(osd_show_file_OBJECTS) $(osd_show_file_LDADD) $(LIBS)
osd-show-key$(EXEEXT): $(osd_show_key_OBJECTS) $(osd_show_key_DEPENDENCIES) $(EXTRA_osd_show_key_DEPENDENCIES)
@rm -f osd-show-key$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(osd_show_key_OBJECTS) $(osd_show_key_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nerdfonts.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osd-demo.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osd-example.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osd-show-file.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osd-show-key.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8.Po@am__quote@ # am--include-marker
$(am__depfiles_remade):
@$(MKDIR_P) $(@D)
@echo '# dummy' >$@-t && $(am__mv) $@-t $@
am--depfiles: $(am__depfiles_remade)
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
$(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
$(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(PROGRAMS) $(HEADERS)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-binPROGRAMS clean-generic clean-libtool \
clean-noinstPROGRAMS mostlyclean-am
distclean: distclean-recursive
-rm -f ./$(DEPDIR)/nerdfonts.Po
-rm -f ./$(DEPDIR)/osd-demo.Po
-rm -f ./$(DEPDIR)/osd-example.Po
-rm -f ./$(DEPDIR)/osd-show-file.Po
-rm -f ./$(DEPDIR)/osd-show-key.Po
-rm -f ./$(DEPDIR)/utf8.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am: install-includeHEADERS
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am: install-binPROGRAMS
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/nerdfonts.Po
-rm -f ./$(DEPDIR)/osd-demo.Po
-rm -f ./$(DEPDIR)/osd-example.Po
-rm -f ./$(DEPDIR)/osd-show-file.Po
-rm -f ./$(DEPDIR)/osd-show-key.Po
-rm -f ./$(DEPDIR)/utf8.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--depfiles check check-am clean clean-binPROGRAMS \
clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \
ctags ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-binPROGRAMS \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-includeHEADERS install-info install-info-am \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \
uninstall-includeHEADERS
.PRECIOUS: Makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,9 @@
AM_CFLAGS = -I$(top_srcdir)/src @XFT_CFLAGS@
# Library
lib_LTLIBRARIES = libxosd-xft.la
libxosd_xft_la_SOURCES = xosd-xft.c geometry.c monitors.c intern.h
libxosd_xft_la_LIBADD = $(X_LIBS)
libxosd_xft_la_LDFLAGS = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -pthread

683
src/libxosd-xft/Makefile.in Normal file
View file

@ -0,0 +1,683 @@
# Makefile.in generated by automake 1.16.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = src/libxosd-xft
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
libxosd_xft_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am_libxosd_xft_la_OBJECTS = xosd-xft.lo geometry.lo monitors.lo
libxosd_xft_la_OBJECTS = $(am_libxosd_xft_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
libxosd_xft_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) $(libxosd_xft_la_LDFLAGS) $(LDFLAGS) -o \
$@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = ./$(DEPDIR)/geometry.Plo \
./$(DEPDIR)/monitors.Plo ./$(DEPDIR)/xosd-xft.Plo
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(libxosd_xft_la_SOURCES)
DIST_SOURCES = $(libxosd_xft_la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
M4DATADIR = @M4DATADIR@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XFT_CFLAGS = @XFT_CFLAGS@
XFT_LIBS = @XFT_LIBS@
XMKMF = @XMKMF@
XRENDER_CFLAGS = @XRENDER_CFLAGS@
XRENDER_LIBS = @XRENDER_LIBS@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AM_CFLAGS = -I$(top_srcdir)/src @XFT_CFLAGS@
# Library
lib_LTLIBRARIES = libxosd-xft.la
libxosd_xft_la_SOURCES = xosd-xft.c geometry.c monitors.c intern.h
libxosd_xft_la_LIBADD = $(X_LIBS)
libxosd_xft_la_LDFLAGS = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -pthread
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/libxosd-xft/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu src/libxosd-xft/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
else :; fi; \
done; \
test -z "$$list2" || { \
echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
}
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; \
locs=`for p in $$list; do echo $$p; done | \
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
sort -u`; \
test -z "$$locs" || { \
echo rm -f $${locs}; \
rm -f $${locs}; \
}
libxosd-xft.la: $(libxosd_xft_la_OBJECTS) $(libxosd_xft_la_DEPENDENCIES) $(EXTRA_libxosd_xft_la_DEPENDENCIES)
$(AM_V_CCLD)$(libxosd_xft_la_LINK) -rpath $(libdir) $(libxosd_xft_la_OBJECTS) $(libxosd_xft_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/geometry.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/monitors.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xosd-xft.Plo@am__quote@ # am--include-marker
$(am__depfiles_remade):
@$(MKDIR_P) $(@D)
@echo '# dummy' >$@-t && $(am__mv) $@-t $@
am--depfiles: $(am__depfiles_remade)
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES)
installdirs:
for dir in "$(DESTDIR)$(libdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -f ./$(DEPDIR)/geometry.Plo
-rm -f ./$(DEPDIR)/monitors.Plo
-rm -f ./$(DEPDIR)/xosd-xft.Plo
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-libLTLIBRARIES
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f ./$(DEPDIR)/geometry.Plo
-rm -f ./$(DEPDIR)/monitors.Plo
-rm -f ./$(DEPDIR)/xosd-xft.Plo
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-libLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \
ctags ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-libLTLIBRARIES install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
.PRECIOUS: Makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

246
src/libxosd-xft/geometry.c Normal file
View file

@ -0,0 +1,246 @@
/*
Copyright 2021 Dakshinamurthy Karra (dakshinamurthy.karra@jaliansystems.com)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "intern.h"
/** Names for alignment */
static char *osd_valign_names[] = {"top", "bottom", "middle", "none"};
static char *osd_halign_names[] = {"left", "center", "right", "none"};
#ifndef ARRAY_SIZE
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
#endif
/* read_size -- read size part of geometry {{{ */
static const char *
read_size(const char *s, unsigned int *sz, int *per, int *lines_or_chars)
{
FUNCTION_START();
*sz = 0;
*per = 0;
*lines_or_chars = 0;
while (isdigit(*s))
{
*sz = (*sz * 10) + (*s - '0');
s++;
}
if (*s == '%')
{
*per = 1;
s++;
}
else if (*s == 'c' || *s == 'C' || *s == 'l' || *s == 'L') {
*lines_or_chars = 1;
s++;
}
FUNCTION_END();
return s;
}
/* }}} */
/* parse_size -- parse width and height from geometry {{{ */
static const char *
parse_size(const char *g, unsigned int *w, unsigned int *h, int *w_per, int *h_per, int *w_chars, int *h_lines)
{
FUNCTION_START();
g = read_size(g, w, w_per, w_chars);
if (*g == 'x' || *g == 'X')
{
g = read_size(++g, h, h_per, h_lines);
}
FUNCTION_END();
return g;
}
/* }}} */
/* read_off -- read offset from geometry {{{ */
static const char *
read_off(const char *s, unsigned int *off, int *neg)
{
FUNCTION_START();
*neg = *s++ == '-';
*off = 0;
while (isdigit(*s))
{
*off = (*off * 10) + (*s - '0');
s++;
}
FUNCTION_END();
return s;
}
/* }}} */
/* parse_off -- parse x and y offsets from geometry {{{ */
static const char *
parse_off(const char *g, unsigned int *xoff, unsigned int *yoff, int *xneg, int *yneg)
{
FUNCTION_START();
g = read_off(g, xoff, xneg);
if (*g == '+' || *g == '-')
g = read_off(g, yoff, yneg);
FUNCTION_END();
return g;
}
/* }}} */
/* parse_pos -- parse hoarizontal and vertial alignments from geometry {{{ */
static const char *
parse_pos(const char *s, osd_valign *valign, osd_halign *halign)
{
FUNCTION_START();
int i;
for (i = 0; i < ARRAY_SIZE(osd_valign_names); i++)
{
if (!strncmp(osd_valign_names[i], s, strlen(osd_valign_names[i])))
{
*valign = (osd_valign)i;
s += strlen(osd_valign_names[i]);
break;
}
}
if (i == ARRAY_SIZE(osd_valign_names))
{
osd_error = "Invalid valign. Should be one of top,bottom or middile";
FUNCTION_END();
return NULL;
}
if (*s != '/') {
FUNCTION_END();
return s;
}
s++;
for (i = 0; i < ARRAY_SIZE(osd_halign_names); i++)
{
if (!strncmp(osd_halign_names[i], s, strlen(osd_halign_names[i])))
{
*halign = (osd_halign)i;
s += strlen(osd_halign_names[i]);
break;
}
}
if (i == ARRAY_SIZE(osd_halign_names))
{
osd_error = "Invalid halign. Should be one of left,right or center";
FUNCTION_END();
return NULL;
}
FUNCTION_END();
return s;
}
/* }}} */
/* parse_geometry -- parse the geometry string {{{ */
int parse_geometry(const char *g,
unsigned int *w, unsigned int *h,
int *w_per, int *h_per,
int *w_chars, int *h_lines,
unsigned int *xoff, unsigned int *yoff,
int *xneg, int *yneg,
osd_valign *valign, osd_halign *halign)
{
FUNCTION_START();
osd_error = NULL;
if (isdigit(*g))
{
g = parse_size(g, w, h, w_per, h_per, w_chars, h_lines);
}
if (g && (*g == '+' || *g == '-'))
{
g = parse_off(g, xoff, yoff, xneg, yneg);
}
if (g && (*g == '*'))
{
g = parse_pos(++g, valign, halign);
}
if (!g || *g != '\0')
{
if (osd_error == NULL)
osd_error = "Invalid geometry string";
FUNCTION_END();
return 0;
}
FUNCTION_END();
return 1;
}
/* }}} */
/* parse_text_align -- Parse the alignment string */
int
parse_text_align(const char *align, osd_halign *halign, osd_valign *valign)
{
FUNCTION_START();
int i;
for (i = 0; i < ARRAY_SIZE(osd_halign_names); i++)
{
if (!strncmp(osd_halign_names[i], align, strlen(osd_halign_names[i])))
{
*halign = (osd_halign)i;
align += strlen(osd_halign_names[i]);
break;
}
}
if (i == ARRAY_SIZE(osd_halign_names))
{
osd_error = "Invalid halign. Should be one of left,right or center or none";
FUNCTION_END();
return 0;
}
if (*align != '/') {
if(*align) {
osd_error = "Invalid alignment.";
FUNCTION_END();
return 0;
}
FUNCTION_END();
return 1;
}
align++;
for (i = 0; i < ARRAY_SIZE(osd_valign_names); i++)
{
if (!strncmp(osd_valign_names[i], align, strlen(osd_valign_names[i])))
{
*valign = (osd_valign)i;
align += strlen(osd_valign_names[i]);
break;
}
}
if (i == ARRAY_SIZE(osd_valign_names))
{
osd_error = "Invalid valign. Should be one of top,bottom or middile";
FUNCTION_END();
return 0;
}
if(*align) {
osd_error = "Invalid alignment.";
FUNCTION_END();
return 0;
}
FUNCTION_END();
return 1;
}
/* {{{
vim: foldmethod=marker tabstop=2 shiftwidth=2 expandtab
}}} */

196
src/libxosd-xft/intern.h Normal file
View file

@ -0,0 +1,196 @@
/*
Copyright 2021 Dakshinamurthy Karra (dakshinamurthy.karra@jaliansystems.com)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include <ctype.h>
#include <stdio.h>
#include <pthread.h>
#include <stdint.h>
#include <X11/Xft/Xft.h>
#include <X11/Xatom.h>
#ifdef HAVE_LIBXINERAMA
#include <X11/extensions/Xinerama.h>
#endif
#ifdef HAVE_LIBXRANDR
#include <X11/extensions/Xrandr.h>
#endif
#include <xosd-xft.h>
#ifdef DEBUG
/* gcc -O2 optimizes debugging away if Dnone is chosen. {{{ */
typedef enum _DEBUG_LEVEL {
Dnone = 0, /* Nothing */
Dfunction = (1<<0), /* Function enter/exit */
Dlocking = (1<<1), /* Locking */
Dselect = (1<<2), /* select() processing */
Dtrace = (1<<3), /* Programm progess */
Dvalue = (1<<4), /* Computed values */
Dupdate = (1<<5), /* Display update processing */
Dall = -1 /* Everything */
} DEBUG_LEVEL ;
extern DEBUG_LEVEL _xosd_debug_level ;
extern int _xosd_debug_fn_level ;
#define DEBUG_MSG(lvl, fmt, ...) \
do { \
if (_xosd_debug_level & lvl) { \
fprintf (stderr, "%10s:%-4d %s: ", __FILE__, __LINE__, \
__PRETTY_FUNCTION__ ); \
fprintf (stderr, fmt "\n", ## __VA_ARGS__); \
} \
} while (0)
#define FUNCTION_START() \
do { \
if (_xosd_debug_level & Dfunction ) \
fprintf (stderr, "%10s:%-4d %*s>>>%s\n", __FILE__, __LINE__, \
(_xosd_debug_fn_level++ * 4), "", __PRETTY_FUNCTION__); \
} while (0)
#define FUNCTION_END() \
do { \
if (_xosd_debug_level & Dfunction) \
fprintf (stderr, "%10s:%-4d %*s<<<%s\n", __FILE__, __LINE__, \
(--_xosd_debug_fn_level * 4), "", __PRETTY_FUNCTION__); \
} while (0)
/* }}} */
#else
#define DEBUG_MSG(lvl, fmt, ...) do{}while(0)
#define FUNCTION_START() do{}while(0)
#define FUNCTION_END() do{}while(0)
#endif
typedef struct _osd_settings
{
const char* geometry;
int use_xrandr;
int use_xinerama;
int monitor;
char** lines;
int maxlines;
int nlines;
const char* fontname;
const char* color;
const char* bg_color;
unsigned int bg_alpha;
const char* shadow_color;
int shadow_offset;
const char* padding;
const char* text_align;
} osd_settings;
struct xosd_xft
{
/* Thread */
pthread_t event_thread;
/* Display */
Display* display;
Display* event_display;
int screen;
Visual* visual;
Colormap colormap;
int depth;
/* Screen Geometry */
unsigned int screen_width;
unsigned int screen_height;
int screen_xpos;
int screen_ypos;
/* Drawables */
Window window;
XftDraw* draw;
/* Font */
XftFont* font;
/* Colors */
XftColor color;
XftColor bg_color;
XftColor shadow_color;
/* Parsed Geometry */
osd_geometry geometry;
/* User Settings */
osd_settings settings;
/* Window Calculated Geometry */
int w_x;
int w_y;
unsigned int w_border_width;
unsigned int w_width;
unsigned int w_height;
unsigned int line_height;
/* Text Size - without padding */
unsigned int t_width;
unsigned int t_height;
/* Padding */
unsigned int w_pad_t;
unsigned int w_pad_r;
unsigned int w_pad_b;
unsigned int w_pad_l;
};
/* Geometry */
int parse_geometry(const char *g,
unsigned int *w, unsigned int *h,
int *w_per, int *h_per,
int *w_chars, int *h_lines,
unsigned int *xoff, unsigned int *yoff,
int *xneg, int *yneg,
osd_valign *valign, osd_halign *halign);
int parse_text_align(const char *align, osd_halign *halign, osd_valign *valign);
/* Monitors */
int osd_init_monitor(Display *display, int screen,
int default_monitor,
int use_xrandr, int use_xinerama,
unsigned int *width, unsigned int *height,
int *xpos, int *ypos);
/* Events */
void send_event(xosd_xft *osd, long event_type);
/* Colors */
int init_color(xosd_xft* osd, const char* color, unsigned int alpha, XftColor* xft_color);
#define XOSD_XFT_event "XOSD_XFT_EVENT"
#define XOSD_XFT_event_Exit (1 << 0)
#define XOSD_XFT_event_Hide (1 << 1)
#define XOSD_XFT_event_Show (1 << 2)
#define XOSD_XFT_event_Geometry (1 << 3)
#define XOSD_XFT_event_Foreground (1 << 4)
#define XOSD_XFT_event_Background (1 << 5)
#define XOSD_XFT_event_Shadow (1 << 6)
#define fail(r, m) \
do \
{ \
if (r == 0) \
return 0; \
osd_error = m; \
fprintf(stderr, "%s\n", m); \
return r; \
} while (0)

190
src/libxosd-xft/monitors.c Normal file
View file

@ -0,0 +1,190 @@
/*
Copyright 2021 Dakshinamurthy Karra (dakshinamurthy.karra@jaliansystems.com)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "intern.h"
/* get_focus_point -- get the focus point to select monitor {{{ */
static void get_focus_point(Display *display, int *x_ret, int *y_ret)
{
int revert_to;
XWindowAttributes attr;
Window wid ;
FUNCTION_START();
*x_ret = *y_ret = 0;
XGetInputFocus(display, &wid, &revert_to);
if (wid != None && XGetWindowAttributes(display, wid, &attr) != 0) {
int x, y;
Window unused_child;
/* The coordinates in attr are relative to the parent window. If
* the parent window is the root window, then the coordinates are
* correct. If the parent window isn't the root window --- which
* is likely --- then we translate them. */
Window parent;
Window root;
Window* children;
unsigned int nchildren;
XQueryTree(display, wid, &root, &parent, &children, &nchildren);
if (children != NULL) {
XFree(children);
}
if (parent == attr.root) {
x = attr.x;
y = attr.y;
} else {
XTranslateCoordinates(display, wid, attr.root,
attr.x, attr.y, &x, &y, &unused_child);
}
if (x_ret != NULL) {
*x_ret = x;
}
if (y_ret != NULL) {
*y_ret = y;
}
}
DEBUG_MSG(Dvalue, "FocusPoint { x = %d, y = %d }", *x_ret, *y_ret);
FUNCTION_END();
}
/* }}} */
/* soxsd_init_monitor -- Initialize multihead if xinerama or xrandr available {{{ */
struct monitor {
int number ;
int x, y;
unsigned width, height;
int primary ;
};
static struct monitor*
get_monitors(Display *display, int *n, int use_xrandr, int use_xinerama)
{
FUNCTION_START();
struct monitor* r = NULL;
*n = 0;
char* used = NULL;
#ifdef HAVE_LIBXRANDR
if(use_xrandr) {
XRRMonitorInfo *monitors = XRRGetMonitors(display, DefaultRootWindow(display), True, n);
if(monitors != NULL) {
r = calloc(*n, sizeof(struct monitor));
for(int i = 0; i < *n; i++) {
r[i].number = i;
r[i].primary = monitors[i].primary;
r[i].x = monitors[i].x;
r[i].y = monitors[i].y;
r[i].width = monitors[i].width;
r[i].height = monitors[i].height;
}
XRRFreeMonitors(monitors);
#ifdef HAVE_LIBXINERAMA
use_xinerama = 0;
#endif
used = "Xrandr";
}
}
#endif
#ifdef HAVE_LIBXINERAMA
if(use_xinerama) {
int dummy_a, dummy_b;
XineramaScreenInfo *screeninfo = NULL;
if (XineramaQueryExtension(display, &dummy_a, &dummy_b) &&
(screeninfo = XineramaQueryScreens(display, n)) &&
XineramaIsActive(display)) {
r = calloc(*n, sizeof(struct monitor));
for(int i = 0; i < *n; i++) {
r[i].number = i;
r[i].primary = 1; /* All monitors are promary */
r[i].x = screeninfo[i].x_org;
r[i].y = screeninfo[i].y_org;
r[i].width = screeninfo[i].width;
r[i].height = screeninfo[i].height;
}
}
if (screeninfo)
XFree(screeninfo);
used = "Xinerama" ;
}
#endif
if(r == NULL) {
DEBUG_MSG(Dvalue, "GetMonitors { }");
} else {
DEBUG_MSG(Dvalue, "GetMonitors { driver: %s, monitors: %d }", used, *n);
}
FUNCTION_END();
return r;
}
int osd_init_monitor(Display *display, int screen, int default_monitor, int use_xrandr, int use_xinerama,
unsigned int *width, unsigned int *height, int *xpos, int *ypos)
{
FUNCTION_START();
int monitor = default_monitor;
int n;
int i;
struct monitor *monitors;
int focus_x = 0, focus_y = 0;
*width = XDisplayWidth(display, screen);
*height = XDisplayHeight(display, screen);
*xpos = 0;
*ypos = 0;
monitors = get_monitors(display, &n, use_xrandr, use_xinerama);
if(monitors == NULL || n <= 0)
return 0;
if(monitor > n && monitor != ACTIVE && monitor != PRIMARY) {
free(monitors);
FUNCTION_END();
fail(-1, "Invalid monitor selection");
}
if(monitor == -1 || monitor == ACTIVE) {
monitor = 0;
get_focus_point(display, &focus_x, &focus_y);
for (i = 0; i < n; i++) {
if (focus_x >= monitors[i].x && focus_x < monitors[i].x + monitors[i].width &&
focus_y >= monitors[i].y && focus_y < monitors[i].y + monitors[i].height) {
monitor = i;
break;
}
}
} else if (monitor == PRIMARY) {
monitor = 0;
for (i = 0; i < n; i++) {
if (monitors[i].primary) {
monitor = i;
break;
}
}
}
*width = monitors[monitor].width;
*height = monitors[monitor].height;
*xpos = monitors[monitor].x;
*ypos = monitors[monitor].y;
FUNCTION_END();
return 0;
}
/* {{{
vim: foldmethod=marker tabstop=2 shiftwidth=2 expandtab
}}} */

866
src/libxosd-xft/xosd-xft.c Normal file
View file

@ -0,0 +1,866 @@
/*
Copyright 2021 Dakshinamurthy Karra (dakshinamurthy.karra@jaliansystems.com)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "intern.h"
char *osd_default_font = "saucecodepro nerd font:size=64";
char *osd_error;
#ifdef DEBUG
int _xosd_debug_fn_level = 0;
DEBUG_LEVEL _xosd_debug_level = Dnone;
#endif
/* load_defaults -- set sensible defaults for settings {{{ */
void load_defaults(osd_settings *settings)
{
FUNCTION_START();
settings->geometry = "0x0+0+0*top/center";
settings->monitor = -1;
#ifdef HAVE_LIBXRANDR
settings->use_xrandr = 1;
#endif
#ifdef HAVE_LIBXINERAMA
settings->use_xinerama = 1;
#endif
settings->fontname = osd_default_font;
settings->color = "#0000ee";
settings->bg_color = "black";
settings->bg_alpha = 100;
settings->shadow_color = "lightgrey";
settings->shadow_offset = 0;
settings->padding = "0";
settings->text_align = "center";
settings->maxlines = 1;
settings->lines = calloc(1, sizeof(char*));
FUNCTION_END();
}
/* }}} */
/* osd_create -- Create a new xosd_xft structure {{{ */
xosd_xft *
osd_create()
{
FUNCTION_START();
struct xosd_xft *osd = calloc(1, sizeof(struct xosd_xft));
if (osd == NULL)
{
osd_error = "Could not allocate memory...";
FUNCTION_END();
return NULL;
}
load_defaults(&osd->settings);
FUNCTION_END();
return osd;
}
/* }}} */
/* stay_on_top -- Tell window manager to put window topmost. {{{ */
static void
stay_on_top(Display *dpy, Window win)
{
FUNCTION_START();
Atom gnome, net_wm, type;
int format;
unsigned long nitems, bytesafter;
unsigned char *args = NULL;
Window root = DefaultRootWindow(dpy);
/*
* build atoms
*/
gnome = XInternAtom(dpy, "_WIN_SUPPORTING_WM_CHECK", False);
net_wm = XInternAtom(dpy, "_NET_SUPPORTED", False);
/*
* gnome-compilant
* tested with icewm + WindowMaker
*/
if (Success == XGetWindowProperty(dpy, root, gnome, 0, (65536 / sizeof(long)), False,
AnyPropertyType, &type, &format, &nitems, &bytesafter, &args) &&
nitems > 0)
{
/*
* FIXME: check capabilities
*/
XClientMessageEvent xev;
Atom gnome_layer = XInternAtom(dpy, "_WIN_LAYER", False);
memset(&xev, 0, sizeof(xev));
xev.type = ClientMessage;
xev.window = win;
xev.message_type = gnome_layer;
xev.format = 32;
xev.data.l[0] = 6 /* WIN_LAYER_ONTOP */;
XSendEvent(dpy, DefaultRootWindow(dpy), False, SubstructureNotifyMask,
(XEvent *)&xev);
XFree(args);
}
/*
* netwm compliant.
* tested with kde
*/
else if (Success == XGetWindowProperty(dpy, root, net_wm, 0, (65536 / sizeof(long)), False,
AnyPropertyType, &type, &format, &nitems, &bytesafter, &args) &&
nitems > 0)
{
XEvent e;
Atom net_wm_state = XInternAtom(dpy, "_NET_WM_STATE", False);
Atom net_wm_top = XInternAtom(dpy, "_NET_WM_STATE_STAYS_ON_TOP", False);
memset(&e, 0, sizeof(e));
e.xclient.type = ClientMessage;
e.xclient.message_type = net_wm_state;
e.xclient.display = dpy;
e.xclient.window = win;
e.xclient.format = 32;
e.xclient.data.l[0] = 1 /* _NET_WM_STATE_ADD */;
e.xclient.data.l[1] = net_wm_top;
e.xclient.data.l[2] = 0l;
e.xclient.data.l[3] = 0l;
e.xclient.data.l[4] = 0l;
XSendEvent(dpy, DefaultRootWindow(dpy), False,
SubstructureRedirectMask, &e);
XFree(args);
}
/* XMapRaised(dpy, win); */
FUNCTION_END();
}
/* }}} */
/* osd_parse_geometry -- Parse (user-given) geometry string and create osd_geometry{{{ */
osd_geometry *
osd_parse_geometry(const char *geometry, const char *text_align, osd_geometry *geo)
{
FUNCTION_START();
/* Defaults */
geo->width = 100;
geo->width_per = 1;
geo->width_chars = 0;
geo->height = 0;
geo->height_per = 0;
geo->height_lines = 0;
geo->xoffset = 0;
geo->xneg = 0;
geo->yoffset = 0;
geo->yneg = 0;
geo->valign = XOSD_XFT_valign_none;
geo->halign = XOSD_XFT_halign_none;
if (geometry == NULL) {
FUNCTION_END();
return geo;
}
if (parse_geometry(geometry, &geo->width, &geo->height,
&geo->width_per, &geo->height_per,
&geo->width_chars, &geo->height_lines,
&geo->xoffset, &geo->yoffset,
&geo->xneg, &geo->yneg,
&geo->valign, &geo->halign) &&
parse_text_align(text_align, &geo->text_halign, &geo->text_valign)) {
FUNCTION_END();
return geo;
}
FUNCTION_END();
return NULL;
}
/* }}} */
/* init_padding -- Initialize padding values from settings {{{ */
void init_padding(xosd_xft *osd)
{
FUNCTION_START();
if (osd->settings.padding != NULL)
{
char *padding = strdup(osd->settings.padding);
char *s = strtok(padding, " ");
unsigned int l_padding[] = {-1, -1, -1, -1};
int i = 0;
do
{
l_padding[i++] = atoi(s);
if (i > 3)
break;
} while ((s = strtok(NULL, " ")) != NULL);
osd->w_pad_t = l_padding[0];
if (l_padding[1] == -1)
{
osd->w_pad_r = l_padding[0];
osd->w_pad_b = l_padding[0];
osd->w_pad_l = l_padding[0];
}
else if (l_padding[2] == -1)
{
osd->w_pad_r = l_padding[1];
osd->w_pad_b = l_padding[0];
osd->w_pad_l = l_padding[1];
}
else if (l_padding[3] == -1)
{
osd->w_pad_r = l_padding[1];
osd->w_pad_b = l_padding[2];
osd->w_pad_l = l_padding[1];
}
else
{
osd->w_pad_r = l_padding[1];
osd->w_pad_b = l_padding[2];
osd->w_pad_l = l_padding[3];
}
free(padding);
} else {
osd->w_pad_t = osd->w_pad_r = osd->w_pad_b = osd->w_pad_l = 0;
}
FUNCTION_END();
}
/* }}} */
/* min -- Find minimum of two numbers */
unsigned int
min(unsigned int x, unsigned int y)
{
return x < y ? x : y;
}
#define DIVCEIL(n, d) (((n) + ((d) - 1)) / (d))
/* calc_geometry -- Calculate the geometry of OSD Window {{{ */
void calc_geometry(xosd_xft *osd, osd_geometry *geometry)
{
FUNCTION_START();
int xneg = geometry->xneg, yneg = geometry->yneg, xoffset = geometry->xoffset, yoffset = geometry->yoffset;
osd_valign valign = geometry->valign;
osd_halign halign = geometry->halign;
int xstart, ystart;
unsigned int width, height;
unsigned int line_height, char_width;
{
XGlyphInfo extents;
static char ascii_printable[] =
" !\"#$%&'()*+,-./0123456789:;<=>?"
"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
"`abcdefghijklmnopqrstuvwxyz{|}~";
XftTextExtentsUtf8(osd->display, osd->font, (const FcChar8 *) ascii_printable, strlen(ascii_printable), &extents);
char_width = DIVCEIL(extents.xOff, strlen(ascii_printable));
}
init_padding(osd);
line_height = osd->font->ascent + osd->font->descent;
/* char_width = osd->font->max_advance_width; */
DEBUG_MSG(Dvalue, "CalcGeometry { char_width: %u, width: %u }", char_width, geometry->width);
width = min(osd->screen_width,
geometry->width == 0 ? osd->screen_width :
(geometry->width_per ? osd->screen_width * geometry->width / 100 :
(geometry->width_chars ? geometry->width * char_width + osd->w_pad_l + osd->w_pad_r :
geometry->width)));
height = min(osd->screen_height,
geometry->height == 0 ? line_height + osd->w_pad_t + osd->w_pad_b :
(geometry->height_per ? osd->screen_height * geometry->height / 100 :
(geometry->height_lines ? geometry->height * line_height + osd->w_pad_t + osd->w_pad_b :
geometry->height)));
osd->t_width = width - osd->w_pad_l - osd->w_pad_r;
osd->t_height = height - osd->w_pad_t - osd->w_pad_b;
osd->w_width = width;
osd->w_height = height;
osd->line_height = line_height;
DEBUG_MSG(Dvalue, "CalcGeometry { width: %u, height: %u }", osd->w_width, osd->w_height);
if (xneg)
xoffset *= -1;
if (halign == XOSD_XFT_halign_none)
{
if (xneg)
{
xstart = osd->screen_xpos + osd->screen_width - width;
}
else
{
xstart = osd->screen_xpos;
}
}
else if (halign == XOSD_XFT_left)
{
xstart = osd->screen_xpos;
}
else if (halign == XOSD_XFT_right)
{
xstart = osd->screen_xpos + osd->screen_width - width;
}
else
{
xstart = osd->screen_xpos + (osd->screen_width - width) / 2;
}
if (yneg)
yoffset *= -1;
if (valign == XOSD_XFT_valign_none)
{
if (yneg)
{
ystart = osd->screen_ypos + osd->screen_height - height;
}
else
{
ystart = osd->screen_ypos;
}
}
else if (valign == XOSD_XFT_top)
{
ystart = osd->screen_ypos;
}
else if (valign == XOSD_XFT_bottom)
{
ystart = osd->screen_ypos + osd->screen_height - height;
}
else
{
ystart = osd->screen_ypos + (osd->screen_height - height) / 2;
}
osd->w_x = xstart + xoffset;
osd->w_y = ystart + yoffset;
osd->w_border_width = 0;
FUNCTION_END();
}
/* }}} */
/* event_loop -- X11 event loop {{{ */
static void *
event_loop(void *osdv)
{
xosd_xft *osd = osdv;
Atom xosd_xft_event = XInternAtom(osd->display, XOSD_XFT_event, False);
while (1) {
XEvent ev;
XNextEvent(osd->display, &ev);
if (ev.type == Expose) {
XftDrawRect(osd->draw, &osd->bg_color, 0, 0, osd->w_width, osd->w_height);
if (osd->settings.lines != NULL && osd->settings.nlines > 0) {
XRectangle clip;
int i;
clip.x = osd->w_pad_l;
clip.y = osd->w_pad_t;
clip.width = osd->w_width - osd->w_pad_r - osd->w_pad_l;
clip.height = osd->w_height - osd->w_pad_b - osd->w_pad_t;
XftDrawSetClipRectangles(osd->draw, 0, 0, &clip, 1);
for(i = 0; i < osd->settings.nlines; i++) {
char *message = osd->settings.lines[i];
XGlyphInfo extents;
XftTextExtentsUtf8(osd->display, osd->font, (XftChar8 *)message, strlen(message), &extents);
DEBUG_MSG(Dvalue, "Extents { width = %d, height = %d, x = %d, y = %d, xOff = %d, yOff = %d }", extents.width, extents.height, extents.x, extents.y, extents.xOff, extents.yOff);
DEBUG_MSG(Dvalue, "Geometry: { w_x = %d, w_y = %d, w_border_width = %d, w_width = %d, w_height = %d, t_width = %d, t_height = %d, w_pad_t = %d, w_pad_r = %d, w_pad_b = %d, w_pad_l = %d}", osd->w_x, osd->w_y, osd->w_border_width, osd->w_width, osd->w_height, osd->t_width, osd->t_height, osd->w_pad_t, osd->w_pad_r, osd->w_pad_b, osd->w_pad_l);
int x = osd->w_pad_l + extents.x;
int y = osd->w_pad_t + extents.y;
if(osd->geometry.text_halign == XOSD_XFT_right) {
x += osd->t_width - extents.width ;
} else if(osd->geometry.text_halign == XOSD_XFT_center) {
x += (osd->t_width - extents.width)/2 ;
}
if(osd->settings.maxlines <= 1) {
if(osd->geometry.text_valign == XOSD_XFT_bottom) {
y += osd->t_height - extents.height;
} else if(osd->geometry.text_valign == XOSD_XFT_middle) {
y += (osd->t_height - extents.height)/2 ;
}
} else {
y = osd->line_height * i + osd->w_pad_t + extents.y ;
}
if(osd->settings.shadow_offset) {
XftDrawStringUtf8(osd->draw, &osd->shadow_color, osd->font, x + osd->settings.shadow_offset, y + osd->settings.shadow_offset, (const FcChar8 *)message, strlen(message));
}
XftDrawStringUtf8(osd->draw, &osd->color, osd->font, x, y, (const FcChar8 *)message, strlen(message));
}
XftDrawSetClip(osd->draw, NULL);
}
}
else if (ev.type == ClientMessage && ev.xclient.message_type == xosd_xft_event) {
if (ev.xclient.data.l[0] == XOSD_XFT_event_Exit) {
break;
} else if (ev.xclient.data.l[0] == XOSD_XFT_event_Show) {
XMapRaised(osd->display, osd->window);
} else if (ev.xclient.data.l[0] == XOSD_XFT_event_Hide) {
XUnmapWindow(osd->display, osd->window);
} else if (ev.xclient.data.l[0] == XOSD_XFT_event_Geometry) {
calc_geometry(osd, &osd->geometry);
XMoveResizeWindow(osd->display, osd->window, osd->w_x, osd->w_y, osd->w_width, osd->w_height);
} else if (ev.xclient.data.l[0] == XOSD_XFT_event_Foreground) {
XftColor xft_color ;
if(init_color(osd, osd->settings.color, 0, &xft_color) != -1) {
XftColorFree(osd->display, osd->visual, osd->colormap, &osd->color);
osd->color = xft_color;
} else {
fprintf(stderr, "Error in setting color %s: %s (ignoring)\n", osd->settings.color, osd_error);
}
} else if (ev.xclient.data.l[0] == XOSD_XFT_event_Background) {
XftColor xft_color ;
if(init_color(osd, osd->settings.bg_color, osd->settings.bg_alpha, &xft_color) != -1) {
XftColorFree(osd->display, osd->visual, osd->colormap, &osd->bg_color);
osd->bg_color = xft_color;
} else {
fprintf(stderr, "Error in setting color %s: %s (ignoring)\n", osd->settings.bg_color, osd_error);
}
} else if (ev.xclient.data.l[0] == XOSD_XFT_event_Shadow) {
XftColor xft_color ;
if(init_color(osd, osd->settings.shadow_color, 0, &xft_color) != -1) {
XftColorFree(osd->display, osd->visual, osd->colormap, &osd->shadow_color);
osd->shadow_color = xft_color;
} else {
fprintf(stderr, "Error in setting color %s: %s (ignoring)\n", osd->settings.bg_color, osd_error);
}
}
}
}
return NULL;
}
/* }}} */
/* init_color -- Initialize a color with alpha channel {{{ */
int
init_color(xosd_xft* osd, const char* color, unsigned int alpha, XftColor* xft_color)
{
FUNCTION_START();
XRenderColor bgRender;
if (!XftColorAllocName(osd->display, osd->visual, osd->colormap, color, xft_color)) {
osd_error = "Could not allocate color";
return -1;
}
if(alpha < 100) {
bgRender = xft_color->color;
bgRender.alpha = alpha / 100.0 * 0xFFFF;
XftColorFree(osd->display, osd->visual, osd->colormap, xft_color);
if (!XftColorAllocValue(osd->display, osd->visual, osd->colormap, &bgRender, xft_color)) {
osd_error ="Could not allocate background color";
return -1;
}
}
return 0;
}
/* }}} */
/* init_bg_color -- Initialize background color with alpha {{{ */
static int
init_bg_color(xosd_xft* osd, const char* color, unsigned int alpha)
{
XftColor bg_color;
if(init_color(osd, color, alpha, &bg_color) != -1) {
osd->bg_color = bg_color ;
return 0;
}
return -1;
}
/* }}} */
/* osd_init -- Initialize OSD Window {{{ */
static int
osd_init(xosd_xft *osd)
{
FUNCTION_START();
XVisualInfo vinfo;
XSetWindowAttributes winattr;
/* Initialization. */
osd->display = XOpenDisplay(NULL);
if (!osd->display) {
FUNCTION_END();
fail(-1, "Could not connect to display");
}
osd->event_display = XOpenDisplay(NULL);
if (!osd->event_display) {
FUNCTION_END();
fail(-1, "Could not connect to display");
}
osd->screen = DefaultScreen(osd->display);
if (XMatchVisualInfo(osd->display, osd->screen, 32, TrueColor, &vinfo))
{
osd->visual = vinfo.visual;
osd->colormap = XCreateColormap(osd->display, RootWindow(osd->display, osd->screen), osd->visual, AllocNone);
osd->depth = vinfo.depth;
}
else
{
osd->visual = DefaultVisual(osd->display, osd->screen);
osd->colormap = DefaultColormap(osd->display, osd->screen);
osd->depth = DefaultDepth(osd->display, osd->screen);
}
osd_init_monitor(osd->display, osd->screen, osd->settings.monitor,
osd->settings.use_xrandr, osd->settings.use_xinerama,
&osd->screen_width, &osd->screen_height,
&osd->screen_xpos, &osd->screen_ypos);
osd->font = XftFontOpenName(osd->display, osd->screen, osd->settings.fontname);
if (!osd->font) {
FUNCTION_END();
fail(-1, "Could not open font");
}
DEBUG_MSG(Dvalue, "XftFont { ascent = %d, descent = %d, height = %d, max_advance_width = %d }",
osd->font->ascent, osd->font->descent, osd->font->height, osd->font->max_advance_width);
calc_geometry(osd, &osd->geometry);
winattr.override_redirect = 1;
winattr.border_pixel = 0;
winattr.background_pixel = 0;
winattr.colormap = osd->colormap;
DEBUG_MSG(Dvalue,"CreateWindow { x: %d, y: %d, width: %u, height: %u }",
osd->w_x, osd->w_y, osd->w_width, osd->w_height );
osd->window = XCreateWindow(osd->display,
RootWindow(osd->display, osd->screen),
osd->w_x, osd->w_y,
osd->w_width, osd->w_height,
osd->w_border_width,
osd->depth,
CopyFromParent,
osd->visual,
CWColormap | CWBorderPixel | CWBackPixel | CWOverrideRedirect, &winattr);
{
Atom window_type = XInternAtom(osd->display, "_NET_WM_WINDOW_TYPE", False);
long value = XInternAtom(osd->display, "_NET_WM_WINDOW_TYPE_NOTIFICATION", False);
XChangeProperty(osd->display, osd->window, window_type, XA_ATOM,
32, PropModeReplace, (unsigned char *) &value, 1 );
}
{
XClassHint class = { "xosd-xft", "xosd-xft" };
XSetClassHint(osd->display, osd->window, &class);
}
XStoreName(osd->display, osd->window, "XOSD_XFT");
XSelectInput(osd->display, osd->window, ExposureMask);
/* Xft. */
if (init_color(osd, osd->settings.color, 0, &osd->color) == -1) {
FUNCTION_END();
return -1;
}
if (init_color(osd, osd->settings.shadow_color, 0, &osd->shadow_color)) {
FUNCTION_END();
return -1;
}
if(init_bg_color(osd, osd->settings.bg_color, osd->settings.bg_alpha) == -1) {
FUNCTION_END();
return -1;
}
osd->draw = XftDrawCreate(osd->display, osd->window, osd->visual, osd->colormap);
stay_on_top(osd->display, osd->window);
pthread_create(&osd->event_thread, NULL, event_loop, osd);
FUNCTION_END();
return 0;
}
/* }}} */
/* send_expose_event -- send an expose event */
void send_expose_event(xosd_xft *osd)
{
FUNCTION_START();
XEvent exppp;
memset(&exppp, 0, sizeof(exppp));
exppp.type = Expose;
exppp.xexpose.window = osd->window;
XSendEvent(osd->event_display, osd->window, False, ExposureMask, &exppp);
XFlush(osd->event_display);
FUNCTION_END();
}
/* }}} */
/* osd_show -- Show the window {{{ */
int osd_show(xosd_xft *osd)
{
if(osd->display != NULL)
send_event(osd, XOSD_XFT_event_Show);
return 0;
}
/* }}} */
/* osd_hide -- Display a string {{{ */
int osd_hide(xosd_xft *osd)
{
if(osd->display != NULL)
send_event(osd, XOSD_XFT_event_Hide);
return 0;
}
/* }}} */
/* osd_display -- Display a string {{{ */
int osd_display(xosd_xft *osd, char *message, int len)
{
FUNCTION_START();
int i;
char *m = strndup(message, len);
m[len] = '\0';
if (osd->display == NULL)
{
if (osd_init(osd) != 0) {
FUNCTION_END();
fail(-1, osd_error);
}
}
if(osd->settings.nlines < osd->settings.maxlines) {
osd->settings.lines[osd->settings.nlines++] = m ;
} else {
for(i = 1; i < osd->settings.maxlines; i++) {
osd->settings.lines[i-1] = osd->settings.lines[i];
}
osd->settings.lines[osd->settings.nlines-1] = m ;
}
send_expose_event(osd);
FUNCTION_END();
osd_show(osd);
return 0;
}
/* }}} */
/* send_event -- send event to App {{{ */
void send_event(xosd_xft *osd, long event_type)
{
FUNCTION_START();
XEvent event;
memset(&event, 0, sizeof(event));
event.xclient.type = ClientMessage;
event.xclient.serial = 0;
event.xclient.send_event = True;
event.xclient.message_type = XInternAtom(osd->event_display, XOSD_XFT_event, False);
event.xclient.format = 32;
event.xclient.window = osd->window;
event.xclient.data.l[0] = event_type;
XSendEvent(osd->event_display, osd->window, False, NoEventMask, &event);
XFlush(osd->event_display);
FUNCTION_END();
}
/* }}} */
/* osd_destroy -- Free OSD resources {{{ */
int osd_destroy(xosd_xft *osd)
{
FUNCTION_START();
if(osd->display == NULL)
return 0;
send_event(osd, XOSD_XFT_event_Exit);
pthread_join(osd->event_thread, NULL);
XftColorFree(osd->display, osd->visual, osd->colormap, &osd->color);
XftDrawDestroy(osd->draw);
XDestroyWindow(osd->display, osd->window);
XCloseDisplay(osd->display);
XCloseDisplay(osd->event_display);
{
int i ;
for(i = 0; i < osd->settings.maxlines; i++)
free(osd->settings.lines[i]);
free(osd->settings.lines);
}
free(osd);
FUNCTION_END();
return 0;
}
/* }}} */
/* osd_set_geometry -- set geometry {{{ */
void osd_set_geometry(xosd_xft *osd, const osd_geometry *geometry)
{
FUNCTION_START();
osd->geometry = *geometry;
if(osd->display != NULL) {
send_event(osd, XOSD_XFT_event_Geometry);
send_expose_event(osd);
}
FUNCTION_END();
}
/* }}} */
/* osd_set_font -- set font {{{ */
void osd_set_font(xosd_xft *osd, const char *font)
{
FUNCTION_START();
osd->settings.fontname = font;
FUNCTION_END();
}
/* }}} */
/* osd_set_monitor -- set monitor {{{ */
void osd_set_monitor(xosd_xft *osd, int monitor)
{
FUNCTION_START();
osd->settings.monitor = monitor;
FUNCTION_END();
}
/* }}} */
/* osd_set_padding -- set padding {{{ */
void osd_set_padding(xosd_xft *osd, const char *padding)
{
FUNCTION_START();
osd->settings.padding = padding;
if(osd->display != NULL) {
init_padding(osd);
send_expose_event(osd);
}
FUNCTION_END();
}
/* }}} */
/* osd_set_color -- set color {{{ */
void osd_set_color(xosd_xft *osd, const char *color)
{
FUNCTION_START();
osd->settings.color = color;
if(osd->display != NULL) {
send_event(osd, XOSD_XFT_event_Foreground);
send_expose_event(osd);
}
FUNCTION_END();
}
/* }}} */
/* osd_set_bgcolor -- set background color {{{ */
void osd_set_bgcolor(xosd_xft *osd, const char *bgcolor, unsigned int alpha)
{
FUNCTION_START();
osd->settings.bg_color = bgcolor;
osd->settings.bg_alpha = alpha;
if(osd->display != NULL) {
send_event(osd, XOSD_XFT_event_Background);
send_expose_event(osd);
}
FUNCTION_END();
}
/* }}} */
/* osd_set_shadowoffset -- set offset for the shadow (0 - None) {{{ */
void osd_set_shadowoffset(xosd_xft *osd, int offset)
{
FUNCTION_START();
osd->settings.shadow_offset = offset;
FUNCTION_END();
}
/* }}} */
/* osd_set_shadowcolor -- set shadow color {{{ */
void osd_set_shadowcolor(xosd_xft *osd, const char *shadowcolor)
{
FUNCTION_START();
osd->settings.shadow_color = shadowcolor;
if(osd->display != NULL) {
send_event(osd, XOSD_XFT_event_Shadow);
send_expose_event(osd);
}
FUNCTION_END();
}
/* }}} */
/* osd_set_xinerama -- set xinerama {{{ */
void osd_set_xinerama(xosd_xft *osd, int xinerama)
{
FUNCTION_START();
osd->settings.use_xinerama = xinerama;
FUNCTION_END();
}
/* }}} */
/* osd_set_number_of_lines -- Set number of lines to display {{{ */
void osd_set_number_of_lines(xosd_xft *osd, int nlines)
{
FUNCTION_START();
if(osd->settings.lines) {
int i;
for(i = 0; i < osd->settings.maxlines; i++)
free(osd->settings.lines[i]);
free(osd->settings.lines);
}
osd->settings.maxlines = nlines;
osd->settings.lines = calloc(nlines, sizeof(char*));
FUNCTION_END();
}
/* }}} */
/* osd_set_xrandr -- set xrandr {{{ */
void osd_set_xrandr(xosd_xft *osd, int xrandr)
{
FUNCTION_START();
osd->settings.use_xrandr = xrandr;
FUNCTION_END();
}
/* osd_set_debug_level -- set the debug level {{{ */
#ifdef DEBUG
static int get_level(char *slevel) {
if(!strcmp(slevel,"none")) return Dnone;
if(!strcmp(slevel,"function")) return Dfunction;
if(!strcmp(slevel,"locking")) return Dlocking;
if(!strcmp(slevel,"select")) return Dselect;
if(!strcmp(slevel,"trace")) return Dtrace;
if(!strcmp(slevel,"value")) return Dvalue;
if(!strcmp(slevel,"update")) return Dupdate;
if(!strcmp(slevel,"all")) return Dall;
DEBUG_MSG(Dvalue, "Unknown debug level %s\n", slevel);
return 0;
}
void
osd_set_debug_level(char *debug_level) {
_xosd_debug_level = 0;
if(debug_level) {
debug_level = strdup(debug_level);
char *level = strtok(debug_level, ",");
do {
_xosd_debug_level |= get_level(level);
} while((level = strtok(NULL, ",")) != NULL);
free(debug_level);
}
}
#endif
/* }}} */
/* }}} */
/* {{{
vim: foldmethod=marker tabstop=2 shiftwidth=2 expandtab
}}} */

3909
src/nerdfonts.c Normal file

File diff suppressed because it is too large Load diff

498
src/osd-demo.c Normal file
View file

@ -0,0 +1,498 @@
/*
Copyright 2021 Dakshinamurthy Karra (dakshinamurthy.karra@jaliansystems.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 3 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, see <https://www.gnu.org/licenses/>.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <xosd-xft.h>
#include <unistd.h>
#include <getopt.h>
#include <errno.h>
#include <locale.h>
#include <X11/Xlib.h>
#include <sys/time.h>
#ifdef HAVE_LIBXINERAMA
int use_xinerama = True;
#endif
#ifdef HAVE_LIBXRANDR
int use_xrandr = True;
#endif
typedef enum
{
DEMO_none = 0,
DEMO_color = (1<<0),
DEMO_alpha = (1<<1),
DEMO_size = (1<<2),
DEMO_position = (1<<3),
DEMO_padding = (1<<4),
DEMO_align = (1<<5),
DEMO_text_align = (1<<6)
} osd_demo;
int all_demo = False;
static struct option long_options[] = {
#ifdef DEBUG
{"debug", 1, NULL, 'D'},
#endif
{"alpha", 0, NULL, 'a'},
{"align", 0, NULL, 'A'},
{"color", 0, NULL, 'c'},
{"font", 1, NULL, 'f'},
{"position", 0, NULL, 'p'},
{"padding", 0, NULL, 'P'},
{"size", 0, NULL, 's'},
{"text-align", 0, NULL, 't'},
{"all", 0, &all_demo, True },
{"help", 0, NULL, 'h'},
/* Multihead support */
#ifdef HAVE_LIBXINERAMA
{"no-xinerama", 0, &use_xinerama, False},
#endif
#ifdef HAVE_LIBXRANDR
{"no-xrandr", 0, &use_xrandr, False},
#endif
{NULL, 0, NULL, 0}};
xosd_xft *osd;
/* Default Values */
char* font = "mixed:size=36";
char* color = "red";
char* bg_color = "black";
int bg_alpha = 100;
char* padding = "0";
int delay_millis = 1000;
#if defined(HAVE_LIBXINERAMA) || defined(HAVE_LIBXRANDR)
int monitor = -1;
#endif
char* geometry = "800x80+0+0*middle/center";
char* text_align = "center/middle";
#ifdef DEBUG
char* debug_level = NULL;
#endif
char* message = "~~~ Linux Rocks ~~~";
osd_demo demo = DEMO_none;
static void demo_color(xosd_xft* osd, char **argv);
static void demo_alpha(xosd_xft* osd, char **argv);
static void demo_size(xosd_xft* osd, char **argv);
static void demo_align(xosd_xft* osd, char **argv);
static void demo_text_align(xosd_xft* osd, char **argv);
static void demo_position(xosd_xft* osd, char **argv);
static void demo_padding(xosd_xft* osd, char **argv);
static void help(char **argv, char *error);
void
pause_demo()
{
char b[200];
printf("Press ENTER to continue...");
fflush(stdout);
fgets(b, 200, stdin);
}
void
reset_osd(xosd_xft* osd, char** argv)
{
osd_geometry g, *parsed = &g;
if(osd_parse_geometry(geometry, text_align, parsed) == NULL) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
osd_set_geometry(osd, parsed);
osd_set_font(osd, font);
osd_set_monitor(osd, monitor);
osd_set_padding(osd, padding);
osd_set_color(osd, color);
osd_set_bgcolor(osd, bg_color, bg_alpha);
}
int main(int argc, char *argv[])
{
if (setlocale(LC_ALL, "") == NULL || !XSupportsLocale())
fprintf(stderr, "Locale not available, expect problems with fonts.\n");
while (1)
{
int option_index = 0;
int c =
getopt_long(argc, argv, "D:f:caApPsth?",
long_options,
&option_index);
if (c == -1)
break;
switch (c)
{
case 0:
break;
case 'f':
font = optarg;
break;
case 'a':
demo |= DEMO_alpha;
break;
case 'A':
demo |= DEMO_align;
break;
case 'c':
demo |= DEMO_color;
break;
#ifdef DEBUG
case 'D':
debug_level = optarg;
break;
#endif
case 'p':
demo |= DEMO_position;
break;
case 'P':
demo |= DEMO_padding;
break;
case 's':
demo |= DEMO_size;
break;
case 't':
demo |= DEMO_text_align;
break;
case '?':
case 'h':
default:
help(argv, NULL);
return EXIT_SUCCESS;
}
}
if(all_demo) demo = -1;
if(demo == DEMO_none) {
help(argv, "No demo option provided");
return EXIT_FAILURE;
}
xosd_xft *osd = osd_create();
reset_osd(osd, argv);
osd_set_xinerama(osd, use_xinerama);
osd_set_xrandr(osd, use_xrandr);
#ifdef DEBUG
osd_set_debug_level(debug_level);
#endif
if(demo & DEMO_color) {
reset_osd(osd, argv);
demo_color(osd, argv);
}
if(demo & DEMO_alpha) {
reset_osd(osd, argv);
demo_alpha(osd, argv);
}
if(demo & DEMO_size) {
reset_osd(osd, argv);
demo_size(osd, argv);
}
if(demo & DEMO_align) {
reset_osd(osd, argv);
demo_align(osd, argv);
}
if(demo & DEMO_text_align) {
reset_osd(osd, argv);
demo_text_align(osd, argv);
}
if(demo & DEMO_position) {
reset_osd(osd, argv);
demo_position(osd, argv);
}
if(demo & DEMO_padding) {
reset_osd(osd, argv);
demo_padding(osd, argv);
}
osd_destroy(osd);
return EXIT_SUCCESS;
}
static void
demo_color(xosd_xft* osd, char **argv)
{
char *colors[] = { "#f96167", "#f9de42" };
char *bg_colors[] = { "#fce77d", "#292826" };
if(osd_display(osd, message, strlen(message)) == -1) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
for(int i = 0; i < sizeof(colors)/sizeof(char*); i++) {
printf("Colors { bg: %s, fg: %s }\n", bg_colors[i], colors[i]);
osd_set_color(osd, colors[i]);
osd_set_bgcolor(osd, bg_colors[i], bg_alpha);
pause_demo();
}
}
static void
demo_alpha(xosd_xft* osd, char **argv)
{
if(osd_display(osd, message, strlen(message)) == -1) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
for(int alpha = bg_alpha; alpha >= 0; alpha-=10) {
printf("Setting background alpha to: %d\n", alpha);
osd_set_bgcolor(osd, bg_color, alpha);
pause_demo();
}
}
static void
tryout_widths(xosd_xft* osd, osd_geometry *g, int per, int chars, int* widths, int len)
{
g->width_per = per;
g->width_chars = chars;
for(int i = 0; i < len; i++) {
printf("Setting width to %d\n", widths[i]);
g->width = widths[i];
osd_set_geometry(osd, g);
pause_demo();
}
}
static void
tryout_heights(xosd_xft* osd, osd_geometry *g, int per, int lines, int* heights, int len)
{
g->height_per = per;
g->height_lines = lines;
for(int i = 0; i < len; i++) {
printf("Setting height to %d\n", heights[i]);
g->height = heights[i];
osd_set_geometry(osd, g);
pause_demo();
}
}
static void
demo_size(xosd_xft* osd, char **argv)
{
char *geometry = "100%x80+0+0";
osd_geometry to_parse, *g = &to_parse;
g = osd_parse_geometry(geometry, text_align, g);
if(g == NULL) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
osd_set_geometry(osd, g);
if(osd_display(osd, message, strlen(message)) == -1) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
printf("***** WIDTH as percentage of screen size *****\n");
{
int widths[] = { 40, 60, 80, 100 };
tryout_widths(osd, g, 1, 0, widths, sizeof(widths)/sizeof(int));
}
printf("***** WIDTH as number of characters *****\n");
{
int widths[] = { 40, 60, 80, 100 };
tryout_widths(osd, g, 0, 1, widths, sizeof(widths)/sizeof(int));
}
printf("***** WIDTH as number of pixels *****\n");
{
int widths[] = { 400, 600, 800, 1000 };
tryout_widths(osd, g, 0, 0, widths, sizeof(widths)/sizeof(int));
}
printf("***** HEIGHT as percentage of screen size *****\n");
{
int heights[] = { 40, 60, 80, 100 };
tryout_heights(osd, g, 1, 0, heights, sizeof(heights)/sizeof(int));
}
printf("***** HEIGHT as number of lines *****\n");
{
int heights[] = { 4, 6, 8, 10 };
tryout_heights(osd, g, 0, 1, heights, sizeof(heights)/sizeof(int));
}
printf("***** HEIGHT as number of pixels *****\n");
{
int heights[] = { 400, 600, 800, 1000 };
tryout_heights(osd, g, 0, 0, heights, sizeof(heights)/sizeof(int));
}
}
static char *osd_valign_names[] = {"top", "bottom", "middle", "none"};
static char *osd_halign_names[] = {"left", "center", "right", "none"};
static void
demo_align(xosd_xft* osd, char **argv)
{
char* geometry = "100%x80+0+0";
osd_geometry to_parse, *g = &to_parse;
g = osd_parse_geometry(geometry, text_align, g);
if(g == NULL) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
osd_set_geometry(osd, g);
if(osd_display(osd, message, strlen(message)) == -1) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
printf("***** Vertical Align *****\n");
for(int i = 0; i < 3; i++) {
printf("Setting valign to %s\n", osd_valign_names[i]);
g->valign = i ;
osd_set_geometry(osd, g);
pause_demo();
}
printf("***** Horizontal Align *****\n");
geometry = "60%x80+0+0";
g = &to_parse;
g = osd_parse_geometry(geometry, text_align, g);
if(g == NULL) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
osd_set_geometry(osd, g);
for(int i = 0; i < 3; i++) {
printf("Setting halign to %s\n", osd_halign_names[i]);
g->halign = i ;
osd_set_geometry(osd, g);
pause_demo();
}
}
static void
demo_text_align(xosd_xft* osd, char **argv)
{
char *geometry = "100%x180+0+0";
osd_geometry to_parse, *g = &to_parse;
g = osd_parse_geometry(geometry, text_align, g);
if(g == NULL) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
osd_set_geometry(osd, g);
if(osd_display(osd, message, strlen(message)) == -1) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
printf("***** Text Vertical Align *****\n");
for(int i = 0; i < 3; i++) {
printf("Setting text valign to %s\n", osd_valign_names[i]);
g->text_valign = i ;
osd_set_geometry(osd, g);
pause_demo();
}
printf("***** Text Horizontal Align *****\n");
for(int i = 0; i < 3; i++) {
printf("Setting text halign to %s\n", osd_halign_names[i]);
g->text_halign = i ;
osd_set_geometry(osd, g);
pause_demo();
}
}
static void
demo_position(xosd_xft* osd, char **argv)
{
char* geometry = "400x80+0+0";
osd_geometry to_parse, *g = &to_parse;
g = osd_parse_geometry(geometry, text_align, g);
if(g == NULL) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
osd_set_geometry(osd, g);
if(osd_display(osd, message, strlen(message)) == -1) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
printf("***** Position (Offsets) *****\n");
for(int xneg = 0; xneg < 2; xneg++) {
for(int yneg = 0; yneg < 2; yneg++) {
for(int offset = 0; offset < 31; offset += 30) {
g->xneg = xneg;
g->yneg = yneg ;
g->xoffset = g->yoffset = offset ;
printf("Setting geometry to %dx%d%s%d%s%d\n",
g->width, g->height, g->xneg ? "-" : "+", g->xoffset, g->yneg ? "-" : "+", g->yoffset);
osd_set_geometry(osd, g);
pause_demo();
}
}
}
}
static void
demo_padding(xosd_xft* osd, char **argv)
{
char* paddings[] = { "0", "30", "30 20", "30 20 15", "30 20 15 10" };
char* geometry = "600x180+0+0*middle/center";
char* text_align = "left/top";
osd_geometry to_parse, *g = &to_parse ;
g = osd_parse_geometry(geometry, text_align, g);
if(g == NULL) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
osd_set_geometry(osd, g);
if(osd_display(osd, message, strlen(message)) == -1) {
help(argv, osd_error);
exit(EXIT_FAILURE);
}
printf("***** Padding *****\n");
for(int i = 0; i < 5; i++) {
printf("Setting padding to %s\n", paddings[i]);
osd_set_padding(osd, paddings[i]);
pause_demo();
}
}
static void
help(char **argv, char* error)
{
FILE *out = error ? stderr : stdout ;
if(error) {
fprintf(stderr, "Error: %s\n", error);
}
fprintf(out, "Usage: %s [OPTION] message...\n", argv[0]);
fprintf(out, "Version: %s\n", XOSD_XFT_VERSION);
fprintf(out,
"Display a given message on top of the display\n"
"\n"
" -h, --help Show this help\n"
" -f, --font=<font> Font for display (default: %s)\n"
" <font> is Xft font name\n"
" -c, --color Demoing color options\n"
" -a, --alpha Demoing background alpha\n"
" -A, --align Demoing various alignment options for OSD window\n"
" -p, --position Demoing various position options\n"
" -P, --padding Demoing various padding options\n"
" -s, --size Demoing various options for specifying size\n"
" -t, --text-align Demoing various text alignment options\n"
#ifdef DEBUG
" -D, --debug=<level> The debug levels to be enabled\n"
" <level>: CSV of none function,locking,select,trace,value,update,all\n"
#endif
"\n\n", font );
}
/* vim: foldmethod=marker tabstop=2 shiftwidth=2 expandtab
*/

49
src/osd-example.c Normal file
View file

@ -0,0 +1,49 @@
/*
Copyright 2021 Dakshinamurthy Karra (dakshinamurthy.karra@jaliansystems.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 3 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, see <https://www.gnu.org/licenses/>.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <xosd-xft.h>
xosd_xft *osd;
int main(int argc, char *argv[])
{
osd_geometry g;
xosd_xft *osd = osd_create();
if(osd_parse_geometry("300x300+0+0*middle/center", "center/middle", &g) == NULL) {
fprintf(stderr, "%s\n", osd_error);
return EXIT_FAILURE;
}
osd_set_geometry(osd, &g);
osd_set_font(osd, "mono:size=16");
osd_set_color(osd, "lightblue");
osd_set_bgcolor(osd, "black", 100);
char* message = "HELLO XOSD-XFT" ;
osd_display(osd, message, strlen(message));
usleep(1000000);
osd_destroy(osd);
return EXIT_SUCCESS;
}

293
src/osd-show-file.c Normal file
View file

@ -0,0 +1,293 @@
/*
Copyright 2021 Dakshinamurthy Karra (dakshinamurthy.karra@jaliansystems.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 3 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, see <https://www.gnu.org/licenses/>.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <xosd-xft.h>
#include <unistd.h>
#include <getopt.h>
#include <errno.h>
#include <locale.h>
#include <X11/Xlib.h>
#include <sys/time.h>
#ifdef HAVE_LIBXINERAMA
int use_xinerama = True;
#endif
#ifdef HAVE_LIBXRANDR
int use_xrandr = True;
#endif
#define check_error(x, f, p) \
do \
{ \
if (x(f, p) == -1) \
{ \
fprintf(stderr, "%s: %s\n", #x, osd_error); \
return EXIT_FAILURE; \
} \
} while (0)
static struct option long_options[] = {
/* Main options */
{"bg-alpha", 1, NULL, 'a'},
{"bg-color", 1, NULL, 'b'},
{"color", 1, NULL, 'c'},
{"delay-in-millis", 1, NULL, 'd'},
#ifdef DEBUG
{"debug", 1, NULL, 'D'},
#endif
{"font", 1, NULL, 'f'},
{"geometry", 1, NULL, 'g'},
{"help", 0, NULL, 'h'},
#if defined(HAVE_LIBXINERAMA) || defined(HAVE_LIBXRANDR)
{"monitor", 1, NULL, 'm'},
#endif
{"number-of-lines", 1, NULL, 'n'},
{"padding", 1, NULL, 'p'},
{"text-align", 1, NULL, 't'},
/* Multihead support */
#ifdef HAVE_LIBXINERAMA
{"no-xinerama", 0, &use_xinerama, False},
#endif
#ifdef HAVE_LIBXRANDR
{"no-xrandr", 0, &use_xrandr, False},
#endif
{NULL, 0, NULL, 0}};
xosd_xft *osd;
/* Default Values */
char* font = "mono:size=12";
char* color = "lightblue";
char* bg_color = "black";
int bg_alpha = 100;
char* padding = "10";
int delay_millis = 100;
#if defined(HAVE_LIBXINERAMA) || defined(HAVE_LIBXRANDR)
int monitor = -1;
#endif
char* geometry = "80cx24l+30+30*top/left";
char* text_align = "left";
int nlines = 24;
#ifdef DEBUG
char* debug_level = NULL;
#endif
#define TAB_LEN 8
static void
tab_replace(char *src, char *dest)
{
while(*src) {
if(*src == '\t') {
for(int i = 0; i < TAB_LEN; i++)
*dest++ = ' ';
} else {
*dest++ = *src;
}
src++;
}
}
static void help(char **argv);
int main(int argc, char *argv[])
{
osd_geometry g, *parsed = &g;
if (setlocale(LC_ALL, "") == NULL || !XSupportsLocale())
fprintf(stderr, "Locale not available, expect problems with fonts.\n");
while (1)
{
int option_index = 0;
int c =
getopt_long(argc, argv, "D:f:c:m:g:p:b:a:d:ht:",
long_options,
&option_index);
if (c == -1)
break;
switch (c)
{
case 0:
break;
case 'f':
font = optarg;
break;
case 'c':
color = optarg;
break;
case 'p':
padding = optarg;
break;
case 'b':
bg_color = optarg;
break;
case 'a':
bg_alpha = atoi(optarg);
break;
case 'd':
delay_millis = atoi(optarg);
break;
case 'g':
geometry = optarg;
break;
case 't':
text_align = optarg;
break;
#if defined(HAVE_LIBXINERAMA) || defined(HAVE_LIBXRANDR)
case 'm':
#ifdef HAVE_LIBXRANDR
if (!strcmp(optarg, "active"))
{
monitor = ACTIVE;
}
else if (!strcmp(optarg, "primary"))
{
monitor = PRIMARY;
}
else
{
#endif
monitor = atoi(optarg);
if (monitor == 0)
{
fprintf(stderr, "Invalid monitor %s. Numbering starts from 1\n", optarg);
return EXIT_FAILURE;
}
monitor -= 1;
#ifdef HAVE_LIBXRANDR
}
#endif
break;
#endif
#ifdef DEBUG
case 'D':
debug_level = optarg;
break;
#endif
case 'n':
nlines = atoi(optarg);
if(nlines <= 0) nlines = 1;
break;
case '?':
case 'h':
default:
help(argv);
return EXIT_SUCCESS;
}
}
xosd_xft *osd = osd_create();
#ifdef DEBUG
osd_set_debug_level(debug_level);
#endif
parsed = osd_parse_geometry(geometry, text_align, parsed);
if(parsed == NULL) {
fprintf(stderr, "%s\n", osd_error);
return EXIT_FAILURE;
}
osd_set_geometry(osd, parsed);
osd_set_font(osd, font);
osd_set_monitor(osd, monitor);
osd_set_padding(osd, padding);
osd_set_color(osd, color);
osd_set_bgcolor(osd, bg_color, bg_alpha);
osd_set_xinerama(osd, use_xinerama);
osd_set_xrandr(osd, use_xrandr);
osd_set_number_of_lines(osd, nlines);
#define MAX_LINE 2048
{
char* file = optind < argc ? argv[optind] : "-";
FILE* fp = strcmp(file, "-") ? fopen(file, "r") : stdin;
char line[MAX_LINE] = { 0 };
if(fp == NULL) {
fprintf(stderr, "Unable to read file %s\n", file);
return EXIT_FAILURE;
}
while(fgets(line, MAX_LINE, fp) != NULL) {
char tline[MAX_LINE] = { 0 };
tab_replace(line, tline);
osd_display(osd, tline, strlen(line)-1);
usleep(delay_millis * 1000);
}
fclose(fp);
}
osd_destroy(osd);
return EXIT_SUCCESS;
}
static void
help(char **argv)
{
fprintf(stderr, "Usage: %s [OPTION] message...\n", argv[0]);
fprintf(stderr, "Version: %s\n", XOSD_XFT_VERSION);
fprintf(stderr,
"Display a given message on top of the display\n"
"\n"
" -h, --help Show this help\n"
" -g, --geometry=<geo> Geometry for the window (default: %s)\n"
" <geo> Format: ((width[%%c]?[xX]height[%%l]?))?([+-]xOffset[+-]yOffset)?(*valign/halign)?\n"
" Where:\n"
" valign: one of top,middle,bottom or none\n"
" halign: one of left,center,right or none\n"
" -t, --text-align=<align> Text alignment within the OSD window(default: %s)\n"
" <align> Format: <halign/valign>\n"
" valign: one of top,middle,bottom or none\n"
" halign: one of left,center,right or none\n"
" -f, --font=<font> Font for display (default: %s)\n"
" <font> is Xft font name\n"
" -c, --color=<color> Foreground color for text (default: %s)\n"
" -p, --padding=<padding> Padding for the content (default: %s)\n"
" <padding> Format: top right bottom left\n"
" -b, --bg-color=color Color for background (default: %s)\n"
" -a, --bg-alpha=n Background transparency (default: %d)\n"
" <n> should between 0-100\n"
#ifdef HAVE_LIBXINERAMA
" --no-xinerama Turn off xinerama support\n"
#endif
#ifdef HAVE_LIBXRANDR
" --no-xrandr Turn off xrandr support\n"
#endif
#ifdef HAVE_LIBXRANDR
" -m, --monitor=<monitor> Monitor to display message (default: active)\n"
" <monitor>: Either monitor number (starts with 1),\n"
" active or primary\n"
#else
#if defined(HAVE_LIBXINERAMA)
" -m, --monitor=<monitor> Monitor to display message (default: 1)\n"
" <monitor>: monitor number (starts with 1),\n"
#endif
#endif
" -n, --number-of-lines=<n> Number of lines to display(default: %d)\n"
#ifdef DEBUG
" -D, --debug=<level> The debug levels to be enabled\n"
" <level>: CSV of none function,locking,select,trace,value,update,all\n"
#endif
"\n\n", geometry, text_align, font, color, padding, bg_color, bg_alpha, nlines );
}
/* vim: foldmethod=marker tabstop=2 shiftwidth=2 expandtab
*/

321
src/osd-show-key.c Normal file
View file

@ -0,0 +1,321 @@
/*
Copyright 2021 Dakshinamurthy Karra (dakshinamurthy.karra@jaliansystems.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 3 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, see <https://www.gnu.org/licenses/>.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <xosd-xft.h>
#include <unistd.h>
#include <getopt.h>
#include <errno.h>
#include <locale.h>
#include <X11/Xlib.h>
#include <sys/time.h>
#ifdef HAVE_LIBXINERAMA
int use_xinerama = True;
#endif
#ifdef HAVE_LIBXRANDR
int use_xrandr = True;
#endif
#define check_error(x, f, p) \
do \
{ \
if (x(f, p) == -1) \
{ \
fprintf(stderr, "%s: %s\n", #x, osd_error); \
return EXIT_FAILURE; \
} \
} while (0)
static struct option long_options[] = {
/* Main options */
{"bg-alpha", 1, NULL, 'a'},
{"bg-color", 1, NULL, 'b'},
{"color", 1, NULL, 'c'},
{"delay-in-millis", 1, NULL, 'd'},
#ifdef DEBUG
{"debug", 1, NULL, 'D'},
#endif
{"exec", 1, NULL, 'e'},
{"font", 1, NULL, 'f'},
{"geometry", 1, NULL, 'g'},
{"help", 0, NULL, 'h'},
{"list-fonts", 2, NULL, 'l'},
#if defined(HAVE_LIBXINERAMA) || defined(HAVE_LIBXRANDR)
{"monitor", 1, NULL, 'm'},
#endif
{"shadow-color", 1, NULL, 's'},
{"shadow-offset", 1, NULL, 'S'},
{"padding", 1, NULL, 'p'},
{"text-align", 1, NULL, 't'},
/* Multihead support */
#ifdef HAVE_LIBXINERAMA
{"no-xinerama", 0, &use_xinerama, False},
#endif
#ifdef HAVE_LIBXRANDR
{"no-xrandr", 0, &use_xrandr, False},
#endif
{NULL, 0, NULL, 0}};
xosd_xft *osd;
/* Default Values */
char* font = "SauceCodePro Nerd Font:size=64:antialias=true";
char* color = "ghostwhite";
char* bg_color = "black";
int bg_alpha = 50;
char* shadow_color = "lightgrey";
int shadow_offset = 0;
char* padding = "0";
int delay_millis = 1000;
char* command = NULL;
#if defined(HAVE_LIBXINERAMA) || defined(HAVE_LIBXRANDR)
int monitor = -1;
#endif
char* geometry = "180x180+0-30*bottom/center";
char* text_align = "center/middle";
char* search;
#ifdef DEBUG
char* debug_level = NULL;
#endif
char *print_utf8(const char *s);
void list_fonts(char *search);
char* find_code(char *);
#define MSG_LEN 2049
static void help(char **argv);
static char*
replace_font_names(char *m)
{
char buffer[MSG_LEN], *dest = &buffer[0];
char *src = strdup(m), *to_free = src;
while(src && *src) {
if(*src != ':' || *++src == ':') {
*dest++ = *src++ ;
} else {
char *end = strstr(src, ":");
char *code;
if(end != NULL)
*end++ = 0;
if((code = find_code(src)) != NULL) {
while(*code)
*dest++ = *code++;
} else {
fprintf(stderr, "Unable to find code for %s\n", src);
}
src = end;
}
}
*dest = '\0';
free(to_free);
return strdup(buffer);
}
int main(int argc, char *argv[])
{
osd_geometry g, *parsed = &g;
if (setlocale(LC_ALL, "") == NULL || !XSupportsLocale())
fprintf(stderr, "Locale not available, expect problems with fonts.\n");
while (1)
{
int option_index = 0;
int c =
getopt_long(argc, argv, "D:f:c:e:l::m:g:p:b:a:d:ht:s:S:",
long_options,
&option_index);
if (c == -1)
break;
switch (c)
{
case 0:
break;
case 'f':
font = optarg;
break;
case 'c':
color = optarg;
break;
case 'p':
padding = optarg;
break;
case 'b':
bg_color = optarg;
break;
case 'a':
bg_alpha = atoi(optarg);
break;
case 's':
shadow_color = optarg;
break;
case 'S':
shadow_offset = atoi(optarg);
break;
case 'd':
delay_millis = atoi(optarg);
break;
case 'e':
command = optarg;
break;
case 'g':
geometry = optarg;
break;
case 't':
text_align = optarg;
break;
#ifdef DEBUG
case 'D':
debug_level = optarg;
break;
#endif
#if defined(HAVE_LIBXINERAMA) || defined(HAVE_LIBXRANDR)
case 'm':
#ifdef HAVE_LIBXRANDR
if (!strcmp(optarg, "active"))
{
monitor = ACTIVE;
}
else if (!strcmp(optarg, "primary"))
{
monitor = PRIMARY;
}
else
{
#endif
monitor = atoi(optarg);
if (monitor == 0)
{
fprintf(stderr, "Invalid monitor %s. Numbering starts from 1\n", optarg);
return EXIT_FAILURE;
}
monitor -= 1;
#ifdef HAVE_LIBXRANDR
}
#endif
break;
#endif
case 'l':
list_fonts(optarg ? optarg : NULL);
return EXIT_SUCCESS;
case '?':
case 'h':
default:
help(argv);
return EXIT_SUCCESS;
}
}
xosd_xft *osd = osd_create();
#ifdef DEBUG
osd_set_debug_level(debug_level);
#endif
parsed = osd_parse_geometry(geometry, text_align, parsed);
if(parsed == NULL) {
fprintf(stderr, "%s\n", osd_error);
return EXIT_FAILURE;
}
osd_set_geometry(osd, parsed);
osd_set_font(osd, font);
osd_set_monitor(osd, monitor);
osd_set_padding(osd, padding);
osd_set_color(osd, color);
osd_set_bgcolor(osd, bg_color, bg_alpha);
osd_set_shadowcolor(osd, shadow_color);
osd_set_shadowoffset(osd, shadow_offset);
osd_set_xinerama(osd, use_xinerama);
osd_set_xrandr(osd, use_xrandr);
if(command)
system(command);
char *message1 = replace_font_names(optind < argc ? argv[optind] : "XOSD_XFT YaY!!!");
char *message = print_utf8(message1);
osd_display(osd, message, strlen(message));
usleep(delay_millis * 1000);
osd_destroy(osd);
free(message);
free(message1);
return EXIT_SUCCESS;
}
static void
help(char **argv)
{
fprintf(stderr, "Usage: %s [OPTION] message...\n", argv[0]);
fprintf(stderr, "Version: %s\n", XOSD_XFT_VERSION);
fprintf(stderr,
"Display a key glyph OSD using nerd fonts\n"
"The message can contain a font name between ':'. eg: :fa-home:\n"
"Use --list-fonts to find a known glyph name\n"
"\n"
" -h, --help Show this help\n"
" -g, --geometry=<geo> Geometry for the window (default: %s)\n"
" <geo> Format: ((width[%%c]?[xX]height[%%l]?))?([+-]xOffset[+-]yOffset)?(*valign/halign)?\n"
" Where:\n"
" valign: one of top,middle,bottom or none\n"
" halign: one of left,center,right or none\n"
" -t, --text-align=<align> Text alignment within the OSD window(default: %s)\n"
" <align> Format: <halign/valign>\n"
" valign: one of top,middle,bottom or none\n"
" halign: one of left,center,right or none\n"
" -f, --font=<font> Font for display (default: %s)\n"
" <font> is Xft font name\n"
" -l, --list-fonts[=<search>] List known font names\n"
" <search> is part of nerd font name\n"
" -c, --color=<color> Foreground color for text (default: %s)\n"
" -p, --padding=<padding> Padding for the content (default: %s)\n"
" <padding> Format: top right bottom left\n"
" -e, --exec=<command> Execute given command in background\n"
" -b, --bg-color=color Color for background (default: %s)\n"
" -a, --bg-alpha=n Background transparency (default: %d)\n"
" <n> should between 0-100\n"
#ifdef HAVE_LIBXINERAMA
" --no-xinerama Turn off xinerama support\n"
#endif
#ifdef HAVE_LIBXRANDR
" --no-xrandr Turn off xrandr support\n"
#endif
#ifdef HAVE_LIBXRANDR
" -m, --monitor=<monitor> Monitor to display message (default: active)\n"
" <monitor>: Either monitor number (starts with 1),\n"
" active or primary\n"
#else
#if defined(HAVE_LIBXINERAMA)
" -m, --monitor=<monitor> Monitor to display message (default: 1)\n"
" <monitor>: monitor number (starts with 1),\n"
#endif
#endif
#ifdef DEBUG
" -D, --debug=<level> The debug levels to be enabled\n"
" <level>: CSV of none function,locking,select,trace,value,update,all\n"
#endif
"\n\n", geometry, text_align, font, color, padding, bg_color, bg_alpha );
}
/* vim: foldmethod=marker tabstop=2 shiftwidth=2 expandtab
*/

203
src/utf8.c Normal file
View file

@ -0,0 +1,203 @@
/*
Copyright 2021 Dakshinamurthy Karra (dakshinamurthy.karra@jaliansystems.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 3 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, see <https://www.gnu.org/licenses/>.
*/
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include <strings.h>
#include <ctype.h>
#define isodigit(c) ((c) >= '0' && (c) <= '7')
#define hextobin(c) ((c) >= 'a' && (c) <= 'f' ? (c) - 'a' + 10 : (c) >= 'A' && (c) <= 'F' ? (c) - 'A' + 10 \
: (c) - '0')
#define octtobin(c) ((c) - '0')
#ifndef FALLTHROUGH
#if __GNUC__ < 7
#define FALLTHROUGH ((void)0)
#else
#define FALLTHROUGH __attribute__((__fallthrough__))
#endif
#endif
static inline unsigned char to_uchar(char ch) { return ch; }
int u8_uctomb(char *s, unsigned int uc, int n)
{
if (uc < 0x80)
{
if (n > 0)
{
s[0] = uc;
return 1;
}
/* else return -2, below. */
}
else
{
int count;
if (uc < 0x800)
count = 2;
else if (uc < 0x10000)
{
if (uc < 0xd800 || uc >= 0xe000)
count = 3;
else
return -1;
}
else if (uc < 0x110000)
count = 4;
else
return -1;
if (n >= count)
{
switch (count) /* note: code falls through cases! */
{
case 4:
s[3] = 0x80 | (uc & 0x3f);
uc = uc >> 6;
uc |= 0x10000;
FALLTHROUGH;
case 3:
s[2] = 0x80 | (uc & 0x3f);
uc = uc >> 6;
uc |= 0x800;
FALLTHROUGH;
case 2:
s[1] = 0x80 | (uc & 0x3f);
uc = uc >> 6;
uc |= 0xc0;
/*case 1:*/ s[0] = uc;
}
return count;
}
}
return -2;
}
static int
print_unicode_char(unsigned int code, char **b)
{
char inbuf[8];
memset(inbuf, 0, sizeof(inbuf));
int count;
count = u8_uctomb((char *)inbuf, code, sizeof(inbuf));
if (count < 0)
return -3;
memcpy(*b, inbuf, count);
*b += count;
return count;
}
static int
print_esc(const char *escstart, char **b)
{
const char *p = escstart + 1;
int esc_length; /* Length of \nnn escape. */
if (*p == 'u' || *p == 'U')
{
char esc_char = *p;
unsigned int uni_value;
uni_value = 0;
for (esc_length = (esc_char == 'u' ? 4 : 8), ++p;
esc_length > 0;
--esc_length, ++p)
{
if (!isxdigit(to_uchar(*p)))
return -1;
uni_value = uni_value * 16 + hextobin(*p);
}
/* A universal character name shall not specify a character short
identifier in the range 00000000 through 00000020, 0000007F through
0000009F, or 0000D800 through 0000DFFF inclusive. A universal
character name shall not designate a character in the required
character set. */
if ((uni_value <= 0x9f && uni_value != 0x24 && uni_value != 0x40 && uni_value != 0x60) || (uni_value >= 0xd800 && uni_value <= 0xdfff))
return -2;
print_unicode_char(uni_value, b);
}
else
{
char *c = *b;
int i = 1;
*c++ = '\\';
if (*p)
{
i++;
*c++ = *p++;
}
*b += i;
}
return p - escstart - 1;
}
#define UTF8_BUFFER_LENGTH 4096
char *print_utf8(const char *s)
{
char buffer[UTF8_BUFFER_LENGTH];
char *p = &buffer[0];
while (*s)
{
if (*s == '\\')
{
int ret = print_esc(s, &p);
if (ret < 0)
{
fprintf(stderr, "\nError: %d\n", ret);
s += 1;
}
else
{
s += ret + 1;
}
}
else
{
*p++ = *s++;
}
}
*p = 0;
return strdup(buffer);
}
#ifdef MAIN
int main(int argc, char **argv)
{
for (int i = 1; i < argc; i++)
{
char *s = print_utf8(argv[i]);
puts(s);
free(s);
}
exit(0);
}
#endif
/* vim: foldmethod=marker tabstop=2 shiftwidth=2 expandtab
*/

269
src/xosd-xft.h Normal file
View file

@ -0,0 +1,269 @@
/*
Copyright 2021 Dakshinamurthy Karra (dakshinamurthy.karra@jaliansystems.com)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef XOSD_XFT_H
#define XOSD_XFT_H
#ifdef __cplusplus
extern "C"
{
#endif
#include <limits.h>
#ifndef __deprecated
#if (__GNUC__ == 3 && __GNUC_MINOR__ > 0) || __GNUC__ > 3
#define __deprecated __attribute__((deprecated))
#else
#define __deprecated
#endif
#endif
extern char *osd_error;
extern char *osd_default_font;
typedef struct xosd_xft xosd_xft;
/* Vertical Alignment */
typedef enum
{
XOSD_XFT_top = 0, /* Align to Top */
XOSD_XFT_bottom, /* Align to Bottom */
XOSD_XFT_middle, /* Align to Middle */
XOSD_XFT_valign_none /* Unspecified - defaults to Top */
} osd_valign;
/* Horizontal Alignment */
typedef enum
{
XOSD_XFT_left = 0, /* Align to Left */
XOSD_XFT_center, /* Align to Center */
XOSD_XFT_right, /* Align to Righht */
XOSD_XFT_halign_none /* Unspecified - defaults to Left */
} osd_halign;
/* Parsed Geometry and Text Alignment */
typedef struct _geometry
{
/* Size - width_per and height_per set to true if % are used
width_chars and height_lines set to true if char sizes are used */
unsigned int width; /* Width */
int width_per; /* Is Width Unit as percentage of screen size */
int width_chars; /* Is Width Unit as number of characters */
unsigned int height; /* Height */
int height_per; /* Is Height Unit as pecentage of screen size */
int height_lines; /* Is Height Unit as number of lines */
/* Position - offsets are abs values, neg set to true when negative */
unsigned int xoffset; /* X Offset - Absolute value */
int xneg; /* Is X Offset Negative */
unsigned int yoffset; /* Y Offset - Absolute value */
int yneg; /* Is Y Offset Negative */
/* Alignment - Horizontal and Vertical Alignment of OSD Window */
osd_valign valign; /* Vertical Alignment */
osd_halign halign; /* Horizontal Alignment */
/* Alignment - for Text */
osd_valign text_valign; /* Text Vertical Alignment */
osd_halign text_halign; /* Text Horizontal Alignment */
} osd_geometry;
#define PRIMARY (INT_MAX)
#define ACTIVE (INT_MAX - 1)
/* osd_create -- Create a new xosd_xft "object"
*
* RETURNS
* A new xosd structure.
*/
xosd_xft *osd_create();
/* osd_parse_geometry -- Parse geometry string
*
* ARGUMENTS
* geometry The geometry string
* textalign Text alignment string
* g Geometry object to fill
* RETURNS
* NULL on error
*/
osd_geometry* osd_parse_geometry(const char *geometry, const char* textalign, osd_geometry *g);
/* osd_set_geometry -- Set the geometry for the OSD window
*
* ARGUMENTS
* osd A xosd_xft object
* geometry The geometry
*
*/
void osd_set_geometry(xosd_xft *osd, const osd_geometry *geometry);
/* osd_set_font -- Set the font for the OSD window
*
* ARGUMENTS
* osd A xosd_xft object
* font The font
*
*/
void osd_set_font(xosd_xft *osd, const char *font);
/* osd_set_monitor -- Set the monitor for the OSD window
*
* ARGUMENTS
* osd A xosd_xft object
* monitor The monitor (starts with: 1)
*
*/
void osd_set_monitor(xosd_xft *osd, int monitor);
/* osd_set_padding -- Set the padding for the OSD window
*
* ARGUMENTS
* osd A xosd_xft object
* padding The padding
*
*/
void osd_set_padding(xosd_xft *osd, const char *padding);
/* osd_set_color -- Set the color for the OSD window
*
* ARGUMENTS
* osd A xosd_xft object
* color The color
*
*/
void osd_set_color(xosd_xft *osd, const char *color);
/* osd_set_bgcolor -- Set the bgcolor and alpha for the OSD window
*
* ARGUMENTS
* osd A xosd_xft object
* bgcolor The background color
* alpha Tha alpha value (0-100)
*
*/
void osd_set_bgcolor(xosd_xft *osd, const char *bgcolor, unsigned int alpha);
/* osd_set_shadowcolor -- Set the shadowcolor for the OSD window
*
* ARGUMENTS
* osd A xosd_xft object
* shadowcolor The shadow color
*
*/
void osd_set_shadowcolor(xosd_xft *osd, const char *shadowcolor);
/* osd_set_shadowoffset -- Set the offset for the shadow (0 - none)
*
* ARGUMENTS
* osd A xosd_xft object
* offset The offset for the shadow (0 - none)
*
*/
void osd_set_shadowoffset(xosd_xft *osd, int offset);
/* osd_set_xinerama -- Enable/disable xinerama
*
* ARGUMENTS
* osd A xosd_xft object
* xinerama The xinerama - bool 0 for false
*
*/
void osd_set_xinerama(xosd_xft *osd, int xinerama);
/* osd_set_xrandr -- Enable/disable xrandr
*
* ARGUMENTS
* osd A xosd_xft object
* xrandr The xrandr - bool 0 for false
*
*/
void osd_set_xrandr(xosd_xft *osd, int xrandr);
/* osd_set_number_of_lines -- Sets the number of lines in display
*
* ARGUMENTS
* osd A xosd_xft object
* nlines Number of lines
*
*/
void osd_set_number_of_lines(xosd_xft *osd, int nlines);
/* osd_show -- Show OSD Window (previously hidden)
*
* ARGUMENTS
* osd A xosd_xft object
*
* RETURNS
* -1 on failure
*/
int osd_show(xosd_xft *osda);
/* osd_hide -- Hide OSD window
*
* ARGUMENTS
* osd A xosd_xft object
*
* RETURNS
* -1 on failure
*/
int osd_hide(xosd_xft *osda);
/* osd_display -- Display a string in the OSD window
*
* ARGUMENTS
* osd A xosd_xft object
* message The string to display
* len The length of string
*
* RETURNS
* -1 on failure
*/
int osd_display(xosd_xft *osd, char *message, int len);
/* osd_destroy -- Free all held resources of OSD window
*
* ARGUMENTS
* osd A xosd_xft object
*
* RETURNS
* -1 on failure
*/
int osd_destroy(xosd_xft *osd);
#ifdef DEBUG
/* osd_set_debug_level -- Sets the debug level for the library
*
* ARGUMENTS
* levels comma separated levels: none,function,locking,select,trace,value,update,all
*
* RETURNS
* void
*/
void osd_set_debug_level(char * levels);
#endif
#ifdef __cplusplus
};
#endif
#endif
/* vim: foldmethod=marker tabstop=2 shiftwidth=2 expandtab
*/

13
xosd-xft.pc.in Normal file
View file

@ -0,0 +1,13 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: xosd-xft
Description: On-Screen Display library.
URL: https://github.com/kdmurthy/libxosd-xft
Version: @VERSION@
Requires: xproto randrproto >= @RANDR_VERSION@
Requires.private: x11 xext xrender xft freetype2
Cflags: -I${includedir}
Libs: -L${libdir}