Commit Graph

866 Commits

Author SHA1 Message Date
Michael Stapelberg
77fe1f29b0 i3-msg: read replies, implement get_workspaces command 2010-03-12 15:30:09 +01:00
Michael Stapelberg
d6f726283c ipc: also send a reply for COMMAND messages 2010-03-12 15:29:44 +01:00
Michael Stapelberg
5a3d1b38e8 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.
2010-03-12 15:02:00 +01:00
Axel Wagner
0f5256dc72 Floating resize uses arbitrary corners
This closes ticket #121
2010-03-12 03:11:20 +01:00
Michael Stapelberg
4cbece46c2 committed the wrong file 2010-03-12 03:06:40 +01:00
Michael Stapelberg
520f4d15d2 Add documentation for the IPC interface 2010-03-12 03:05:42 +01:00
Michael Stapelberg
9ed5e00107 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)
2010-03-12 03:01:34 +01:00
Michael Stapelberg
7c1be83692 Update comment (Thanks Merovius) 2010-03-12 02:59:16 +01:00
Michael Stapelberg
5f370b494c bugfix: don’t remap stack windows errnously when changing workspaces
This fixes ticket #193 (long-standing rendering bug).
2010-03-12 00:41:40 +01:00
Michael Stapelberg
93a9f3c244 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.
2010-03-11 23:34:29 +01:00
Michael Stapelberg
e11ca75407 ipc: add active flag 2010-03-11 16:48:48 +01:00
Michael Stapelberg
9a9ba1b859 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.
2010-03-11 15:58:39 +01:00
Michael Stapelberg
952914c3c5 Remove -ftrampolines as we don’t have nested functions anymore 2010-03-11 15:36:54 +01:00
Michael Stapelberg
f7c8e76782 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.
2010-03-11 00:15:34 +01:00
Michael Stapelberg
a70f4353b7 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.
2010-03-10 23:27:24 +01:00
Michael Stapelberg
593bff5ffd reformat docs/debugging 2010-03-10 13:01:27 +01:00
Michael Stapelberg
5d4d9681a0 debian: re-require libxcb-xinerama0-dev 2010-03-10 12:36:22 +01:00
Michael Stapelberg
bd76e994b8 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).
2010-03-09 21:25:54 +01:00
Michael Stapelberg
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
Axel Wagner
9c77b0f9a1 Implement screen-spanning fullscreen-mode (command: 'fg')
This closes ticket #188
2010-03-08 11:15:31 +01:00
Michael Stapelberg
496106cd44 Include graphic of the default keyboard layout in user’s guide
This closes ticket #166
2010-03-07 21:12:59 +01:00
Michael Stapelberg
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
Michael Stapelberg
f66d018e02 Update userguide, explain comments and normalize the paragraph about fonts (Thanks kraM) 2010-03-07 00:00:04 +01:00
Michael Stapelberg
46642d0e45 For num_clients == 0, the last fix is also valid 2010-03-06 16:58:20 +01:00
Michael Stapelberg
afc922ef57 Avoid more errors by not trying to re-create a stack win with height == 0 2010-03-06 16:51:17 +01:00
Michael Stapelberg
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
Michael Stapelberg
6be76e4c56 Remove trailing whitespace 2010-03-05 23:26:45 +01:00
Thorsten Töpper
4e9c6515f3 Changing to stacking/tabbing toggles mode to default if already in stacking/tiling. 2010-03-05 23:25:34 +01:00
Michael Stapelberg
f1a011c014 Clear urgency hints set by i3 (see HEAD~2) 2010-03-05 20:03:38 +01:00
Michael Stapelberg
7a9755ad91 Add testcase for the last commit 2010-03-05 19:53:33 +01:00
Michael Stapelberg
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
Michael Stapelberg
40475b250f Allow unsetting WM_CLIENT_LEADER (XCB_NONE is not an invalid value) 2010-03-05 17:42:50 +01:00
Michael Stapelberg
8d648b4e37 Update function names, variable names and documentation for the RandR changes 2010-03-05 16:18:41 +01:00
Michael Stapelberg
8b192ac7ed Bugfix: Correctly hide/show workspaces when enabling new outputs, correctly handle focus (Thanks Merovius) 2010-03-05 15:22:12 +01:00
Michael Stapelberg
718d62a3cd Bugfix: Fix clone mode with new RandR code (Thanks Merovius) 2010-03-05 14:32:48 +01:00
Michael Stapelberg
d73f1748db Remove superfluous definitions (Thanks Merovius) 2010-03-05 01:59:52 +01:00
Michael Stapelberg
85437877e8 fix comment (Thanks Merovius) 2010-03-05 00:09:52 +01:00
Michael Stapelberg
5dd5956241 i3-input: Bugfix: repeatedly grab the keyboard if it does not succeed
This should fix ticket #175
2010-03-03 10:08:17 +01:00
Michael Stapelberg
3cfe1b35e0 Update fullscreen client position/size when an output changes (Thanks Merovius)
This fixes #187.
2010-03-03 09:32:31 +01:00
Michael Stapelberg
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
Michael Stapelberg
187c72fa96 sighandler: only display on active outputs 2010-03-03 08:48:57 +01:00
Michael Stapelberg
e5f222e03e Save a resize_client() when handling the size hints 2010-03-03 01:23:38 +01:00
Michael Stapelberg
7839b7a4fe Bugfix: checked for wrong flag in size hints 2010-03-03 01:23:38 +01:00
Michael Stapelberg
296a0078ad debian: require libxcb-randr0-dev instead of libxcb-xinerama0-dev 2010-03-02 18:56:57 +01:00
Michael Stapelberg
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
Michael Stapelberg
e3e7ebe23a Bugfix: only return active screens in get_screen_most 2010-03-02 15:45:03 +01:00
Michael Stapelberg
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
Michael Stapelberg
b53c5861a2 Restore geometry of all windows before exiting/restarting (Thanks Sasha)
This fixes ticket #185
2010-03-02 15:25:08 +01:00
Michael Stapelberg
d08ec00329 use scalloc instead of some places where calloc was still used 2010-03-02 14:42:24 +01:00
Michael Stapelberg
aae824b1f3 Change workspace assignments to use the RandR output name instead of <screen> 2010-03-02 13:35:43 +01:00