Build System: remove cmake

Cmake is bloat and wmfs doesn't need a complex build system
So now wmfs compile with a Makefile using gmake and pkg-config
compilation options can be customised through confix.mk (dwm like)

Remove doxygen config files (wmfs code doesn't use it, and nobody use
doxygen with wmfs)
Replace wmfsrc.in by wmfsrc (change @WMFS_TERM@ and use shell choice
urxvt || xterm || ...)
Remove generation of Changelog file (we can git log > Changelog before
creating a dist package)
Remove README from install process (this file don't need to be included in dist
package)

What's next before merging into master ?
- provide a BSD Makefile
- discuss if we use or not pkg-config (we can document common places
  to include directory and libs in config.mk)
- compile out of tree
This commit is contained in:
Philippe Pepiot
2010-11-09 12:15:11 +01:00
parent 658e26bd49
commit 7db51713e5
10 changed files with 101 additions and 462 deletions

12
.gitignore vendored
View File

@@ -1,17 +1,5 @@
CMakeCache.txt
CMakeFiles/
cmake_install.cmake
cmake_uninstall.cmake
Makefile
*.o
.*.sw?
wmfs
src/config.h
changelog
config.h
#*
\#*
build/
doc/
wmfs.doxygen
wmfsrc

View File

@@ -1,171 +0,0 @@
# -*- mode: cmake -*-
# Minimal version of CMake
cmake_minimum_required(VERSION 2.6.0)
cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
# set some default options
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH} )
set(CMAKE_COLOR_MAKEFILE ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_BUILD_TYPE_SHARED_LIBS ON)
set(CMAKE_C_FLAGS $ENV{CFLAGS})
set(CMAKE_CXX_FLAGS $ENV{CXXFLAGS})
set(CMAKE_LINK_FLAGS $ENV{LDFLAGS})
# include macros
include(MacroConfigureFile)
# uninstall
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY )
add_custom_target( uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" )
# Project name - wmfs
set(PROJECT_NAME wmfs)
set(VERSION "WMFS-201008")
project(${PROJECT_NAME} C)
find_package(PkgConfig REQUIRED)
# required packages
pkg_check_modules(FREETYPE REQUIRED freetype2)
pkg_check_modules(X11 REQUIRED x11)
pkg_check_modules(XFT REQUIRED xft)
include_directories(
${FREETYPE_INCLUDE_DIRS}
${X11_INCLUDE_DIRS}
${XFT_INCLUDE_DIRS}
)
set(CMAKE_LINK_LIBRARIES
${FREETYPE_LIBRARIES}
${X11_LIBRARIES}
${XFT_LIBRARIES}
-lpthread
)
# options
option(BUILD_DOC "Generate documentation using doxygen" OFF)
option(WITH_XINERAMA "Build with Xinerama support" ON)
option(WITH_XRANDR "Build with Xrandr support" ON)
option(WITH_IMLIB2 "Build with Imlib2 support" ON)
# optional finders
if(WITH_XINERAMA)
add_definitions(-DHAVE_XINERAMA)
pkg_check_modules(XINERAMA REQUIRED xinerama)
include_directories(${XINERAMA_INCLUDE_DIRS})
set(CMAKE_LINK_LIBRARIES ${XINERAMA_LIBRARIES} ${CMAKE_LINK_LIBRARIES})
else(WITH_XINERAMA)
message(STATUS "Not building with Xinerama support")
endif(WITH_XINERAMA)
if(WITH_XRANDR)
add_definitions(-DHAVE_XRANDR)
pkg_check_modules(XRANDR REQUIRED xrandr)
include_directories(${XRANDR_INCLUDE_DIRS})
set(CMAKE_LINK_LIBRARIES ${XRANDR_LIBRARIES} ${CMAKE_LINK_LIBRARIES})
else(WITH_XRANDR)
message(STATUS "Not building with Xrandr support")
endif(WITH_XRANDR)
if(WITH_IMLIB2)
add_definitions(-DHAVE_IMLIB)
pkg_check_modules(IMLIB2 REQUIRED imlib2)
include_directories(${IMLIB2_INCLUDE_DIRS})
set(CMAKE_LINK_LIBRARIES ${IMLIB2_LIBRARIES} ${CMAKE_LINK_LIBRARIES})
else(WITH_IMLIB2)
message(STATUS "Not building with Imlib2 support")
endif(WITH_IMLIB2)
set(CMAKE_SYSCONFDIR ${CMAKE_INSTALL_PREFIX}/etc/ CACHE PATH "Config directory")
set(CMAKE_XDGCONFDIR ${CMAKE_SYSCONFDIR}/xdg/ CACHE PATH "XDG config directory")
set(CMAKE_DATADIR ${CMAKE_INSTALL_PREFIX}/share/ CACHE PATH "Data directory")
set(CMAKE_DOCDIR ${CMAKE_INSTALL_PREFIX}/share/doc/${PROJECT_NAME}-${VERSION} CACHE PATH "Data directory")
# set default terminal for user
set(WMFS_TERM xterm)
# get the user compiling this thing
SET(USERNAME $ENV{USER})
# configure files
set(CONFIGURE_FILES
src/config.h.in
wmfs.doxygen.in
wmfsrc.in)
foreach(file ${CONFIGURE_FILES})
ConfigureFile(${file})
endforeach(file)
# add the source directory
add_subdirectory(src)
# documentation
if(BUILD_DOC)
find_package(Doxygen REQUIRED)
if(DOXYGEN_FOUND)
add_custom_target(doc
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/wmfs.doxygen
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
else(DOXYGEN_FOUND)
MESSAGE(FATAL_ERROR "Doxygen executable not found")
endif(DOXYGEN_FOUND)
endif(BUILD_DOC)
# Generating ChangeLog only for live version, for release we generate it to tarball
if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog)
find_program(GIT_EXECUTABLE git)
if(EXISTS ${CMAKE_SOURCE_DIR}/.git/HEAD AND GIT_EXECUTABLE)
message(STATUS "<<< Generating ChangeLog... >>>")
execute_process(
COMMAND ${GIT_EXECUTABLE} log
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog)
else(EXISTS ${CMAKE_SOURCE_DIR}/.git/HEAD AND GIT_EXECUTABLE)
message(STATUS "No ChangeLog present and git not found")
message(STATUS "<<< Will not generate ChangeLog >>>")
endif(EXISTS ${CMAKE_SOURCE_DIR}/.git/HEAD AND GIT_EXECUTABLE)
endif(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog)
# manpage (compression handled by system not by us)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/wmfs.1 DESTINATION ${CMAKE_DATADIR}/man/man1)
# install docs
# changelog || can have 2 locations based on whether we generate it or not
if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog)
set(WMFS_DOCS ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog ${WMFS_DOCS})
endif(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog)
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/ChangeLog)
set(WMFS_DOCS ${CMAKE_CURRENT_SOURCE_DIR}/ChangeLog ${WMFS_DOCS})
endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/ChangeLog)
set(WMFS_DOCS
${CMAKE_CURRENT_SOURCE_DIR}/TODO
${CMAKE_CURRENT_SOURCE_DIR}/README
${WMFS_DOCS}
)
install(FILES ${WMFS_DOCS} DESTINATION ${CMAKE_DOCDIR})
# config file
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/wmfsrc DESTINATION ${CMAKE_XDGCONFDIR}/${PROJECT_NAME})
# xsession
install(FILES "wmfs.desktop" DESTINATION ${CMAKE_DATADIR}/xsessions)
# Status messages
message(STATUS "<<< ${PROJECT_NAME} ${VERSION} configuration >>>
Build type ${CMAKE_BUILD_TYPE}
Install path ${CMAKE_INSTALL_PREFIX}
Compiler flags:
C ${CMAKE_C_FLAGS}
C++ ${CMAKE_CXX_FLAGS}
Linker flags:
Executable ${CMAKE_EXE_LINKER_FLAGS}
Module ${CMAKE_MODULE_LINKER_FLAGS}
Shared ${CMAKE_SHARED_LINKER_FLAGS}\n")

79
Makefile Normal file
View File

@@ -0,0 +1,79 @@
include config.mk
SRC= \
src/barwin.c \
src/client.c \
src/config.c \
src/draw.c \
src/event.c \
src/ewmh.c \
src/frame.c \
src/getinfo.c \
src/infobar.c \
src/init.c \
src/launcher.c \
src/layout.c \
src/menu.c \
src/mouse.c \
src/parse/api.c \
src/parse/parse.c \
src/screen.c \
src/status.c \
src/systray.c \
src/tag.c \
src/util.c \
src/viwmfs.c \
src/wmfs.c
OBJ = ${SRC:.c=.o}
ifneq ($(findstring xrandr, ${LIBS}),)
CFLAGS+= -DHAVE_XRANDR
endif
ifneq ($(findstring xinerama, ${LIBS}),)
CFLAGS+= -DHAVE_XINERAMA
endif
ifneq ($(findstring imlib2, ${LIBS}),)
CFLAGS+= -DHAVE_IMLIB2
endif
all: options wmfs
.c.o:
@echo CC $<
@${CC} -c ${CFLAGS} $< -o $@
options:
@echo wmfs compile with ${LIBS}
@echo - CFLAGS ${CFLAGS}
@echo - LDFLAGS ${LDFLAGS}
wmfs: ${OBJ}
@echo CC -o $@
@${CC} -o $@ ${OBJ} ${LDFLAGS}
clean:
@rm -f ${OBJ} wmfs
install: all
@echo installing executable file to ${DESTDIR}${PREFIX}/bin
@mkdir -p ${DESTDIR}${PREFIX}/bin
@install wmfs ${DESTDIR}${PREFIX}/bin
@echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
@mkdir -p ${DESTDIR}${MANPREFIX}/man1
@install -m 644 wmfs.1 ${DESTDIR}${MANPREFIX}/man1/
@echo installing xsession file to ${DESTDIR}${PREFIX}/share/xsessions
@install -m 644 wmfs.desktop ${DESTDIR}${PREFIX}/share/xsessions
uninstall:
@echo removing executable file from ${DESTDIR}${PREFIX}/bin
@rm -f ${DESTDIR}${PREFIX}/bin/wmfs
@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
@rm -f ${DESTDIR}${MANPREFIX}/man1/wmfs.1
@echo removing xsession file from ${DESTDIR}${PREFIX}/share/xsessions
@rm -f ${DESTDIR}${PREFIX}/share/xsessions/wmfs.desktop
.PHONY: all clean install uninstall

View File

@@ -1,21 +0,0 @@
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
STRING(REGEX REPLACE "\n" ";" files "${files}")
FOREACH(file ${files})
MESSAGE(STATUS "Uninstalling: \"$ENV{DESTDIR}${file}\"")
IF(EXISTS "$ENV{DESTDIR}${file}")
EXEC_PROGRAM(
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF(NOT "${rm_retval}" STREQUAL 0)
MESSAGE(FATAL_ERROR "Problem when removing: \"$ENV{DESTDIR}${file}\"")
ENDIF(NOT "${rm_retval}" STREQUAL 0)
ELSE(EXISTS "$ENV{DESTDIR}${file}")
MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
ENDIF(EXISTS "$ENV{DESTDIR}${file}")
ENDFOREACH(file)

View File

@@ -1,8 +0,0 @@
macro(ConfigureFile file)
string(REGEX REPLACE ".in\$" "" outfile ${file})
message(STATUS "<<< Configuring ${outfile} >>>")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${file}
${CMAKE_CURRENT_BINARY_DIR}/${outfile}
ESCAPE_QUOTE
@ONLY)
endmacro(ConfigureFile)

19
config.mk Normal file
View File

@@ -0,0 +1,19 @@
# wmfs version
VERSION= 201011
# Customize below to fit your system
# x11 xft and freetype2 are REQUIRED, others are optionals
LIBS= x11 xft freetype2 xrandr xinerama imlib2
# paths
PREFIX= /usr/local
MANPREFIX= ${PREFIX}/share/man
XDG_CONFIG_DIR= /usr/local/etc/xdg/wmfs
# flags
CFLAGS= -Wall -DXDG_CONFIG_DIR=\"${XDG_CONFIG_DIR}\"
CFLAGS+= $(shell pkg-config --cflags-only-I ${LIBS})
LDFLAGS= $(shell pkg-config --libs ${LIBS}) -lpthread
CFLAGS+= -DWMFS_VERSION=\"${VERSION}\"
CC = cc

View File

@@ -449,11 +449,7 @@ main(int argc, char **argv)
break;
case 'v':
printf("WMFS version : "WMFS_VERSION"\n"
" Compilation settings :\n"
" - Flags : "WMFS_COMPILE_FLAGS"\n"
" - Linked Libs : "WMFS_LINKED_LIBS"\n"
" - On "WMFS_COMPILE_MACHINE" by "WMFS_COMPILE_BY".\n");
printf("WMFS "WMFS_VERSION"\n");
exit(EXIT_SUCCESS);
break;

View File

@@ -60,7 +60,6 @@
/* Local headers */
#include "parse/parse.h"
#include "config.h"
#include "structs.h"
/* Optional dependencies */

View File

@@ -1,242 +0,0 @@
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = WMFS
PROJECT_NUMBER = devel
OUTPUT_DIRECTORY = doc
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 4
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = NO
BUILTIN_STL_SUPPORT = NO
CPP_CLI_SUPPORT = NO
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = YES
EXTRACT_ANON_NSPACES = YES
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = NO
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = @CMAKE_CURRENT_SOURCE_DIR@/src
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.c \
*.h \
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = NO
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
REFERENCES_LINK_SOURCE = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = NO
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
HTML_DYNAMIC_SECTIONS = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = YES
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor...
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references...
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool...
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
MSCGEN_PATH =
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = YES
TEMPLATE_RELATIONS = YeS
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = YES
CALLER_GRAPH = YES
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 1000
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine...
#---------------------------------------------------------------------------
SEARCHENGINE = NO

View File

@@ -231,7 +231,7 @@
fg_focus = "#191919" bg_focus = "#7E89A2"
fg_normal = "#9F9AB3" bg_normal = "#191919"
[item] name = "Terminal" func = "spawn" cmd = "@WMFS_TERM@" [/item]
[item] name = "Terminal" func = "spawn" cmd = "xterm" [/item]
[item] name = "Applications" submenu = "appmenu" [/item]
[item] name = "Next tag" func = "tag_next" [/item]
[item] name = "Previous tag" func = "tag_prev" [/item]
@@ -285,7 +285,7 @@
[key] mod = {"Alt", "Control"} key = "r" func = "reload" [/key]
# Open a terminal.
[key] mod = {"Control"} key = "Return" func = "spawn" cmd = "@WMFS_TERM@" [/key]
[key] mod = {"Control"} key = "Return" func = "spawn" cmd = "xterm" [/key]
# Kill the selected client.
[key] mod = {"Alt"} key = "q" func = "client_kill" [/key]