]>
git.sur5r.net Git - i3/i3/log
Michael Stapelberg [Wed, 3 Mar 2010 00:22:39 +0000 (01:22 +0100)]
Save a resize_client() when handling the size hints
Michael Stapelberg [Wed, 3 Mar 2010 00:20:56 +0000 (01:20 +0100)]
Bugfix: checked for wrong flag in size hints
Michael Stapelberg [Tue, 2 Mar 2010 17:56:57 +0000 (18:56 +0100)]
debian: require libxcb-randr0-dev instead of libxcb-xinerama0-dev
Michael Stapelberg [Tue, 2 Mar 2010 14:45:48 +0000 (15:45 +0100)]
When in fullscreen mode, focus whole screens instead of denying to focus (Thanks dothebart)
This fixes ticket #169.
Michael Stapelberg [Tue, 2 Mar 2010 14:45:03 +0000 (15:45 +0100)]
Bugfix: only return active screens in get_screen_most
Michael Stapelberg [Tue, 2 Mar 2010 14:30:23 +0000 (15:30 +0100)]
Move autostart after creating the IPC socket in start process (Thanks Sasha)
This fixes ticket #179.
Michael Stapelberg [Tue, 2 Mar 2010 14:25:08 +0000 (15:25 +0100)]
Restore geometry of all windows before exiting/restarting (Thanks Sasha)
This fixes ticket #185
Michael Stapelberg [Tue, 2 Mar 2010 13:42:24 +0000 (14:42 +0100)]
use scalloc instead of some places where calloc was still used
Michael Stapelberg [Tue, 2 Mar 2010 12:35:43 +0000 (13:35 +0100)]
Change workspace assignments to use the RandR output name instead of <screen>
Michael Stapelberg [Tue, 2 Mar 2010 11:56:45 +0000 (12:56 +0100)]
Fix parallel compilation (sometimes it failed because of wrong order in lex/yacc)
Michael Stapelberg [Tue, 2 Mar 2010 11:47:21 +0000 (12:47 +0100)]
huge change: implement RandR instead of Xinerama
Thanks to Merovius for doing a proof of concept on this one and
being a driving force behind the idea.
Using RandR instead of Xinerama means that we are now able to use
the full potential of the modern way of configuring screens. That
means, i3 now has an idea of the outputs your graphic driver
provides, which allowed us to get rid of the ugly way of detecting
changes in the screen configuration which we used before. Now, your
workspaces should not be confused when changing output modes anymore.
Also, instead of having ugly heuristics to assign your workspaces
to (the screen at position X or the second screen in the list of
screens) you will be able to just specify an output name.
As this change basically touches everything, you should be prepared
for bugs. Please test and report them!
Michael Stapelberg [Sun, 28 Feb 2010 19:35:30 +0000 (20:35 +0100)]
add xcb_set_window_rect which configures a window according to a Rect
Michael Stapelberg [Sun, 28 Feb 2010 17:39:11 +0000 (18:39 +0100)]
Move update_if_necessary to util.c, will be necessary later
Michael Stapelberg [Mon, 22 Feb 2010 06:09:17 +0000 (07:09 +0100)]
docs: the comparison is size and position, not only size (Thanks Merovius)
Michael Stapelberg [Sat, 20 Feb 2010 19:32:43 +0000 (20:32 +0100)]
work around clients setting 0xFFFF as resize increments
I am not sure if behaviour is specified for this case, but as the
workaround is not really a big deal, why bother…
Michael Stapelberg [Tue, 16 Feb 2010 18:55:04 +0000 (19:55 +0100)]
Add missing carriage return (Thanks fallen)
Michael Stapelberg [Tue, 16 Feb 2010 18:25:07 +0000 (19:25 +0100)]
Make the warning about $terminal being deprecated an error (Thanks fallen)
Michael Stapelberg [Sun, 14 Feb 2010 15:59:22 +0000 (16:59 +0100)]
parser: ignore errors
Michael Stapelberg [Sat, 13 Feb 2010 18:58:43 +0000 (19:58 +0100)]
Document the new options
Michael Stapelberg [Sat, 13 Feb 2010 18:42:54 +0000 (19:42 +0100)]
lexer/parser: proper error messages
Error messages now look like this:
13.02.2010 19:42:30 - ERROR:
13.02.2010 19:42:30 - ERROR: CONFIG: syntax error, unexpected <word>,
expecting default/stacking/tabbed or stack-limit
13.02.2010 19:42:30 - ERROR: CONFIG: in file "inv", line 15:
13.02.2010 19:42:30 - ERROR: CONFIG: new_container foobar
13.02.2010 19:42:30 - ERROR: CONFIG: ^^^^^^
13.02.2010 19:42:30 - ERROR:
Michael Stapelberg [Sat, 13 Feb 2010 18:27:28 +0000 (19:27 +0100)]
makefile: parser/lexer also depend on header files
Michael Stapelberg [Sat, 13 Feb 2010 14:27:43 +0000 (15:27 +0100)]
parser: enable verbose error messages, add aliases to tokens
Michael Stapelberg [Fri, 12 Feb 2010 15:19:58 +0000 (16:19 +0100)]
Also warp the pointer when moving a window to a another visible workspace (Thanks Thomas)
Michael Stapelberg [Fri, 12 Feb 2010 12:06:59 +0000 (13:06 +0100)]
Bugfix: Correctly do boundary checking/moving to other workspaces when moving floating clients via keyboard (Thanks sasha)
Michael Stapelberg [Fri, 12 Feb 2010 11:12:25 +0000 (12:12 +0100)]
Bugfix: Use both parts of WM_CLASS (it contains instance and class) (Thanks fallen)
Actually, WM_CLASS contains two null-terminated strings, so we cannot
use asprintf() to get its value but rather use strdup() to get both
of them. Both values are compared when a client is matched against
a wm_class/title combination (for assignments for example).
Michael Stapelberg [Fri, 5 Feb 2010 15:11:15 +0000 (16:11 +0100)]
Remove duplicate entry (Thanks Merovius)
Michael Stapelberg [Fri, 29 Jan 2010 20:58:28 +0000 (21:58 +0100)]
Add documentation for the new focus follows mouse-option
Michael Stapelberg [Fri, 29 Jan 2010 20:51:38 +0000 (21:51 +0100)]
Invert logic for the last commit
This makes it more clear that the option is meant to be a special
case (it *disables* part of the focus handling). Also, when
initializing the config data structure with zeros, it will get
initialized with the right value.
Furthermore, the config file parser now also accepts various values
which represent "true", not only numbers.
Kim Silkebækken (lokaltog) [Tue, 26 Jan 2010 11:10:48 +0000 (12:10 +0100)]
Added focus_follows_mouse config option
Michael Stapelberg [Tue, 26 Jan 2010 21:48:12 +0000 (22:48 +0100)]
docs: improve documentation on modes (Thanks xeen)
Kim Silkebækken (lokaltog) [Tue, 26 Jan 2010 10:06:10 +0000 (11:06 +0100)]
Fixed cursor code in create_window(), allowing the cursor to be changed
Kim Silkebækken (lokaltog) [Tue, 26 Jan 2010 10:05:59 +0000 (11:05 +0100)]
Fixed cursor orientation when resizing
Michael Stapelberg [Sat, 23 Jan 2010 21:35:10 +0000 (22:35 +0100)]
Include date of the last commit in version number (Thanks Scytale)
Michael Stapelberg [Sat, 23 Jan 2010 17:57:29 +0000 (18:57 +0100)]
Implement resize command for floating clients
Michael Stapelberg [Fri, 22 Jan 2010 23:34:29 +0000 (00:34 +0100)]
Bugfix: Don’t leak IPC socket to launched processes
Michael Stapelberg [Wed, 20 Jan 2010 21:34:25 +0000 (22:34 +0100)]
manpage: mention i3-msg and i3-input in SEE ALSO (Thanks artoj)
Cedric Staub [Fri, 15 Jan 2010 15:30:28 +0000 (16:30 +0100)]
Feature: Cycle through workspaces
On command pw/nw, cycle through all workspaces (starting from
previous/next one) until we reach the current one again.
Michael Stapelberg [Fri, 8 Jan 2010 17:56:01 +0000 (18:56 +0100)]
bugfix: lexer: return to INITIAL state (Thanks dirkson)
'floating_modifier' after 'workspace' did not work because of wrong
state
Michael Stapelberg [Thu, 7 Jan 2010 13:38:00 +0000 (14:38 +0100)]
Bugfix: if a font provides no per-char info for width, fall back to the default (Thanks Ciprian)
Michael Stapelberg [Thu, 7 Jan 2010 12:36:52 +0000 (13:36 +0100)]
Bugfix: Use ev_loop_new instead of ev_default_loop because the latter one blocks SIGCHLD (Thanks Ciprian)
SIGCHLD was inherited to child processes started by i3 and not
all of them unblocked it (shells generally did, though), leading to
zombie processes.
Michael Stapelberg [Sun, 3 Jan 2010 21:07:39 +0000 (22:07 +0100)]
sighandler: last little style fixes
Michael Stapelberg [Sun, 3 Jan 2010 21:02:07 +0000 (22:02 +0100)]
grab the pointer inside the signal handler popup
Michael Stapelberg [Sun, 3 Jan 2010 20:55:22 +0000 (21:55 +0100)]
Check return code of sigaction()
Michael Stapelberg [Sun, 3 Jan 2010 20:55:02 +0000 (21:55 +0100)]
Remove expose event mask, expose events will not be generated in any case
Michael Stapelberg [Sun, 3 Jan 2010 20:54:47 +0000 (21:54 +0100)]
Use DLOG instead of LOG, remove unnecessary debug statement
Michael Stapelberg [Sun, 3 Jan 2010 20:54:26 +0000 (21:54 +0100)]
some little style changes
Michael Stapelberg [Sun, 3 Jan 2010 20:53:42 +0000 (21:53 +0100)]
Use doxygen compatible comments
Michael Stapelberg [Sun, 3 Jan 2010 20:53:30 +0000 (21:53 +0100)]
Update copyright to 2010
Jan-Erik Rediger [Sun, 3 Jan 2010 13:52:38 +0000 (14:52 +0100)]
added popup for handling SIGSEGV or SIGFPE
the popup is placed on each of the virtual screens
the user can decide to restart or quit i3
in case of an exit a core-dump is generated
Michael Stapelberg [Sun, 3 Jan 2010 17:36:50 +0000 (18:36 +0100)]
ewmh: Don’t push workspaces with width=0 and height=0 (Thanks Atsutane, badboy)
Even though i3 cannot know the width/height of some workspaces as
long as they are not initialized (say you used workspace 1 and 3,
but not workspace 2), some applications require this information.
In this case, it was Firefox which intersects the available workareas
(see mozilla/gfx/src/gtk/nsScreenGtk.cpp) and did not position some
windows correctly when being confronted with zero-width/height
workspaces.
Michael Stapelberg [Sun, 3 Jan 2010 15:58:41 +0000 (16:58 +0100)]
Obey the XDG Base Directory Specification for config file paths
This means you can now put your i3 config into
$XDG_CONFIG_HOME/i3/config, which probably is ~/.config/i3/config
if not set otherwise.
Michael Stapelberg [Fri, 1 Jan 2010 21:40:50 +0000 (22:40 +0100)]
Bugfix: Containers could lose their snap state (Thanks Atsutane)
When being on a different workspace than the one where the snapped
container is, the function to cleanup cols/rows would clean up too
much.
Michael Stapelberg [Fri, 1 Jan 2010 16:30:27 +0000 (17:30 +0100)]
Remove superfluous #include <assert.h> (Thanks badboy)
Michael Stapelberg [Fri, 1 Jan 2010 15:19:55 +0000 (16:19 +0100)]
Extend testcase for dock clients with wm_transient_for hint
Michael Stapelberg [Fri, 1 Jan 2010 15:19:42 +0000 (16:19 +0100)]
Bugfix: Don’t put dock clients into floating mode (Thanks xeen)
Michael Stapelberg [Thu, 31 Dec 2009 16:48:41 +0000 (17:48 +0100)]
ewmh: implement support for _NET_WORKAREA (rdesktop can use that)
Please note that rdesktop’s -g workarea option will not work on
64-bit systems at the moment because of a bug in rdesktop (see the
rdesktop-devel mailing list).
Michael Stapelberg [Tue, 29 Dec 2009 16:48:16 +0000 (17:48 +0100)]
Fix bindings using the cursor keys in default config
Michael Stapelberg [Fri, 25 Dec 2009 14:19:39 +0000 (15:19 +0100)]
ewmh: correctly set _NET_ACTIVE_WINDOW
Michael Stapelberg [Fri, 25 Dec 2009 14:05:17 +0000 (15:05 +0100)]
ewmh: correctly set _NET_CURRENT_DESKTOP to the number of the active workspace
Michael Stapelberg [Tue, 22 Dec 2009 23:39:03 +0000 (00:39 +0100)]
Bugfix: Fix NULL pointer dereference in workspaces which have preferred screens but were not used yet (Thanks badboy)
Michael Stapelberg [Tue, 22 Dec 2009 22:43:05 +0000 (23:43 +0100)]
retab! src/container.c
Michael Stapelberg [Tue, 22 Dec 2009 22:40:06 +0000 (23:40 +0100)]
Make containers containing exactly one window behave like default containers
Starting from this commit, a borderless window will always be
borderless if it is the only window in a container. For example,
you can have Firefox borderless in a tabbed container and as soon
as the download manager or a viewer gets opened, the container
will be rendered like a normal tabbed container.
This solves the user-interface dilemma of borderless/1-px-border
windows inside stacked/tabbed containers, at least for this special
case. Thanks to Merovius for this suggestion.
Michael Stapelberg [Tue, 22 Dec 2009 11:14:09 +0000 (12:14 +0100)]
makefile: rather than a dependency for each source file, generate loglevels.h by recursion
This little hack runs make recursively to generate include/loglevels.h
before running any other target but skip an explicit dependency on
loglevels.h in each rule. Therefore, you do not need to rebuild
every source file when compiling.
Michael Stapelberg [Tue, 22 Dec 2009 10:29:24 +0000 (11:29 +0100)]
Correctly exit when another window manager is already running
This is implemented by checking if setting the redirect mask returned
an error or not.
Michael Stapelberg [Mon, 21 Dec 2009 22:08:08 +0000 (23:08 +0100)]
debian: update changelog
Michael Stapelberg [Mon, 21 Dec 2009 21:30:08 +0000 (22:30 +0100)]
xinerama: correctly put windows which are assigned to a specific screen on that screen when it becomes available (Thanks badboy)
Michael Stapelberg [Mon, 21 Dec 2009 19:41:02 +0000 (20:41 +0100)]
xinerama: change some log messages to errors
Michael Stapelberg [Sun, 20 Dec 2009 22:43:49 +0000 (23:43 +0100)]
Remove -e and -t from loglevels.h target to make it POSIX compliant (Thanks Mirko)
Michael Stapelberg [Sun, 20 Dec 2009 11:58:45 +0000 (12:58 +0100)]
makefile: properly document dependencies on each target to fix parallel make (Thanks Atsutane)
Michael Stapelberg [Sat, 19 Dec 2009 21:42:24 +0000 (22:42 +0100)]
makefile: clean temporary files
Michael Stapelberg [Sat, 19 Dec 2009 21:39:00 +0000 (22:39 +0100)]
Touch each log message and classify it as DLOG (debug), ELOG (error) or LOG (verbose)
Michael Stapelberg [Sat, 19 Dec 2009 21:38:32 +0000 (22:38 +0100)]
Add new options -V for verbose mode and -d <loglevel> for debug log levels
Michael Stapelberg [Sat, 19 Dec 2009 21:37:15 +0000 (22:37 +0100)]
add log.c/log.h which contain all the log related macros and functions
Michael Stapelberg [Sat, 19 Dec 2009 21:33:50 +0000 (22:33 +0100)]
logging: new makefile target to generate loglevels at compile time
Using shell commands, a bitmask is generated for each file. Additionally,
a C header containing an array of loglevels and their files is created in
include/loglevels.h.
Michael Stapelberg [Wed, 16 Dec 2009 21:59:25 +0000 (22:59 +0100)]
Add x11-utils as dependency to have xmessage(1) for the welcome message
Michael Stapelberg [Tue, 15 Dec 2009 18:11:01 +0000 (19:11 +0100)]
Add clarification about border color in userguide (Thanks xeen)
Michael Stapelberg [Sun, 13 Dec 2009 16:02:22 +0000 (17:02 +0100)]
Distribute rest space between windows as long as possible. (Thanks msi)
When having 8 windows in a container which has 766 px available,
you ended up losing 0,75 px per window which would quickly sum up.
Now, the rest space (6 px in this example) is distributed in units
of one pixel to as many windows as possible.
Michael Stapelberg [Sat, 12 Dec 2009 21:27:57 +0000 (22:27 +0100)]
Take into account the window’s base_{width,height} when resizing (Thanks Mirko)
Michael Stapelberg [Sat, 12 Dec 2009 20:42:56 +0000 (21:42 +0100)]
Partly revert
4ba26659 , it was just wrong.
Michael Stapelberg [Sat, 12 Dec 2009 20:34:53 +0000 (21:34 +0100)]
Add new entry in debian/changelog to prevent apt from overwriting self-built packages
Michael Stapelberg [Sat, 12 Dec 2009 20:31:41 +0000 (21:31 +0100)]
Bugfix: Correctly check for fullscreen windows when mapping new clients
CUR_CELL only works if you currently are in that container (not for
windows which are assigned to invisible workspaces, for example).
Michael Stapelberg [Sat, 12 Dec 2009 20:29:07 +0000 (21:29 +0100)]
Bugfix: Correctly place new windows below fullscreen windows (Thanks Moredread)
This bug could happen if you have floating and tiling windows (for
example Firefox in tiling mode and its Open dialog in autmatically
floating mode) and you opened a new tiling window while in fullscreen.
i3 would then place the window below the floating windows, but
floating clients are above fullscreen windows. Thus, the client
would be placed above the fullscreen window.
Michael Stapelberg [Sat, 12 Dec 2009 17:43:30 +0000 (18:43 +0100)]
Bugfix: Fix assignments to not yet visible workspaces
This was broken by commit
5a1668db3
Michael Stapelberg [Fri, 11 Dec 2009 16:57:42 +0000 (17:57 +0100)]
Bugfix: close file handle after parsing
Michael Stapelberg [Tue, 8 Dec 2009 19:55:17 +0000 (20:55 +0100)]
Include unistd.h for usleep()
Michael Stapelberg [Tue, 8 Dec 2009 19:52:19 +0000 (20:52 +0100)]
Bugfix: Don’t resize client after base_height changes if client is in fullscreen mode
Michael Stapelberg [Tue, 8 Dec 2009 10:48:25 +0000 (11:48 +0100)]
Bugfix: Use more precise floating point arithmetic (Thanks helgiks)
This prevents errors in rounding leading to an unoccupied space of
-1 which in turn leads to infinity when calculating the new size
of a container after resizing.
Michael Stapelberg [Mon, 7 Dec 2009 18:06:57 +0000 (19:06 +0100)]
Correct typo
Michael Stapelberg [Mon, 7 Dec 2009 15:58:46 +0000 (16:58 +0100)]
Update and reformat the hacking howto
Michael Stapelberg [Mon, 7 Dec 2009 15:31:49 +0000 (16:31 +0100)]
When no screens are found, don’t hog the CPU. Also, wait longer for screens (10 seconds).
Instead of just going on, i3 will exit cleanly now, putting an
appropriate message into the logfile.
Michael Stapelberg [Mon, 7 Dec 2009 09:25:12 +0000 (10:25 +0100)]
Add new chapters to userguide: multi-monitor and software environment
Michael Stapelberg [Thu, 26 Nov 2009 21:17:38 +0000 (22:17 +0100)]
Bugfix: Fix two problems in resizing floating windows with right mouse button (Thanks Mirko)
Minimum width/height was not consistent with the limit for grabbing
and resizing a window at its border.
If one of both was violated (width < min_width for example), none
of them were updated.
Michael Stapelberg [Thu, 26 Nov 2009 20:32:53 +0000 (21:32 +0100)]
Bugfix: Render containers after setting the client active (Thanks Mirko)
This lead to race conditions when the window did not change its title
after mapping and was displayed in a tabbed container.
Michael Stapelberg [Mon, 23 Nov 2009 20:58:32 +0000 (21:58 +0100)]
debian: update changelog
Michael Stapelberg [Mon, 23 Nov 2009 20:50:01 +0000 (21:50 +0100)]
debian: Add i3-wm.doc-base
Michael Stapelberg [Mon, 23 Nov 2009 20:44:23 +0000 (21:44 +0100)]
debian: add missing files to docs/
Michael Stapelberg [Mon, 23 Nov 2009 20:34:21 +0000 (21:34 +0100)]
debian: set priority only for the source package, binaries will inherit
Michael Stapelberg [Mon, 23 Nov 2009 08:42:38 +0000 (09:42 +0100)]
Bugfix: Resize client after updating base_height/base_width (Thanks Merovius)
This fixes the problem that urxvt/xterm "lost" a line of space before
being resized the first time.
Michael Stapelberg [Mon, 23 Nov 2009 07:35:40 +0000 (08:35 +0100)]
Bugfix: Don’t ignore urgency flag when the client wants to clean it (Thanks Syntropy)
Michael Stapelberg [Sun, 22 Nov 2009 21:48:08 +0000 (22:48 +0100)]
Bugfix: Fix stack-limit cols, handle stack-limit cols on tabbed containers (Thanks jace)