]>
git.sur5r.net Git - i3/i3/log
Michael Stapelberg [Mon, 15 Mar 2010 23:12:01 +0000 (00:12 +0100)]
manpage: correctly document the search order for XDG
Michael Stapelberg [Mon, 15 Mar 2010 23:08:54 +0000 (00:08 +0100)]
makefiles: support PREFIX and SYSCONFDIR
Michael Stapelberg [Mon, 15 Mar 2010 23:00:27 +0000 (00:00 +0100)]
makefile: install header file i3/ipc.h
Michael Stapelberg [Mon, 15 Mar 2010 22:04:32 +0000 (23:04 +0100)]
Add document about the current multi-monitor situation with RandR
Michael Stapelberg [Mon, 15 Mar 2010 21:41:39 +0000 (22:41 +0100)]
Update i3.man
Michael Stapelberg [Mon, 15 Mar 2010 21:17:00 +0000 (22:17 +0100)]
Bugfix: Correctly stack windows when new windows are opened while in fullscreen mode
This fixes ticket #195.
Michael Stapelberg [Mon, 15 Mar 2010 17:23:12 +0000 (18:23 +0100)]
Fix spelling errors/strange sentences in the user’s guide
Proof-reading is very appreciated.
Michael Stapelberg [Sun, 14 Mar 2010 21:35:51 +0000 (22:35 +0100)]
Don’t use SYNC key bindings for Mode_switch but re-grab keys
Before this commit, i3 used key bindings in SYNC mode for bindings
like Mode_switch + <a> and replayed the key if the current state
did not include Mode_switch. This had some problems:
1) The WM needed to acknowledge much more key presses than you
actually had bindings for, thus making the system a bit laggy
sometimes.
2) Users of layouts who constantly type in the third level (like
russian layouts) did not get their cyrillic symbols correctly
(they were not replayed right), neither did the keybindings
work in both modes.
So, the current implementation uses the following approach: XKB
provides an event which contains the current state (including
the current level). i3 signs up for this event and upon receival,
it re-maps the bindings using Mode_switch (enables them when the
level goes to the third level and disables them as soon as the
level goes back to normal). This fixes both problems.
Michael Stapelberg [Sun, 14 Mar 2010 11:59:45 +0000 (12:59 +0100)]
Implement disabling the internal workspace bar
Michael Stapelberg [Sat, 13 Mar 2010 18:15:28 +0000 (19:15 +0100)]
Add configuration option to turn off workspace bar
Michael Stapelberg [Sat, 13 Mar 2010 18:09:49 +0000 (19:09 +0100)]
Update IPC documentation
Michael Stapelberg [Sat, 13 Mar 2010 15:27:03 +0000 (16:27 +0100)]
ipc: correctly set "focused" for workspaces
Didn’t work on empty workspaces before
Michael Stapelberg [Sat, 13 Mar 2010 14:04:23 +0000 (15:04 +0100)]
ipc: change message type of events (first bit set high)
Michael Stapelberg [Sat, 13 Mar 2010 12:24:26 +0000 (13:24 +0100)]
Mention proportional resizing in userguide
Axel Wagner [Sat, 13 Mar 2010 09:38:22 +0000 (10:38 +0100)]
Implement proportional floating-resize.
Axel Wagner [Fri, 12 Mar 2010 23:59:16 +0000 (00:59 +0100)]
Add documentation for floating resize
Michael Stapelberg [Fri, 12 Mar 2010 20:05:05 +0000 (21:05 +0100)]
ipc: implement events, cleanup the code a bit
Michael Stapelberg [Fri, 12 Mar 2010 17:17:27 +0000 (18:17 +0100)]
hacking-howto: add tabbed layout (Thanks msi)
Michael Stapelberg [Fri, 12 Mar 2010 16:51:53 +0000 (17:51 +0100)]
hacking-howto: add tabbed layout (Thanks msi)
Michael Stapelberg [Fri, 12 Mar 2010 14:59:38 +0000 (15:59 +0100)]
ipc: return logical workspace numbers, not internal ones
Michael Stapelberg [Fri, 12 Mar 2010 14:45:36 +0000 (15:45 +0100)]
i3-msg: Initialize message_type (Thanks badboy)
Michael Stapelberg [Fri, 12 Mar 2010 14:30:09 +0000 (15:30 +0100)]
i3-msg: read replies, implement get_workspaces command
Michael Stapelberg [Fri, 12 Mar 2010 14:29:44 +0000 (15:29 +0100)]
ipc: also send a reply for COMMAND messages
Michael Stapelberg [Fri, 12 Mar 2010 14:02:00 +0000 (15:02 +0100)]
ipc: Correctly deal with SIGPIPE/failing write()s
If a client disconnects while i3 still wants to write the reply, this
could lead to exits of i3 before.
Axel Wagner [Fri, 12 Mar 2010 00:31:48 +0000 (01:31 +0100)]
Floating resize uses arbitrary corners
This closes ticket #121
Michael Stapelberg [Fri, 12 Mar 2010 02:06:40 +0000 (03:06 +0100)]
committed the wrong file
Michael Stapelberg [Fri, 12 Mar 2010 02:05:42 +0000 (03:05 +0100)]
Add documentation for the IPC interface
Michael Stapelberg [Fri, 12 Mar 2010 02:01:34 +0000 (03:01 +0100)]
ipc: change active to visible, introduce focused
visible == currently visible on the output it is on
(multiple workspaces can be visible at the same time)
focused == has the focus (only one workspace can be focused)
Michael Stapelberg [Fri, 12 Mar 2010 01:59:16 +0000 (02:59 +0100)]
Update comment (Thanks Merovius)
Michael Stapelberg [Thu, 11 Mar 2010 23:41:40 +0000 (00:41 +0100)]
bugfix: don’t remap stack windows errnously when changing workspaces
This fixes ticket #193 (long-standing rendering bug).
Michael Stapelberg [Thu, 11 Mar 2010 22:34:29 +0000 (23:34 +0100)]
Bugfix: Don’t mess up x/y coordinates in configurerequests for floating windows
This was the cause for ticket #93, which actually has a false
conclusion for the reason of this bug.
This code needs to be refactored.
Michael Stapelberg [Thu, 11 Mar 2010 15:48:48 +0000 (16:48 +0100)]
ipc: add active flag
Michael Stapelberg [Thu, 11 Mar 2010 14:58:39 +0000 (15:58 +0100)]
ipc: implement GET_WORKSPACES message type
This is the foundation to use dzen2 or similar as a complete
replacement for the internal workspaces bar.
A testcase is included, more documentation about the IPC interface
will follow.
Michael Stapelberg [Thu, 11 Mar 2010 14:36:54 +0000 (15:36 +0100)]
Remove -ftrampolines as we don’t have nested functions anymore
Michael Stapelberg [Wed, 10 Mar 2010 23:15:34 +0000 (00:15 +0100)]
Select containers above or near the whole snapped width/height
This fixes ticket #100, and is best explained using a little example.
Consider the following layout:
+---+---+
| | X |
+---+---+
| X |
+---+---+
Where X marks a window, so you have an empty container in the upper
left, the container on the bottom is snapped to the right. Before
this commit, nothing would happen when focusing "above". After
this commit, the upper window gets focused.
Michael Stapelberg [Wed, 10 Mar 2010 22:27:24 +0000 (23:27 +0100)]
Fix predict_text_width by using xcb_query_text_extents
This fixes ticket #173, at least for the rendering errors.
I don’t really know why I implemented predict_text_width like it
was before (querying the whole table and pulling out information
one by one). Maybe I have overlooked xcb_query_text_extents. In
any case, it works better now.
Michael Stapelberg [Wed, 10 Mar 2010 12:01:27 +0000 (13:01 +0100)]
reformat docs/debugging
Michael Stapelberg [Wed, 10 Mar 2010 11:36:22 +0000 (12:36 +0100)]
debian: re-require libxcb-xinerama0-dev
Michael Stapelberg [Tue, 9 Mar 2010 19:00:56 +0000 (20:00 +0100)]
Re-add old Xinerama code for the poor nvidia users
Add --force-xinerama when starting i3 to use Xinerama instead of RandR.
This should *ONLY* be done if you have no other choice (nvidia’s
binary driver uses twinview and does not expose the monitor information
through RandR).
Michael Stapelberg [Mon, 8 Mar 2010 10:12:02 +0000 (11:12 +0100)]
Fixes for the last commit: check outputs instead of workspaces, correctly reset state when switching workspaces, little style fixes
Axel Wagner [Mon, 8 Mar 2010 01:02:35 +0000 (02:02 +0100)]
Implement screen-spanning fullscreen-mode (command: 'fg')
This closes ticket #188
Michael Stapelberg [Sun, 7 Mar 2010 20:12:59 +0000 (21:12 +0100)]
Include graphic of the default keyboard layout in user’s guide
This closes ticket #166
Michael Stapelberg [Sun, 7 Mar 2010 18:00:34 +0000 (19:00 +0100)]
Turn nested functions into real functions or macros
This enables compilation with llvm-clang and thus closes ticket #101.
While it makes the code more ugly, I don’t see a beautiful solution
which would enable us to stay with the more elegant solution of
nested functions and still allow compilation with any other compiler
than gcc.
Michael Stapelberg [Sat, 6 Mar 2010 23:00:04 +0000 (00:00 +0100)]
Update userguide, explain comments and normalize the paragraph about fonts (Thanks kraM)
Michael Stapelberg [Sat, 6 Mar 2010 15:58:20 +0000 (16:58 +0100)]
For num_clients == 0, the last fix is also valid
Michael Stapelberg [Sat, 6 Mar 2010 15:51:17 +0000 (16:51 +0100)]
Avoid more errors by not trying to re-create a stack win with height == 0
Michael Stapelberg [Sat, 6 Mar 2010 15:34:07 +0000 (16:34 +0100)]
Don’t render if no stack_window has been opened
This could happen when you have only one client in a stacking/tabbed
container. While not being a critical bug, this avoids X errors.
Michael Stapelberg [Fri, 5 Mar 2010 22:26:45 +0000 (23:26 +0100)]
Remove trailing whitespace
Thorsten Töpper [Fri, 5 Mar 2010 22:09:51 +0000 (23:09 +0100)]
Changing to stacking/tabbing toggles mode to default if already in stacking/tiling.
Michael Stapelberg [Fri, 5 Mar 2010 19:03:38 +0000 (20:03 +0100)]
Clear urgency hints set by i3 (see HEAD~2)
Michael Stapelberg [Fri, 5 Mar 2010 18:53:33 +0000 (19:53 +0100)]
Add testcase for the last commit
Michael Stapelberg [Fri, 5 Mar 2010 17:01:32 +0000 (18:01 +0100)]
put windows with WM_CLIENT_LEADER on the workspace of their leader
This fixes ticket #163
Michael Stapelberg [Fri, 5 Mar 2010 16:42:50 +0000 (17:42 +0100)]
Allow unsetting WM_CLIENT_LEADER (XCB_NONE is not an invalid value)
Michael Stapelberg [Fri, 5 Mar 2010 15:18:41 +0000 (16:18 +0100)]
Update function names, variable names and documentation for the RandR changes
Michael Stapelberg [Fri, 5 Mar 2010 14:22:12 +0000 (15:22 +0100)]
Bugfix: Correctly hide/show workspaces when enabling new outputs, correctly handle focus (Thanks Merovius)
Michael Stapelberg [Fri, 5 Mar 2010 13:32:48 +0000 (14:32 +0100)]
Bugfix: Fix clone mode with new RandR code (Thanks Merovius)
Michael Stapelberg [Fri, 5 Mar 2010 00:59:52 +0000 (01:59 +0100)]
Remove superfluous definitions (Thanks Merovius)
Michael Stapelberg [Thu, 4 Mar 2010 23:09:52 +0000 (00:09 +0100)]
fix comment (Thanks Merovius)
Michael Stapelberg [Wed, 3 Mar 2010 09:08:17 +0000 (10:08 +0100)]
i3-input: Bugfix: repeatedly grab the keyboard if it does not succeed
This should fix ticket #175
Michael Stapelberg [Wed, 3 Mar 2010 08:32:31 +0000 (09:32 +0100)]
Update fullscreen client position/size when an output changes (Thanks Merovius)
This fixes #187.
Michael Stapelberg [Wed, 3 Mar 2010 07:49:07 +0000 (08:49 +0100)]
draw consistent borders for each frame in a tabbed/stacked container
The condition was a relict from older rendering code, I think.
This fixes #172.
Michael Stapelberg [Wed, 3 Mar 2010 07:48:57 +0000 (08:48 +0100)]
sighandler: only display on active outputs
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