Commit Graph

49 Commits

Author SHA1 Message Date
2a9522dda4 Enforce strict prototypes
i3 will now compile with no warnings when -Wstrict-prototypes is used.
2018-10-13 21:10:09 +03:00
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
9bf346c7a0 Remove compatibility definitions for xcb-util < 0.3.8 (#2473)
Even Debian oldstable has xcb-util 0.3.8.
2016-09-24 09:48:32 -07:00
19fd6817af Refactor extern definition of conn and root_screen 2015-12-29 12:47:12 +01:00
dc05d905c1 Optionally change i3bar color on focused output, implements #2020 2015-10-27 09:12:57 -04:00
410c5da7cf Use cairo for all drawing operations in i3bar.
fixes #1878
2015-10-05 09:29:17 +02:00
9b691bcca2 Introduce a config directive 'binding_mode' in the 'bar' config, pass it through the IPC and parse it in i3bar. 2015-05-31 16:49:09 +02:00
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
a952ae74f4 Use a reasonable default sep_block_width if a separator_symbol is given 2015-04-03 22:54:59 +02:00
6922a820a6 i3bar: spelling fixes (2) 2015-03-24 15:41:16 +03:00
e8704bb33b i3bar: spelling fixes 2015-03-23 22:56:49 +03:00
4c06e7a573 clang-format-3.5 **/*.h **/*.c
This should be the last commit that formats a big bunch of files. From
here on, whenever I merge patches, I’ll run clang-format like described
in the title.
2014-06-19 11:20:32 +02:00
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
4937788e8d Fix wrong placement of i3bar when connecting/disconnecting outputs
When connecting or disconnecting an output, i3bar reconfigures its
windows. This also included an unmapping of the bars, and a remapping of
all docked bars. Thus, the bars were misplaced when a monitor was
disconnected.

This commit assures that the remapping of the bars only takes place,
when the mode has actually changed. This patch also takes care of an
inconsistency when pressing the bar_modifier while switching the mode.
Also, the xkbDisplay is now closed correctly, when deregestering the xkb
keyevents.
2013-05-30 12:18:27 +02:00
5f05ca6b5d Separator color via config; separator width and on/off via ipc
This patch adds the following features:
1) Configure a color of the separator via config.  It is done like
   bar {
      colors {
         separator #000000
      }
   }
2) A block can have an integer entry "separator_block_width" which
   sets the width of the gap which would follow after the current block.

3) A block can have a boolean entry "separator" and if it is set
   to false, then the drawing of the separating line would be disabled.
2013-02-18 10:44:44 +01:00
f2ca568202 i3bar: set _NET_SYSTEM_TRAY_COLORS for symbolic icons (gtk3+) 2013-01-02 23:14:30 +01:00
6148136e7c i3bar: Add current binding mode indicator 2012-11-16 13:44:29 +01:00
830829922b i3bar: Allow to force unhide with draw_bars 2012-09-22 15:15:57 +02:00
b9255f51f8 Use (void) instead of () for functions without args 2012-08-23 19:34:37 +02:00
17e4d7ede1 i3bar: kick tray clients after output configuration changed
This makes i3bar reflect xrandr --output foo --primary changes immediately.
2012-04-22 20:43:52 +02:00
31b7ec29fd Re-implement bar borders (by Angelo Haller)
This re-introduces borders around the workspace buttons in i3bar.
No additional pixels will be consumed (you will not lose any space for your
windows).
2012-01-20 21:36:50 +00:00
5c2088c87e Enhance libi3 and use it in i3bar.
Abstracted draw_text and predict_text_width into libi3. Use
predict_text_width from libi3 in i3 too. This required tracking
xcb_connection in a xcb_connection_t *conn variable that libi3
expects to be available in i3bar.
2011-11-21 20:52:26 +00:00
726f2a1e5a normalize file headers across **/*.{h,c} 2011-10-25 21:19:38 +01:00
a5be27cb79 Make i3bar get its config from i3 via IPC
In order to not duplicate configuration options and make stuff confusing, we
dropped the commandline flags (except for socket_path and bar_id). This means
that you *have to* specify bar_id when starting i3bar. The best way is to let
i3 start i3bar, which it will do automatically for every bar {} configuration
block it finds.
2011-10-19 22:58:19 +01:00
06ba1c0e65 Fix compilation with xcb 0.3.6 2011-08-24 01:18:27 +02:00
55e503c17b i3bar: request the appropriate _NET_SYSTEM_TRAY atom for the display we are running on 2011-08-24 01:18:27 +02:00
893878cbcc i3bar: send XEMBED_EMBEDDED_NOTIFY after reparenting/mapping tray clients 2011-08-24 01:18:27 +02:00
737cd10bdf i3bar: properly handle the _XEMBED_INFO property 2011-08-24 01:18:27 +02:00
94d55f34e1 i3bar: Fix prototypes (thx sECuRE) 2011-08-10 23:54:27 +02:00
8d09ed7bf5 Update changelog and copyright, bump version and more 2011-07-31 16:16:17 +02:00
52e70c3802 Add Color for focused ws (thx phnom) 2011-03-20 19:29:30 +01:00
aaf60c6321 Don't reallocate the backbuffer on every refresh (thx sECuRE) 2011-03-19 22:27:35 +01:00
2fd7449e29 Add support for I3_SOCKET_PATH-atom 2011-03-19 22:06:08 +01:00
992612c89d Some stylechanges to previous commit 2010-11-04 12:27:10 +01:00
6376cf99d2 Custom colors can be set from the command line. 2010-11-04 11:51:26 +01:00
c82556f0f2 Use only xcb_query_font() 2010-09-17 03:51:41 +02:00
7fda48aa9f We don't need get_string_width anymore 2010-09-17 03:11:49 +02:00
14b885adf1 Only copy the double-buffer on expose-events 2010-08-22 10:24:32 +02:00
60da522e13 Add licensing information 2010-08-07 18:05:16 +02:00
cee972280d Add comments 2010-08-07 02:10:05 +02:00
1daa395a77 Added Unicode-Support 2010-08-06 03:32:05 +02:00
7d7867acce Be more strict with encapsulation
I.e. move the xcb-event-handling into xcb.c and the
child-process-communications into newly created child.c.
Also change some includes.
2010-08-05 05:09:59 +02:00
27aa9a640e Display statusline (without formats) 2010-08-04 03:34:18 +02:00
8595d3bb48 Change the indention-style 2010-08-03 21:20:11 +02:00
43c057f19a Migrate to queue.h 2010-07-30 03:11:54 +02:00
ff2ee04e0d Use font-size to correctly determine the size of the bars and buttons. 2010-07-27 02:16:49 +02:00
8a274bd279 Draw the workspace-buttons 2010-07-26 17:21:46 +02:00
72b55fdd4f Get outputs on start. Create dock window for every output. 2010-07-23 05:04:13 +02:00
02df973564 Start tracking changes 2010-07-22 01:15:18 +02:00