d7b11bde28
i3 --moreversion: use readlink /proc/$pid/exe instead of realpath(argv[0])
...
The latter is actually wrong. For example, when running i3
--moreversion, it will print $(pwd)/i3 instead of $(which i3). In my
previous tests, this coincidentally was the same.
2012-08-13 13:38:04 +02:00
ef90ccd1a8
default config: include a short explanation about xft fonts
2012-08-13 13:34:30 +02:00
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
6c9bf84d4e
userguide: Update Fonts section for Pango support
2012-08-13 11:39:31 +02:00
310f542937
libi3/font: Log the used font
2012-08-13 11:39:30 +02:00
9f7247fd9c
libi3: Introduce LOG
2012-08-13 11:39:30 +02:00
6ff3f7abad
libi3: Implement Pango rendering
2012-08-13 11:39:30 +02:00
f06161b58a
common.mk: Check for Pango
2012-08-13 11:39:30 +02:00
ec17a26b0e
libi3: Rework font to support multiple backends
2012-08-13 11:39:29 +02:00
edd9007ebf
i3bar: Rename xcb_screen to root_screen for consistency
2012-08-13 11:37:34 +02:00
5d8ccc5912
libi3: Introduce get_visualtype
2012-08-13 11:37:34 +02:00
210fc6dfed
libi3: Rework predict_text_width
...
predict_text_width now takes an i3String as argument
2012-08-13 11:37:23 +02:00
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
284294e9c2
i3-input: Store and use xcb_char2b_t directly
2012-08-13 11:30:08 +02:00
d89cb04c98
i3-input: Port prompt to i3String
2012-08-13 11:30:08 +02:00
bf177da17d
i3/sighandler: Pre-compute i3Strings for text
2012-08-13 11:30:08 +02:00
b6c705a1a4
i3/window: Port window names to i3String
2012-08-13 11:30:08 +02:00
bc5f33878a
i3/log.h: Prepare for libi3.h inclusion
2012-08-13 11:30:08 +02:00
50b7764ae4
i3-nagbar: Port to i3String
2012-08-13 11:30:08 +02:00
bbd1b16043
i3bar: Port to i3String
2012-08-13 11:30:05 +02:00
50d52f8f9b
i3bar/util.h: Prepare for libi3.h inclusion
2012-08-13 11:29:22 +02:00
7f22d4fe32
libi3: Implement i3String
...
New type designed to handle UCS-2/UTF-8 conversion nicely
2012-08-13 11:29:18 +02:00
b01545b131
Makefile: Always link libi3 first
2012-08-13 02:00:01 +02:00
a7569e6a98
implement error messages when moving to another ws fails (Thanks eeemsi)
...
fixes #769
2012-08-13 01:57:39 +02:00
4eff386439
remove obsolete branch reference "(tree)" from starting line
2012-08-13 01:57:23 +02:00
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
070a18e598
i3bar: update manpage for the i3bar-protocol
...
fixes #739
2012-08-12 19:26:04 +02:00
f94edd9fc3
i3bar-protocol: add example (illustration-only!) shell script, clarify {"version":1} header
2012-08-12 18:47:24 +02:00
e53405c216
i3bar: be less strict about the {"version":1} JSON header
2012-08-12 18:40:15 +02:00
dbe406641f
use errx() instead of err() for custom error message
2012-08-12 18:34:03 +02:00
68a23b9577
Bugfix: only honor _NET_ACTIVE_WINDOW for visible windows (+test) (Thanks Tucos)
...
fixes #774
2012-08-12 16:08:53 +02:00
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
b8e782c983
root_atom_contents: handle CARDINAL atoms such as I3_PID
2012-08-12 14:30:24 +02:00
394b395455
set I3_PID atom on the root window
2012-08-12 13:51:47 +02:00
b01d45e027
complete-run: handle bailouts
2012-08-12 13:46:54 +02:00
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
dd743f3b55
add testcase for previous bugfix (floating window size)
2012-08-12 00:36:44 +02:00
6225a8983d
Bugfix: Properly resize transient floating windows with a decoration
...
fixes #770
2012-08-12 00:36:26 +02:00
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
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
91786c3801
typo: s/transiert/transient/
2012-08-11 22:53:40 +02:00
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
da924aae6f
Bugfix: bump copyright in asciidoc-git.conf
2012-08-10 23:27:23 +02:00
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
3cdc5c5369
update .gitignore (Thanks SardemFF7)
2012-08-07 10:03:37 +02:00
95cdfe5cb6
makefile: remove the old loglevels.tmp and loglevels.h on 'make clean'
2012-08-07 10:03:10 +02:00
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
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
122130d868
handlers.c: don’t call x_push_changes(croot), tree_render() already does
2012-08-07 09:50:25 +02:00
1a62c398ac
Bugfix: Attach con to nc before calling con_border_style_rect()
2012-08-07 01:13:37 +02:00