Commit graph

70 commits

Author SHA1 Message Date
Ryan McBride
e533bf54a4 Duh, math is hard. 2009-01-20 05:57:18 +00:00
Ryan McBride
205ebd5b1a Oops, take the window borders correctly into account. 2009-01-20 05:45:49 +00:00
Ryan McBride
7f28623fdd Add alt-comma and alt-period keybindings, which increase and decrease the
number of windows in the master area.
kill the *_init and *_resize stacker hooks in favour of a single *_config.
2009-01-20 05:37:45 +00:00
Marco Peereboom
de9b350637 Let it beknown where we are 2009-01-20 04:28:22 +00:00
Marco Peereboom
d91314c8cf Add screen identifier. This doesn't do workspaces just yet. 2009-01-20 03:50:50 +00:00
Ryan McBride
55284e616d Load config file AFTER screens are initialized. Bug pointed out by dwc. 2009-01-20 02:22:50 +00:00
Marco Peereboom
9b55b66ab5 Simplify bar updates. 2009-01-19 21:11:46 +00:00
Marco Peereboom
53ccf4e36d width is no longer -2 by default so adjust bar width 2009-01-19 19:40:26 +00:00
Marco Peereboom
bd303c3b5a Unfuck signal handler.
Make all screens have their own bars.
Print screen number in bar.
Fix "Alarm clock" issue due to a race between restart and alarm.
2009-01-19 19:27:36 +00:00
Marco Peereboom
40da6badcb Stray debug 2009-01-19 15:11:47 +00:00
Marco Peereboom
1df4187f5c simplify and shrink code in setup some more 2009-01-19 15:09:04 +00:00
Marco Peereboom
45ac9837d3 Shorten some variable names.
Don't leak memory and resources in setup.
2009-01-19 14:59:29 +00:00
Marco Peereboom
45ef141d5c Fix overlapping region on my fancy laptop with a big screen
Spacing
C89 variables (yes I am that old)
2009-01-19 14:15:31 +00:00
Ryan McBride
99119d8697 Cleanup; get rid of crufty cur_ws and cur_region and replace with
root_to_reginon, which will always give a non-crufty result. Pass the
region to all keystroke handlers.

To allow for workspace commands in empty workspaces without full-force
focus-follows-mouse, track mouse-clicks on root windows and make them
override cur_focus in root_to_region().

Also, examples of more descriptive debug output for some handlers.
2009-01-19 09:05:02 +00:00
Ryan McBride
367ce80e69 Major churn for multi-headed support (Xrandr and plain multi-screen).
- workspaces now per-screen (X does not let you migrate windows)
- a screen has 1 or more regions (now mapped by Xrandr, later configurable)
- current_ws is dead, long live cur_focus
	- only one window has real focus, but workspaces keep track ws->focus
	- lots of places (especially event handlers) use cur_focus but should
	  identify the correct source of the event instead
- festival of pointer management to keep track of all this.
2009-01-19 05:48:11 +00:00
Marco Peereboom
ec3c0150e3 Kill some braces and shorten code a bit 2009-01-19 03:30:39 +00:00
Marco Peereboom
ee14295710 Unscrew colors on machines that use 16 bit color. I am talking to you
zaurus and sparc!

from dwc
2009-01-18 23:53:03 +00:00
Marco Peereboom
683a0c71ea Stop farting around with dialog box potential sizes and make it a ratio.
This ratio can be configured in the .conf file.
2009-01-18 04:48:04 +00:00
Marco Peereboom
cae2f7f137 Make floaters work right. This fixes the remaining issues.
Note: firefox sucks for having that retarded "download complete" window
use "Download Statusbar" to disable that.  Really you want to.
2009-01-18 03:30:51 +00:00
Marco Peereboom
519a608c74 Correct XInput for managed windows so that mplayer syops whining about the
mouse mask.
2009-01-18 01:19:01 +00:00
Marco Peereboom
51fffe862e First attempt at doing pr0n! Mplayer now sort of works; switching between
ws while having floaters screws up.  Some more nits need to be resolved but
this is promissing enough.
2009-01-18 00:28:20 +00:00
Marco Peereboom
8ad832c092 somehow if( and for( remained in the code borrowed from dwm. Kill that dead. 2009-01-17 21:39:22 +00:00
Marco Peereboom
1ebdff4405 Fix fucking phantom windows for real this time. 2009-01-17 19:57:48 +00:00
Marco Peereboom
eb06e426f5 Fix phantom windows better by keeping transients; fixes mozilla restart
with dialog open.
2009-01-17 17:48:37 +00:00
Marco Peereboom
c721268c34 Fix stupid phantom windows during restart. 2009-01-17 17:44:10 +00:00
Marco Peereboom
04bda5eb2a Silly mcbride restarting the wm expecting it to be in the path.
Be more paranoid about managing windows.
2009-01-17 17:23:52 +00:00
Marco Peereboom
cb6004ccfa Keep focus on right window when cycling stack order. This does flicker
ugly when going to max stack.
2009-01-17 14:32:56 +00:00
Marco Peereboom
7de8cb229d When switching stacking keep focus on current win; from joris with tweaks.
This needs to be extended for all stack swtiches however the others are
being screwed up by autofocus events.  Those need to be eaten.
2009-01-17 14:17:09 +00:00
Marco Peereboom
ef4627ba2e This only took 2 days to debug :-(
But now we draw x-apps correctly like emacs, xpdf and gvim etc

Floaters need more love and mplayer is still unhappy (it worked at some
point!); getting it in so that others can get used to this.
2009-01-16 23:40:01 +00:00
Marco Peereboom
133514cd56 Cleanup and move some code to a more appropriate place. 2009-01-16 19:13:36 +00:00
Ryan McBride
fbde5d8373 Make max (maximized single window) layout handler mostly work. 2009-01-16 10:02:13 +00:00
Ryan McBride
f3aee6ce00 Allow resizing (alt-h / alt-l) the master area and resetting (alt-shift-space)
the layout to it's defaults, with per-workspace, per-layout persistence.
Also switch layout cycling to the "correct" key: alt-space
2009-01-16 07:27:26 +00:00
Ryan McBride
32a4812d88 Partly un-globalize workspace geometry.
Mostly mechanical work towards multi-head support and other goodies.
2009-01-16 05:25:13 +00:00
Marco Peereboom
fc8c63ffb7 Use hints to position and size floating windows. This is really a best
effort since a lot of these apps are a total clusterfuck.
2009-01-15 19:21:55 +00:00
Marco Peereboom
9888af9f7f When moving windows to an empty workspace make sure we focus on the window
that just moved there.
2009-01-15 17:27:34 +00:00
Marco Peereboom
eb4c85488d Forgot to remove debug. 2009-01-15 17:23:04 +00:00
Marco Peereboom
2d77968e8e Off by one pixel in horizontal stack. Some spacing. 2009-01-15 17:22:05 +00:00
Ryan McBride
0782d0971b Initial bits of support for different layouts, needs more splitting out of
common code.
Use alt-c to cycle for now, will change to alt-space once I figure that out.
2009-01-15 13:59:58 +00:00
Marco Peereboom
f5b4f5994e Probably a fat finger from mr McBride 2009-01-15 13:44:52 +00:00
Ryan McBride
4f0813c94d next/prev window swap logic that sucks less. 2009-01-15 08:27:56 +00:00
Ryan McBride
e6727e082a alt-j/alt-k = move focus to next/prev
alt-shift-j/alt-shift-k = swap focus window with next/prev
2009-01-15 06:41:06 +00:00
Marco Peereboom
0dc00b1a83 Yay fix old x apps that send events in different order. This fixes like
xclock & xcalc etc.
2009-01-15 03:50:26 +00:00
Ryan McBride
7718964fdb Reexec scrotwm on alt-q, also enumerate and manage all existing windows when
scrotwm starts.
2009-01-15 02:14:08 +00:00
Marco Peereboom
4f26b7c5ca center floaters 2009-01-14 22:21:52 +00:00
Marco Peereboom
840cd605d2 Add initial floating support and a forgotten makefile... 2009-01-14 22:06:48 +00:00
Marco Peereboom
3ddac044c0 Add unobscure event so that we can rebuild the bar after dmenu exits. 2009-01-14 19:38:24 +00:00
Marco Peereboom
58414f14f4 Add initial dmenu support with alt-p 2009-01-14 19:23:16 +00:00
Marco Peereboom
04f3b6a33c Some X apps work now such as gvim and firefox 2009-01-14 19:08:56 +00:00
Marco Peereboom
ee49baae87 Spacing 2009-01-14 17:14:05 +00:00
Marco Peereboom
b05bba3a0e Add .conf file support 2009-01-14 17:10:52 +00:00