]> git.sur5r.net Git - i3/i3/log
i3/i3
12 years agodebian: make 'i3' recommend dunst
Michael Stapelberg [Mon, 13 Aug 2012 11:44:54 +0000 (13:44 +0200)]
debian: make 'i3' recommend dunst

12 years agodebian/control: format build-depends nicely, add pango/cairo
Michael Stapelberg [Mon, 13 Aug 2012 11:44:36 +0000 (13:44 +0200)]
debian/control: format build-depends nicely, add pango/cairo

12 years agopango: divide by PANGO_SCALE to get a "normal" font size
Michael Stapelberg [Mon, 13 Aug 2012 11:39:58 +0000 (13:39 +0200)]
pango: divide by PANGO_SCALE to get a "normal" font size

12 years agoi3 --moreversion: use readlink /proc/$pid/exe instead of realpath(argv[0])
Michael Stapelberg [Mon, 13 Aug 2012 11:38:04 +0000 (13:38 +0200)]
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.

12 years agodefault config: include a short explanation about xft fonts
Michael Stapelberg [Mon, 13 Aug 2012 11:34:30 +0000 (13:34 +0200)]
default config: include a short explanation about xft fonts

12 years agologging: make libi3 use verboselog()/errorlog(), provide it in each caller
Michael Stapelberg [Mon, 13 Aug 2012 11:27:00 +0000 (13:27 +0200)]
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

12 years agouserguide: Update Fonts section for Pango support
Quentin Glidic [Sun, 12 Aug 2012 10:37:39 +0000 (12:37 +0200)]
userguide: Update Fonts section for Pango support

12 years agolibi3/font: Log the used font
Quentin Glidic [Sun, 12 Aug 2012 10:20:51 +0000 (12:20 +0200)]
libi3/font: Log the used font

12 years agolibi3: Introduce LOG
Quentin Glidic [Sun, 12 Aug 2012 10:20:15 +0000 (12:20 +0200)]
libi3: Introduce LOG

12 years agolibi3: Implement Pango rendering
Fernando Tarlá Cardoso Lemos [Sun, 5 Aug 2012 19:36:49 +0000 (21:36 +0200)]
libi3: Implement Pango rendering

12 years agocommon.mk: Check for Pango
Quentin Glidic [Sun, 5 Aug 2012 18:54:30 +0000 (20:54 +0200)]
common.mk: Check for Pango

12 years agolibi3: Rework font to support multiple backends
Fernando Tarlá Cardoso Lemos [Mon, 14 Nov 2011 23:39:03 +0000 (21:39 -0200)]
libi3: Rework font to support multiple backends

12 years agoi3bar: Rename xcb_screen to root_screen for consistency
Fernando Tarlá Cardoso Lemos [Mon, 14 Nov 2011 23:39:03 +0000 (21:39 -0200)]
i3bar: Rename xcb_screen to root_screen for consistency

12 years agolibi3: Introduce get_visualtype
Fernando Tarlá Cardoso Lemos [Mon, 14 Nov 2011 23:39:03 +0000 (21:39 -0200)]
libi3: Introduce get_visualtype

12 years agolibi3: Rework predict_text_width
Quentin Glidic [Tue, 7 Aug 2012 20:30:37 +0000 (22:30 +0200)]
libi3: Rework predict_text_width

predict_text_width now takes an i3String as argument

12 years agolibi3: Rework draw_text
Quentin Glidic [Tue, 7 Aug 2012 18:28:39 +0000 (20:28 +0200)]
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

12 years agoi3-input: Store and use xcb_char2b_t directly
Quentin Glidic [Wed, 8 Aug 2012 13:08:05 +0000 (15:08 +0200)]
i3-input: Store and use xcb_char2b_t directly

12 years agoi3-input: Port prompt to i3String
Quentin Glidic [Tue, 7 Aug 2012 20:10:30 +0000 (22:10 +0200)]
i3-input: Port prompt to i3String

12 years agoi3/sighandler: Pre-compute i3Strings for text
Quentin Glidic [Tue, 7 Aug 2012 20:30:37 +0000 (22:30 +0200)]
i3/sighandler: Pre-compute i3Strings for text

12 years agoi3/window: Port window names to i3String
Quentin Glidic [Tue, 7 Aug 2012 19:23:06 +0000 (21:23 +0200)]
i3/window: Port window names to i3String

12 years agoi3/log.h: Prepare for libi3.h inclusion
Quentin Glidic [Fri, 10 Aug 2012 13:39:50 +0000 (15:39 +0200)]
i3/log.h: Prepare for libi3.h inclusion

12 years agoi3-nagbar: Port to i3String
Quentin Glidic [Tue, 7 Aug 2012 17:58:55 +0000 (19:58 +0200)]
i3-nagbar: Port to i3String

12 years agoi3bar: Port to i3String
Quentin Glidic [Tue, 7 Aug 2012 17:46:23 +0000 (19:46 +0200)]
i3bar: Port to i3String

12 years agoi3bar/util.h: Prepare for libi3.h inclusion
Quentin Glidic [Fri, 10 Aug 2012 13:39:50 +0000 (15:39 +0200)]
i3bar/util.h: Prepare for libi3.h inclusion

12 years agolibi3: Implement i3String
Fernando Tarlá Cardoso Lemos [Sun, 5 Aug 2012 21:01:50 +0000 (23:01 +0200)]
libi3: Implement i3String

New type designed to handle UCS-2/UTF-8 conversion nicely

12 years agoMakefile: Always link libi3 first
Quentin Glidic [Sat, 11 Aug 2012 22:59:19 +0000 (00:59 +0200)]
Makefile: Always link libi3 first

12 years agoimplement error messages when moving to another ws fails (Thanks eeemsi)
Michael Stapelberg [Sun, 12 Aug 2012 23:57:39 +0000 (01:57 +0200)]
implement error messages when moving to another ws fails (Thanks eeemsi)

fixes #769

12 years agoremove obsolete branch reference "(tree)" from starting line
Michael Stapelberg [Sun, 12 Aug 2012 23:57:23 +0000 (01:57 +0200)]
remove obsolete branch reference "(tree)" from starting line

12 years agoshm-logging: implement i3-dump-log -f (follow)
Michael Stapelberg [Sun, 12 Aug 2012 22:57:57 +0000 (00:57 +0200)]
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).

12 years agoi3bar: update manpage for the i3bar-protocol
Michael Stapelberg [Sun, 12 Aug 2012 17:25:48 +0000 (19:25 +0200)]
i3bar: update manpage for the i3bar-protocol

fixes #739

12 years agoi3bar-protocol: add example (illustration-only!) shell script, clarify {"version...
Michael Stapelberg [Sun, 12 Aug 2012 16:47:24 +0000 (18:47 +0200)]
i3bar-protocol: add example (illustration-only!) shell script, clarify {"version":1} header

12 years agoi3bar: be less strict about the {"version":1} JSON header
Michael Stapelberg [Sun, 12 Aug 2012 16:40:15 +0000 (18:40 +0200)]
i3bar: be less strict about the {"version":1} JSON header

12 years agouse errx() instead of err() for custom error message
Michael Stapelberg [Sun, 12 Aug 2012 16:34:03 +0000 (18:34 +0200)]
use errx() instead of err() for custom error message

12 years agoBugfix: only honor _NET_ACTIVE_WINDOW for visible windows (+test) (Thanks Tucos)
Michael Stapelberg [Sun, 12 Aug 2012 14:08:31 +0000 (16:08 +0200)]
Bugfix: only honor _NET_ACTIVE_WINDOW for visible windows (+test) (Thanks Tucos)

fixes #774

12 years agoImplement i3 --moreversion
Michael Stapelberg [Sun, 12 Aug 2012 13:10:13 +0000 (15:10 +0200)]
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

12 years agoroot_atom_contents: handle CARDINAL atoms such as I3_PID
Michael Stapelberg [Sun, 12 Aug 2012 12:10:48 +0000 (14:10 +0200)]
root_atom_contents: handle CARDINAL atoms such as I3_PID

12 years agoset I3_PID atom on the root window
Michael Stapelberg [Sun, 12 Aug 2012 11:51:47 +0000 (13:51 +0200)]
set I3_PID atom on the root window

12 years agocomplete-run: handle bailouts
Michael Stapelberg [Sun, 12 Aug 2012 11:46:54 +0000 (13:46 +0200)]
complete-run: handle bailouts

12 years agouse I3__FILE__ for DLOG, leave __FILE__ as is
Michael Stapelberg [Sun, 12 Aug 2012 10:18:43 +0000 (12:18 +0200)]
use I3__FILE__ for DLOG, leave __FILE__ as is

See also commit 0e752070ac2bed02d0858bbc450ddcee36e3b9b5, which broke
source code listings in gdb unless you cd into i3/src. This should give
us best of both :-).

12 years agoadd testcase for previous bugfix (floating window size)
Michael Stapelberg [Sat, 11 Aug 2012 22:36:44 +0000 (00:36 +0200)]
add testcase for previous bugfix (floating window size)

12 years agoBugfix: Properly resize transient floating windows with a decoration
Philipp Middendorf [Thu, 9 Aug 2012 10:32:35 +0000 (12:32 +0200)]
Bugfix: Properly resize transient floating windows with a decoration

fixes #770

12 years agotestworker: handle EAGAIN
Michael Stapelberg [Sat, 11 Aug 2012 22:22:17 +0000 (00:22 +0200)]
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.

12 years agocomplete-run: enable autoflush (useful for debugging)
Michael Stapelberg [Sat, 11 Aug 2012 22:20:52 +0000 (00:20 +0200)]
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'

12 years agotypo: s/transiert/transient/
Michael Stapelberg [Sat, 11 Aug 2012 20:53:40 +0000 (22:53 +0200)]
typo: s/transiert/transient/

12 years agoclean up zero-byte logfile on immediate exit
Julius Plenz [Fri, 10 Aug 2012 23:50:37 +0000 (01:50 +0200)]
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>
12 years agoBugfix: bump copyright in asciidoc-git.conf
Valentin Haenel [Fri, 10 Aug 2012 21:00:07 +0000 (23:00 +0200)]
Bugfix: bump copyright in asciidoc-git.conf

12 years agoscratchpad: fix moving scratchpad window
Michael Stapelberg [Wed, 8 Aug 2012 14:22:03 +0000 (16:22 +0200)]
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

12 years agoupdate .gitignore (Thanks SardemFF7)
Michael Stapelberg [Tue, 7 Aug 2012 08:03:37 +0000 (10:03 +0200)]
update .gitignore (Thanks SardemFF7)

12 years agomakefile: remove the old loglevels.tmp and loglevels.h on 'make clean'
Michael Stapelberg [Tue, 7 Aug 2012 08:03:10 +0000 (10:03 +0200)]
makefile: remove the old loglevels.tmp and loglevels.h on 'make clean'

12 years agoexplicitly set filenames to $(basename __FILE__)
Michael Stapelberg [Tue, 7 Aug 2012 07:55:52 +0000 (09:55 +0200)]
explicitly set filenames to $(basename __FILE__)

This makes the debug log a bit more readable, especially since commit
48f1e383ca2322ffbfbc66cd7c0325b97f8d36a9

12 years agoSupport _NET_ACTIVE_WINDOW ClientMessages
Michael Stapelberg [Tue, 7 Aug 2012 07:50:47 +0000 (09:50 +0200)]
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

12 years agohandlers.c: don’t call x_push_changes(croot), tree_render() already does
Michael Stapelberg [Tue, 7 Aug 2012 07:50:25 +0000 (09:50 +0200)]
handlers.c: don’t call x_push_changes(croot), tree_render() already does

12 years agoBugfix: Attach con to nc before calling con_border_style_rect()
Michael Stapelberg [Mon, 6 Aug 2012 23:13:37 +0000 (01:13 +0200)]
Bugfix: Attach con to nc before calling con_border_style_rect()

12 years agoBugfix: Add deco_height only when in "normal" border mode.
Philipp Middendorf [Mon, 6 Aug 2012 16:39:38 +0000 (18:39 +0200)]
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.

12 years agoBugfix for previous commit: Don’t crash with dock windows
Michael Stapelberg [Mon, 6 Aug 2012 01:11:11 +0000 (03:11 +0200)]
Bugfix for previous commit: Don’t crash with dock windows

12 years agoMake horizontal edge-borders hidable too
Axel Wagner [Sun, 5 Aug 2012 19:41:36 +0000 (21:41 +0200)]
Make horizontal edge-borders hidable too

12 years agoProperly report errors in 'focus parent' (Thanks eeemsi)
Michael Stapelberg [Sun, 5 Aug 2012 18:56:33 +0000 (20:56 +0200)]
Properly report errors in 'focus parent' (Thanks eeemsi)

Also, make X11 errors debug log level only. They are harmless usually.

fixes #762

12 years agocorrectly store last_split_layout when we are dealing with a workspace-level layout...
Michael Stapelberg [Sun, 5 Aug 2012 18:52:42 +0000 (20:52 +0200)]
correctly store last_split_layout when we are dealing with a workspace-level layout change (Thanks aksr)

fixes #763

12 years agocreate hide_edge_borders option
Iakov Davydov [Sun, 22 Jul 2012 09:57:07 +0000 (13:57 +0400)]
create hide_edge_borders option

12 years agomakefile: canonicalize path when compiling
Michael Stapelberg [Sun, 5 Aug 2012 15:00:24 +0000 (17:00 +0200)]
makefile: canonicalize path when compiling

Compilers store the path with which they were called in the debug
symbols. Therefore, this will make backtraces show something like
../i3-4.2/src/main.c instead of src/main.c.

See also http://stackoverflow.com/questions/6473561/

12 years agopre-compile all.h, saves quite some build time
Michael Stapelberg [Sun, 5 Aug 2012 14:35:54 +0000 (16:35 +0200)]
pre-compile all.h, saves quite some build time

before:

$ time CC=clang make -j16
CC=clang make -j16  6,04s user 0,86s system 468% cpu 1,471 total
CC=clang make -j16  6,05s user 0,87s system 468% cpu 1,477 total
CC=clang make -j16  6,15s user 0,86s system 464% cpu 1,510 total
CC=clang make -j16  6,05s user 0,93s system 467% cpu 1,493 total
CC=clang make -j16  6,10s user 0,84s system 461% cpu 1,507 total

$ time CC=gcc make -j16
CC=gcc make -j16  9,91s user 1,43s system 508% cpu 2,231 total
CC=gcc make -j16  10,02s user 1,37s system 500% cpu 2,275 total
CC=gcc make -j16  9,80s user 1,60s system 507% cpu 2,245 total
CC=gcc make -j16  10,02s user 1,44s system 506% cpu 2,264 total
CC=gcc make -j16  9,99s user 1,45s system 505% cpu 2,261 total

after:

$ time CC=clang make -j16
CC=clang make -j16  3,41s user 0,83s system 375% cpu 1,131 total
CC=clang make -j16  3,29s user 0,90s system 373% cpu 1,122 total
CC=clang make -j16  3,35s user 0,77s system 369% cpu 1,116 total
CC=clang make -j16  3,36s user 0,78s system 374% cpu 1,105 total
CC=clang make -j16  3,46s user 0,75s system 373% cpu 1,126 total

$ time CC=gcc make -j16
CC=gcc make -j16  10,74s user 1,44s system 494% cpu 2,462 total
CC=gcc make -j16  10,68s user 1,54s system 497% cpu 2,453 total
CC=gcc make -j16  10,60s user 1,60s system 488% cpu 2,499 total
CC=gcc make -j16  10,63s user 1,51s system 485% cpu 2,502 total
CC=gcc make -j16  10,70s user 1,51s system 497% cpu 2,453 total

Therefore, we enable pre-compiled headers only when CC=clang.

12 years agofix a few warnings/places where the clang static analyzer complains
Michael Stapelberg [Sun, 5 Aug 2012 14:34:38 +0000 (16:34 +0200)]
fix a few warnings/places where the clang static analyzer complains

12 years agolog.h: include left-over slog() prototype
Michael Stapelberg [Sun, 5 Aug 2012 13:59:45 +0000 (15:59 +0200)]
log.h: include left-over slog() prototype

12 years agolog.h: tell the compiler these logging functions use printf-like formats
Michael Stapelberg [Sun, 5 Aug 2012 13:59:08 +0000 (15:59 +0200)]
log.h: tell the compiler these logging functions use printf-like formats

This gives us additional warnings and is supported in gcc and clang.

12 years agodocs/ipc: make the reply sections consistent (they contain the reply type)
Michael Stapelberg [Sun, 5 Aug 2012 12:42:12 +0000 (14:42 +0200)]
docs/ipc: make the reply sections consistent (they contain the reply type)

12 years agoipc: clarify the patch version for sth like 4.2
Michael Stapelberg [Sun, 5 Aug 2012 12:39:45 +0000 (14:39 +0200)]
ipc: clarify the patch version for sth like 4.2

12 years agounbreak the build
Michael Stapelberg [Sun, 5 Aug 2012 12:38:52 +0000 (14:38 +0200)]
unbreak the build

12 years agoipc: implement GET_VERSION to find out the i3 version
Michael Stapelberg [Sun, 5 Aug 2012 12:29:19 +0000 (14:29 +0200)]
ipc: implement GET_VERSION to find out the i3 version

This is useful for third-party scripts which require certain features
and want to error out cleanly when they are run with an old i3 version.

Additionally, i3 --version might be different from what’s actually
running (an old version of the binary), so i3-msg -t get_version will be
the best way to figure out the i3 version you are actually running from
this commit on.

12 years agoman/i3bar: Reference j4status
Quentin Glidic [Sat, 4 Aug 2012 21:31:38 +0000 (23:31 +0200)]
man/i3bar: Reference j4status

12 years agocleanup i3 sync protocol messages
Michael Stapelberg [Sat, 4 Aug 2012 14:34:57 +0000 (16:34 +0200)]
cleanup i3 sync protocol messages

12 years agoparser: remove debug messages
Michael Stapelberg [Sat, 4 Aug 2012 14:31:57 +0000 (16:31 +0200)]
parser: remove debug messages

The new parser is proven by now (v4.2 was released 4 months ago), so
removing these messages will make the logfile more readable.

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 4 Aug 2012 14:10:37 +0000 (16:10 +0200)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-coords'
Michael Stapelberg [Sat, 4 Aug 2012 14:09:46 +0000 (16:09 +0200)]
Merge branch 'fix-coords'

12 years agofloating_fix_coordinates: properly deal with negative positions
Michael Stapelberg [Sat, 4 Aug 2012 13:33:50 +0000 (15:33 +0200)]
floating_fix_coordinates: properly deal with negative positions

12 years agoBugfix: Properly fix floating coordinates when disabling outputs (Thanks Tucos)
Michael Stapelberg [Sat, 4 Aug 2012 13:21:16 +0000 (15:21 +0200)]
Bugfix: Properly fix floating coordinates when disabling outputs (Thanks Tucos)

Since the content containers are not yet updated (they will be when
rendering), we need to use the output containers’s rects instead.

12 years agoBugfix: fix floating coordinates when moving assigned workspaces
Michael Stapelberg [Sat, 4 Aug 2012 13:20:56 +0000 (15:20 +0200)]
Bugfix: fix floating coordinates when moving assigned workspaces

12 years agoFix a crash when the current output cannot be determined (Thanks Tucos)
Michael Stapelberg [Sat, 4 Aug 2012 13:19:11 +0000 (15:19 +0200)]
Fix a crash when the current output cannot be determined (Thanks Tucos)

This is only a cosmetical change though, the fix for the root cause can
be found in the commits following this one.

12 years agoi3-migrate-config-to-v4: use layout toggle split (Thanks eeemsi)
Michael Stapelberg [Sat, 4 Aug 2012 10:46:37 +0000 (12:46 +0200)]
i3-migrate-config-to-v4: use layout toggle split (Thanks eeemsi)

12 years agoensure the layout is not L_DEFAULT anymore, even if last_split_layout is not initiali...
Michael Stapelberg [Sat, 4 Aug 2012 01:43:12 +0000 (03:43 +0200)]
ensure the layout is not L_DEFAULT anymore, even if last_split_layout is not initialized (Thanks eeemsi)

12 years agoIntroduce splith/splitv layouts, remove orientation
Michael Stapelberg [Sat, 4 Aug 2012 01:04:00 +0000 (03:04 +0200)]
Introduce splith/splitv layouts, remove orientation

With this commit, the "default" layout is replaced by the splith and
splitv layouts. splith is equivalent to default with orientation
horizontal and splitv is equivalent to default with orientation
vertical.

The "split h" and "split v" commands continue to work as before, they
split the current container and you will end up in a split container
with layout splith (after "split h") or splitv (after "split v").

To change a splith container into a splitv container, use either "layout
splitv" or "layout toggle split". The latter command is used in the
default config as mod+l (previously "layout default"). In case you have
"layout default" in your config file, it is recommended to just replace
it by "layout toggle split", which will work as "layout default" did
before when pressing it once, but toggle between horizontal/vertical
when pressing it repeatedly.

The rationale behind this commit is that it’s cleaner to have all
parameters that influence how windows are rendered in the layout itself
rather than having a special parameter in combination with only one
layout. This enables us to change existing split containers in all cases
without breaking existing features (see ticket #464). Also, users should
feel more confident about whether they are actually splitting or just
changing an existing split container now.

As a nice side-effect, this commit brings back the "layout toggle"
feature we once had in i3 version 3 (see the userguide).

AFAIK, it is safe to use in-place restart to upgrade into versions
after this commit (switching to an older version will break your layout,
though).

Fixes #464

12 years agotests: implement --xtrace in complete-run.pl
Michael Stapelberg [Fri, 3 Aug 2012 22:51:41 +0000 (00:51 +0200)]
tests: implement --xtrace in complete-run.pl

12 years agoadd missing \n in debug message
Michael Stapelberg [Fri, 3 Aug 2012 21:58:02 +0000 (23:58 +0200)]
add missing \n in debug message

12 years agomakefile: store $I3_VERSION in dist tarballs
Michael Stapelberg [Fri, 3 Aug 2012 23:10:45 +0000 (01:10 +0200)]
makefile: store $I3_VERSION in dist tarballs

This is necessary because the autobuilder uses a dist tarball to build
i3 from. If we store $VERSION, the autobuiluder binaries will not run in
developer mode, thus defeating the purpose of developer mode.

12 years agoDisplay i3-nagbar when commands lead to an error
Michael Stapelberg [Thu, 2 Aug 2012 15:43:00 +0000 (17:43 +0200)]
Display i3-nagbar when commands lead to an error

e.g. pressing Mod1+x when having the following in your configfile:

    bindsym Mod1+x some invalid command

will lead to an i3-nagbar instance popping up, offering you to view the
error log (which will contain parser errors from this commit on).

12 years agoconfig: require confirmation when exiting i3 (Thanks Felicitus)
Michael Stapelberg [Thu, 2 Aug 2012 14:17:24 +0000 (16:17 +0200)]
config: require confirmation when exiting i3 (Thanks Felicitus)

Fixes #751

12 years agoAdd xfce4-terminal to i3-sensible-terminal
Michael Stapelberg [Thu, 2 Aug 2012 13:20:17 +0000 (15:20 +0200)]
Add xfce4-terminal to i3-sensible-terminal

Fixes #753

12 years agocfgparse: Write custom scripts for i3-sensible-terminal
Michael Stapelberg [Thu, 2 Aug 2012 13:17:10 +0000 (15:17 +0200)]
cfgparse: Write custom scripts for i3-sensible-terminal

This workaround is necessary for terminal emulators which parse -e in a
different way: some accept a list of arguments (-e command arg1 arg2 …),
some accept only one argument (-e "command arg1 arg2 …"). Therefore, we
just create a script and pass that as the one and only argument.

12 years agoconfig-wizard: use the level 0 keysym whenever it’s unambiguous
Michael Stapelberg [Thu, 2 Aug 2012 00:14:56 +0000 (02:14 +0200)]
config-wizard: use the level 0 keysym whenever it’s unambiguous

From the code:

    Try to use the keysym on the first level (lower-case). In case
    this doesn’t make it ambiguous (think of a keyboard layout
    having '1' on two different keys, but '!' only on keycode 10),
    we’ll stick with the keysym of the first level.

    This reduces a lot of confusion for users who switch keyboard
    layouts from qwerty to qwertz or other slight variations of
    qwerty (yes, that happens quite often).

12 years agoAutomatically hide i3bar when it's unneeded.
darkraven [Thu, 26 Jul 2012 18:53:32 +0000 (02:53 +0800)]
Automatically hide i3bar when it's unneeded.

When a workspace marked 'urgent', i3bar unhide
itself. if I want to hide it again, I must press the
modifier.This sometimes annoys me.

In this patch I change the above behavior to this:
If a urgent workspace occurs, i3bar will unhide itself;
and when you navigates away from the last urgent
workspace and there is no more urgent workspace, i3bar
will hide itself.

12 years agocommon.mk: Rework version usage
Quentin Glidic [Mon, 30 Jul 2012 15:24:31 +0000 (17:24 +0200)]
common.mk: Rework version usage

12 years agodocs/ipc: update links to libraries
Michael Stapelberg [Mon, 23 Jul 2012 09:03:16 +0000 (11:03 +0200)]
docs/ipc: update links to libraries

12 years agodocs/ipc: document the 'window' field (Thanks jh)
Michael Stapelberg [Mon, 23 Jul 2012 09:01:52 +0000 (11:01 +0200)]
docs/ipc: document the 'window' field (Thanks jh)

fixes #758

12 years agoFix linking by linking libi3 first and its dependencies afterwards
Michael Stapelberg [Mon, 23 Jul 2012 08:56:44 +0000 (10:56 +0200)]
Fix linking by linking libi3 first and its dependencies afterwards

Interestingly, compilation was only broken on some systems apparently

12 years agocommon.mk: Little reordering
Quentin Glidic [Sun, 22 Jul 2012 22:13:16 +0000 (00:13 +0200)]
common.mk: Little reordering

12 years agocommon.mk: Split XCB common flags
Quentin Glidic [Sun, 22 Jul 2012 22:10:42 +0000 (00:10 +0200)]
common.mk: Split XCB common flags

12 years agocommon.mk: Split XCB keyboard flags
Quentin Glidic [Sun, 22 Jul 2012 22:06:37 +0000 (00:06 +0200)]
common.mk: Split XCB keyboard flags

12 years agocommon.mk: Split WM XCB flags
Quentin Glidic [Sun, 22 Jul 2012 22:02:01 +0000 (00:02 +0200)]
common.mk: Split WM XCB flags

12 years agocommon.mk: Split Xlib flags
Quentin Glidic [Sun, 22 Jul 2012 21:57:39 +0000 (23:57 +0200)]
common.mk: Split Xlib flags

12 years agocommon.mk: Move -lm to i3_LIBS
Quentin Glidic [Sun, 22 Jul 2012 21:47:34 +0000 (23:47 +0200)]
common.mk: Move -lm to i3_LIBS

12 years agocommon.mk: Split Xcursor flags
Quentin Glidic [Sun, 22 Jul 2012 21:42:18 +0000 (23:42 +0200)]
common.mk: Split Xcursor flags