Commit Graph

423 Commits

Author SHA1 Message Date
Michael Stapelberg 201268d9b2 Merge branch 'master' into next 2011-10-03 19:31:12 +01:00
Noe Rubinstein a5938c4073 escape font name
The double-dash gets scrambled by a2x otherwise
2011-10-03 19:30:47 +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 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
Axel Wagner 94d55f34e1 i3bar: Fix prototypes (thx sECuRE) 2011-08-10 23:54:27 +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 8e275d85b5 Correct some minor mistakes in the manpage (thx sECuRE) 2011-07-31 15:58:14 +02:00
Axel Wagner a2a7de5e54 Respect and use CPPFLAGS 2011-07-19 04:21:36 +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 cdc5e6527f yajl-compatibility: Forgot to git-add that one 2011-04-28 20:55:40 +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 acb52fc654 Bugfix: Don't override DEBUG-env in Makefile 2011-02-05 15:20:40 +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 9912d7fdbb Update changelog and manpage 2010-12-23 16:39:53 +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 214382a030 Mention the color-options in the manpage 2010-11-04 12:43:41 +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
Fernando Tarlá Cardoso Lemos 73728f519b Added a distclean target. 2010-11-04 11:50:47 +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 27fa078159 Adding a manpage 2010-09-17 18:27:07 +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 a702ced322 Add CHANGELOG 2010-09-17 02:21:09 +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 4ec3e7a619 Define Macros MAX and MIN 2010-09-17 01:16:53 +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 a3a7a2ca52 Add temporary files to .gitignore 2010-07-23 04:44:12 +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