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 ;).
This commit is contained in:
Michael Stapelberg
2011-08-12 19:14:27 +02:00
parent 642a745004
commit 025dd68f62
4 changed files with 118 additions and 2 deletions

View File

@ -46,6 +46,8 @@ struct i3_output {
xcb_pixmap_t buffer; /* An extra pixmap for double-buffering */
xcb_gcontext_t bargc; /* The graphical context of the bar */
int traypx; /* Amount of pixels reserved for tray icons */
struct ws_head *workspaces; /* The workspaces on this output */
SLIST_ENTRY(i3_output) slist; /* Pointer for the SLIST-Macro */

View File

@ -2,4 +2,10 @@ ATOM_DO(_NET_WM_WINDOW_TYPE)
ATOM_DO(_NET_WM_WINDOW_TYPE_DOCK)
ATOM_DO(_NET_WM_STRUT_PARTIAL)
ATOM_DO(I3_SOCKET_PATH)
ATOM_DO(_NET_SYSTEM_TRAY_S0)
ATOM_DO(MANAGER)
ATOM_DO(_NET_SYSTEM_TRAY_ORIENTATION)
ATOM_DO(_NET_SYSTEM_TRAY_VISUAL)
ATOM_DO(CARDINAL)
ATOM_DO(_NET_SYSTEM_TRAY_OPCODE)
#undef ATOM_DO