Commit Graph

42 Commits (8353a387c99cb2d5b90bbc83bb3b41fb2a0895a1)

Author SHA1 Message Date
haptix@web.de e3913093b6 introduced i3 command for changing the hidden state and the mode of i3bar
The hidden_state and mode of each i3bar instance can now be controlled from within i3.
Therefore, two new i3 command were introduced:
    _
    bar hidden_state show|hide|toggle [<bar_id>]

    show: always show the bar
    hide: normal hide mode
    toggle: toggle between show and hide (individually for each bar)
    _
    bar mode dock|hide|invisible|toggle [<bar_id>]

    hide,dock: like before
    invisible: always keep the bar hidden
    toggle: toggle between dock and hide (individually for each bar)

This patch introduces a hidden_state ("hidden_state hide|show") in the
barconfig, which indicates the current hidden_state of each i3bar
instance. It only affects the bar when in hide mode. Additionally, a new
invisible mode was introduced. In order to change the hidden_state or
mode of the bar from i3, a barconfig-update event was introduced, for
which a bar can subscribe and the bar then gets notified about the
currently set hidden_state and mode in its barconfig.

For convenience, an id field ("id <bar_id>") was added to the barconfig, where one can
set the desired id for the corresponding bar. If the id is not specified, i3 will
deterministically choose an id; otherwise, with the previous random approach for finding
a new id, which is actually not shared with i3bar, as it would determine its id on
startup, the event-subscription would be destroyed on reload. Still, this issue remains
when manually changing the bar_id in the config and then reloading.

fixes #833, #651
2013-05-25 23:00:36 +02:00
Michael Stapelberg f2ca568202 i3bar: set _NET_SYSTEM_TRAY_COLORS for symbolic icons (gtk3+) 2013-01-02 23:14:30 +01:00
Pavel Löbl 6148136e7c i3bar: Add current binding mode indicator 2012-11-16 13:44:29 +01:00
Quentin Glidic 830829922b i3bar: Allow to force unhide with draw_bars 2012-09-22 15:15:57 +02:00
eeemsi b9255f51f8 Use (void) instead of () for functions without args 2012-08-23 19:34:37 +02:00
Michael Stapelberg 3a378f7cb1 i3bar: don’t immediately redraw bars after kicking tray clients 2012-04-24 12:04:35 +02:00
Michael Stapelberg 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
Michael Stapelberg 726f2a1e5a normalize file headers across **/*.{h,c} 2011-10-25 21:19:38 +01:00
Michael Stapelberg 35bd2d27c0 i3bar: put tray icons in the save-set (prevents them from crashing when i3bar exits/crashes) 2011-10-24 20:11:32 +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 d71db710dd i3bar: use safewrappers from libi3 2011-10-21 19:30:46 +01:00
Michael Stapelberg c5caa9682c i3bar: don’t reconnect, but exit(0) on EOF
Since i3 starts i3bar instances as necessary, EOF is considered a signal to
either shutdown because i3 exited or because it is restarting.
2011-10-20 19:08:41 +01:00
Michael Stapelberg 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
Michael Stapelberg 64a7017c32 i3bar: add modelines to all files 2011-10-09 14:28:20 +01:00
Michael Stapelberg fef5a69b09 Mac OS X fixes: include string.h, add strndup(), disable xmllint for the docs 2011-08-01 16:17:59 +02:00
Axel Wagner 3302b22f71 Bugfix: Delay event-subscription until reconnect (thx aniou) 2011-07-31 18:26:52 +02:00
Axel Wagner 8d09ed7bf5 Update changelog and copyright, bump version and more 2011-07-31 16:16:17 +02:00
Axel Wagner 8734337fb5 Stop the reconn-timer before starting it again, else it's running twice 2011-07-15 01:31:02 +02:00
Axel Wagner 778268c9bb Fix unaligned memory access on sparc (Thanks David Coppa) 2011-05-03 12:38:57 +02:00
Axel Wagner e7c2b25ddd Fix compiler-warnings from libev 2011-04-28 19:54:31 +02:00
Axel Wagner ed5ac7f41d Implement disabling the workspace buttons („thx“ sECuRE) 2011-04-21 20:24:02 +02:00
Axel Wagner edcc373077 Fix typo in comment (thx sECuRE) 2011-03-20 19:52:20 +01:00
Axel Wagner aaf60c6321 Don't reallocate the backbuffer on every refresh (thx sECuRE) 2011-03-19 22:27:35 +01:00
Fernando Tarlá Cardoso Lemos c8032d552d Correct minor issues reported by the analyzer.
Found with the Clang Static Analyzer.
2011-02-26 03:03:30 +01:00
Axel Wagner 4762152e1c Display socket-path in connection-error-message 2011-01-14 17:33:40 +01:00
Axel Wagner 497a091fbb Use strerror() for more usefull errormessages 2011-01-01 16:55:13 +01:00
Axel Wagner b40b921228 Fix typo (thx julien) 2011-01-01 15:36:30 +01:00
Axel Wagner 3daab599ca Bugfix: Recover from closed socket 2010-12-26 20:03:06 +01:00
Axel Wagner 920721bb93 Use DLOG/ELOG-macros, provide --verbose-option 2010-09-17 06:49:28 +02:00
Axel Wagner 93453c64f2 Add some more comments 2010-09-17 05:26:31 +02:00
Axel Wagner 60da522e13 Add licensing information 2010-08-07 18:05:16 +02:00
Axel Wagner cee972280d Add comments 2010-08-07 02:10:05 +02:00
Axel Wagner 55047c1633 Refresh the workspace-list on output-events 2010-08-06 05:52:01 +02:00
Axel Wagner 1daa395a77 Added Unicode-Support 2010-08-06 03:32:05 +02:00
Axel Wagner 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
Axel Wagner 51d466c41c Cleanup some Memory Leaks 2010-08-04 04:07:16 +02:00
Axel Wagner 27aa9a640e Display statusline (without formats) 2010-08-04 03:34:18 +02:00
Axel Wagner 8595d3bb48 Change the indention-style 2010-08-03 21:20:11 +02:00
Axel Wagner 8a274bd279 Draw the workspace-buttons 2010-07-26 17:21:46 +02:00
Axel Wagner 72b55fdd4f Get outputs on start. Create dock window for every output. 2010-07-23 05:04:13 +02:00
Axel Wagner fb2afacce3 Rework the IPC-Code 2010-07-23 04:43:43 +02:00
Axel Wagner 02df973564 Start tracking changes 2010-07-22 01:15:18 +02:00