Commit Graph

1076 Commits

Author SHA1 Message Date
Michael Stapelberg
3e53ecf69e retab! src/container.c 2009-12-22 23:43:05 +01:00
Michael Stapelberg
848d9c1b01 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.
2009-12-22 23:40:06 +01:00
Michael Stapelberg
75ac464c0d 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.
2009-12-22 12:14:09 +01:00
Michael Stapelberg
9df64a8d0a Correctly exit when another window manager is already running
This is implemented by checking if setting the redirect mask returned
an error or not.
2009-12-22 11:29:24 +01:00
Michael Stapelberg
500127705e debian: update changelog 2009-12-21 23:08:08 +01:00
Michael Stapelberg
8bee7c8510 debian: merge changelog 2009-12-21 23:06:27 +01:00
Michael Stapelberg
182433534a Add bugfix release to website 2009-12-21 22:55:02 +01:00
Michael Stapelberg
cfd73acf17 debian: Add i3-wm.doc-base 2009-12-21 22:51:11 +01:00
Michael Stapelberg
22e499b267 debian: add missing files to docs/ 2009-12-21 22:47:50 +01:00
Michael Stapelberg
732ba08f30 Add release notes for 3.δ-bf1 2009-12-21 22:42:59 +01:00
Michael Stapelberg
6e90d5adcf Add x11-utils as dependency to have xmessage(1) for the welcome message 2009-12-21 22:38:34 +01:00
Michael Stapelberg
6cdf607424 Add debian changelog for the bugfix release 2009-12-21 22:37:29 +01:00
Michael Stapelberg
e900a8d23d xinerama: correctly put windows which are assigned to a specific screen on that screen when it becomes available (Thanks badboy) 2009-12-21 22:30:08 +01:00
Michael Stapelberg
0b5554c762 xinerama: change some log messages to errors 2009-12-21 20:41:02 +01:00
Michael Stapelberg
4b3ff1795c Remove -e and -t from loglevels.h target to make it POSIX compliant (Thanks Mirko) 2009-12-20 23:43:49 +01:00
Michael Stapelberg
1776c12c0b makefile: properly document dependencies on each target to fix parallel make (Thanks Atsutane) 2009-12-20 12:58:45 +01:00
Michael Stapelberg
e498b90e7a makefile: clean temporary files 2009-12-19 22:42:24 +01:00
Michael Stapelberg
6ef0d1fa79 Touch each log message and classify it as DLOG (debug), ELOG (error) or LOG (verbose) 2009-12-19 22:40:23 +01:00
Michael Stapelberg
37d795c81d Add new options -V for verbose mode and -d <loglevel> for debug log levels 2009-12-19 22:40:23 +01:00
Michael Stapelberg
4226cc61de add log.c/log.h which contain all the log related macros and functions 2009-12-19 22:40:23 +01:00
Michael Stapelberg
5397e893b9 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.
2009-12-19 22:40:23 +01:00
Michael Stapelberg
a61e34d277 Add x11-utils as dependency to have xmessage(1) for the welcome message 2009-12-16 22:59:25 +01:00
Michael Stapelberg
57e4972fd1 Add clarification about border color in userguide (Thanks xeen) 2009-12-15 19:11:01 +01:00
Michael Stapelberg
937048d47b 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.
2009-12-13 17:02:22 +01:00
Michael Stapelberg
f87b98e0a7 Take into account the window’s base_{width,height} when resizing (Thanks Mirko) 2009-12-12 22:27:57 +01:00
Michael Stapelberg
5287dce9cc Partly revert 4ba26659, it was just wrong. 2009-12-12 21:43:33 +01:00
Michael Stapelberg
8d8804221b Partly revert 4ba26659, it was just wrong. 2009-12-12 21:42:56 +01:00
Michael Stapelberg
47e54241ce Add new entry in debian/changelog to prevent apt from overwriting self-built packages 2009-12-12 21:34:53 +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
c6c0862e24 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:31:41 +01:00
Michael Stapelberg
4afe65eea2 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:29:07 +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
ffe925f733 Bugfix: Fix assignments to not yet visible workspaces
This was broken by commit 5a1668db3
2009-12-12 18:43:30 +01:00
Michael Stapelberg
17082ef5b7 Bugfix: close file handle after parsing 2009-12-11 17:57:42 +01:00
Michael Stapelberg
e5c4fa6c1c Include unistd.h for usleep() 2009-12-08 20:55:17 +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
ddf3119552 Bugfix: Don’t resize client after base_height changes if client is in fullscreen mode 2009-12-08 20:52:19 +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
befd7f6f22 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:48:25 +01:00
Michael Stapelberg
99c7a14285 Correct typo 2009-12-07 19:06:57 +01:00
Michael Stapelberg
6abf70895d Update and reformat the hacking howto 2009-12-07 16:58:46 +01:00
Michael Stapelberg
1a53cc067b 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.
2009-12-07 16:31:49 +01:00
Michael Stapelberg
13231e13ab Add new chapters to userguide: multi-monitor and software environment 2009-12-07 10:25:12 +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
ec2e5e8364 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:17:38 +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
5a1668db36 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:32:53 +01:00
Michael Stapelberg
abba7714ac debian: update changelog 2009-11-23 21:58:32 +01:00