Commit Graph

2486 Commits

Author SHA1 Message Date
Michael Stapelberg
982e453251 Don’t rely on libxcb-wm any longer, as it got removed in libxcb 0.3.4
See http://cgit.freedesktop.org/xcb/util/commit/?id=4c9a707f472e49bc3005354db265a0214071d46b
2009-04-19 20:44:34 +02:00
Michael Stapelberg
6ccee82368 Fix for the fix: Don’t substract height twice 2009-04-18 01:13:57 +02:00
Michael Stapelberg
49d5bdbb08 Bugfix: Correctly adjust state when transferring fullscreen windows to other workspaces (Thanks Mirko)
This fixes ticket #27.
Furthermore, it is ensured that only one client at a time is in fullscreen mode.
2009-04-17 21:01:33 +02:00
Michael Stapelberg
12cc8b78af Bugfix: Calculation of width in fake_absoute_configure_notify was wrong for windows with aspect ratio (Thanks Mirko) 2009-04-17 19:08:38 +02:00
Michael Stapelberg
36bacc151e Bugfix: Fullscreen configure notifies mustn’t use absolute position/size 2009-04-16 11:08:11 +02:00
Michael Stapelberg
65b858b9c5 Bugfix: Fix unmapping of dock windows (Thanks Mirko) 2009-04-13 23:27:47 +02:00
Michael Stapelberg
a2d20b6848 Bugfix: Send clients their absolute position/size in generated configure events, not relative
This fixes ticket #26.
2009-04-11 22:37:48 +02:00
Michael Stapelberg
b7e8a63474 Bugfix: Fix warping of cursor when only switching screen, not workspace 2009-04-11 20:55:16 +02:00
Michael Stapelberg
7133974306 Bugfix: Don’t only check for the currently active screen, but check for all screens (Thanks Mirko) 2009-04-11 19:06:26 +02:00
Michael Stapelberg
bb8727cf27 Bugfix: Perform some bounds checking for snapped containers in fix_colrowspan (Thanks jchome)
This fixes ticket #22
2009-04-11 14:52:11 +02:00
Michael Stapelberg
bcbe800720 Bugfix: Store dock clients per screen, not per workspace.
This fixes ticket #12
2009-04-11 14:29:15 +02:00
Michael Stapelberg
8cc1fcf536 General small cleanups 2009-04-11 14:08:19 +02:00
Michael Stapelberg
e3516d72f5 Bugfix: Don’t change to workspaces on different screens when scrolling through them (Thanks Mirko)
This fixes ticket #19
2009-04-11 11:54:30 +02:00
Michael Stapelberg
0216e84327 Bugfix: Warp pointer to the right window
This fixes ticket #20
2009-04-11 11:36:58 +02:00
Michael Stapelberg
aace42cd7a Bugfix: Don’t crash anymore when moving focus to another screen (Thanks, Mirko!)
This fixes ticket #24. The crash appeared only under special conditions:
- The screen on which you switch to must be empty or at least not as
  full as the screen on which you were before.
- You switch focus using your mouse.
- You previously selected a column/row which is not availably on the
  destination screen (for example (1,1) and switching to an empty
  screen).
2009-04-10 21:29:25 +02:00
Michael Stapelberg
ee5cb143c0 Oops. Don’t kill the current workspace 2009-04-09 12:13:14 +02:00
Michael Stapelberg
72d82f3993 Bugfix: Delete empty workspaces even when they’re not the active workspace
This fixes ticket #23
2009-04-09 11:19:56 +02:00
Michael Stapelberg
4bd7667445 Bugfix: Correctly set focus when switching between screens 2009-04-08 13:48:37 +02:00
Michael Stapelberg
bd9de8189b Put documentation for each function in the header files, doxygen-compatible
Thanks to psychoschlumpf for the hint. Having comments in the headers
makes it easier to get the big picture when not being interested in the
source.

The doxygen file extracts as much as it can into HTML files. Please note
that this is not official/supported documentation, but rather being nice
to people who have to/want to use doxygen (I don’t).

Let me paste the header of the doxygen file:

  You can use this file with doxygen to create a pseudo-documentation
  automatically from source. doxygen-comments are not used very extensively
  in i3, mostly for the reason that it clutters the source code and has no
  real use (doxygen’s output looks really ugly).

  So, if you want to use it, here you go. This is however not a supported
  document, and I recommend you have a look at the docs/ folder or at
  http://i3.zekjur.net/ for more, real documentation.
2009-04-07 19:02:07 +02:00
Michael Stapelberg
cb7b7a73d2 Bugfix: Set focus to the client which was previously focused instead of the next client when moving windows
This fixes ticket #21
2009-04-07 16:48:42 +02:00
Michael Stapelberg
28aa13d831 Bugfix: Don’t set focus if it is not necessary.
This fixes ticket #13
2009-04-01 12:50:42 +02:00
Michael Stapelberg
755540817e Implement scrolling on stack windows and on the bar. This implements ticket #18 2009-04-01 12:31:13 +02:00
Michael Stapelberg
75a35319c9 Bugfix: Correctly remove client from container when moving to another workspace
This fixes ticket #16
2009-04-01 12:02:22 +02:00
Michael Stapelberg
0520714aa0 Remove comment as popup menus in dzen2 get triggered by enter notify and focus is not needed 2009-04-01 11:51:11 +02:00
Michael Stapelberg
b4e337027e Bugfix: Apply workspaces to screens when Xinerama is turned off (Thanks Igor, Urs) 2009-03-31 19:17:31 +02:00
Michael Stapelberg
fcc5ce516b Bugfix: Don’t free xinerama-reply if it is NULL, implement FREE()-macro (Thanks Igor) 2009-03-30 08:27:53 +02:00
Michael Stapelberg
a8478efa34 Bugfix: Correctly filter out the numlock state bit (doesn’t get cleared for some reason)
This fixes ticket #14
2009-03-27 15:24:52 +01:00
Michael Stapelberg
9077831ed3 Bugfix: When entering a stack window with the mouse, set the focus to the active client
Fixes ticket #17
2009-03-26 23:00:26 +01:00
Michael Stapelberg
e0f7e253ff Bugfix: Fix memory leak 2009-03-20 17:31:34 +01:00
Michael Stapelberg
eb2ceb95bf Cleanup makefiles, add version to i3 -v and i3 startup 2009-03-15 23:15:16 +01:00
Michael Stapelberg
21f7b7a724 Disable horizontal resizing for the release version, it still has bugs 2009-03-15 21:31:35 +01:00
Michael Stapelberg
3d260f8e50 Bugfix: re-decorate old client when switching screens 2009-03-15 21:13:15 +01:00
Michael Stapelberg
74465a562a Bugfix: Only actively change focus if this is the current container 2009-03-15 20:52:43 +01:00
Michael Stapelberg
3a994e4bf7 Implement clicking on the bar to switch workspaces 2009-03-15 17:49:25 +01:00
Michael Stapelberg
76effaf29a Bugfix: Fix rounding problems when positioning proportional windows 2009-03-15 17:35:16 +01:00
Michael Stapelberg
c02dd93bcc Bugfix: Query WM_NORMAL_HINTS when managing a window to handle proportional hints which were set before mapping 2009-03-15 12:24:49 +01:00
Michael Stapelberg
cb9c7078be Implement kill-command to kill the current window, document it 2009-03-14 22:09:36 +01:00
Michael Stapelberg
cc0b060628 Implement exit command, document it in manpage, add it to defaultconfig (Mod1+Shift+e) 2009-03-14 21:31:22 +01:00
Michael Stapelberg
80e2bf708d Send configure notify after putting a client into fullscreen mode, log at a central place 2009-03-14 17:37:11 +01:00
Michael Stapelberg
4ad1edc5eb Remove unused variable (fixes warning) 2009-03-13 11:20:21 +01:00
Michael Stapelberg
e3085b4f75 Fix fullscreen for xpdf (at least on debian, with proper _NET_WM_STATE hints)
xpdf sets the _NET_WM_STATE before actually mapping the window. i3 only checked
for changes of this hint, but not if it is already set when intially managing
the window.

Note that you need to patch your xpdf to support _NET_WM_STATE, because, while
only being reported at 2004, upstream still did not merge the patch *grrr*
See this debian bug report:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=247602
Or directly download the patch from:
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=61;filename=31_fullscreen.dpatch;att=1;bug=247602
2009-03-13 04:51:17 +01:00
Michael Stapelberg
9c755dcb0d Fix compilation 2009-03-13 04:51:09 +01:00
Michael Stapelberg
14834c3530 Fake more configure notifies (makes xpdf work better) 2009-03-13 00:39:16 +01:00
Michael Stapelberg
755709c86d Bugfix: Completely ignore legacy hints as soon as the client uses _NET_WM_NAME 2009-03-12 16:44:44 +01:00
Michael Stapelberg
e1252b51da Move i3lock in its own repository 2009-03-11 22:21:50 +01:00
Michael Stapelberg
cc2c63b860 Handle legacy window titles by rendering them not unicode-compatible. 2009-03-11 21:31:54 +01:00
Michael Stapelberg
17bcdd8b0f Implement cleaning up the list of ignored events 2009-03-11 20:06:30 +01:00
Michael Stapelberg
12970211c4 Fix misnomer (window_type_handler → handle_window_type), resolve TODO 2009-03-11 19:39:32 +01:00
Michael Stapelberg
969d6f202e Move i3lock to src/i3lock, import dmenu-3.9 as i3menu 2009-03-11 19:03:24 +01:00
Michael Stapelberg
c0aa9cac61 Implement moving containers, implement moving windows to the top if top-most, change config to use Mod3 2009-03-11 18:56:31 +01:00
Michael Stapelberg
49b56166dc Implement moving clients to the left if they are leftmost 2009-03-11 01:55:10 +01:00
Michael Stapelberg
9c0d5b6e5e Bugfix: Redecorate the last focused window of the container we are switching into 2009-03-11 00:56:39 +01:00
Michael Stapelberg
ec290cbfa9 Bugfix: Don’t handle mouse click events inside the titlebar 2009-03-11 00:45:49 +01:00
Michael Stapelberg
38c8541807 Bugfix: Change the event mask to ignore enter notifies when rendering the layout and changing workspaces 2009-03-11 00:20:56 +01:00
Michael Stapelberg
408b2bdb39 Bugfix: Eliminate race condition, fix dock windows
There was a race condition when mapping a window and not setting the event mask
before. Therefore, the ReparentNotify and (more important) the UnmapNotify generated
by reparenting were not received, thus leaving the awaiting_useless_unmap variable
of the client "true". To just make it work, in previous commits the DestroyNotify
handler was introduced. Fortunately, with fixing this race condition by first
setting the event mask and mapping the window afterwards, we can remove this handler.

As for the dock windows, there were quite some occurences were client->container
was used without checking if the client is inside a container at all.

Furthermore, the client’s strut containing the space to reserve at the screen edge
is now checked and the desired height is set to the window’s height if the strut
contains 0 or if no strut was specified at all.
2009-03-10 20:56:25 +01:00
Michael Stapelberg
434345aa30 Ignore notify events which are not in mode XCB_NOTIFY_MODE_NORMAL 2009-03-10 11:26:52 +01:00
Michael Stapelberg
441f406a4b Fix warning (typecast) 2009-03-10 09:51:00 +01:00
Michael Stapelberg
c025678177 Major change: Redirect events instead of handle the notifies.
By specifying XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT, the window manager
will get map request events instead of map notify events, and therefore
can act sooner (the window won’t be positioned on the screen and moved
afterwards).

Furthermore, this fixes some problems with GIMP/VLC (and probably others)
which caused endless loops.

Also, events which should be ignored are now saved in a queue rather than
saving just the last event. This should eliminate race conditions.

Note that there is a new FIXME in src/handlers.c. Some windows generate
unmap notify events when reparenting while others don’t. We need to
understand, document and implement a more correct way to handle this.
2009-03-10 00:51:15 +01:00
Michael Stapelberg
d38636439c Fix warning 2009-03-09 17:50:00 +01:00
Michael Stapelberg
b800408a97 Bugfix: Handle all events when dragging to resize, correctly set OVERRIDE_REDIRECT 2009-03-09 08:50:33 +01:00
Michael Stapelberg
3a34cfc603 Bugfix: Draw bar at the correct position, handle expose events for bars 2009-03-09 08:24:05 +01:00
Michael Stapelberg
00f08cba75 Bugfix: Correctly free containers, the bug was not freeing when not moving 2009-03-09 08:14:00 +01:00
Michael Stapelberg
71993c9b48 Implement wrapping left/right/up/down across screens 2009-03-09 07:39:19 +01:00
Michael Stapelberg
38d903aea5 Update comment 2009-03-09 07:18:04 +01:00
Michael Stapelberg
cc78664f9d Bugfix: Use memcmp() instead of strcmp(), use new_len * 2 to check all bytes 2009-03-09 07:02:47 +01:00
Michael Stapelberg
2cf3a9dd96 Bugfix: Correctly free containers when shrinking the table 2009-03-09 06:49:11 +01:00
Michael Stapelberg
65595c61a8 Bugfix: Don’t strcmp() if client->name == NULL 2009-03-09 06:41:04 +01:00
Michael Stapelberg
6df039c3b5 Convert window title to UCS-2 when updating it, don’t update it if it didn’t change 2009-03-09 06:26:32 +01:00
Michael Stapelberg
4f8e704017 s/atomar/atomic 2009-03-08 21:01:06 +01:00
Michael Stapelberg
cefc1dabac Bugfix: Use a new variable called new_position and initialize it correctly when resizing 2009-03-08 20:59:49 +01:00
Michael Stapelberg
71221baca0 Fix race condition when updating client->name 2009-03-08 20:04:01 +01:00
Michael Stapelberg
9e74378dd0 Bugfix: Use _NET_WM_NAME (UTF-8) rather than WM_NAME (COMPOUND_TEXT). Only render client titles, if they are set 2009-03-08 19:07:33 +01:00
Michael Stapelberg
4e12c9b39c Fix the warning on SUS-compatible systems (char**) and on NetBSD (const char**) 2009-03-08 17:47:45 +01:00
Michael Stapelberg
f85990b27a Fix warnings, update DEPENDS, update Makefile for NetBSD 2009-03-08 17:30:17 +01:00
Michael Stapelberg
6f630a3335 Implement UTF-8-clean window titles 2009-03-08 00:49:11 +01:00
Michael Stapelberg
35c04b448a Don’t start a terminal on startup 2009-03-07 05:50:19 +01:00
Michael Stapelberg
1f3ce94027 Bugfix: Correctly place new windows while other windows are in fullscreen mode 2009-03-07 05:49:13 +01:00
Michael Stapelberg
6abcc5f656 Fix some bugs found by using raster’s wm_torture 2009-03-07 02:44:46 +01:00
Michael Stapelberg
a411ed24cb Bugfix: Correctly check for empty containers and unmap the stack_win 2009-03-06 19:08:59 +01:00
Michael Stapelberg
017a0c0d08 Don’t set focus outside of the current container 2009-03-06 17:13:20 +01:00
Michael Stapelberg
97f23f549b Bugfix: decorate_window() needs a flush of course 2009-03-06 17:02:43 +01:00
Michael Stapelberg
bf92a0c617 Don’t switch focus when in fullscreen mode 2009-03-06 16:53:47 +01:00
Michael Stapelberg
4259e58655 Bugfix: One warning was left 2009-03-06 16:36:05 +01:00
Michael Stapelberg
ee1f64a94e Bugfix: return value was missing 2009-03-06 16:21:39 +01:00
Michael Stapelberg
fc3338d3c1 Bugfix: Missing flush after render_container() 2009-03-06 06:56:13 +01:00
Michael Stapelberg
96ac9f9066 Implement slog() and the LOG() macro, convert printf() to LOG() 2009-03-06 06:46:43 +01:00
Michael Stapelberg
0831f3e129 Implement handling the size hints so that aspect ratio is used correctly, fix rendering on stacks 2009-03-06 06:06:19 +01:00
Michael Stapelberg
3684abec1a Bugfix: Fix rendering (needed a flush) 2009-03-05 20:07:57 +01:00
Michael Stapelberg
d2d6c0de12 Enable switching to containers when the current container has only one client 2009-03-05 19:47:16 +01:00
Michael Stapelberg
c5dffde101 Bugfix: Correct boundary checking for increasing col/rowspan 2009-03-05 17:24:04 +01:00
Michael Stapelberg
906914fe61 Bugfix: Rendering of colspan/rowspan was wrong 2009-03-05 17:17:37 +01:00
Michael Stapelberg
76c201f940 Bugfix: Correctly set currently_focused when clients are destroyed 2009-03-05 17:08:57 +01:00
Michael Stapelberg
841ad55f4a Move HAS_CHANGED into a function 2009-03-05 16:23:26 +01:00
Michael Stapelberg
e643d34ddc Use unchecked versions for more speed 2009-03-05 03:33:15 +01:00
Michael Stapelberg
56393c823e Make colorpixels independent from clients 2009-03-05 02:58:12 +01:00
Michael Stapelberg
e4627bcaed Don’t re-initialize Xinerama on every configurenotify. This needs to be fixed properly. 2009-03-05 02:17:10 +01:00
Michael Stapelberg
1343b77dbb Bugfix: Some memory leaks / invalid accesses 2009-03-05 01:48:30 +01:00
Michael Stapelberg
17bca23a8c Implement a focus stack, correctly free table columns/rows 2009-03-05 01:20:13 +01:00
Michael Stapelberg
bde67a179e Implement wrapping, selecting containers is now Mod1+Ctrl+h/j/k/l 2009-03-04 23:45:44 +01:00
Michael Stapelberg
91f98cc597 Implement auto-destroying of empty workspaces 2009-03-04 22:52:36 +01:00
Michael Stapelberg
8b34eb5fc2 Bugfix: Reconfigure all clients in stacking, correctly ignore events, event when for the root window 2009-03-04 22:41:04 +01:00
Michael Stapelberg
0344ca3f36 Bugfix: Border presses weren’t correctly handled 2009-03-04 21:56:27 +01:00
Michael Stapelberg
03e48b8bfe Bugfix: Reconfigure x/y of stack_windows when necessary 2009-03-04 21:49:29 +01:00
Michael Stapelberg
8fe84697f3 Bugfix: Correctly destroy and remove stack_windows when the container is cleaned up 2009-03-04 21:30:02 +01:00
Michael Stapelberg
0ce298250b Bugfix: Correctly initialize new containers 2009-03-04 21:00:32 +01:00
Michael Stapelberg
3090f03ed2 Bugfix: Fix several bugs in table_cleanup() 2009-03-04 20:41:54 +01:00
Michael Stapelberg
a3f47fa6f0 Bugfix: Rendering error when resizing a column near a stacked column 2009-03-04 18:50:52 +01:00
Michael Stapelberg
bd9b90d285 Fix datatype for cursor 2009-03-04 18:09:04 +01:00
Michael Stapelberg
f90563011f Implement option parsing (-c <configfile>) 2009-03-04 16:06:39 +01:00
Michael Stapelberg
a02b861826 Use "conn" for xcb_connection and "event" for xcb_event_* variables everywhere 2009-03-04 15:45:12 +01:00
Michael Stapelberg
45827607dc Use default cursor (XC_left_ptr) for all windows 2009-03-04 15:28:50 +01:00
Michael Stapelberg
f45e706c48 Merge font.c into xcb.c 2009-03-04 14:52:04 +01:00
Michael Stapelberg
bb83dd6727 Implement switching to different screens when focusing left/right/up/down at the edge of a screen 2009-03-04 13:06:14 +01:00
Michael Stapelberg
05747c4a1c Implement an internal bar which displays the workspaces 2009-03-04 12:09:43 +01:00
Michael Stapelberg
3d774ba021 Implement clicking on titlebars in stack windows to focus 2009-03-04 09:31:00 +01:00
Michael Stapelberg
415b5cc0e8 Load configuration file from ~/.i3/config or /etc/i3/config 2009-03-04 09:16:18 +01:00
Michael Stapelberg
3c6d4f7663 Don’t put the client’s X11 ID into the titlebar 2009-03-04 09:02:49 +01:00
Michael Stapelberg
3911d18982 Implement moving windows to other workspaces 2009-03-04 08:59:03 +01:00
Michael Stapelberg
6653c3a686 Save unnecessary redecorations 2009-03-04 08:05:49 +01:00
Michael Stapelberg
3b50615a71 Implement Xinerama screen changes 2009-03-03 23:51:02 +01:00
Michael Stapelberg
1157229888 Bugfix: Don’t raise the active window when there is a fullscreen client 2009-03-03 04:25:32 +01:00
Michael Stapelberg
a12ca34d1c Bugfixes: Various fixes when cleaning up the table/rendering 2009-03-03 03:40:57 +01:00
Michael Stapelberg
16a514b9c1 Use a different color for focused windows in not focused containers, includes bugfixes for re-decoration 2009-03-03 02:28:26 +01:00
Michael Stapelberg
1d9dc05b91 Little cleanups 2009-03-03 02:05:35 +01:00
Michael Stapelberg
dd325879d1 Bugfix: Override client’s moves/resizes in configure_notify_event 2009-03-03 01:14:11 +01:00
Michael Stapelberg
be21e784d9 Bugfix: Don’t crash when we’re already in stacking mode and go into stacking 2009-03-02 03:33:29 +01:00
Michael Stapelberg
ac6567c0a6 Documentation update: Make some comments more understandable, more docs 2009-03-01 22:00:54 +01:00
Michael Stapelberg
6868534fcb Draw stacking borders correctly 2009-03-01 03:55:29 +01:00
Michael Stapelberg
df402bacf7 Bugfix: Use HAS_CHANGED on all occurences 2009-03-01 01:56:20 +01:00
Michael Stapelberg
cb6ea9861d Bugfix: Fix various bugs when switching workspaces 2009-02-28 22:11:48 +01:00
Michael Stapelberg
4ad7f8fb1a Bugfix: Correctly reconfigure clients when it’s necessary 2009-02-28 15:47:51 +01:00
Michael Stapelberg
327a53c849 More Debug-output 2009-02-28 13:44:43 +01:00
Michael Stapelberg
61c089e982 Bugfix: Raise the stack win when its size changes 2009-02-28 13:03:44 +01:00
Michael Stapelberg
b651b132bc Update TODO, fix parsing in commandmode for moving windows to workspaces vs. switching 2009-02-28 02:46:36 +01:00
Michael Stapelberg
d8d4d0182d Revert 43d471b9ab and apply correct bugfix:
Before, all clients were reconfigured to just raise them, when focus should
be set. However, this generated lots of notify events, which in turn lead
to an endless loop of setting focus, reconfiguring, setting focus, …
2009-02-28 02:40:07 +01:00
Michael Stapelberg
74c973e8c6 Bugfix: Insert the new client after the currently active one, not always at the end 2009-02-28 02:24:38 +01:00
Michael Stapelberg
cdb92e6a49 Correctly disable buffering for stdout 2009-02-28 02:17:55 +01:00
Michael Stapelberg
43d471b9ab Bugfix: Raise clients only when needed 2009-02-28 02:15:14 +01:00
Michael Stapelberg
67fbec2061 Bugfix: Correctly unmap/remap the stack_win when a container becomes empty 2009-02-28 01:38:53 +01:00
Michael Stapelberg
30d386138b Bugfix: Correctly update window titles when in stacking 2009-02-28 01:23:09 +01:00
Michael Stapelberg
4fb4c579f8 Bugfix: Only ignore enter_notify events for the parent windows when in stacking 2009-02-28 01:19:50 +01:00
Michael Stapelberg
d8a6f41e39 Bugfix: Set focus when table was shrinked and CUR_CELL might have been shrinked 2009-02-28 01:12:05 +01:00
Michael Stapelberg
e4b637b67b Bugfix: Fix two bugs in fullscreen mode 2009-02-28 01:01:06 +01:00
Michael Stapelberg
10c5702a78 Implement restart-command to restart i3 without having to end your session 2009-02-27 22:40:48 +01:00
Michael Stapelberg
248b2e27b9 Bugfix: Boundary checking for current_row and current_col when shrinking table 2009-02-26 22:23:41 +01:00
Michael Stapelberg
aea8cb9c25 Bugfix: Unset fullscreen_client when closed 2009-02-26 01:10:41 +01:00
Michael Stapelberg
1335e4a4c9 Grab XCB_GRAB_SYNC and replay the event so it doesn’t get lost 2009-02-25 19:11:49 +01:00
Michael Stapelberg
c859174965 Bugfix: Don’t call set_focus when to_focus is NULL 2009-02-25 17:44:17 +01:00
Michael Stapelberg
cb71af7dc2 Bugfix: Free()d wrong variable 2009-02-25 17:35:33 +01:00
Michael Stapelberg
0edc523885 Bugfix: Correctly map/unmap stack windows 2009-02-25 02:05:08 +01:00
Michael Stapelberg
90fa720c6f Bugfix: when a window is unmapped, correctly pass focus to the next one and cleanup the table 2009-02-25 01:44:34 +01:00
Michael Stapelberg
e77ebb6c71 Implement configuration file parsing 2009-02-25 00:50:30 +01:00
Michael Stapelberg
dadace2fa3 Implement automatic cleaning of the table 2009-02-24 20:29:30 +01:00
Michael Stapelberg
aa18ca0889 More documentation, cleanups, and a cache for get_colorpixel() 2009-02-24 14:18:08 +01:00
Michael Stapelberg
2dcf4ad62f Bugfix: That has to be _reply 2009-02-24 13:35:35 +01:00
Michael Stapelberg
36aec13860 Cleanups, documentation 2009-02-24 01:24:28 +01:00
Michael Stapelberg
0e3a378c39 Implement stacking 2009-02-24 00:30:04 +01:00
Michael Stapelberg
6e81d1c5e4 s/…/./ where it makes sense 2009-02-23 17:23:57 +01:00
Michael Stapelberg
07b92c2792 Don’t assign ->container for dock-windows 2009-02-23 03:44:10 +01:00
Michael Stapelberg
8b0bc8c3ff Implement vertical resize 2009-02-23 03:27:59 +01:00
Michael Stapelberg
404f19a376 Beautify handle_key_press 2009-02-23 02:55:10 +01:00
Michael Stapelberg
656bdc5090 Implement colspan for resizing 2009-02-23 02:23:16 +01:00
Michael Stapelberg
695494606d Fix: Calculation of unoccupied space has to depend on current row/col 2009-02-23 02:09:24 +01:00
Michael Stapelberg
fe0485f9e5 Fix some movement/rendering bugs 2009-02-23 01:41:26 +01:00
Michael Stapelberg
1a0817eb39 Correctly handle _NET_WM_WINDOW_TYPE == _NET_WM_WINDOW_TYPE_DOCK (for dzen2 -dock) 2009-02-23 00:18:13 +01:00
Michael Stapelberg
62c2848211 Document save set 2009-02-18 22:44:14 +01:00
Michael Stapelberg
d88c49682f Linux needs -D_GNU_SOURCE for some functions, so enable it in Makefile 2009-02-16 03:35:16 +01:00
Michael Stapelberg
6b1069cd47 Implement horizontal resizing 2009-02-16 03:28:07 +01:00
Michael Stapelberg
7216738778 Implement exit_if_null using variadic macros, fix compilation 2009-02-15 22:52:33 +01:00
Michael Stapelberg
28ea379c10 Update TODO and header-comments 2009-02-15 03:07:29 +01:00
Michael Stapelberg
9595ead9d4 OK, it could still be improved ;-) 2009-02-15 02:56:59 +01:00
Michael Stapelberg
742cef2881 Finalize font.c 2009-02-15 02:52:52 +01:00
Michael Stapelberg
0917cdda36 Cleanup load_font(), make it caching 2009-02-15 02:40:03 +01:00
Michael Stapelberg
26944bea99 Use c99 2009-02-15 02:30:18 +01:00
Michael Stapelberg
658c302031 Bugfix: Correctly disable Xinerama, use TAILQ_HEAD_INITIALIZER where possible 2009-02-15 02:12:14 +01:00
Michael Stapelberg
09cd7bd2d0 Implement Xinerama (workspaces have a specific screen) 2009-02-15 01:58:09 +01:00
Michael Stapelberg
18543c6bce Implement fullscreen mode (Mod1+f) 2009-02-14 20:12:50 +01:00
Michael Stapelberg
d06fe8bc9e Bugfix: Correctly handle unmap, don’t apply attribute XCB_EVENT_MASK_BUTTON_PRESS
Those two fix problems seen with mplayer
2009-02-14 19:55:18 +01:00
Michael Stapelberg
9e4b7f35ca Don’t use current workspace 2009-02-14 08:39:50 +01:00
Michael Stapelberg
df7621d5a5 Implement fullscreen (_NET_WM_STATE_FULLSCREEN) 2009-02-14 08:38:07 +01:00
Michael Stapelberg
031cf4ccda More error checking, bugfix for mplayer (use visual CopyFromParent) 2009-02-14 03:46:20 +01:00
Michael Stapelberg
fb4c851e2a Add vim hints, copyright notice to each file, add LICENSE, retab! everything 2009-02-14 02:33:31 +01:00
Michael Stapelberg
8881068dc3 Various code improvements 2009-02-14 02:19:04 +01:00
Michael Stapelberg
4589c26558 Environment filtering is not needed. Instead, open applications through SHELL, double-fork 2009-02-14 01:36:12 +01:00
Michael Stapelberg
651bcc375f Adjust RFC/TODO, forgot _GNU_SOURCE in layout.c 2009-02-13 19:15:32 +01:00
Michael Stapelberg
82dd64ff24 Move stuff to include/ and src/ 2009-02-13 19:09:25 +01:00