Commit Graph

89 Commits

Author SHA1 Message Date
47562b4143 Introduce support for specifying variables from X resources. (#2286)
This patch introduces a new 'set_from_resource' config directive which
allows defining a variable by retrieving its value from the X resource
database. This avoids having to configure a color scheme in multiple
files. The directive takes an additional fallback value which is used
in case the resource cannot be found or during config validation where
no X connection is available.

Furthermore, this patch includes the following changes:
- If the same variable is defined twice, we now properly overwrite the
  value of the assignment rather than inserting two variable definitions
  with the same key.
- We now depend on xcb-util-xrm to query the resource.
- Increase the buffer size for variable / resource assignments.

fixes #2130
2016-05-08 12:55:27 +02:00
f74327e7c6 use git version information if possible, otherwise use information
from (I3_)VERSION files (for tarballs)
2016-04-07 19:12:21 +02:00
5a36d090c7 common.mk: add ASAN flag for AddressSanitizer
See https://github.com/google/sanitizers/wiki for details.
Compile with “make ASAN=1” to enable.
2016-01-09 17:15:33 +01:00
0ebb4b2005 make: should be XCB_CURSOR, not XCURSOR
After all, we’re not using libXcursor, but libxcb-cursor :).
2015-12-25 16:37:44 +01:00
38fcaf3fa8 Rename I3BAR_CAIRO to CAIRO_SUPPORT. 2015-11-07 14:28:45 -05:00
1d6827a0fd Raise dependency to cairo 1.14.4.
With the recent cairo bugfix, we can now switch to using cairo for
rendering i3bar per default by raising the minimum version of cairo
to 1.14.4, if this cairo version is available.

resolves #2048
2015-11-02 17:32:04 -05:00
f41018b33e Changes for compiling on Illumos
* common.mk: use -lsocket -liconv -lgen on Illumos/Solaris
* mkdirp: return int and accept a mode argument
* use i3's mkdirp on everything except Illumos
2015-07-30 07:44:10 -04:00
196e1d0971 Respect EXEC_PREFIX and a users' choice of PKG_CONFIG.
The Makefiles should put binaries in $(EXEC_PREFIX) and
architecture-independent files in $(PREFIX). Also a user may have a
prefixed- pkg-config, as in the case of cross compiling on Exherbo
Linux, so respect the well-accepted $(PKG_CONFIG) variable for this
purpose.
2015-04-12 17:59:30 -07:00
74abd8cd50 makefile: allow COVERAGE to be configurable
If COVERAGE=1 during build, i3 will be compiled for coverage testing.
2015-04-01 17:36:32 -04:00
3f5a0f0024 Switch to xcb-xkb and libxkbcommon
This removes our last dependency on Xlib! :)

(Okay, an Xlib dependency still comes in through other libraries that we
 link against, but it’s not us. Our code is simpler by this change and
 uses one less connection to X11.)
2014-06-21 19:10:37 +02:00
13db562551 Remove yajl major version conditionals
Yajl version ≥ 2 is required.

fixes #1156
2014-05-04 22:52:37 +02:00
2ba0d1ea49 OpenBSD does not have librt 2014-03-31 22:53:39 +02:00
2326ebfd63 enable shmlog when invoked as i3-with-shmlog, install symlink + .desktop file 2014-01-04 12:18:45 +01:00
454f11755e Remove flex/bison from common.mk since they aren't used anymore 2013-11-30 14:02:34 +01:00
eca5e4598a libi3/root_atom_contents: handle data of arbitrary length
Handle data fetched from xcb_get_property_unchecked with arbitrary
length. This avoids having to rely on PATH_MAX macro where it is not
necessary.
2013-11-26 19:58:35 +01:00
da20cd397c switch from libXcursor to xcb-util-cursor 2013-08-17 09:44:20 +02:00
18e46ffae5 install i3-dmenu-desktop 2012-12-11 22:31:44 +01:00
5bea7cb7df docs: generate HTML from testsuite POD documentation 2012-09-10 12:03:14 +02:00
4636eb840d fix compilation with older xcb-util with -DXCB_COMPAT (Thanks okraits) 2012-09-03 14:55:27 +02:00
f06161b58a common.mk: Check for Pango 2012-08-13 11:39:30 +02:00
884627ef20 use I3__FILE__ for DLOG, leave __FILE__ as is
See also commit 0e752070ac, which broke
source code listings in gdb unless you cd into i3/src. This should give
us best of both :-).
2012-08-12 12:19:47 +02:00
acdd5287a9 unbreak the build 2012-08-05 14:38:52 +02:00
78f5f2204d ipc: implement GET_VERSION to find out the i3 version
This is useful for third-party scripts which require certain features
and want to error out cleanly when they are run with an old i3 version.

Additionally, i3 --version might be different from what’s actually
running (an old version of the binary), so i3-msg -t get_version will be
the best way to figure out the i3 version you are actually running from
this commit on.
2012-08-05 14:30:05 +02:00
395a6aaee5 common.mk: Rework version usage 2012-07-30 21:13:03 +02:00
eb66337020 common.mk: Little reordering 2012-07-23 00:13:16 +02:00
0b4ee7a1da common.mk: Split XCB common flags 2012-07-23 00:12:55 +02:00
5e0cd52f10 common.mk: Split XCB keyboard flags 2012-07-23 00:06:37 +02:00
51a0f312f2 common.mk: Split WM XCB flags 2012-07-23 00:04:01 +02:00
fde8c0dd85 common.mk: Split Xlib flags 2012-07-23 00:04:01 +02:00
5cf3751482 common.mk: Move -lm to i3_LIBS 2012-07-22 23:53:51 +02:00
60bc6b0400 common.mk: Split Xcursor flags 2012-07-22 23:53:51 +02:00
85b261c162 common.mk: Split yajl flags 2012-07-22 23:53:51 +02:00
30934ea316 common.mk: Split libev flags 2012-07-22 23:53:51 +02:00
79fc8462c0 common.mk: Split libpcre flags 2012-07-22 23:53:51 +02:00
e232c06885 common.mk: Split libstartup-notification flags 2012-07-22 23:53:51 +02:00
c7029a5e21 common.mk: Introduce I3_*FLAGS
CPPFLGES, CFLAGS and LDFLAGS should be user variables
We now provide default flags but use I3_*FLAGS flags for our own needed
flags

Also reoder lib flags a bit
2012-07-22 23:53:49 +02:00
8029fae6a9 Move mans to the new Makefile layout 2012-07-22 20:27:13 +02:00
66adb62e1f Move docs to the new Makefile layout 2012-07-22 19:57:48 +02:00
e3b9ffe381 Move libi3 to the new Makefile layout 2012-07-22 19:57:21 +02:00
97d857a5d0 commom.mk: Support V make variable (verbose build) 2012-07-22 18:45:12 +02:00
07a385bb7a don’t link against librt on Mac OS X (Thanks Marcus) 2012-05-02 20:06:57 +02:00
fbaa6d4a3d revert the debugging changes
Building a non-optimized (-O0 vs. -O2) Debian package required:

    echo 'export DEB_BUILD_OPTIONS=noopt' >> ~/.pbuilderrc
2012-01-23 22:21:44 +00:00
79d28f84c1 debug commit for the autobuilder, please ignore 2012-01-23 19:58:30 +00:00
e65ee63763 Implement logging to a SHM ringbuffer
This feature is automatically enabled when running a debug version of i3.
The logfile will use 1% of your physical RAM size, but at max 25 MiB.
2011-12-10 10:50:33 +00:00
acf29dbfd5 Makefiles: introduce $(FLEX) and $(BISON) 2011-11-22 00:01:01 +00:00
98baa222f7 remove obsolete TERM_EMU build option 2011-10-23 12:00:56 +01:00
b9db72dc8a Implement support for startup notifications
This only sets up startup notifications for the 'exec' commands and directives.

Monitoring startups follows later.
2011-10-10 15:54:17 +01:00
99825ff268 common.mk: Silence some remaining pkg-config calls.
Some pkg-config calls still didn't redirect stderr to /dev/null, causing
the gnome-config error messages to be printed.
2011-10-10 11:43:02 +01:00
1942594ae9 makefile: redirect stderr to /dev/null when invoking pkg-config
This silences an error about gnome-config not being installed (pkg-config seems
to use gnome-config as a fall-back on some systems).
2011-10-09 18:35:58 +01:00
45a9eeb29d Bugfix: Don’t use a blank after comma in ldflags_for_lib calls (Thanks Raphael)
'-l foo' instead of '-lfoo' is a problem on FreeBSD.
2011-10-09 18:24:06 +01:00