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
c7ac1f9077
Merge branch 'master' into next
2011-08-25 18:51:02 +02:00
Michael Stapelberg
39cff5c31f
i3bar: Bugfix: When receiving EOF, immediately redraw and discard input
2011-08-25 18:46:08 +02:00
Michael Stapelberg
9c587a767c
Bugfix: set statusline = NULL, print error messages about EOF/SIGCHLD to stderr (Thanks cls)
2011-08-25 17:10:45 +02: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
2f116df901
Merge branch 'master' into next
2011-08-12 23:11:13 +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
Axel Wagner
7cb7700b02
i3bar: Fixup indentions
2011-08-12 18:43:09 +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
Michael Stapelberg
339a7cb8c3
make i3bar use i3’s common.mk
2011-08-01 16:13:19 +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
3d05fe7a52
Use cleanup() in child.c
2011-07-10 04:34:18 +02:00
Michael Stapelberg
97827372af
Bugfix: Correctly handle EOF on stdin (Thanks woddf2)
2011-07-10 04:31:53 +02:00
Axel Wagner
778268c9bb
Fix unaligned memory access on sparc (Thanks David Coppa)
2011-05-03 12:38:57 +02:00
Axel Wagner
b150ec1c47
Apply ugly yajl-compatibility-fix (thx sECuRE)
2011-04-28 20:23:12 +02:00
Axel Wagner
e7c2b25ddd
Fix compiler-warnings from libev
2011-04-28 19:54:31 +02:00
Axel Wagner
d31384e955
Revert "Allow space after space"
...
This reverts commit c9334c922de120a08e66cb3a8c340fc1a453bf55.
2011-04-22 01:18:57 +02:00
Axel Wagner
bf078c673f
Allow space after space
2011-04-22 00:42:24 +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
edcc373077
Fix typo in comment (thx sECuRE)
2011-03-20 19:52:20 +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
5219493ffe
Bugfix: Don't SIGSTOP child in dockmode
2011-03-14 09:24:32 +01:00
Axel Wagner
7fb6258fbd
Use DISPLAY in XKB-code
2011-03-14 09:20:16 +01:00
Axel Wagner
dfd566511e
Bugfix: Don't segfault, if child was killed
2011-03-14 09:17:06 +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
972be13dc5
Bugfix: _only_ stop child, if hide_on_modifier is set (thx cradle)
2011-02-04 10:05:48 +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
7a7faff96d
Remove superflous FREE_SLIST
2011-01-26 01:54:36 +01:00
Axel Wagner
da1b65dd86
Bugfix: free() workspace-names seperately (thx dothebart)
2011-01-26 01:54:36 +01:00
Axel Wagner
cc71c77329
Bugfix: free() command-string, after it is not needed anymore
2011-01-26 01:54:36 +01:00
Axel Wagner
94ca5c73cc
Bugfix: Test for outputs == NULL
2011-01-26 01:54:36 +01:00
Axel Wagner
c9ee3eb21e
Change default socketpath to /tmp/i3-ipc.sock
2011-01-22 17:41:24 +01:00
Axel Wagner
1369e36d7c
Use tree-command for workspace-switching
2011-01-14 19:16:52 +01:00
Axel Wagner
4762152e1c
Display socket-path in connection-error-message
2011-01-14 17:33:40 +01:00
Axel Wagner
caca38b68e
Use I3SOCK environment-variable
2011-01-11 05:03:14 +01:00
Fernando Tarlá Cardoso Lemos
29f153c634
Separate the lines received in a single read.
...
Fixes the case where multiple lines are read in a single read syscall
(it could be better optimized in the future). Also fixes a memory
corruption issue when rec == 0.
2011-01-08 14:57:00 +01:00
Axel Wagner
34dd4bc89e
Bugfix: If hide-on-modifier is set, stop the child after starting
2011-01-06 17:35:23 +01:00
Axel Wagner
2183435da6
Bugfix: Recreate double-buffers on reconfiguring (thx sECuRE)
2011-01-06 17:28:21 +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
08a5a2fdb0
Only use font_info after we know, the request succeded
2011-01-01 15:19:17 +01:00
Axel Wagner
600c4ae95c
Use "*buffer == '\0'" instead of "strlen(buffer) == 0" (thanks dothebart)
2011-01-01 15:08:43 +01:00
Axel Wagner
3daab599ca
Bugfix: Recover from closed socket
2010-12-26 20:03:06 +01:00
Axel Wagner
3c85c514d4
Merge branch 'master' into tree
2010-12-26 15:27:32 +01:00
Axel Wagner
ff0522fe95
Bugfix: Send child a SIGCONT, so it reacts to SIGTERM (no zombies \o/)
2010-12-26 14:48:39 +01:00
Axel Wagner
cdf56f16bf
Revert "Double-fork() to avoid zombies"
...
This reverts commit a4eafae108b63f5df76eea2958aee8cf95cb1ad6.
2010-12-26 14:48:14 +01:00
Axel Wagner
a39db9ae82
Remove unnecessary declaration
2010-12-23 16:50:48 +01:00
Axel Wagner
94a8273b09
Merge branch 'next'
2010-12-23 16:34:19 +01:00
Axel Wagner
537851b929
Switch back ws_fg and ws_bg (Thanks julien)
2010-12-03 17:59:28 +01:00
Axel Wagner
a3e37b059f
Switch back ws_fg and ws_bg (Thanks julien)
2010-12-03 17:59:16 +01:00
Michael Stapelberg
3de12beef6
make i3bar work with tree branch again (current_workspace is a string now)
2010-11-22 09:44:29 +01:00
Axel Wagner
a88f7fb392
We don't need sig_quit
2010-11-11 03:01:40 +01:00
Axel Wagner
8301d3d9f3
Send a SIGTERM instead of a SIGQUIT to exit the child
2010-11-11 02:59:17 +01:00
Axel Wagner
33202881c4
Handle SIGTERM/-INT/-HUP
2010-11-11 02:57:39 +01:00
Axel Wagner
d5e3b58d47
-V actually does not take an argument (yet)
2010-11-11 02:57:25 +01:00
Axel Wagner
eada483765
Double-fork() to avoid zombies
2010-11-10 18:46:47 +01:00
Axel Wagner
23b62f621d
Add support for bar_fg and bar_bg
2010-11-04 13:46:50 +01:00
Axel Wagner
127c082e83
Call init_colors() earlier
2010-11-04 13:46:33 +01:00
Axel Wagner
992612c89d
Some stylechanges to previous commit
2010-11-04 12:27:10 +01:00
Fernando Tarlá Cardoso Lemos
6376cf99d2
Custom colors can be set from the command line.
2010-11-04 11:51:26 +01:00
Axel Wagner
80172c88c5
Don't map bars on creation, if hide_on_modifier is enabled
2010-10-24 23:03:44 +02:00
Axel Wagner
4830288c7b
Place bar at the bottom of the screen, when creating them
2010-10-24 22:56:08 +02:00
Axel Wagner
cddda0c965
Remove unnecessary dependencies
2010-10-22 00:32:29 +02:00
Axel Wagner
920721bb93
Use DLOG/ELOG-macros, provide --verbose-option
2010-09-17 06:49:28 +02:00
Axel Wagner
ca1a295714
Clean the XCB-errorhandling a little bit up
2010-09-17 05:55:38 +02:00
Axel Wagner
60bab3db28
Use font_ascent instead of font_height, it's more elegant
2010-09-17 05:29:01 +02:00
Axel Wagner
a75cb6e785
Rename xcb_screens to xcb_screen, it's really just one
2010-09-17 05:28:22 +02:00
Axel Wagner
93453c64f2
Add some more comments
2010-09-17 05:26:31 +02:00
Axel Wagner
c82556f0f2
Use only xcb_query_font()
2010-09-17 03:51:41 +02:00
Axel Wagner
7fda48aa9f
We don't need get_string_width anymore
2010-09-17 03:11:49 +02:00
Axel Wagner
5deb95de33
Make i3_default_sock_path a local variable
2010-09-17 03:04:40 +02:00
Axel Wagner
0e4487e489
Move child_pid into child.c
2010-09-17 03:03:43 +02:00
Axel Wagner
d245d14765
Use realloc instead of manually reallocating
2010-09-17 02:28:56 +02:00
Axel Wagner
52120e3ed5
Use draw_text() to render text to the correct spot
2010-09-17 02:17:18 +02:00
Axel Wagner
0dc802c7b5
Write a wrapper around xcb_image_text_16()
...
xcb_image_text_16() can only process up to 255 glyphs, so we
write a wrapper around it for arbitrary long strings
2010-09-17 01:52:04 +02:00
Axel Wagner
c5dc3d49aa
We don't need to crop at that point
2010-09-17 01:51:10 +02:00
Axel Wagner
2ce9c4024f
Draw the statusline to a seperate buffer-pixmap
2010-09-17 01:18:50 +02:00
Axel Wagner
4d38bf81ba
Allocate the right amount of memory for ev_child
2010-09-07 17:28:56 +02:00
Axel Wagner
17484d82f2
Allocate the right amount of memory for ev_child
2010-09-07 17:28:15 +02:00
Axel Wagner
4e298d5a1d
Reimplement double-buffering
...
Due to a merge-fuckup, the double-buffer-code got lost. Know flickering
should not happen anymore.
2010-09-04 18:26:30 +02:00
Axel Wagner
0963a0e5ac
Merge branch 'hide' into next
2010-08-26 00:03:41 +02:00
Axel Wagner
c4c918cb06
Make hide_on_modifier configurable
2010-08-26 00:02:35 +02:00
Axel Wagner
386abde4df
Put usage-message in own function
2010-08-26 00:01:24 +02:00
Axel Wagner
c2ad6167e9
Put the bars on top, when reconfiguring
2010-08-25 23:36:25 +02:00
Axel Wagner
701448c342
Unhide on urgent-hint
2010-08-25 21:50:01 +02:00
Axel Wagner
a83e7699e7
Send the child SIGSTOPs and SIGCONTs
2010-08-25 18:31:03 +02:00
Axel Wagner
3c1a6384ab
Define overrride-redirect
...
The bars should not be in dockmode, when hide-on-mod is active
2010-08-25 18:23:33 +02:00
Axel Wagner
53ec74a4ab
Implement hide-on-modifier
2010-08-25 18:11:06 +02:00
Axel Wagner
6034eee647
Remove trailing newline from stdin
2010-08-25 04:58:28 +02:00
Axel Wagner
bef80146e6
Don't manually strip dzen-formats.
...
Instead "output_format = none" should be used in the i3status-config
2010-08-24 14:01:48 +02:00
Axel Wagner
14b885adf1
Only copy the double-buffer on expose-events
2010-08-22 10:24:32 +02:00
Axel Wagner
6ad922dbd5
Add declaration, accidentally lost in last commit
2010-08-21 13:29:38 +02:00
Axel Wagner
fe24eb748c
Implement double-buffering to get rid of flickering
2010-08-21 13:27:51 +02:00
Axel Wagner
5015cdc4d0
Implement double-buffering to get rid of flickering
2010-08-21 13:24:05 +02:00
Axel Wagner
84d7da0acf
Correct typo in usage-message
2010-08-19 22:13:40 +02:00
Axel Wagner
ddf8bd63c7
Added some error handling for xcb
2010-08-18 03:58:32 +02:00
Axel Wagner
60da522e13
Add licensing information
2010-08-07 18:05:16 +02:00
Axel Wagner
04e2cd1dfe
Add version-option
2010-08-07 03:50:22 +02:00
Axel Wagner
e7ba3183df
Correct behaviour of parsing null-values in src/outputs.c
2010-08-07 02:37:12 +02:00
Axel Wagner
c03e850171
Correct the Macro-calls in src/xcb.c
2010-08-07 02:34:02 +02:00
Axel Wagner
dcbf0c71d2
Move font-height-calculation to the end of init_xcb()
2010-08-07 02:22:20 +02:00
Axel Wagner
6780d87593
Use a while-loop in xcb_chk_cb() to account for the xcb-buffer
2010-08-07 02:20:01 +02:00
Axel Wagner
188d4c18cc
Merge handle_xcb_event() into xcb_chk_cb()
2010-08-07 02:19:25 +02:00
Axel Wagner
cee972280d
Add comments
2010-08-07 02:10:05 +02:00
Axel Wagner
b1a8ddd9d7
We don't need a callback for null-values
2010-08-07 01:57:00 +02:00
Axel Wagner
660c77bdb8
Reconfigure to the correct coordinates
2010-08-06 05:53:38 +02:00
Axel Wagner
55047c1633
Refresh the workspace-list on output-events
2010-08-06 05:52:01 +02:00
Axel Wagner
a4b1e0d01a
Modify the active-flag on parsing the output-list
2010-08-06 05:49:57 +02:00
Axel Wagner
36445f500f
Use correct default-path for ipc-socket
2010-08-06 04:11:44 +02:00
Axel Wagner
fae997038d
Remove superflous xcb_flush()es
2010-08-06 03:42:33 +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
49eef0db3f
Making Mouse-clicks work
2010-07-30 04:19:32 +02:00
Axel Wagner
f4b7394655
Implement workspace-change on mouse-wheel
2010-07-30 03:48:46 +02:00
Axel Wagner
43c057f19a
Migrate to queue.h
2010-07-30 03:11:54 +02:00
Axel Wagner
654b51fef1
Correctly parse the urgent-hint
2010-07-29 20:19:59 +02:00
Axel Wagner
71cb49b847
Move XCB-Event-Handling to xcb.c
2010-07-27 10:18:29 +02:00
Axel Wagner
ff2ee04e0d
Use font-size to correctly determine the size of the bars and buttons.
2010-07-27 02:16:49 +02:00
Axel Wagner
3883ae2738
Handling Exposure-Events
2010-07-26 23:51:51 +02:00
Axel Wagner
0f4164dd0f
Print the workspace-names
2010-07-26 19:55:02 +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