Michael Stapelberg
ceb3670d65
Reduce number of configuration requests and thus flickering
...
This reduces flickering when opening new windows and especially moving
existing windows in tiling mode. Especially noticable on multi-monitor
setups.
2009-08-08 21:31:42 +02:00
Michael Stapelberg
47a798ac4a
Implement assignments of workspaces to screens, big cleanup of workspace code
...
Please test this! Plug in screens, unplug them, use your video projector,
change resolutions, etc.
To use the assignments, use the following syntax:
workspace <number> [screen <screen>] [name]
Where screen can be one of:
<number> (It is not provided that these numbers stay constant, so use with care)
<x>x<y> (Coordinates where the screen starts, so 1280 will be fine to match the
screen right of the main screen if your main screen is 1280 pixels
width. However, 1281 will not match)
<x>
x<y>
Some examples follow:
workspace 1 screen 0
workspace 1 screen 1
workspace 1 screen 1280x0
workspace 2 screen 1280
workspace 3 screen x0
workspace 3 screen 1 www
workspace 4 screen 0 mail
2009-08-08 19:51:51 +02:00
Michael Stapelberg
7cdaa1b277
Implement support for using key symbols in configuration file
...
Use "bindsym" instead of "bind". You have to use the names of keys
as in xmodmap. To get a list of currently bounud symbols, use
xmodmap -pke
Technical quirk: Xlib generated MappingNotify events upon
XkbMapNotify events (from XKB, as the name says). XCB does not yet
have support for XKB, thus we need to select and handle the event
by ourself. Hopefully, this will change in the future.
2009-08-07 15:35:12 +02:00
Michael Stapelberg
3bd724f08d
Bugfix: Track the user’s pointer over the root window and update current workspace (Thanks xeen)
...
When not having any windows on the first workspace, switching to the
second workspace using your mouse was not registered by i3.
2009-08-06 00:59:48 +02:00
Michael Stapelberg
9222bea3b2
Implement borderless / 1-px-bordered windows
...
Use bn (normal), bp (1-px), bb (borderless) as commands to change the
border style of the currently focused window. Feel free to use i3-msg
to do this.
2009-08-05 18:33:44 +02: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
7cfe520755
Bugfix: Don’t hide assigned clients to inactive but visible workspaces (Thanks xeen)
2009-08-02 22:31:52 +02:00
Michael Stapelberg
a753684ac5
cache text_width for named workspaces, fix memory leak
2009-08-02 21:32:35 +02:00
Michael Stapelberg
e7bf93163d
Make path configurable
2009-07-28 22:09:53 +02:00
Michael Stapelberg
45c3341e09
Add docs to include/ipc.h
2009-07-28 20:58:56 +02:00
Michael Stapelberg
a43846ea27
Initial implementation of IPC via UNIX domain sockets
2009-07-28 20:51:29 +02:00
Michael Stapelberg
1befbb2a50
Use errx() instead of an own die() function
2009-07-28 14:03:50 +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
Bapt
ddcb11baba
Implements configurable named workspaces
2009-07-28 13:08:03 +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
bapt
40750e227d
Implements a reload command
2009-07-23 18:46:21 +02:00
Michael Stapelberg
ffcc8bbc3a
Implement putting clients into floating mode at a specific workspace
...
This changes syntax of the assign command a bit. Old configurations
will continue to work. See the userguide.
2009-07-21 16:43:20 +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
Michael Stapelberg
91aeed0442
Resolve documentation FIXMEs, remove an unnecessary struct
2009-06-29 22:20:35 +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
28c4b045d6
Merge branch 'next' (3.β is stable now)
2009-06-26 13:27:06 +02:00
Michael Stapelberg
8659419ef6
Bugfix: Correctly handle moving fullscreen client onto another screen (Thanks dirkson)
2009-06-25 13:46:47 +02:00
Michael Stapelberg
62c8d58d82
Implement the configuration option floating_modifier and document it
2009-06-24 20:31:00 +02:00
Michael Stapelberg
607b1d071e
Use drag_pointer from floating.c for the resize handler
2009-06-24 17:40:34 +02:00
Michael Stapelberg
07bebdf841
Correctly re-assign floating clients to the destination workspace when moving
2009-06-24 17:12:12 +02:00
Michael Stapelberg
cba36914a8
Implement selecting the next tiling/floating window (using "focus")
...
Also update documentation (manpage, userguide).
To make the code easier to read/write when checking if a client is
floating, introduce client_is_floating().
2009-06-21 16:14:15 +02:00
Michael Stapelberg
626e6b2b6f
Bugfix: yuck! FREE() used a wrong check, effectively never free()ing memory
2009-06-21 13:44:14 +02:00
Michael Stapelberg
8e19f8dabf
floating: Don’t let clients become hidden under stack windows or fulscreen clients (Thanks Mirko)
2009-06-19 23:18:43 +02:00
Michael Stapelberg
325d1b301f
Implement the special workspace ~ for assignments, which will set clients floating automatically
2009-06-19 20:20:00 +02:00
Michael Stapelberg
89c0caaec4
Implement a command for hiding all floating windows (and showing them again)
2009-06-19 13:59:29 +02:00
Michael Stapelberg
5c48444b4e
Implement the possibility to set a workspace open clients automatically in floating mode
...
Use "wwt" (with workspace: toggle floating) in your configuration file
2009-06-19 13:20:10 +02:00
Michael Stapelberg
4135aaad7c
Implement moving of floating clients
2009-06-19 12:57:21 +02:00
Michael Stapelberg
a6d7f5451d
Also set DIALOG, UTILITY and SPLASH windows floating automatically
2009-06-19 12:05:55 +02:00
Michael Stapelberg
00c6bdeb0b
Implement changing focus via keyboard between floating clients, fix several floating bugs
2009-06-14 01:04:59 +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
b13a43159f
Static analyzers: Add noreturn attribute to die()
2009-06-11 03:37:13 +02:00
Michael Stapelberg
e689be983b
Implement variables in configfile.
...
This implements ticket #42 .
Syntax is "set $key value". All further instances of $key will be
replaced with value before parsing each line of the configfile.
2009-06-01 16:19:06 +02:00
Michael Stapelberg
2a67630aa6
Optimization: Get the colorpixels when loading configuration, make use of the new config struct
...
Instead of building arrays of colorpixels we can simply use a pointer
to a struct Colortriple. Furthermore, by getting the colorpixels when
loading the configuration, we save a lot of function calls in the
main code.
2009-06-01 15:14:45 +02:00
Michael Stapelberg
0cb5d7448d
Implement clients going automatically into floating
2009-05-31 00:31:18 +02:00
Michael Stapelberg
54fb9435f8
Add header for config.h, retab! the file
2009-05-30 22:22:58 +02:00
Michael Stapelberg
cbc3880007
Use a more efficient struct for storing colors, validate/parse them more easily
2009-05-30 22:20:32 +02:00
Atsutane
65bcf170ed
Introduced color setting.
2009-05-30 17:59:04 +02:00
Michael Stapelberg
b1eb93326f
Bugfix: Correctly cleanup stack_windows when setting clients to floating
...
This fixes ticket #44
2009-05-30 11:35:32 +02:00
Michael Stapelberg
b58e2fa8ed
Move toggle_fullscreen to client.c
2009-05-26 16:49:57 +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
b35599004a
Move the manage_*-functions into their own file as they got quite large
2009-05-16 18:25:04 +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
1256730b4b
Bugfix: Fix display/resizing of colspanned containers
2009-05-09 18:43:50 +02:00