Commit Graph

66 Commits

Author SHA1 Message Date
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
bcbe800720 Bugfix: Store dock clients per screen, not per workspace.
This fixes ticket #12
2009-04-11 14:29:15 +02:00
8cc1fcf536 General small cleanups 2009-04-11 14:08:19 +02:00
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
76effaf29a Bugfix: Fix rounding problems when positioning proportional windows 2009-03-15 17:35:16 +01:00
9c755dcb0d Fix compilation 2009-03-13 04:51:09 +01:00
14834c3530 Fake more configure notifies (makes xpdf work better) 2009-03-13 00:39:16 +01:00
cc2c63b860 Handle legacy window titles by rendering them not unicode-compatible. 2009-03-11 21:31:54 +01:00
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
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
3a34cfc603 Bugfix: Draw bar at the correct position, handle expose events for bars 2009-03-09 08:24:05 +01:00
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
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
6f630a3335 Implement UTF-8-clean window titles 2009-03-08 00:49:11 +01:00
1f3ce94027 Bugfix: Correctly place new windows while other windows are in fullscreen mode 2009-03-07 05:49:13 +01:00
96ac9f9066 Implement slog() and the LOG() macro, convert printf() to LOG() 2009-03-06 06:46:43 +01:00
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
3684abec1a Bugfix: Fix rendering (needed a flush) 2009-03-05 20:07:57 +01:00
906914fe61 Bugfix: Rendering of colspan/rowspan was wrong 2009-03-05 17:17:37 +01:00
841ad55f4a Move HAS_CHANGED into a function 2009-03-05 16:23:26 +01:00
e643d34ddc Use unchecked versions for more speed 2009-03-05 03:33:15 +01:00
56393c823e Make colorpixels independent from clients 2009-03-05 02:58:12 +01:00
8b34eb5fc2 Bugfix: Reconfigure all clients in stacking, correctly ignore events, event when for the root window 2009-03-04 22:41:04 +01:00
03e48b8bfe Bugfix: Reconfigure x/y of stack_windows when necessary 2009-03-04 21:49:29 +01:00
a3f47fa6f0 Bugfix: Rendering error when resizing a column near a stacked column 2009-03-04 18:50:52 +01:00
a02b861826 Use "conn" for xcb_connection and "event" for xcb_event_* variables everywhere 2009-03-04 15:45:12 +01:00
f45e706c48 Merge font.c into xcb.c 2009-03-04 14:52:04 +01:00
05747c4a1c Implement an internal bar which displays the workspaces 2009-03-04 12:09:43 +01:00
3c6d4f7663 Don’t put the client’s X11 ID into the titlebar 2009-03-04 09:02:49 +01:00
3b50615a71 Implement Xinerama screen changes 2009-03-03 23:51:02 +01:00
1157229888 Bugfix: Don’t raise the active window when there is a fullscreen client 2009-03-03 04:25:32 +01:00
a12ca34d1c Bugfixes: Various fixes when cleaning up the table/rendering 2009-03-03 03:40:57 +01:00
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
dd325879d1 Bugfix: Override client’s moves/resizes in configure_notify_event 2009-03-03 01:14:11 +01:00
ac6567c0a6 Documentation update: Make some comments more understandable, more docs 2009-03-01 22:00:54 +01:00
6868534fcb Draw stacking borders correctly 2009-03-01 03:55:29 +01:00
df402bacf7 Bugfix: Use HAS_CHANGED on all occurences 2009-03-01 01:56:20 +01:00
4ad7f8fb1a Bugfix: Correctly reconfigure clients when it’s necessary 2009-02-28 15:47:51 +01:00
327a53c849 More Debug-output 2009-02-28 13:44:43 +01:00
61c089e982 Bugfix: Raise the stack win when its size changes 2009-02-28 13:03:44 +01:00
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
43d471b9ab Bugfix: Raise clients only when needed 2009-02-28 02:15:14 +01:00
67fbec2061 Bugfix: Correctly unmap/remap the stack_win when a container becomes empty 2009-02-28 01:38:53 +01:00
e77ebb6c71 Implement configuration file parsing 2009-02-25 00:50:30 +01:00
aa18ca0889 More documentation, cleanups, and a cache for get_colorpixel() 2009-02-24 14:18:08 +01:00
36aec13860 Cleanups, documentation 2009-02-24 01:24:28 +01:00
0e3a378c39 Implement stacking 2009-02-24 00:30:04 +01:00
6e81d1c5e4 s/…/./ where it makes sense 2009-02-23 17:23:57 +01:00
07b92c2792 Don’t assign ->container for dock-windows 2009-02-23 03:44:10 +01:00
8b0bc8c3ff Implement vertical resize 2009-02-23 03:27:59 +01:00