Commit Graph

307 Commits

Author SHA1 Message Date
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
fd2ff3a6ef Bugfix: insert ending double quote at the right position (Thanks mxf) 2012-02-10 19:55:40 +00:00
2f8d3d3390 Bugfix: Properly handle workspace names with double quotes (+test) (Thanks kvapen) 2012-02-07 22:50:27 +00:00
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
0f360f16ab i3bar: make the ws buttons a bit smaller (like before) and improve the centering 2012-01-29 20:55:54 +00:00
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
5a2673d08a Fixed worspace clicking area for i3bar (branch next) 2012-01-28 10:08:14 +00:00
cc8a3c1019 i3bar: make the space between workspace buttons 1 px again 2012-01-28 10:05:51 +00:00
1d5071ebbe i3bar: ignore the "socket_path" config option (redundant anyway) 2012-01-20 22:29:24 +00:00
b5c25761d5 Bugfix: i3bar: Use the correct keys when reading the color config 2012-01-20 22:03:52 +00: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
dbp
a3081c488a Allow different modifier keys for showing hidden i3bar. 2012-01-08 12:47:41 +00:00
561cf3719f little style fixes 2011-11-21 21:48:24 +00:00
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
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
fb11cc2d14 Consolidate all convert_* functions into libi3.
Some minor fixes along the way as well. Very minor stuff, unlikely
to ever be visible to the user.
2011-11-16 20:54:30 +00:00
7f9b65f6a7 i3bar: fix event handling
i3bar would only handle one event at a time instead of all pending events.
2011-11-09 23:23:21 +00:00
e85a352fcf i3bar: correctly handle unmapped tray clients, reconfigure tray icons after mapping/unmapping (Thanks IsoLnCHiP)
Fixes #550
2011-11-09 23:22:44 +00:00
f0cc13f356 i3bar: fix indention in src/child.c 2011-11-07 21:34:50 +00:00
d5613905c8 Plug minor leaks in string conversion routines. 2011-11-07 19:57:11 +00:00
ddf261432a i3bar: change default color for active workspace buttons to make them visible
Previously, you could not figure out which workspace is displayed on a screen
which is not focused.
2011-11-07 19:52:21 +00:00
a977b2d96e i3bar: fix -h output (Thanks IsoLnCHiP) 2011-10-31 20:44:55 +00:00
726f2a1e5a normalize file headers across **/*.{h,c} 2011-10-25 21:19:38 +01:00
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
9eda7fb6fb move strndup to libi3 2011-10-23 18:02:01 +01:00
ada4857ad2 Fix colors in i3bar (Thanks julien)
i3bar previously used get_colorpixel on strings without the leading # (ff0000
instead of #ff0000). Since it uses libi3’s get_colorpixel now we needed to
update a few places.
2011-10-23 17:48:44 +01:00
cb9bbcfccf Move get_colorpixel to libi3, use it everywhere else 2011-10-23 17:38:21 +01:00
4f57d49318 add libi3/ipc_connect, use it in i3-config-wizard, i3-input, i3bar 2011-10-23 17:18:14 +01:00
499d4c11e0 i3bar: make len an integer for %.*s in sasprintf 2011-10-23 16:39:39 +01:00
96f67a53a5 i3bar: check exit code of pipe() 2011-10-23 14:31:43 +01:00
9d15a00ba8 introduce sasprintf() in libi3, use it everywhere 2011-10-23 13:16:56 +01:00
bc2c63d4ed i3bar: change default font to the i3 default one 2011-10-22 15:00:31 +01:00
3ee8bd502d i3bar: change default colors to fit the i3 look & feel
The new default looks like this (like in docs/userguide):

	colors {
		background #000000
		statusline #ffffff
		focused_workspace  #ffffff #285577
		active_workspace   #888888 #222222
		inactive_workspace #888888 #222222
		urgent_workspace   #ffffff #900000
	}

If you want to go back to the previous colors, use:

	colors {
		background #000000
		statusline #ffffff
		focused_workspace  #ffffff #480000
		active_workspace   #ffffff #480000
		inactive_workspace #ffffff #240000
		urgent_workspace   #ffffff #002400
	}
2011-10-22 12:34:06 +01:00
014c3e4b95 i3bar: Bugfix: Don’t crash when tray_output is not set (Thanks fernandotcl) 2011-10-21 23:15:15 +01:00
15f021b4fc i3bar: Implement the output option 2011-10-21 22:17:41 +01:00
6de1590e59 i3bar: spit out an error on wrong bar id 2011-10-21 20:04:55 +01:00
a3b7ba15ed i3bar: also use the position option when in 'hide' mode 2011-10-21 19:59:25 +01:00
8a24be9555 i3bar: implement the tray_output option 2011-10-21 19:47:56 +01:00
d71db710dd i3bar: use safewrappers from libi3 2011-10-21 19:30:46 +01:00
cf67966fa0 i3bar: document -b in --help (Thanks mxf) 2011-10-21 18:59:59 +01:00
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
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
fb4b012013 i3bar: Bugfix: Add tray icon padding when calculating text position (Thanks Bacardi55) 2011-10-10 15:09:39 +01:00
c5e9527abc i3bar: include xcb_compat.h for older XCB versions (Thanks motif) 2011-10-10 11:37:56 +01:00
a70e2057c8 i3bar: set WM_CLASS and WM_NAME 2011-10-09 14:45:23 +01:00
64a7017c32 i3bar: add modelines to all files 2011-10-09 14:28:20 +01:00
e77f08d1fc i3bar: handle ConfigureRequests for tray children (fixes gtk3 size issue)
Thanks to yvesf for this simple python test script:

    from gi.repository import Gtk as gtk

    def cb(*a):
        print a

    def si_popup(*a):
        print a

    status_icon = gtk.StatusIcon()
    status_icon.set_from_stock(gtk.STOCK_OPEN)
    status_icon.connect("activate", cb)

    gtk.main()
2011-10-09 13:50:46 +01:00
b561b911ee i3bar: add modeline to src/xcb.c 2011-10-09 13:50:39 +01:00
0c51b57b99 Merge branch 'master' into next 2011-09-19 19:20:18 +01:00
7064cfc2a0 i3bar: Bugfix: Check if the X11 connection is unavailable
This fixes the condition where the i3 socket for some reason did not produce an
error, but the X server exited (earlier than i3?) and the left-over i3bar
process would consume 100% CPU.

How to reproduce the problem:
1) Start ./testcases/Xdummy :8
2) Start DISPLAY=:8 i3bar -s <socket path to i3 on :0>
3) Kill the Xdummy
2011-09-19 19:17:25 +01:00