Michael Stapelberg
a58018cf66
Add libi3/load_font, use it everywhere
...
…except for i3bar, which needs slightly more information about the font
2011-10-23 22:37:11 +01:00
Michael Stapelberg
91134f75c0
Move get_mod_mask to libi3, use it in i3 and i3-config-wizard
...
Also, the API changed a bit. There are two functions now, both assume you
already got the keysyms (which is the case for i3 and i3-config-wizard),
one gets the modifier mapping for you (aio_get_mod_mask_for) while the other
assumes you also got that. No roundtrips are required for the latter.
2011-10-23 21:26:15 +01:00
Michael Stapelberg
6dc6ba11fc
Eliminate xcb_change_gc_single everywhere with C99
2011-10-23 18:06:25 +01:00
Michael Stapelberg
cb9bbcfccf
Move get_colorpixel to libi3, use it everywhere else
2011-10-23 17:38:21 +01:00
Michael Stapelberg
5f52c78aa0
Change the root window cursor to 'watch' during startups
2011-10-10 15:54:18 +01:00
Michael Stapelberg
29c185dd0b
Move fake_configure_notify to libi3
2011-10-09 13:40:15 +01:00
Michael Stapelberg
deab3ac338
Send the correct X11 border_width in faked ConfigureNotifys
2011-09-17 14:11:55 +01:00
Valentin Voigt
bf0c67b2af
Warp cursor when changing workspace.
2011-08-11 22:13:50 +02:00
Michael Stapelberg
c130cefa93
Handle FocusIn events generated by clients and update decoration accordingly (Thanks mseed)
2011-03-20 16:26:36 +01:00
Michael Stapelberg
b25477b15e
Re-implement rendering to pixmaps (double-buffering) and caching decorations
2011-03-20 14:25:09 +01:00
Michael Stapelberg
82e286ed7c
Only send WM_TAKE_FOCUS when the client supports it in the protocols atom
...
Fixes opening xterm, for example
2011-03-18 17:07:56 +01:00
Michael Stapelberg
0639a7d95b
Make i3 compatible with the very latest xcb
...
This involves:
• Compiling with xcb-util instead of xcb-{atom,aux} (they merged the libraries)
• Not using xcb-{event,property} anymore (code removed upstream)
• Not using the predefined WINDOW, CARDINEL, … atoms (removed upstream)
• Using the new xcb_icccm_* data types/functions instead of just xcb_*
(for example xcb_icccm_get_wm_hints instead of xcb_get_wm_hints)
Also I refactored the atoms to use x-macros.
2011-03-18 14:39:27 +01:00
Michael Stapelberg
36664c6289
Send WM_TAKE_FOCUS to clients when setting focus (fixes java swing problems)
2011-03-17 22:27:59 +01:00
Fernando Tarlá Cardoso Lemos
77db9f937f
Make it easier to use other atoms.
2011-03-14 17:13:17 +01:00
Michael Stapelberg
f162e7efaa
refactor font caching to just save the ID instead of mainting a cache with pattern→id-mapping
2011-03-10 23:20:17 +01:00
Michael Stapelberg
1585c36ab2
x: remove XCB_EVENT_MASK_ENTER_WINDOW from child event mask, already handled in parent
...
This prevents unwanted EnterNotifys when switching cons in a stacked con with
an h-split as second child in the stacked con.
2011-03-06 21:49:53 +01:00
Fernando Tarlá Cardoso Lemos
69fc6449dc
libXcursor support (themed cursors).
2010-11-28 13:01:45 +01:00
Michael Stapelberg
622b51a1ea
Fix switching containers by moving the mouse over their decorations when in the same container
2010-11-28 01:13:18 +01:00
Michael Stapelberg
246d4627be
re-enable sending fake configure notifies
2010-05-31 23:00:36 +02:00
Michael Stapelberg
b0f47b25a0
throw out some old code from manage.c, cleanups
2010-04-17 18:26:46 +02:00
Michael Stapelberg
c145f7e529
first step of the big refactoring ("tree" branch).
...
From here on, we can track changes. It made no sense to put the
development up to this point into git.
2010-04-13 13:17:39 +02:00
Michael Stapelberg
6f72970ece
add xcb_set_window_rect which configures a window according to a Rect
2010-02-28 20:35:30 +01:00
Michael Stapelberg
75aac5bc02
ewmh: implement support for _NET_WORKAREA (rdesktop can use that)
...
Please note that rdesktop’s -g workarea option will not work on
64-bit systems at the moment because of a bug in rdesktop (see the
rdesktop-devel mailing list).
2009-12-31 17:48:41 +01:00
Michael Stapelberg
e7e9e8e49d
ewmh: correctly set _NET_ACTIVE_WINDOW
2009-12-25 15:19:39 +01:00
Michael Stapelberg
0641e6a1a3
ewmh: correctly set _NET_CURRENT_DESKTOP to the number of the active workspace
2009-12-25 15:05:17 +01:00
Michael Stapelberg
3114d6821d
Add support for WM_CLIENT_LEADER, put floating windows mapping to (0x0) to center of leader/workspace
2009-08-05 00:39:55 +02:00
Michael Stapelberg
e6198ad6c8
Some little fixes for bapt’s patch, use predict_text_width, support UTF8, pre-render workspace names
2009-07-28 13:55:09 +02:00
Michael Stapelberg
1e095ece84
Merge branch 'next' of zekjur:/git/i3 into next
2009-07-25 22:31:01 +02:00
Michael Stapelberg
163c9ad7db
Map window/its decoration *after* calling render_layout()
...
Thus, no more flickering because the window was first mapped and then
moved. Especially users of multiple monitors should be happy now ;-).
Rather radical change, though, so be prepared for problems.
2009-07-25 22:29:28 +02:00
Michael Stapelberg
ed60b31fd0
Implement predict_text_width, which will be needed for named workspaces
2009-07-24 19:49:06 +02:00
Michael Stapelberg
5b51c8c6f0
optimization: Render on pixmaps and copy the result on Stack_Wins
...
This should speed up the rendering of Stack_Wins with many window
decorations and it should considerably reduce flicker.
2009-07-17 18:32:40 +02:00
Lars Hartmann
58cbce0380
updated doxygen docu, added FIXMEs, fixed headers to 80chars width.
2009-06-29 21:54:51 +02:00
Michael Stapelberg
a6d7f5451d
Also set DIALOG, UTILITY and SPLASH windows floating automatically
2009-06-19 12:05:55 +02:00
Michael Stapelberg
052190ad05
Handle transient hint and window class dialog to mark clients as floating
2009-06-12 22:59:23 +02:00
Michael Stapelberg
5b8e2ecb18
Implement floating (please test and find bugs)
...
Details which are missing: A command to hide/show all floating clients,
moving/resizing clients with your mouse holding Mod1 (click anywhere
in the client, not just on its borders), resize/move by keyboard, select
next/previous client by keyboard
2009-05-23 16:34:03 +02:00
Michael Stapelberg
eab895ac9e
Bugfix: Correctly restore focus when leaving fullscreen mode
2009-05-03 02:13:11 +02:00
Michael Stapelberg
99054fb50f
Bugfix: Fix drag&drop in GTK applications (firefox, thunderbird)
...
Thanks to Daniel Wäber’s contribution to wmii:
http://code.suckless.org/hg/wmii/rev/f4f25de0de54
2009-05-02 20:51:55 +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
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
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
cb9c7078be
Implement kill-command to kill the current window, document it
2009-03-14 22:09:36 +01:00
Michael Stapelberg
14834c3530
Fake more configure notifies (makes xpdf work better)
2009-03-13 00:39:16 +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
56393c823e
Make colorpixels independent from clients
2009-03-05 02:58:12 +01:00
Michael Stapelberg
bd9b90d285
Fix datatype for cursor
2009-03-04 18:09:04 +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
05747c4a1c
Implement an internal bar which displays the workspaces
2009-03-04 12:09:43 +01:00
Michael Stapelberg
aa18ca0889
More documentation, cleanups, and a cache for get_colorpixel()
2009-02-24 14:18:08 +01:00