Commit Graph

46 Commits

Author SHA1 Message Date
Michael Stapelberg 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
Michael Stapelberg 9200094203 format **/*.c with clang-format-3.5
This has multiple effects:

1) The i3 codebase is now consistently formatted. clang-format uncovered
   plenty of places where inconsistent code made it into our code base.

2) When writing code, you don’t need to think or worry about our coding
   style. Write it in yours, then run clang-format-3.5

3) When submitting patches, we don’t need to argue about coding style.

The basic idea is that we don’t want to care about _how_ we write the
code, but _what_ it does :). The coding style that we use is defined in
the .clang-format config file and is based on the google style, but
adapted in such a way that the number of modifications to the i3 code
base is minimal.
2014-06-15 19:07:02 +02:00
Jean-Philippe Ouellet 88114bc055 "somewhen" -> "some time" in i3-config-wizard(1) 2014-05-16 18:00:00 +02:00
Peter Boström f78c1ba053 Fix 'gcc -Wextra -Wno-unused-parameter'. 2014-01-04 20:43:30 +01:00
Peter Boström 9c15b9504e Fix clang -Wextra except -Wunused-parameter.
Cleared all warnings that occur when passing
CFLAGS="-Wall -Wextra -Wno-unused-parameter" to make using clang 3.3 on
Linux x86-64.
2014-01-02 22:15:33 +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 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
Oliver Kiddle f7d825062a remove superfluous ev.h include statements 2012-09-20 11:15:17 +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
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
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 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 4ddc32f8ee i3-config-wizard: use IPC functions from libi3 2011-10-23 13:12:52 +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
Michael Stapelberg ec88f6501d i3-config-wizard: use a managed, floating (dialog) window. fixes focus problems
Probably only when another window is already opened, but people can do that
(start i3 from within a terminal in their X session)
2011-07-27 13:28:32 +02:00
Michael Stapelberg 2a43a49595 i3-config-wizard: correctly check for errors when connecting to X11 2011-07-27 13:05:40 +02:00
Michael Stapelberg 4099b4302b i3-config-wizard: fix keypresses with numlock on, also accept keypad enter (Thanks mxf) 2011-07-24 22:14:12 +02:00
Michael Stapelberg 3da3a69106 i3-config-wizard: use fgetln on Darwin, use strndup from FreeBSD on Darwin (Thanks Marcus) 2011-07-17 15:21:57 +02:00
Michael Stapelberg 3e3c6f85a1 add v4 comment to i3.config.keycodes, remove userguide comment from i3-config-wizard 2011-07-11 19:48:51 +02:00
Michael Stapelberg e79e07104c config-wizard: write config to ~/.i3/config, create ~/.i3 if necessary 2011-07-11 19:42:10 +02:00
Michael Stapelberg 81340523be config-wizard: read config from SYSCONFDIR/i3/config.keycodes 2011-07-11 19:41:49 +02:00
Michael Stapelberg 43ec3ddbaf wizard: actually write the output config 2011-05-01 13:56:35 +02:00
Michael Stapelberg 9101f4cce2 wizard: check if the config file does not already exist and if we can create it 2011-05-01 12:50:18 +02:00
Michael Stapelberg 2491a155ee initial commit of the i3-config-wizard (GUI working, functionality incomplete) 2011-05-01 00:27:23 +02:00