Michael Stapelberg
ef90ccd1a8
default config: include a short explanation about xft fonts
2012-08-13 13:34:30 +02:00
Michael Stapelberg
2896ae8057
logging: make libi3 use verboselog()/errorlog(), provide it in each caller
...
While this is a bit ugly, it makes the log messages end up where they
are supposed to: in the shmlog/stdout in case of i3 and on stdout in
case of utilities such as i3-input
2012-08-13 13:27:16 +02:00
Quentin Glidic
6c9bf84d4e
userguide: Update Fonts section for Pango support
2012-08-13 11:39:31 +02:00
Quentin Glidic
310f542937
libi3/font: Log the used font
2012-08-13 11:39:30 +02:00
Quentin Glidic
9f7247fd9c
libi3: Introduce LOG
2012-08-13 11:39:30 +02:00
Fernando Tarlá Cardoso Lemos
6ff3f7abad
libi3: Implement Pango rendering
2012-08-13 11:39:30 +02:00
Quentin Glidic
f06161b58a
common.mk: Check for Pango
2012-08-13 11:39:30 +02:00
Fernando Tarlá Cardoso Lemos
ec17a26b0e
libi3: Rework font to support multiple backends
2012-08-13 11:39:29 +02:00
Fernando Tarlá Cardoso Lemos
edd9007ebf
i3bar: Rename xcb_screen to root_screen for consistency
2012-08-13 11:37:34 +02:00
Fernando Tarlá Cardoso Lemos
5d8ccc5912
libi3: Introduce get_visualtype
2012-08-13 11:37:34 +02:00
Quentin Glidic
210fc6dfed
libi3: Rework predict_text_width
...
predict_text_width now takes an i3String as argument
2012-08-13 11:37:23 +02:00
Quentin Glidic
53365fa887
libi3: Rework draw_text
...
We now have two versions of draw_text
draw_text: Now takes an i3String
draw_text_ascii: Designed for static strings in plain ASCII
2012-08-13 11:37:21 +02:00
Quentin Glidic
284294e9c2
i3-input: Store and use xcb_char2b_t directly
2012-08-13 11:30:08 +02:00
Quentin Glidic
d89cb04c98
i3-input: Port prompt to i3String
2012-08-13 11:30:08 +02:00
Quentin Glidic
bf177da17d
i3/sighandler: Pre-compute i3Strings for text
2012-08-13 11:30:08 +02:00
Quentin Glidic
b6c705a1a4
i3/window: Port window names to i3String
2012-08-13 11:30:08 +02:00
Quentin Glidic
bc5f33878a
i3/log.h: Prepare for libi3.h inclusion
2012-08-13 11:30:08 +02:00
Quentin Glidic
50b7764ae4
i3-nagbar: Port to i3String
2012-08-13 11:30:08 +02:00
Quentin Glidic
bbd1b16043
i3bar: Port to i3String
2012-08-13 11:30:05 +02:00
Quentin Glidic
50d52f8f9b
i3bar/util.h: Prepare for libi3.h inclusion
2012-08-13 11:29:22 +02:00
Fernando Tarlá Cardoso Lemos
7f22d4fe32
libi3: Implement i3String
...
New type designed to handle UCS-2/UTF-8 conversion nicely
2012-08-13 11:29:18 +02:00
Quentin Glidic
b01545b131
Makefile: Always link libi3 first
2012-08-13 02:00:01 +02:00
Michael Stapelberg
a7569e6a98
implement error messages when moving to another ws fails (Thanks eeemsi)
...
fixes #769
2012-08-13 01:57:39 +02:00
Michael Stapelberg
4eff386439
remove obsolete branch reference "(tree)" from starting line
2012-08-13 01:57:23 +02:00
Michael Stapelberg
e68a8dd86c
shm-logging: implement i3-dump-log -f (follow)
...
This changes the SHM log format, it doesn’t use 0-bytes to separate
entries anymore. Instead of using lots of printf() calls in i3-dump-log,
we now do precisely one big write().
So, to be clear: i3-dump-log and i3 both need to be upgraded.
Mismatching versions will lead to garbage output (no crashes of i3, just
garbage output).
The -f flag uses an inter-process pthread_cond_t in the shared memory
header to broadcast the arrival of new messages to all i3-dump-log
processes. This internally uses futexes and thus doesn’t even mean a
kernel call in most cases. inter-process pthread_cond_ts require NPTL
(the Native Posix Thread Library, introduce in Linux 2.6).
2012-08-13 01:06:09 +02:00
Michael Stapelberg
070a18e598
i3bar: update manpage for the i3bar-protocol
...
fixes #739
2012-08-12 19:26:04 +02:00
Michael Stapelberg
f94edd9fc3
i3bar-protocol: add example (illustration-only!) shell script, clarify {"version":1} header
2012-08-12 18:47:24 +02:00
Michael Stapelberg
e53405c216
i3bar: be less strict about the {"version":1} JSON header
2012-08-12 18:40:15 +02:00
Michael Stapelberg
dbe406641f
use errx() instead of err() for custom error message
2012-08-12 18:34:03 +02:00
Michael Stapelberg
68a23b9577
Bugfix: only honor _NET_ACTIVE_WINDOW for visible windows (+test) (Thanks Tucos)
...
fixes #774
2012-08-12 16:08:53 +02:00
Michael Stapelberg
1e49f1b08a
Implement i3 --moreversion
...
From the code:
Connects to i3 to find out the currently running version. Useful since it
might be different from the version compiled into this binary (maybe the
user didn’t correctly install i3 or forgot te restart it).
Here is an example output:
$ ./i3 --moreversion
Binary i3 version: 4.2-202-gb8e782c (2012-08-12, branch "next") © 2009-2012 Michael Stapelberg and contributors
Running i3 version: 4.2-202-gb8e782c (2012-08-12, branch "next") (pid 14804)
The i3 binary you just called: /home/michael/i3/i3
RUNNING BINARY DIFFERENT FROM BINARY ON DISK!
The i3 binary you are running: /home/michael/i3/i3
$ i3 restart
2012-08-12 15:05:28 - Additional arguments passed. Sending them as a command to i3.
IPC: received EOF instead of reply
$ ./i3 --moreversion
Binary i3 version: 4.2-202-gb8e782c (2012-08-12, branch "next") © 2009-2012 Michael Stapelberg and contributors
Running i3 version: 4.2-202-gb8e782c (2012-08-12, branch "next") (pid 14804)
The i3 binary you just called: /home/michael/i3/i3
The i3 binary you are running: /home/michael/i3/i3
2012-08-12 15:10:13 +02:00
Michael Stapelberg
b8e782c983
root_atom_contents: handle CARDINAL atoms such as I3_PID
2012-08-12 14:30:24 +02:00
Michael Stapelberg
394b395455
set I3_PID atom on the root window
2012-08-12 13:51:47 +02:00
Michael Stapelberg
b01d45e027
complete-run: handle bailouts
2012-08-12 13:46:54 +02:00
Michael Stapelberg
884627ef20
use I3__FILE__ for DLOG, leave __FILE__ as is
...
See also commit 0e752070ac
, which broke
source code listings in gdb unless you cd into i3/src. This should give
us best of both :-).
2012-08-12 12:19:47 +02:00
Michael Stapelberg
dd743f3b55
add testcase for previous bugfix (floating window size)
2012-08-12 00:36:44 +02:00
Philipp Middendorf
6225a8983d
Bugfix: Properly resize transient floating windows with a decoration
...
fixes #770
2012-08-12 00:36:26 +02:00
Michael Stapelberg
ae88accf6f
testworker: handle EAGAIN
...
Hopefully this fixes the case where a testworker would die and leave the
whole testsuite run hanging in the air, never completing.
2012-08-12 00:22:17 +02:00
Michael Stapelberg
d92626bc62
complete-run: enable autoflush (useful for debugging)
...
I used the following command to find hanging workers:
sort latest/complete-run.log|cut -f 2 -d ' '|uniq -c|grep -v '^[ \t]*2'
2012-08-12 00:20:52 +02:00
Michael Stapelberg
91786c3801
typo: s/transiert/transient/
2012-08-11 22:53:40 +02:00
Julius Plenz
70ec3867fe
clean up zero-byte logfile on immediate exit
...
Otherwise, a zero-byte log file stays behind after every call to `i3
--get-socketpath`. Also, replace "return" calls with more explicit "exit"
calls.
Before:
$ ls -ld /tmp/i3* | wc -l; \
repeat 10 i3 --get-socketpath >/dev/null; \
ls -ld /tmp/i3* | wc -l
1
11
Now:
$ ls -ld /tmp/i3* | wc -l; \
repeat 10 i3 --get-socketpath >/dev/null; \
ls -ld /tmp/i3* | wc -l
1
1
Signed-off-by: Julius Plenz <julius@plenz.com>
2012-08-11 02:23:03 +02:00
Valentin Haenel
da924aae6f
Bugfix: bump copyright in asciidoc-git.conf
2012-08-10 23:27:23 +02:00
Michael Stapelberg
6ba0944430
scratchpad: fix moving scratchpad window
...
From the source:
When starting i3 initially (and after each change to the connected
outputs), this function fixes the resolution of the __i3
pseudo-output. When that resolution is not set to a function which
shares a common divisor with every active output’s resolution,
floating point calculation errors will lead to the scratchpad window
moving when shown repeatedly.
fixes #632
2012-08-08 18:45:40 +02:00
Michael Stapelberg
3cdc5c5369
update .gitignore (Thanks SardemFF7)
2012-08-07 10:03:37 +02:00
Michael Stapelberg
95cdfe5cb6
makefile: remove the old loglevels.tmp and loglevels.h on 'make clean'
2012-08-07 10:03:10 +02:00
Michael Stapelberg
0e752070ac
explicitly set filenames to $(basename __FILE__)
...
This makes the debug log a bit more readable, especially since commit
48f1e383ca
2012-08-07 09:55:52 +02:00
Michael Stapelberg
fa4894fbaa
Support _NET_ACTIVE_WINDOW ClientMessages
...
Since we advertise _NET_ACTIVE_WINDOW support (but only set the
corresponding atom currently), it makes sense to also support the
ClientMessage. Apps such as Gajim use it to set focus to the roster
window when clicking on the tray icon for example.
fixes #767
2012-08-07 09:50:47 +02:00
Michael Stapelberg
122130d868
handlers.c: don’t call x_push_changes(croot), tree_render() already does
2012-08-07 09:50:25 +02:00
Michael Stapelberg
1a62c398ac
Bugfix: Attach con to nc before calling con_border_style_rect()
2012-08-07 01:13:37 +02:00
Philipp Middendorf
9d9a1d9d29
Bugfix: Add deco_height only when in "normal" border mode.
...
Also, use con_border_style_rect instead of hard-coded values to
determine the border size.
2012-08-07 01:05:16 +02:00