4dfe61c2d4
Fixes for the last commit: check outputs instead of workspaces, correctly reset state when switching workspaces, little style fixes
2010-03-08 11:15:31 +01:00
9c77b0f9a1
Implement screen-spanning fullscreen-mode (command: 'fg')
...
This closes ticket #188
2010-03-08 11:15:31 +01:00
85308715ea
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.
2010-03-07 19:00:34 +01:00
46642d0e45
For num_clients == 0, the last fix is also valid
2010-03-06 16:58:20 +01:00
afc922ef57
Avoid more errors by not trying to re-create a stack win with height == 0
2010-03-06 16:51:17 +01:00
e9ef672c36
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.
2010-03-06 16:34:07 +01:00
6be76e4c56
Remove trailing whitespace
2010-03-05 23:26:45 +01:00
4e9c6515f3
Changing to stacking/tabbing toggles mode to default if already in stacking/tiling.
2010-03-05 23:25:34 +01:00
f1a011c014
Clear urgency hints set by i3 (see HEAD~2)
2010-03-05 20:03:38 +01:00
c367eaa369
put windows with WM_CLIENT_LEADER on the workspace of their leader
...
This fixes ticket #163
2010-03-05 18:01:32 +01:00
40475b250f
Allow unsetting WM_CLIENT_LEADER (XCB_NONE is not an invalid value)
2010-03-05 17:42:50 +01:00
8d648b4e37
Update function names, variable names and documentation for the RandR changes
2010-03-05 16:18:41 +01:00
8b192ac7ed
Bugfix: Correctly hide/show workspaces when enabling new outputs, correctly handle focus (Thanks Merovius)
2010-03-05 15:22:12 +01:00
718d62a3cd
Bugfix: Fix clone mode with new RandR code (Thanks Merovius)
2010-03-05 14:32:48 +01:00
d73f1748db
Remove superfluous definitions (Thanks Merovius)
2010-03-05 01:59:52 +01:00
85437877e8
fix comment (Thanks Merovius)
2010-03-05 00:09:52 +01:00
3cfe1b35e0
Update fullscreen client position/size when an output changes (Thanks Merovius)
...
This fixes #187 .
2010-03-03 09:32:31 +01:00
0ec3481c69
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 .
2010-03-03 08:49:07 +01:00
187c72fa96
sighandler: only display on active outputs
2010-03-03 08:48:57 +01:00
e5f222e03e
Save a resize_client() when handling the size hints
2010-03-03 01:23:38 +01:00
7839b7a4fe
Bugfix: checked for wrong flag in size hints
2010-03-03 01:23:38 +01:00
5dbcb0158f
When in fullscreen mode, focus whole screens instead of denying to focus (Thanks dothebart)
...
This fixes ticket #169 .
2010-03-02 15:45:48 +01:00
e3e7ebe23a
Bugfix: only return active screens in get_screen_most
2010-03-02 15:45:03 +01:00
4e69bd65c0
Move autostart after creating the IPC socket in start process (Thanks Sasha)
...
This fixes ticket #179 .
2010-03-02 15:30:23 +01:00
b53c5861a2
Restore geometry of all windows before exiting/restarting (Thanks Sasha)
...
This fixes ticket #185
2010-03-02 15:25:08 +01:00
d08ec00329
use scalloc instead of some places where calloc was still used
2010-03-02 14:42:24 +01:00
aae824b1f3
Change workspace assignments to use the RandR output name instead of <screen>
2010-03-02 13:35:43 +01:00
818e02ef35
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!
2010-03-02 12:47:21 +01:00
6f72970ece
add xcb_set_window_rect which configures a window according to a Rect
2010-02-28 20:35:30 +01:00
7caf98dd18
Move update_if_necessary to util.c, will be necessary later
2010-02-28 18:39:11 +01:00
e209fd7d3a
docs: the comparison is size and position, not only size (Thanks Merovius)
2010-02-22 07:09:17 +01:00
4fcbb7980e
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…
2010-02-20 20:32:43 +01:00
432f06a21e
Add missing carriage return (Thanks fallen)
2010-02-16 19:55:04 +01:00
e225742415
Make the warning about $terminal being deprecated an error (Thanks fallen)
2010-02-16 19:25:07 +01:00
e78bb02082
parser: ignore errors
2010-02-14 16:59:22 +01:00
2af2bc36c9
Document the new options
2010-02-13 19:58:43 +01:00
64cf88403d
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:
2010-02-13 19:42:54 +01:00
79a4e30488
parser: enable verbose error messages, add aliases to tokens
2010-02-13 15:27:43 +01:00
e446747812
Also warp the pointer when moving a window to a another visible workspace (Thanks Thomas)
2010-02-12 16:19:58 +01:00
87f8c501da
Bugfix: Correctly do boundary checking/moving to other workspaces when moving floating clients via keyboard (Thanks sasha)
2010-02-12 13:06:59 +01:00
0b6b8e8380
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).
2010-02-12 12:12:25 +01:00
88b9700cdb
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.
2010-01-29 21:58:50 +01:00
7f10970fc7
Added focus_follows_mouse config option
2010-01-29 21:58:50 +01:00
36909c6e3b
Fixed cursor code in create_window(), allowing the cursor to be changed
2010-01-26 11:28:38 +01:00
148547c765
Fixed cursor orientation when resizing
2010-01-26 11:28:37 +01:00
7270b74732
Implement resize command for floating clients
2010-01-23 18:57:29 +01:00
fde11f9a5c
Bugfix: Don’t leak IPC socket to launched processes
2010-01-23 00:34:29 +01:00
c606d93630
Feature: Cycle through workspaces
...
On command pw/nw, cycle through all workspaces (starting from
previous/next one) until we reach the current one again.
2010-01-19 12:10:45 +01:00
d949a335e6
bugfix: lexer: return to INITIAL state (Thanks dirkson)
...
'floating_modifier' after 'workspace' did not work because of wrong
state
2010-01-08 18:56:01 +01:00
af0b33bcc3
Bugfix: if a font provides no per-char info for width, fall back to the default (Thanks Ciprian)
2010-01-07 14:38:00 +01:00