Commit graph

86 commits

Author SHA1 Message Date
Marco Peereboom
ea47115e91 *sigh* stupid debug still enabled 2009-01-22 18:04:02 +00:00
Marco Peereboom
7b80ce46c2 Fix first of 2 new mecbride bugs; colors can be read from conf file again 2009-01-22 18:00:16 +00:00
Marco Peereboom
7288f47b93 Add baraction script for batter and stuff.
bad mcbride broke colors in config file; need to go fix that now.
2009-01-22 17:50:16 +00:00
Ryan McBride
e5cdfa8841 Set colors and font for dmenu based on bar; make these independently
configurable later.

To do this, we store color names as well as values; This will help us later
to suppport dynamic screen changes.  Also, clean up the config parser by
storing colors in an indexed array so they can be set with a generic function.
2009-01-22 06:21:23 +00:00
Marco Peereboom
15aa432b8e geez, wonder why this never bombed; zero it man! 2009-01-22 03:58:20 +00:00
Marco Peereboom
c83c5792fd Add mouse button actions. One example handler that does nothing and we
have copy and paste and click-to-focus
2009-01-22 03:46:13 +00:00
Ryan McBride
d3d81ce05f Simplify selection of the current region; just always track the cursor. 2009-01-22 01:22:09 +00:00
Marco Peereboom
166a233bab More focus simplicfication 2009-01-22 00:08:19 +00:00
Marco Peereboom
326462f79d Collapse focus and unfocus and brute force unfocs. This way we don't lose
track of what we are really trying to do.  Tested on multi and single screen
2009-01-21 23:12:54 +00:00
Marco Peereboom
b025f9df55 oops stray if sneaked in 2009-01-21 15:08:55 +00:00
Marco Peereboom
4aff88b957 Revert latest McBride commit. Doesn't work on single screen and I am not
sure how to fix it.
2009-01-21 15:02:57 +00:00
Ryan McBride
4ecc6d9658 Fix some workspace switching nits:
- Don't XMapRaised windows if they need to be moved/resized first.
- Keep focus in the current region if possible.
2009-01-21 08:45:36 +00:00
Ryan McBride
662c642cb2 Cycle workspaces in region with alt-leftarrow and alt-rightarrow.
By default skips empty and already visible workspaces, set
cycle_empty or cycle_visible to change this behaviour.
2009-01-21 01:26:56 +00:00
Marco Peereboom
3de6ed4de3 ugh > 80 cols 2009-01-20 06:23:18 +00:00
Marco Peereboom
5171f26a51 Make bar configurable using [x] notation in .conf file. Originally from dwc
Debug and make it work from me
ClearWindow instead of overwriting text on bar
shoten variable names that made the parser even more unreadable
2009-01-20 06:16:05 +00:00
Ryan McBride
36d3347501 one. last. off-by-2. 2009-01-20 06:05:47 +00:00
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