Commit Graph

81 Commits

Author SHA1 Message Date
Michael Stapelberg b58e2fa8ed Move toggle_fullscreen to client.c 2009-05-26 16:49:57 +02:00
Michael Stapelberg e79cca8f72 Implement putting clients onto specific workspaces ("assign" in the configfile)
This closes ticket #39
2009-05-16 17:32:36 +02:00
Michael Stapelberg 18da0a3017 Bugfix: Force reconfiguration of all windows on workspaces which needed to be re-assigned (Thanks Mirko)
When you disable a Xinerama screen (think of removing a video projector),
the workspaces of that screen need to be re-assigned to another screen.
Previously, the clients affected by this re-assignment did not get re-
configured, which made them appear on the next screen which got configured
at the position of the old one again if you did not switch to the reassigned
workspace before.

So, to reproduce it:
xrandr --output VGA --mode 1280x1024 --right-of LVDS
move windows to the new workspace
xrandr --output VGA --off
xrandr --output VGA --mode 1280x1024 --right-of LVDS

This fixes ticket #36
2009-05-09 13:04:34 +02:00
Michael Stapelberg d24e47a0f3 Bugfix: Force reconfiguration of all windows on workspaces which needed to be re-assigned (Thanks Mirko)
When you disable a Xinerama screen (think of removing a video projector),
the workspaces of that screen need to be re-assigned to another screen.
Previously, the clients affected by this re-assignment did not get re-
configured, which made them appear on the next screen which got configured
at the position of the old one again if you did not switch to the reassigned
workspace before.

So, to reproduce it:
xrandr --output VGA --mode 1280x1024 --right-of LVDS
move windows to the new workspace
xrandr --output VGA --off
xrandr --output VGA --mode 1280x1024 --right-of LVDS

This fixes ticket #36
2009-05-09 13:01:23 +02:00
Michael Stapelberg f72214725c Implement jumping to windows by matching their class / title 2009-05-05 16:53:22 +02:00
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 8cc1fcf536 General small cleanups 2009-04-11 14:08:19 +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 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 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 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 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 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 a411ed24cb Bugfix: Correctly check for empty containers and unmap the stack_win 2009-03-06 19:08:59 +01:00
Michael Stapelberg 891ec20755 Use __FUNCTION__ in LOG() 2009-03-06 16:48:30 +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 03e48b8bfe Bugfix: Reconfigure x/y of stack_windows when necessary 2009-03-04 21:49:29 +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 aa18ca0889 More documentation, cleanups, and a cache for get_colorpixel() 2009-02-24 14:18:08 +01:00
Michael Stapelberg 0e3a378c39 Implement stacking 2009-02-24 00:30:04 +01:00
Michael Stapelberg fe0485f9e5 Fix some movement/rendering bugs 2009-02-23 01:41:26 +01:00
Michael Stapelberg 7216738778 Implement exit_if_null using variadic macros, fix compilation 2009-02-15 22:52:33 +01:00
Michael Stapelberg 742cef2881 Finalize font.c 2009-02-15 02:52:52 +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 fb4c851e2a Add vim hints, copyright notice to each file, add LICENSE, retab! everything 2009-02-14 02:33:31 +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 82dd64ff24 Move stuff to include/ and src/ 2009-02-13 19:09:25 +01:00