151 Commits

Author SHA1 Message Date
Michael Stapelberg
a3b7ba15ed i3bar: also use the position option when in 'hide' mode 2011-10-21 19:59:25 +01:00
Michael Stapelberg
8a24be9555 i3bar: implement the tray_output option 2011-10-21 19:47:56 +01:00
Michael Stapelberg
d71db710dd i3bar: use safewrappers from libi3 2011-10-21 19:30:46 +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
fb4b012013 i3bar: Bugfix: Add tray icon padding when calculating text position (Thanks Bacardi55) 2011-10-10 15:09:39 +01:00
Michael Stapelberg
c5e9527abc i3bar: include xcb_compat.h for older XCB versions (Thanks motif) 2011-10-10 11:37:56 +01:00
Michael Stapelberg
a70e2057c8 i3bar: set WM_CLASS and WM_NAME 2011-10-09 14:45:23 +01:00
Michael Stapelberg
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
Michael Stapelberg
b561b911ee i3bar: add modeline to src/xcb.c 2011-10-09 13:50:39 +01:00
Michael Stapelberg
0c51b57b99 Merge branch 'master' into next 2011-09-19 19:20:18 +01:00
Michael Stapelberg
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
Michael Stapelberg
eacbf986a0 Merge branch 'master' into next 2011-08-24 18:49:40 +02:00
Michael Stapelberg
7af39906da i3bar: Bugfix: Correctly allocate pixmap for statuslines which are longer than your screen
In case of a 1024 px screen and a 1128 px status line, the status line was not
only cut off (it has to be, obviously), but the right part showed some black
pixels.
2011-08-24 18:48:29 +02:00
Michael Stapelberg
27ade541a9 Initialize output (fixes compiler warning) 2011-08-24 01:34:56 +02:00
Michael Stapelberg
06ba1c0e65 Fix compilation with xcb 0.3.6 2011-08-24 01:18:27 +02:00
Michael Stapelberg
1c2c22d117 i3bar: properly end the XEMBED protocol by reparenting the dock clients to root, flush connection before disconnecting 2011-08-24 01:18:27 +02:00
Michael Stapelberg
bd2a3363c0 i3bar: tray: little cleanups, more comments 2011-08-24 01:18:27 +02:00
Michael Stapelberg
55e503c17b i3bar: request the appropriate _NET_SYSTEM_TRAY atom for the display we are running on 2011-08-24 01:18:27 +02:00
Michael Stapelberg
893878cbcc i3bar: send XEMBED_EMBEDDED_NOTIFY after reparenting/mapping tray clients 2011-08-24 01:18:27 +02:00
Michael Stapelberg
737cd10bdf i3bar: properly handle the _XEMBED_INFO property 2011-08-24 01:18:27 +02:00
Michael Stapelberg
7df43989c9 i3bar: correctly handle multiple tray clients 2011-08-24 01:18:27 +02:00
Michael Stapelberg
2046e4112f i3bar: Correctly handle removal of tray clients 2011-08-24 01:18:27 +02:00
Michael Stapelberg
6efa7a754d i3bar: trigger an update after docking a new client 2011-08-24 01:18:27 +02:00
Michael Stapelberg
025dd68f62 i3bar: quick & dirty systray implementation
Works correctly only with exactly one dock client on exactly one output. Maybe
not even then. You have been warned. Proof-of-concept code ;).
2011-08-24 01:18:26 +02:00
Michael Stapelberg
dddce72bd7 little comment spelling fixes 2011-08-12 23:09:59 +02:00
Michael Stapelberg
72ef8a7c19 Pass NULL to XkbOpenDisplay, it will read $DISPLAY itself 2011-08-12 23:09:36 +02:00
Michael Stapelberg
3892d616cf Bugfix: Use correct buffer size, quote workspace names
This fixes problems with the workspace 'next' and workspace names longer than
40 characters
2011-08-12 22:57:02 +02: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
8d09ed7bf5 Update changelog and copyright, bump version and more 2011-07-31 16:16:17 +02:00
Axel Wagner
ed5ac7f41d Implement disabling the workspace buttons („thx“ sECuRE) 2011-04-21 20:24:02 +02:00
Axel Wagner
26993574f5 Revert "Don't draw on backbuffer, when hiding (thx sECuRE)"
This reverts commit f51ba2d7ecf3f560c8ce4d3ab8419ecf6265839c.

This commit introduced a regression, which prevented i3bar to be redrawn
at all in some circumstances. It will later be reintroduced in a bigger
refactoring of event-dependencies
2011-03-21 17:29:11 +01:00
Axel Wagner
ba748d72ff Collapse two ChangeGC-calls (thx sECuRE) 2011-03-20 19:50:03 +01:00
Axel Wagner
52e70c3802 Add Color for focused ws (thx phnom) 2011-03-20 19:29:30 +01:00
Axel Wagner
16f7574851 Bugfix: Skip inactive outputs, when unmapping 2011-03-19 23:28:10 +01:00
Axel Wagner
682458f4d7 Don't draw on backbuffer, when hiding (thx sECuRE) 2011-03-19 23:27:50 +01:00
Axel Wagner
1b2002e1c8 XClearArea can't be used on pixmaps (thx sECuRE) 2011-03-19 23:04:09 +01:00
Axel Wagner
a847454a42 bugfix: Skip inactive outputs on redraw (thx sECuRE) 2011-03-19 22:30:59 +01:00
Axel Wagner
aaf60c6321 Don't reallocate the backbuffer on every refresh (thx sECuRE) 2011-03-19 22:27:35 +01:00
Axel Wagner
2fd7449e29 Add support for I3_SOCKET_PATH-atom 2011-03-19 22:06:08 +01:00
Axel Wagner
d993f8a3a1 Auto-update NUM_ATOMS by putting it into the enum (thx sECuRE) 2011-03-19 20:58:05 +01:00
Axel Wagner
7fb6258fbd Use DISPLAY in XKB-code 2011-03-14 09:20:16 +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
64f2a7561d Implement dock-positioning 2011-02-21 15:53:32 +01:00
Axel Wagner
23a9814090 Correct typo 2011-02-16 19:53:42 +01:00
Axel Wagner
ff925f58e8 Bugfix: Use free-workspaces() in xcb-cleanup (thx dothebart) 2011-01-26 12:57:44 +01:00
Axel Wagner
8fa720d6b9 Bugfix: free() output-names seperately (thx dothebart) 2011-01-26 12:57:38 +01:00
Axel Wagner
dc7cfeaa4f Bugfix: Also free() the head of slist/tailq (Thx dothebart) 2011-01-26 01:54:36 +01:00
Axel Wagner
d9f35859fa Bugfix: free() text, after drawing it (thx dothebart) 2011-01-26 01:54:36 +01:00
Axel Wagner
9d22b29166 Bugfix: free() workspace-list of outputs seperately (thx dothebart) 2011-01-26 01:54:36 +01:00
Axel Wagner
1369e36d7c Use tree-command for workspace-switching 2011-01-14 19:16:52 +01:00