Commit graph

103 commits

Author SHA1 Message Date
Marco Peereboom
e4c8351e9b Add screenshot_app to conf 2009-01-27 16:18:10 +00:00
Marco Peereboom
32b3198dcd Do screenshots and add example script for it. 2009-01-27 07:36:49 +00:00
Marco Peereboom
ececcd0a8e Bad mcbride leaking memory and char * in the wrong spot. 2009-01-27 06:50:57 +00:00
Marco Peereboom
b7dbe34497 Move int back where it belongs. 2009-01-25 21:48:06 +00:00
Ryan McBride
fa06bf8d4b Adjust window sizes to match height and width increment hints.
Minimizes wasted space on xterms.
2009-01-25 17:56:01 +00:00
Ryan McBride
5bdf52a032 Support placing the master area on the opposite side. 2009-01-25 10:54:16 +00:00
Ryan McBride
f92c9ed072 Replace the vertical_stack() and horizontal_stack() logic with one
function that rotates appropriately.
2009-01-25 10:43:20 +00:00
Marco Peereboom
b9f59efc8d MapRaised in max_stack to bring window into focus. 2009-01-25 03:12:34 +00:00
Marco Peereboom
2a214e3e6c Add initial screenshot support 2009-01-25 01:46:44 +00:00
Ryan McBride
6d08df4744 Add support for passing variables up to X11 via window properties; done by
hooking XCreateWindow and friends via LD_PRELOAD. Used now to make sure that
windows come up in the workspace they were spawn()'d from, but more soon.

Code to do the nasty borrowed with thanks from Enlightenment.
2009-01-24 17:57:26 +00:00
Marco Peereboom
ed1dbfa144 Remove stray SWM_DEBUG 2009-01-23 22:51:39 +00:00
Marco Peereboom
7088da1fd1 Add bar delay 2009-01-23 22:50:38 +00:00
Ryan McBride
7ab5dbd429 Remember which workspace we assign windows to via window properties. 2009-01-23 01:01:48 +00:00
Marco Peereboom
238662f027 Fix segfault on linux; from nicm 2009-01-22 23:06:45 +00:00
Marco Peereboom
6ca5cd2ca7 No idea how this new = 1 bug snuck in but make it 0 so that windows draw
properly.  Since I am still hounding a positioning bug with respect to
dialog windows leave some shitty debug in here albeit disabled.
2009-01-22 22:57:30 +00:00
Marco Peereboom
baebde8cfd remove some stray carriage returns 2009-01-22 18:29:46 +00:00
Marco Peereboom
e8cdd58b88 Add kill window fro pirofti 2009-01-22 18:11:52 +00:00
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