Orestis Floros
38f28186ec
Remove some includes from all.h
...
Also removes duplicates from other headers
All used std* imports are included once in all.h for easy use
- getopt: Only used in main.c and inject_randr1.5.c
- glob: Not used in i3, only in i3bar & libi3
- inttypes: Only used in util.c
- locale: A bit specific for all.h
- math: Slow according to #4022
- unistd: I feel it's good to explicitly include per file that needs it
- yajl: Specific to yajl_utils.h and ipc.h
Related to #4022
Timing before:
```
Analyzing build trace from ...
**** Time summary:
Compilation (81 times):
Parsing (frontend): 51.3 s
Codegen & opts (backend): 7.7 s
**** Files that took longest to parse (compiler frontend):
1254 ms: build/src/i3-commands.o
972 ms: build/src/i3-resize.o
945 ms: build/src/i3-con.o
921 ms: build/src/i3-scratchpad.o
907 ms: build/src/i3-main.o
904 ms: build/src/i3-handlers.o
904 ms: build/src/i3-config_directives.o
893 ms: build/src/i3-restore_layout.o
875 ms: build/src/i3-x.o
854 ms: build/src/i3-ipc.o
**** Files that took longest to codegen (compiler backend):
863 ms: build/src/i3-commands.o
471 ms: build/i3bar/src/i3bar-xcb.o
377 ms: build/src/i3-con.o
360 ms: build/src/i3-ipc.o
306 ms: build/src/i3-x.o
290 ms: build/src/i3-main.o
238 ms: build/src/i3-config_parser.o
237 ms: build/src/i3-handlers.o
220 ms: build/i3-config-wizard/i3_config_wizard-main.o
214 ms: build/src/i3-bindings.o
**** Functions that took longest to compile:
209 ms: main (../../i3/src/main.c)
95 ms: manage_window (../../i3/src/manage.c)
57 ms: reconfig_windows (../../i3/i3bar/src/xcb.c)
55 ms: x_draw_decoration (../../i3/src/x.c)
49 ms: x_push_node (../../i3/src/x.c)
48 ms: handle_client_message (../../i3/src/handlers.c)
48 ms: dump_node (../../i3/src/ipc.c)
47 ms: GENERATED_call (../../i3/src/config_parser.c)
45 ms: config_string_cb (../../i3/i3bar/src/config.c)
44 ms: GENERATED_call (../../i3/src/commands_parser.c)
42 ms: floating_check_size (../../i3/src/floating.c)
40 ms: con_swap (../../i3/src/con.c)
40 ms: parse_config (../../i3/src/config_parser.c)
39 ms: main (../../i3/i3-nagbar/main.c)
39 ms: cmd_rename_workspace (../../i3/src/commands.c)
38 ms: window_update_normal_hints (../../i3/src/window.c)
38 ms: cmd_swap (../../i3/src/commands.c)
37 ms: dump_bar_config (../../i3/src/ipc.c)
36 ms: translate_keysyms (../../i3/src/bindings.c)
35 ms: tree_close_internal (../../i3/src/tree.c)
34 ms: match_matches_window (../../i3/src/match.c)
34 ms: floating_enable (../../i3/src/floating.c)
34 ms: json_string (../../i3/src/load_layout.c)
33 ms: x_push_changes (../../i3/src/x.c)
33 ms: main (../../i3/i3-config-wizard/main.c)
31 ms: free_configuration (../../i3/src/config.c)
30 ms: parse_file (../../i3/src/config_parser.c)
28 ms: load_font (../../i3/libi3/font.c)
28 ms: handle_configure_request (../../i3/src/handlers.c)
28 ms: parse_command (../../i3/src/commands_parser.c)
**** Function sets that took longest to compile / optimize:
*** Expensive headers:
29287 ms: ../../i3/include/libi3.h (included 78 times, avg 375 ms), included via:
i3-resize.o all.h data.h (576 ms)
a-g_utf8_make_valid.o (491 ms)
a-dpi.o (491 ms)
a-get_colorpixel.o (483 ms)
a-is_debug_build.o (478 ms)
a-strndup.o (478 ms)
...
29221 ms: ../../i3/include/all.h (included 39 times, avg 749 ms), included via:
i3-resize.o (946 ms)
i3-scratchpad.o (895 ms)
i3-restore_layout.o (865 ms)
i3-handlers.o (839 ms)
i3-drag.o (830 ms)
i3-config_directives.o (793 ms)
...
5195 ms: /usr/include/xcb/xcb.h (included 79 times, avg 65 ms), included via:
i3-handlers.o all.h (113 ms)
i3-restore_layout.o all.h (108 ms)
a-g_utf8_make_valid.o libi3.h (108 ms)
i3bar-xcb.o common.h (105 ms)
i3-scratchpad.o all.h (95 ms)
a-get_colorpixel.o libi3.h (89 ms)
...
4100 ms: /usr/include/math.h (included 41 times, avg 100 ms), included via:
i3-scratchpad.o all.h (180 ms)
i3-fake_outputs.o all.h (138 ms)
i3-regex.o all.h (130 ms)
i3-restore_layout.o all.h (128 ms)
i3-xcb.o all.h (121 ms)
i3-move.o all.h (119 ms)
...
4046 ms: ../../i3/i3bar/include/common.h (included 9 times, avg 449 ms), included via:
i3bar-main.o (503 ms)
i3bar-xcb.o (501 ms)
i3bar-workspaces.o (472 ms)
i3bar-parse_json_header.o (446 ms)
i3bar-child.o (438 ms)
i3bar-ipc.o (434 ms)
...
2713 ms: ../../i3/include/i3.h (included 41 times, avg 66 ms), included via:
i3-xcursor.o (450 ms)
i3-config_directives.o all.h ipc.h configuration.h (87 ms)
i3-config.o all.h ipc.h configuration.h (71 ms)
i3-manage.o all.h ipc.h configuration.h (70 ms)
i3-window.o all.h ipc.h configuration.h (68 ms)
i3-x.o all.h ipc.h configuration.h (61 ms)
...
1492 ms: /usr/include/xcb/xkb.h (included 42 times, avg 35 ms), included via:
i3-config_directives.o all.h ipc.h configuration.h i3.h (50 ms)
i3-config.o all.h ipc.h configuration.h i3.h (45 ms)
i3-window.o all.h ipc.h configuration.h i3.h (43 ms)
i3-x.o all.h ipc.h configuration.h i3.h (42 ms)
i3-manage.o all.h ipc.h configuration.h i3.h (41 ms)
i3-config_parser.o all.h ipc.h configuration.h i3.h (38 ms)
...
1432 ms: /usr/include/stdlib.h (included 79 times, avg 18 ms), included via:
i3-scratchpad.o all.h (48 ms)
i3-restore_layout.o all.h (36 ms)
i3-regex.o all.h (32 ms)
i3-key_press.o all.h (28 ms)
i3-commands.o all.h (28 ms)
i3-bindings.o all.h (24 ms)
...
1349 ms: /usr/include/pthread.h (included 79 times, avg 17 ms), included via:
i3bar-xcb.o common.h xcb.h (33 ms)
a-ucs2_conversion.o libi3.h xcb.h (32 ms)
i3-match.o all.h xcb.h (27 ms)
i3-scratchpad.o all.h xcb.h (25 ms)
a-g_utf8_make_valid.o libi3.h xcb.h (25 ms)
i3_config_wizard-main.o xcb.h (24 ms)
...
1151 ms: /usr/include/X11/Xlib.h (included 45 times, avg 25 ms), included via:
i3-output.o all.h data.h sn-launcher.h sn-common.h (50 ms)
i3-config_parser.o all.h data.h sn-launcher.h sn-common.h (43 ms)
i3-x.o all.h data.h sn-launcher.h sn-common.h (34 ms)
i3-config_directives.o all.h data.h sn-launcher.h sn-common.h (32 ms)
i3_config_wizard-main.o sn-launchee.h sn-common.h (30 ms)
i3-drag.o all.h data.h sn-launcher.h sn-common.h (29 ms)
...
```
Timing after:
```
Analyzing build trace from ...
**** Time summary:
Compilation (81 times):
Parsing (frontend): 47.6 s
Codegen & opts (backend): 7.6 s
**** Files that took longest to parse (compiler frontend):
1154 ms: build/src/i3-commands.o
929 ms: build/src/i3-display_version.o
852 ms: build/src/i3-bindings.o
847 ms: build/src/i3-con.o
806 ms: build/src/i3-ipc.o
801 ms: build/src/i3-floating.o
792 ms: build/src/i3-main.o
792 ms: build/src/i3-drag.o
792 ms: build/src/i3-window.o
776 ms: build/src/i3-config_directives.o
**** Files that took longest to codegen (compiler backend):
885 ms: build/src/i3-commands.o
422 ms: build/i3bar/src/i3bar-xcb.o
382 ms: build/src/i3-con.o
348 ms: build/src/i3-x.o
288 ms: build/src/i3-ipc.o
268 ms: build/src/i3-handlers.o
254 ms: build/src/i3-main.o
251 ms: build/src/i3-floating.o
249 ms: build/src/i3-config_parser.o
194 ms: build/src/i3-randr.o
**** Functions that took longest to compile:
186 ms: main (../../i3/src/main.c)
95 ms: manage_window (../../i3/src/manage.c)
65 ms: floating_check_size (../../i3/src/floating.c)
63 ms: x_draw_decoration (../../i3/src/x.c)
58 ms: handle_client_message (../../i3/src/handlers.c)
55 ms: x_push_node (../../i3/src/x.c)
54 ms: match_matches_window (../../i3/src/match.c)
51 ms: parse_config (../../i3/src/config_parser.c)
49 ms: dump_node (../../i3/src/ipc.c)
47 ms: reconfig_windows (../../i3/i3bar/src/xcb.c)
47 ms: config_string_cb (../../i3/i3bar/src/config.c)
45 ms: GENERATED_call (../../i3/src/config_parser.c)
45 ms: GENERATED_call (../../i3/src/commands_parser.c)
43 ms: floating_enable (../../i3/src/floating.c)
42 ms: handle_configure_request (../../i3/src/handlers.c)
40 ms: con_swap (../../i3/src/con.c)
36 ms: main (../../i3/i3-input/main.c)
36 ms: main (../../i3/i3-msg/main.c)
36 ms: main (../../i3/i3-nagbar/main.c)
36 ms: cmd_move_con_to_workspace_number (../../i3/src/commands.c)
35 ms: json_string (../../i3/src/load_layout.c)
35 ms: tree_restore (../../i3/src/tree.c)
35 ms: cmd_swap (../../i3/src/commands.c)
34 ms: x_push_changes (../../i3/src/x.c)
32 ms: main (../../i3/i3-config-wizard/main.c)
32 ms: ewmh_setup_hints (../../i3/src/ewmh.c)
31 ms: match_parse_property (../../i3/src/match.c)
30 ms: cmd_mark (../../i3/src/commands.c)
30 ms: translate_keysyms (../../i3/src/bindings.c)
30 ms: window_update_normal_hints (../../i3/src/window.c)
**** Function sets that took longest to compile / optimize:
*** Expensive headers:
29596 ms: ../../i3/include/libi3.h (included 78 times, avg 379 ms), included via:
a-get_config_path.o (539 ms)
i3_dump_log-main.o (522 ms)
i3_config_wizard-main.o (501 ms)
a-fake_configure_notify.o (500 ms)
a-root_atom_contents.o (488 ms)
i3-display_version.o all.h (466 ms)
...
26054 ms: ../../i3/include/all.h (included 41 times, avg 635 ms), included via:
i3-display_version.o (901 ms)
i3-drag.o (775 ms)
i3-ewmh.o (703 ms)
i3-startup.o (693 ms)
i3-commands.o (687 ms)
i3-xcb.o (680 ms)
...
5345 ms: /usr/include/xcb/xcb.h (included 79 times, avg 67 ms), included via:
i3-display_version.o all.h (173 ms)
i3_input-keysym2ucs.o keysym2ucs.h (106 ms)
i3-ewmh.o all.h (106 ms)
a-fake_configure_notify.o libi3.h (103 ms)
a-get_config_path.o libi3.h (95 ms)
i3bar-parse_json_header.o common.h (93 ms)
...
4127 ms: ../../i3/i3bar/include/common.h (included 9 times, avg 458 ms), included via:
i3bar-child.o (524 ms)
i3bar-mode.o (486 ms)
i3bar-outputs.o (464 ms)
i3bar-parse_json_header.o (463 ms)
i3bar-config.o (457 ms)
i3bar-ipc.o (448 ms)
...
1542 ms: /usr/include/xcb/xkb.h (included 42 times, avg 36 ms), included via:
i3-con.o all.h ipc.h configuration.h i3.h (60 ms)
i3-render.o all.h ipc.h configuration.h i3.h (56 ms)
i3-bindings.o all.h ipc.h configuration.h i3.h (56 ms)
i3-sighandler.o all.h ipc.h configuration.h i3.h (48 ms)
i3-xcb.o all.h ipc.h configuration.h i3.h (47 ms)
i3-resize.o all.h ipc.h configuration.h i3.h (39 ms)
...
1456 ms: /usr/include/stdlib.h (included 79 times, avg 18 ms), included via:
i3-drag.o all.h (60 ms)
i3-display_version.o all.h (55 ms)
i3-fake_outputs.o all.h (39 ms)
i3-config_directives.o all.h (33 ms)
i3-xcursor.o all.h (30 ms)
i3bar-mode.o common.h libi3.h pango.h pango-attributes.h pango-font.h pango-coverage.h glib-object.h gbinding.h glib.h gasyncqueue.h gthread.h gutils.h (29 ms)
...
1136 ms: /usr/include/X11/Xlib.h (included 44 times, avg 25 ms), included via:
i3-con.o all.h data.h sn-launcher.h sn-common.h (35 ms)
i3-resize.o all.h data.h sn-launcher.h sn-common.h (34 ms)
i3-util.o all.h data.h sn-launcher.h sn-common.h (33 ms)
i3-assignments.o all.h data.h sn-launcher.h sn-common.h (33 ms)
i3-sighandler.o all.h data.h sn-launcher.h sn-common.h (31 ms)
i3-xcb.o all.h data.h sn-launcher.h sn-common.h (31 ms)
...
808 ms: /usr/include/stdio.h (included 79 times, avg 10 ms), included via:
i3-drag.o all.h (19 ms)
i3-fake_outputs.o all.h (18 ms)
a-font.o libi3.h (16 ms)
i3bar-child.o common.h libi3.h (15 ms)
a-safewrappers.o libi3.h (15 ms)
a-ipc_send_message.o libi3.h (13 ms)
...
770 ms: /usr/include/xcb/randr.h (included 42 times, avg 18 ms), included via:
i3-click.o all.h data.h (29 ms)
i3-commands.o all.h data.h (27 ms)
i3-assignments.o all.h data.h (25 ms)
i3-xcb.o all.h data.h (21 ms)
i3-resize.o all.h data.h (21 ms)
i3-sighandler.o all.h data.h (20 ms)
...
688 ms: /usr/include/math.h (included 6 times, avg 114 ms), included via:
a-dpi.o (145 ms)
i3-render.o (127 ms)
i3-floating.o (106 ms)
a-root_atom_contents.o (106 ms)
i3-window.o (102 ms)
i3-bindings.o (99 ms)
...
```
2020-04-20 05:54:17 +02:00
Orestis Floros
2954125324
nagbar: Remove i3-nagbar.h
2020-04-20 04:25:45 +02:00
Orestis Floros
0b62129224
Remove unused headers
...
With help from
https://github.com/include-what-you-use/include-what-you-use/
2020-04-20 04:25:06 +02:00
Orestis Floros
3c522d9f2f
Sort includes in *.c files
...
Not enabling in .clang-format because it breaks headers files.
Used:
IncludeCategories:
- Regex: '^<config'
Priority: 0
- Regex: '^".*"'
Priority: 1
- Regex: '^<(xcb|xkb|yajl|X11)'
Priority: 3
- Regex: '.*'
Priority: 2
2020-04-19 09:58:25 +02:00
Orestis Floros
e9f011397a
libi3: Make visual_type extern
...
See #3914
2020-02-01 17:32:54 +01:00
Nguyễn Thái Ngọc Duy
6462cf1ca3
Remove \n from errx and die messages
...
errx() already appends \n internally. "\n" in the error message will
result in a blank line after the message. die() is just a wrapper around
errx() so it receives the same treatment.
2019-01-02 14:23:56 +02:00
Orestis Floros
2a9522dda4
Enforce strict prototypes
...
i3 will now compile with no warnings when -Wstrict-prototypes is used.
2018-10-13 21:10:09 +03:00
Orestis Floros
50880db2c5
Reduce some code around frees
2018-10-13 21:10:09 +03:00
Orestis Floros
d080f58299
i3-nagbar & i3-config-wizard: check sncontext != NULL
...
From
07237ff25d/libsn/sn-common.c (L87-L171)
it appears that SnDisplay can't be NULL, so I skipped the check.
Fixes #3419
2018-09-23 17:06:29 +03:00
Orestis Floros
bf1cb39b4b
Support startup-notification in i3-nagbar & i3-config-wizard
...
The default i3 config uses the `exec` command without `--no-startup-id`
to launch:
1. i3-nagbar
4cba9fcbda/etc/config (L150)
2. i3-config-wizard
4cba9fcbda/etc/config (L194)
A user that opens i3 for the first time will be greeted with a "loading"
cursor because of i3-config-wizard.
2018-08-25 14:54:16 +03:00
Orestis Floros
a8b90317a0
i3-config-wizard: fix small memleak
2018-08-25 14:54:16 +03:00
Orestis Floros
e6202d43f5
Apply compatible changes from clang-format 6.0.1
...
These are the changes that clang-format 6.0.1 makes to the codebase that
clang-format-3.8 doesn't change back.
Useful for those that use a more recent version of clang-format in their
local machines.
2018-08-22 14:51:17 +03:00
Orestis Floros
aca7790217
Fix redundant return statements
...
… at the end of a function with a void return type.
Found using clang-tidy's readability-redundant-control-flow.
2018-04-27 00:09:42 +03:00
Joona
4e0bf58109
Add --modifier flag to i3-config-wizard ( #3210 )
...
Add --modifier flag to i3-config-wizard
The --modifier flag accepts either alt or win, and will generate the
configuration file without opening a window.
Also adds i3-config-wizard's flags to the manpage.
Fixes #3136 .
2018-03-30 13:57:41 +03:00
Ingo Bürk
f6f198c3fe
Merge pull request #3058 from d-e-s-o/fix-FREE
...
do not check for NULL in FREE macro
2017-11-29 08:33:27 +01:00
Michael Stapelberg
c07936d91b
no-op refactoring: make ipc_connect find socket path
2017-11-26 16:41:59 +01:00
Daniel Mueller
865bd462b4
do not check for NULL in FREE macro
...
free(3) is safe to invoke on a NULL pointer, in which case no action is
taken. This change adjusts the FREE macros to omit this unnecessary
check.
2017-11-23 15:41:33 -08:00
mihaicmn
fa488d721d
migrate i3-config-wizard to draw_util ( #2654 )
2017-01-24 23:18:13 -08:00
Ingo Bürk
d58dbc3a77
Only react on the last Expose event in a series of events. ( #2636 )
...
Thanks to @psychon for pointing this out during the review of PR #2624 .
This commit extends this change to all other occurences of Expose events
within i3.
2017-01-13 09:34:58 -08:00
mihaicmn
f25c3d5e77
Use the DPI setting within the i3-config-wizard and i3-nagbar ( #2585 )
2016-11-28 22:07:45 +01:00
Michael Stapelberg
f354f53435
Ensure all *.[ch] files include config.h
...
Including config.h is necessary to get e.g. the _GNU_SOURCE define and
any other definitions that autoconf declares. Hence, config.h needs to
be included as the first header in each file.
This is done either via:
1. Including "common.h" (i3bar)
2. Including "libi3.h"
3. Including "all.h" (i3)
4. Including <config.h> directly
Also remove now-unused I3__FILE__, add copyright/license statement
where missing and switch include/all.h to #pragma once.
2016-10-23 21:09:24 +02:00
Alex Auvolat
c6a4e4519f
Correct color management for pango fonts
...
Corrects the cases where the colorpixel is not 0xRRGGBB : we have to
use the full color_t struct to describe font colors, as Pango expects
RGB values and not an XCB colorpixel value.
2015-12-29 14:26:21 +01:00
Michael Stapelberg
419b73be9e
Merge pull request #1816 from tcreech/tcreech-for-illumos
...
Changes for compiling i3 on Illumos
2015-08-04 00:10:06 -07:00
shdown
c85d16faa4
Use safe wrappers wherever possible
2015-08-03 12:50:50 +03:00
shdown
bc52fae15c
libi3: change scalloc() signature to match calloc()
2015-08-03 12:50:13 +03:00
Tim Creech
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
Deiz
884214f14f
Update copyright notices and get rid of ranges
...
The script used to make these changes can be found at:
https://gist.github.com/Deiz/32322020f76d23e2bf8f
2015-04-20 17:50:21 -04:00
Deiz
9b8c2b1d1a
Respect XDG config directories in i3-config-wizard
...
$XDG_CONFIG_HOME is used for the config's write path, and the wizard
terminates if a config is found in ~/.i3 or $XDG_CONFIG_HOME/i3
2015-03-29 23:32:42 -04:00
Deiz
4daed31c3e
Move resolve_tilde and get_config_path into libi3
2015-03-29 14:45:42 -04:00
Deiz
0aa18a602d
Make wizard window size and click coordinates dependent on font
...
This guarantees the whole visible area of the pixmap is reinitialized,
and ensures that the click bounding boxes are properly aligned with
the displayed text.
2015-03-28 15:35:19 -04:00
Deiz
95fa121c56
Switch the wizard's modifier choice when up or down are pressed
2015-03-28 13:00:19 -04:00
Michael Stapelberg
ad31b13cb6
update default fonts for i3-{input,config-wizard,nagbar}
...
We’ve done this a while ago in i3.config itself, but the tools in
question aren’t hooked up to that setting, so we need to do it here as
well.
2015-03-26 10:03:30 +01:00
Michael Stapelberg
414290df56
make i3-config-wizard work properly on hi-dpi displays
2015-03-26 10:00:13 +01:00
Michael Stapelberg
091f1db39a
run clang-format (3.5.0)
...
Not quite sure why there are so many differences. Perhaps we’ve gotten
out of the habit of running clang-format after every change.
I guess it’d be best to have a travis hook that runs clang-format for us
and reports any problems on pull requests.
2015-03-01 17:16:03 +01:00
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