Commit Graph

520 Commits

Author SHA1 Message Date
Michael Stapelberg 061f8f1375 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-12 00:50:31 +01:00
Michael Stapelberg 56b08ab4fc 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-12 00:50:31 +01:00
Michael Stapelberg 9714f24971 bugfix: don’t remap stack windows errnously when changing workspaces
This fixes ticket #193 (long-standing rendering bug).
2010-03-12 00:50:31 +01:00
Michael Stapelberg f20a446423 s/DLOG/LOG (Thanks ccount) 2010-02-14 13:22:32 +01:00
Michael Stapelberg cd929f1199 Bugfix: Correctly do boundary checking/moving to other workspaces when moving floating clients via keyboard (Thanks sasha) 2010-02-12 15:56:47 +01:00
Michael Stapelberg 3d13d53ae7 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 15:56:19 +01:00
Michael Stapelberg f399c3ef9d Bugfix: Don’t leak IPC socket to launched processes 2010-01-23 00:35:10 +01:00
Michael Stapelberg aaf46bfc55 bugfix: lexer: return to INITIAL state (Thanks dirkson)
'floating_modifier' after 'workspace' did not work because of wrong
state
2010-01-08 18:56:53 +01:00
Michael Stapelberg 1dcb4a39fd Use LOG instead of DLOG (next branch feature only) 2010-01-07 19:25:01 +01:00
Michael Stapelberg d1a0e930a8 Bugfix: if a font provides no per-char info for width, fall back to the default (Thanks Ciprian) 2010-01-07 14:38:50 +01:00
Michael Stapelberg 86b0dab7ea 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.
2010-01-07 13:39:45 +01:00
Michael Stapelberg 505eaaf349 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.
2010-01-01 22:43:02 +01:00
Michael Stapelberg 8adce413f5 Remove superfluous #include <assert.h> (Thanks badboy) 2010-01-01 17:30:44 +01:00
Michael Stapelberg 4c87170494 We don’t have DLOG yet in master branch (Thanks ccount) 2010-01-01 17:29:11 +01:00
Michael Stapelberg 9dce081837 Bugfix: Don’t put dock clients into floating mode (Thanks xeen) 2010-01-01 16:20:16 +01:00
Michael Stapelberg 5287dce9cc Partly revert 4ba26659, it was just wrong. 2009-12-12 21:43:33 +01:00
Michael Stapelberg 29d64bd04e 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).
2009-12-12 21:32:47 +01:00
Michael Stapelberg 01f7250f6a 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.
2009-12-12 21:32:42 +01:00
Michael Stapelberg 3e7ae4f7de Bugfix: Fix assignments to not yet visible workspaces
This was broken by commit 5a1668db3
2009-12-12 18:44:30 +01:00
Michael Stapelberg 06ef55ff1f Bugfix: Don’t resize client after base_height changes if client is in fullscreen mode 2009-12-08 20:53:25 +01:00
Michael Stapelberg 8622cf3917 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.
2009-12-08 11:52:53 +01:00
Michael Stapelberg 3057a2ec65 Bugfix: Also fix horizontal resizing
The same problem as in the commit before this one was present. Additionally,
the dock_clients and internal bar were not taken into account everywhere.
2009-12-08 11:52:49 +01:00
Michael Stapelberg 0f64737a56 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.
2009-11-26 22:21:16 +01:00
Michael Stapelberg 5304e7188f 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.
2009-11-26 21:39:09 +01:00
Michael Stapelberg 3e5d881316 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.
2009-11-23 09:43:22 +01:00
Michael Stapelberg 806a3d5e57 Bugfix: Don’t ignore urgency flag when the client wants to clean it (Thanks Syntropy) 2009-11-23 08:36:13 +01:00
Michael Stapelberg 9aa378aa2a Bugfix: Fix stack-limit cols, handle stack-limit cols on tabbed containers (Thanks jace) 2009-11-22 22:48:43 +01:00
Michael Stapelberg 2d7f71ee13 Bugfix: Don’t set the urgency flag if the window is currently active 2009-11-20 15:56:38 +01:00
Michael Stapelberg 4674fb7c0c Bugfix: Accept underscores in bindsym (Thanks jace) 2009-11-20 15:34:06 +01:00
Michael Stapelberg 2a966014a7 Bugfix: Fix resizing of floating windows in borderless/1-px-border mode (Thanks Grauwolf)
Calculations were wrong (they simply didn’t take into account that
there is more than one border style, the code was from before we
implemented that…). We cannot directly set child_rect to the coordinates
as resize_client takes rect and calculates the child_rect, so we need
the new lines of code for this bugfix in any case (rect needs to be
updated).
2009-11-18 22:55:04 +01:00
Michael Stapelberg a74fdc64f9 Bugfix: Correctly clear the urgency hint if a window gets unmapped without clearing the hint 2009-11-18 20:21:24 +01:00
Michael Stapelberg 93d7ab43be Bugfix: Also allow WORDs as workspace names (Thanks Grauwolf) 2009-11-18 19:54:24 +01:00
Michael Stapelberg c53e84e230 Bugfix: Correctly replay pointer if the click handler does not trigger (Thanks merovius) 2009-11-13 20:22:54 +01:00
Michael Stapelberg d52f80f9b6 Bugfix: Correctly switch border types for floating windows (Thanks msi) 2009-11-13 19:55:54 +01:00
Michael Stapelberg 2ee097cf92 Bugfix: Don’t draw window title when titlebar is disabled (Thanks msi) 2009-11-13 19:46:36 +01:00
Michael Stapelberg 50739cdd58 Merge branch 'next'
Conflicts:
	include/data.h
	src/config.c
	src/handlers.c
	src/layout.c
2009-11-09 22:55:24 +01:00
Michael Stapelberg bf728be09b parser: Use right parameter, suppress warning about expected shift/reduce conflict 2009-11-09 22:36:26 +01:00
Michael Stapelberg f2dcc36333 Bugfix: WHITESPACE was missing in front of the workspace name (Thanks Mirko) 2009-11-08 21:43:47 +01:00
Michael Stapelberg 316f62dfda Fix rendering of 1-px-border windows which require background filling 2009-11-08 13:04:14 +01:00
Michael Stapelberg f1ecf08df5 s/for(/for (/ 2009-11-08 12:45:33 +01:00
Michael Stapelberg 64c99cb235 Implement configuration setting to change the default border of windows 2009-11-08 12:43:01 +01:00
Michael Stapelberg 876417f49d Bugfix: Don’t access wrong parameter (Thanks atsutane) 2009-11-07 16:51:10 +01:00
Michael Stapelberg 037605e34c Use nicer colors for focused_inactive by default 2009-11-06 18:41:17 +01:00
Michael Stapelberg 5583dfa5e4 parser: Solve last shift/reduce conflicts 2009-11-06 17:26:17 +01:00
Michael Stapelberg 8e1945a990 parser: solve shift/reduce conflict by moving WHITESPACE token to the right place 2009-11-06 17:19:01 +01:00
Michael Stapelberg 6aab45e7a4 configfile: make whitespace optional for modes (Thanks tsdh) 2009-11-06 15:42:03 +01:00
Michael Stapelberg 3b05d9df60 Bugfix: Cleanup stack window also when in tabbing mode (Thanks litemotiv) 2009-11-04 22:37:43 +01:00
Michael Stapelberg dd086864ce Apply fix of the previous commit also for columns 2009-11-04 22:12:15 +01:00
Michael Stapelberg 2a0278b519 Bugfix: Switch layout mode after initializing all containers in a new row 2009-11-04 22:10:26 +01:00
Michael Stapelberg 2a0b1adab9 Also support xcb-keysyms < 0.3.4 when using bindsym (Thanks ch3ka) 2009-11-02 23:15:08 +01:00