Commit Graph

269 Commits

Author SHA1 Message Date
Michael Stapelberg 2d1ebc2b90 Bugfix: memleak: because we use i3string_from_utf8(), we need to free buffer()
Previously, buffer was directly used and thus not freed, but
i3string_from_utf8() makes a copy.
2012-09-03 00:42:14 +02:00
eeemsi b9255f51f8 Use (void) instead of () for functions without args 2012-08-23 19:34:37 +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
Fernando Tarlá Cardoso Lemos edd9007ebf i3bar: Rename xcb_screen to root_screen for consistency 2012-08-13 11:37:34 +02:00
Quentin Glidic 210fc6dfed libi3: Rework predict_text_width
predict_text_width now takes an i3String as argument
2012-08-13 11:37:23 +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 bbd1b16043 i3bar: Port to i3String 2012-08-13 11:30:05 +02:00
Quentin Glidic 50d52f8f9b i3bar/util.h: Prepare for libi3.h inclusion 2012-08-13 11:29:22 +02:00
Quentin Glidic b01545b131 Makefile: Always link libi3 first 2012-08-13 02:00:01 +02:00
Michael Stapelberg e53405c216 i3bar: be less strict about the {"version":1} JSON header 2012-08-12 18:40:15 +02:00
darkraven 875130e7e8 Automatically hide i3bar when it's unneeded.
When a workspace marked 'urgent', i3bar unhide
itself. if I want to hide it again, I must press the
modifier.This sometimes annoys me.

In this patch I change the above behavior to this:
If a urgent workspace occurs, i3bar will unhide itself;
and when you navigates away from the last urgent
workspace and there is no more urgent workspace, i3bar
will hide itself.
2012-08-02 01:44:25 +02:00
Quentin Glidic 0b4ee7a1da common.mk: Split XCB common flags 2012-07-23 00:12:55 +02:00
Quentin Glidic fde8c0dd85 common.mk: Split Xlib flags 2012-07-23 00:04:01 +02:00
Quentin Glidic 85b261c162 common.mk: Split yajl flags 2012-07-22 23:53:51 +02:00
Quentin Glidic 30934ea316 common.mk: Split libev flags 2012-07-22 23:53:51 +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 8029fae6a9 Move mans to the new Makefile layout 2012-07-22 20:27:13 +02:00
Quentin Glidic e452acb30e Add stub Makefiles to allow subdir make calls 2012-07-22 19:57:48 +02:00
Quentin Glidic 1a1eb0f3f2 Move i3bar to the new Makefile layout 2012-07-22 19:57:22 +02:00
Michael Stapelberg 8f2e225db9 i3bar: Fix warnings with libyajl1 (Thanks prg)
yajl1 has the status yajl_status_insufficient_data, which in our stream
parsing context basically means "ok". Therefore, in yajl1, we no longer
print an error in this case.
2012-07-16 19:23:37 +02:00
Marcel Hellwig 3daa3e052f Don't display empty strings from i3status in i3bar 2012-07-11 19:06:02 +02:00
Michael Stapelberg 8a3574f301 i3bar: inform _all_ clients of new tray selection owner
This fixes a problem with X-chat (and possibly others).

Fixes: #745
2012-07-10 22:52:14 +02:00
Michael Stapelberg 599f7cc2a4 i3bar: handle clicks with negative coordinates (Thanks Julian)
This can happen if you move your mouse pointer to the very left of the
screen and then click. For better usability, we handle this edge case
like a click on pixel 0.
2012-06-10 21:04:51 +02:00
Michael Stapelberg 156a06e495 i3bar: Don’t crash when full_text is missing or null in the JSON input (Thanks fernandotcl) 2012-05-12 08:23:51 +02:00
TunnelWicht 4f93e0587a don’t wrap when changing workspaces by mouse wheel scrolling 2012-05-09 20:16:02 +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 17b477d25d i3bar: when kicking tray clients, remove them immediately
This should fix empty spaces showing up instead of tray icons sometimes.
2012-04-22 20:53:01 +02:00
Michael Stapelberg 78891c1c62 i3bar: when tray_output == primary and there is no primary output, fall back to the first available output 2012-04-22 20:51:15 +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 189b27b01e i3bar: Bugfix: Properly update the primary flag 2012-04-22 20:43:43 +02:00
Michael Stapelberg 54222d5617 Merge branch 'master' into next 2012-04-22 20:11:25 +02:00
Michael Stapelberg 97d17f2f5b i3bar: Bugfix: Properly reparent tray clients before killing the bar window when outputs disappear
Fixes: #655
2012-04-22 20:10:29 +02:00
Michael Stapelberg 24ac6e32aa Bugfix: Properly terminate lines not ending with a newline (Thanks xeen)
Previously, we didn’t check for a newline and thus could be corrupting
formerly valid UTF-8 input, such as
    echo -n '↓'

Fixes: #671
2012-04-07 19:15:41 +02:00
Jose Pereira 9a58c1fcaa Added option to select primary display on tray_output 2012-04-05 14:42:07 +02:00
Michael Stapelberg d519659ea7 i3bar: kill child processes when exit()ing (they might be stopped) (Thanks darkraven) 2012-03-26 17:36:00 +02:00
Michael Stapelberg 607ba6fcde i3bar: Fix memory for old plain-text input (Thanks Han) 2012-03-19 22:30:20 +01:00
Michael Stapelberg e7761a342b Merge branch 'master' into next 2012-03-19 21:42:08 +01:00
Michael Stapelberg 8b4ad8c6bd Fix i3bar when using multiple displays (Thanks brimstone) 2012-03-19 21:41:45 +01:00
Michael Stapelberg a3ee8491fd i3bar: compile with yajl < 2 2012-02-16 23:41:58 +00:00
Michael Stapelberg 31b9d24c2b Implement the i3bar JSON protocol (with fallback to plain text)
If the first line of the input starts with {"version":, then the input is
considered to be JSON, otherwise it is interpreted as plain text.

Only the "full_text" and "color" parts of a block are currently understood by
i3bar.
2012-02-16 23:28:18 +00:00
Michael Stapelberg fd2ff3a6ef Bugfix: insert ending double quote at the right position (Thanks mxf) 2012-02-10 19:55:40 +00:00
Michael Stapelberg 2f8d3d3390 Bugfix: Properly handle workspace names with double quotes (+test) (Thanks kvapen) 2012-02-07 22:50:27 +00:00
Fernando Tarlá Cardoso Lemos 8b29250c32 Fix the text alignment in the workspace indicator.
We now use 5px padding for the workspace text on both sides. Some
fonts will look off-by-one (e.g. fixed), but that's because X core
fonts have padding. This padding is per-char, varies wildly across
different fonts, and would be a major pain to offset for. Even if
we could take this padding into account, this would probably make
things look even worse for some fonts.
2012-01-29 23:08:58 +00:00
Michael Stapelberg 0f360f16ab i3bar: make the ws buttons a bit smaller (like before) and improve the centering 2012-01-29 20:55:54 +00:00
Michael Stapelberg 144be37517 i3bar: correctly check errors when getting the _XEMBED_INFO property
This fixes a problem where starting gnome-settings-daemon (maybe other
programs, too) would leave an empty spot in i3bar’s tray area.
2012-01-28 10:22:43 +00:00
Marcelo Cerri 5a2673d08a Fixed worspace clicking area for i3bar (branch next) 2012-01-28 10:08:14 +00:00
Michael Stapelberg cc8a3c1019 i3bar: make the space between workspace buttons 1 px again 2012-01-28 10:05:51 +00:00
Michael Stapelberg 1d5071ebbe i3bar: ignore the "socket_path" config option (redundant anyway) 2012-01-20 22:29:24 +00:00