Commit Graph

240 Commits

Author SHA1 Message Date
Uli Schlachter 0e81479a3f Use xcb-util-xrm
Instead of using Xlib for parsing resource files, this now uses the
dedicated xcb-based library that is meant for exactly this task.

Fixes: https://github.com/awesomeWM/awesome/issues/1176
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-11-03 13:34:43 +01:00
Emmanuel Lepage Vallee dd959eecd6 build: Fix make install when ldoc is missing 2016-10-03 23:39:14 -04:00
Uli Schlachter 3993388c01 awesomeConfig.cmake: Stop forcing CMAKE_BUILD_TYPE
I don't know why we force CMAKE_BUILD_TYPE to be RELEASE, but I don't think we
should do that.

This also changes the default build type to something which does not contain
-DNDEBUG in CFLAGS. This means that assert()s will start to work.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-09-30 09:36:36 +02:00
Emmanuel Lepage Vallee 63b712e247 doc: Document rc.lua
This meta-lua script takes the "raw" awesomerc.lua and turn it
into the final file and generate a documentation page from its
parsed content. It support

 * Turn {{{ into markdown categories
 * Turn top level comments into documentation
 * Add custom documentation sections
 * Parse the code to add links for each API calls

This helps generate a good entry point for new users wanting to
understand the content of rc.lua without searching the API by
hand.

Over time, this will also become the basis of the documentation.

If `rc.lua` is separated into several files, this will be easy to fix
this script. It could even do the separation itself from a monolitic
file using the already implemented {{{ parser.
2016-09-26 00:40:20 -04:00
Emmanuel Lepage Vallee 5f10e7a74e doc: Begin to document the themes better.
This add a meta-lua file that parses all existing lua files
to generate a list of all beautiful variables.
2016-09-26 00:40:19 -04:00
Uli Schlachter dc0a337aea CMake: Check if we need libm for round()
Fixes: https://github.com/awesomeWM/awesome/issues/969
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-07-05 22:28:33 +02:00
Uli Schlachter 2e6358ca2d Stop checking for __builtin_clz (#985)
Since commit 19137a55 we no longer use this builtin, so we don't have to check
for it anymore either.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-07-05 22:12:26 +02:00
Emmanuel Lepage Vallee de2d6fb521 doc: Add a system to auto-generate widgets list
This system allow containers, widgets and layouts to be listed in
the documentation with an example screenshot.

It uses raw HTML due to ldoc limitations, but as it is autogenerated,
it wont be user visible.
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee ac7ea4c70f tests: Fix coverage data
As the documentation generation insert increasingly large ammount
of code into the lua files, the coverage data is getting less and
less accurate. This try to fix this by only collecting such data
after the `configure_file` calls are done.
2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee 44a4eca40e doc: Port the shape images to the doc example system 2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee a51d6d3abd doc: Add a system to share ldoc content across multiple files
This avoid copy-pasting
2016-05-09 01:37:47 -04:00
Emmanuel Lepage Vallee e7652a053d tests: Add a new testing framework 2016-03-31 04:45:45 -04:00
Emmanuel Lepage Vallee b6871833c4 cmake: Generate gears.shape SVG and example code 2016-03-16 18:02:41 -04:00
Uli Schlachter 97048de60e Remove useless information from awesome -v
Most of this information isn't interesting. If you are getting awesome from a
distro, then the time, hostname and username of the build are likely 'random
stuff' and if you are building awesome yourself, then the hostname and username
are obviously yours and the time can still be interfered based on the awesome's
binary ctime.

The GCC version shouldn't make any difference at all.

Closes https://github.com/awesomeWM/awesome/pull/566.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-12-01 20:17:21 +01:00
Kazunobu Kuriyama 998a20514a Modify CFLAGS handling
- Remove `-rdynamic` from "CFLAGS" and count on CMake to pass it to
   the compiler at the link phase (Issue #450).
 - Move the definition of "CFLAGS" from `awesomeConfig.cmake` to
   `CMakeLists.txt` and give it a name, `AWESOME_C_FLAGS`, so that the
   relation between the target and the flags is made clearer and
   manageable.
 - Make `AWESOME_C_FLAGS` a cached variable so that the developers can
   tweak the flags promptly in accordance with their necessities without
   changing the prescribed value.
 - Add a logic to cope with the case where CMake fails to set
   `-rdynamic`.

Closes https://github.com/awesomeWM/awesome/pull/453.
2015-09-19 12:02:03 +02:00
Kazunobu Kuriyama 5e4318c15d Fix Mac OS X iconv library linking failure
Add a path to awesomeConfig.cmake for searching an iconv library and the
corresponding header file automatically if the build system is on Mac OS
X which needs to pass the header and library paths explicitly to the
compiler to build Awesome successfully.

Closes https://github.com/awesomeWM/awesome/pull/440.
2015-09-13 14:42:46 +02:00
Daniel Hahler fdc3f2cc17 build: add OVERRIDE_VERSION, used in Travis
Fixes https://github.com/awesomeWM/awesome/issues/160.
2015-07-25 17:59:44 +02:00
Daniel Hahler 768a5b181e Merge pull request #273 from blueyed/cmake-no-recurse-into-build-dir
awesomeConfig.cmake: do not use GLOB_RECURSE with *.c/*.h
2015-07-03 19:11:09 +02:00
actionless cec04b2684 Add DPI support and 'xresources' theme
This makes awesome respect DPI settings, and adds a new theme based on
xrdb and xsettingsd color settings ("xresources").

Closes https://github.com/awesomeWM/awesome/pull/229
2015-06-25 06:40:38 +02:00
Daniel Hahler 1992e1e429 awesomeConfig.cmake: do not use GLOB_RECURSE with *.c/*.h
This fixes "make (cmake)" picking up the files from the build dir itself
(recursively), i.e. "make cmake" would also create
`.build-HOST-x86_64-linux-gnu-4.9.2/.build-HOST-x86_64-linux-gnu-4.9.2/`.

It could also use `${AWE_SRCS}` etc here probably.
2015-06-22 14:04:57 +02:00
Daniel Hahler d2e25c3594 cmake: s/ESCAPE_QUOTE/ESCAPE_QUOTES
This appears to be the correct name for 2.8.12 [1] already, but CMake
3.2.3 complains loud(er) now.

1: http://www.cmake.org/cmake/help/v2.8.12/cmake.html#command:configure_file
2015-06-20 01:56:21 +02:00
Julian Wollrath 26f15a13f3 Document C API directly in the C source code
v2: Add available signals to the docs.

Signed-off-by: Julian Wollrath <jwollrath@web.de>
2015-06-19 23:13:31 +02:00
Julian Wollrath 6cc7be512c Remove the *.in from all files.
Signed-off-b: Julian Wollrath <jwollrath@web.de>
2015-06-19 22:33:32 +02:00
Julian Wollrath 130504a3d0 Rip out useless Doxygen support
Signed-off-by: Julian Wollrath <jwollrath@web.de>
2015-06-19 22:31:13 +02:00
Heiko Becker b0d4f4eb0e Use version agnostic FindLua from cmake-3.0.0 2015-06-19 22:31:13 +02:00
Peter Junos 19137a55c3 Support for XKB - changing keyboard layouts
This commit adds support for writing in prompt (<Super>+R by default)
while different keymap is selected

Signed-off-by: Peter Júnoš <petoju@gmail.com>
2015-05-28 23:20:17 +02:00
Daniel Hahler d2ddb33708 awesomeConfig.cmake: remove version requirement for xcb-xkb 2015-04-19 03:30:35 +02:00
Emmanuel Lepage Vallée 2f24ec69e1 Merge pull request #149 from lexa/master
xkb: implementation of keyboard layout switcher
2015-04-17 11:23:16 -04:00
Heiko Becker 0dcbf1265a awesomeConfig.cmake: Allow setting AWESOME_DATA_DIR
The motivation behind this patch is my distro moving to a multiarch
layout. While binaries, libraries, etc. are are installed into
/usr/{host}/{bin,lib,...} architecture-independent data should still
go to /usr/share.
2015-03-27 14:37:33 +01:00
Aleksey Fedotov 996f6785a8 xkb: implementation of keyboard layout switched
This patch provides functions to get/set current keyboard layout.

Current implementation doesn't support any configuration of layout,
it's a merely a layout indicator and switcher, however layout
configuration can be set by tools like setxkbmap or by any third-party
tools.
2015-03-03 00:33:16 +03:00
Julian Wollrath 38e2a47157 Fixup newly introduced whitespace issues.
Signed-off-by: Julian Wollrath <jwollrath@web.de>
2015-02-28 23:14:12 +01:00
Ignas Anikevicius (gns_ank) b96b3ef31c Docs: Move all docs to a `docs` folder.
This moves all of the documentation into a separate folder, which keeps
everything in one place and avoids unnecessary clutter.

This will pay off when proper guides are written for various aspects of
using awesome or contributing to it.

This also updates the building system, so that the docs are properly
generated with new directories.

Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:12 +01:00
Daniel Hahler 2dc14b10de cmake: add '--dirty' flag to 'git describe' for version 2015-02-14 21:30:29 +01:00
Uli Schlachter 469294a98c cmake: Remove useless program checks
We were looking for programs called cat, ln, grep and lua, but didn't ever use
the result of any of these searches. So let's just not search at all.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-07-13 16:18:01 +02:00
Uli Schlachter 8125cda2a8 change codename
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-10-12 18:48:49 +02:00
Uli Schlachter abd8246c1b CMake: Look for both "ldoc" and "ldoc.lua"
At least debian uses "ldoc" for the binary name instead of "ldoc.lua" while
upstream seems to prefer the later...

Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-09-19 17:05:20 +02:00
Uli Schlachter aaa771f887 Switch from libXcursor to libxcb-cursor
Thanks to Michael Stapelberg, there is now a xcb-only port of libXcursor which
does everything we need. This patch switches awesome over to that new library.

Since the only reason for using XOpenDisplay() instead of xcb_connect() was so
that we can use libXcursor, we can get back to that older state again. This
means that this effectively reverts the following commits:

531f8b415c "Added initial support for Xlib cursor themes"
77243cd09a "Add x11-xcb to the pkg-config checks"
779d43fc46 "Don't let Xlib own the event queue"
03759b4847 "Fix keyboard layouts"

Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-09-19 16:48:10 +02:00
Uli Schlachter bcea1aab66 Stop linking against xcb-image
Since the previous commit we don't use this library any more.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-09-16 12:12:16 +02:00
Uli Schlachter ddfd9c0e79 change codename
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-04-01 13:44:46 +02:00
Uli Schlachter e653b0a652 change codename
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-12-22 00:18:18 +01:00
Uli Schlachter fb20b3599d change codename
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-12-14 19:53:42 +01:00
Gregor Best 907a5b4a4e Change CFLAGS
* Add -O1 to make -wuninitialized work
* Remote -Wredundant-decls because it gave useless warnings

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-24 18:15:34 +01:00
Uli Schlachter f693b88492 change codename
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-24 14:51:33 +01:00
Uli Schlachter ea30119410 Use glib instead of libev
This commit ports awesome from libev to the glib main loop. This means that
awesome has fewer dependencies, because we were already depending on glib before
and now no longer need glib.

However, the main reason for this change is that, thanks to lgi, we have glib
bindings for lua. This means that lua code can add all kinds of event sources to
the main loop (timeouts, fd watchers, SIGCHLD watchers, ....). Yay

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-21 21:01:12 +01:00
Uli Schlachter c87e775e46 Use LDoc instead of Luadoc (FS#1006)
Since we are no longer using module(), luadoc no longer understands our modules.
With this commit we use LDoc instead which seems more modern.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-19 14:57:47 +01:00
Uli Schlachter 37d074f881 Drawin: Re-add shape support
Commit 03e0ee53d2 removed window shapes, because at the time I was too
lazy to port them from the old image system to oocairo.

This commit re-adds them, but for now only as a way to set the shape.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-05 18:11:16 +01:00
Uli Schlachter c4a7f80e26 Use gdk-pixbuf instead of Imlib2 (FS#1028)
There are two reasons for this switch:

- gdk-pixbuf is smaller
- gdk-pixbuf supports SVGs

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-16 20:02:56 +02:00
Uli Schlachter 77243cd09a Add x11-xcb to the pkg-config checks
This is needed for XGetXCBConnection().

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-07 16:48:41 +02:00
Tumin Alexander 531f8b415c Added initial support for Xlib cursor themes
I hope this time i got all right with git format-patch.

Signed-off-by: Tumin Alexander <iamtakingiteasy@eientei.org>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-07 12:39:56 +02:00
Steven Oliver 175c3b1313 Remove incorrect comment.
The FindLua module from CMake now displays the correct Lua version.

Signed-off-by: Steven Oliver <oliver.steven@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2012-08-28 13:33:08 +02:00