Commit Graph

68 Commits

Author SHA1 Message Date
Alexander Kedrik e2ebe3e2ae Use #pragma once
#pragma once is safer and simpler. According to Wikipedia it's supported by all major compilers.
2014-01-01 15:06:57 +01:00
Michael Stapelberg 0883dfbe14 only LOG() the DPI when it changes, DLOG() it otherwise (Thanks lkraav)
This avoids flooding stdout every time some text (e.g. a window
decoration) is drawn, yet leaves the message in place when it’s actually
relevant (upon DPI changes).

fixes #1115
2013-12-24 10:35:56 +01:00
Michael Stapelberg d3beff2339 make i3bar use libi3’s root_atom_contents()
This removes code duplication, which will be useful for a subsequent
commit.

Furthermore, we now don’t open X11 connections unnecessarily in some
corner cases.
2013-11-22 15:48:45 +01:00
Baptiste Daroussin eb601a2615 All supported FreeBSD version has getline now 2013-03-20 11:17:26 +01:00
Michael Stapelberg a6c676e5d3 i3-config-wizard: clean all traces of the old config parser (Thanks cradle) 2012-12-26 14:23:47 +01:00
Michael Stapelberg 0e4c956c1d i3-config-wizard: switch away from bison/flex to hand-written parser
This adds some code duplication which we might remove in a future
refactoring or not. Depends on whether unifying the parsers actually
makes the code better or not. I suspect it doesn’t :-).
2012-12-25 14:20:17 +01:00
David Coppa 69e15bba5d OpenBSD has getline() now 2012-12-08 17:52:58 +01:00
Michael Stapelberg a01bac13fe don’t use reserved identifiers for include guards (left-overs)
fixes #804
2012-09-22 13:31:08 +02:00
Oliver Kiddle f7d825062a remove superfluous ev.h include statements 2012-09-20 11:15:17 +02:00
Michael Stapelberg b9fde552d0 fix make clean targets 2012-09-19 18:05:51 +02:00
Michael Stapelberg 4636eb840d fix compilation with older xcb-util with -DXCB_COMPAT (Thanks okraits) 2012-09-03 14:55:27 +02:00
Michael Stapelberg 2896ae8057 logging: make libi3 use verboselog()/errorlog(), provide it in each caller
While this is a bit ugly, it makes the log messages end up where they
are supposed to: in the shmlog/stdout in case of i3 and on stdout in
case of utilities such as i3-input
2012-08-13 13:27:16 +02:00
Fernando Tarlá Cardoso Lemos 6ff3f7abad libi3: Implement Pango rendering 2012-08-13 11:39:30 +02:00
Quentin Glidic 53365fa887 libi3: Rework draw_text
We now have two versions of draw_text
draw_text: Now takes an i3String
draw_text_ascii: Designed for static strings in plain ASCII
2012-08-13 11:37:21 +02:00
Quentin Glidic b01545b131 Makefile: Always link libi3 first 2012-08-13 02:00:01 +02:00
Michael Stapelberg c64047157d config-wizard: use the level 0 keysym whenever it’s unambiguous
From the code:

    Try to use the keysym on the first level (lower-case). In case
    this doesn’t make it ambiguous (think of a keyboard layout
    having '1' on two different keys, but '!' only on keycode 10),
    we’ll stick with the keysym of the first level.

    This reduces a lot of confusion for users who switch keyboard
    layouts from qwerty to qwertz or other slight variations of
    qwerty (yes, that happens quite often).
2012-08-02 02:14:56 +02:00
Quentin Glidic 0b4ee7a1da common.mk: Split XCB common flags 2012-07-23 00:12:55 +02:00
Quentin Glidic 5e0cd52f10 common.mk: Split XCB keyboard flags 2012-07-23 00:06:37 +02:00
Quentin Glidic fde8c0dd85 common.mk: Split Xlib flags 2012-07-23 00:04:01 +02:00
Quentin Glidic 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
Quentin Glidic 3b1b72ecbb *.mk: Support passing specific CFLAGS/LIBS 2012-07-22 23:53:13 +02:00
Quentin Glidic e452acb30e Add stub Makefiles to allow subdir make calls 2012-07-22 19:57:48 +02:00
Quentin Glidic 0c2e4d8347 Move i3-config-wizard to the new Makefile layout 2012-07-22 19:57:21 +02:00
David Coppa 7a67938f3c Replace deprecated XKeycodeToKeysym() with XkbKeycodeToKeysym() 2012-05-30 17:24:43 +02:00
Michael Stapelberg 45d5f1fbaa i3-config-wizard: use fgetln on OpenBSD, too (Thanks David Coppa) 2012-02-21 15:23:58 +01:00
Michael Stapelberg 51728bab77 Merge branch 'master' into next 2012-02-12 10:21:01 +00:00
beauby b3e3ecf722 Fixed a memory leak 2012-02-12 10:19:34 +00:00
beauby 4f14850173 BugFix: keep the indentation of config.keycodes 2012-02-12 10:19:06 +00:00
Michael Stapelberg 2daa8d422a Merge branch 'master' into next
Conflicts:
	i3-config-wizard/main.c
2012-02-10 00:03:18 +00:00
beauby 891831be3a Fixed the fgetln workaround 2012-02-10 00:02:08 +00:00
Michael Stapelberg 53f19576d6 i3-config-wizard: Mark the currently selected modifier with an arrow (Thanks jjfoerch)
Boldface seems to be unrecognizable on some systems.

Fixes #607
2012-01-21 14:32:35 +00:00
Michael Stapelberg dee7c07ad2 shmlog: store meta information in the buffer itself, store path as X11 atom
This makes i3-dump-log completely independent of a running i3 instance.
2012-01-06 23:40:07 +00:00
Michael Stapelberg 2ec689ec7d Fix i3-config-wizard on FreeBSD 7.x (without getline()) (Thanks garga) 2011-12-30 00:50:54 +01:00
Michael Stapelberg acf29dbfd5 Makefiles: introduce $(FLEX) and $(BISON) 2011-11-22 00:01:01 +00:00
Fernando Tarlá Cardoso Lemos 344c04af12 Implement set_font_colors.
This paves the way for other font rendering backends. Fonts and
colors shouldn't be specified manually from now on.
2011-11-21 20:52:32 +00:00
Fernando Tarlá Cardoso Lemos eafc7af606 Make all programs use draw_text. 2011-11-21 20:52:29 +00:00
Michael Stapelberg 726f2a1e5a normalize file headers across **/*.{h,c} 2011-10-25 21:19:38 +01:00
Michael Stapelberg f4469eee0b get rid of xcb.c in all i3-* tools
open_input_window was slightly different for each of them, so it made no sense
to generalize it (then we would end up with a thin and useless wrapper).
2011-10-23 23:20:57 +01:00
Michael Stapelberg a58018cf66 Add libi3/load_font, use it everywhere
…except for i3bar, which needs slightly more information about the font
2011-10-23 22:37:11 +01:00
Michael Stapelberg 91134f75c0 Move get_mod_mask to libi3, use it in i3 and i3-config-wizard
Also, the API changed a bit. There are two functions now, both assume you
already got the keysyms (which is the case for i3 and i3-config-wizard),
one gets the modifier mapping for you (aio_get_mod_mask_for) while the other
assumes you also got that. No roundtrips are required for the latter.
2011-10-23 21:26:15 +01:00
Michael Stapelberg 7d487b0314 remove unused get_mod_mask from i3-config-wizard/xcb.{c,h} 2011-10-23 18:33:21 +01:00
Michael Stapelberg 9eda7fb6fb move strndup to libi3 2011-10-23 18:02:01 +01:00
Michael Stapelberg 91ae73b1f6 i3-config-wizard: eliminate xcb_change_gc_single with C99 2011-10-23 17:45:40 +01:00
Michael Stapelberg cb9bbcfccf Move get_colorpixel to libi3, use it everywhere else 2011-10-23 17:38:21 +01:00
Michael Stapelberg 4f57d49318 add libi3/ipc_connect, use it in i3-config-wizard, i3-input, i3bar 2011-10-23 17:18:14 +01:00
Michael Stapelberg 9d15a00ba8 introduce sasprintf() in libi3, use it everywhere 2011-10-23 13:16:56 +01:00
Michael Stapelberg 4ddc32f8ee i3-config-wizard: use IPC functions from libi3 2011-10-23 13:12:52 +01:00
Michael Stapelberg 4f6e58e250 Makefiles: prefix compilation messages (for parallel builds) 2011-10-02 16:04:18 +01:00
Michael Stapelberg 0dc11b5d22 i3-config-wizard: Bugfix: Check the modifier mapping to decide whether to use Mod1 or Mod4
Fixes #491

Before, we assumed XK_Alt_L was in Mod1 and XK_Super_L was in Mod4 (which is
true on most systems). Now we just check if the keycode is in Mod1 or Mod4 and
write the config accordingly.
2011-08-28 16:16:53 +02:00
Michael Stapelberg 3fda67f5e5 i3-config-wizard: handle mouse button clicks on <win> and <alt> 2011-08-26 01:19:46 +02:00