Commit graph

307 commits

Author SHA1 Message Date
Marco Peereboom
5b36603cb4 don't crash when apps do weird things (i am talking to you thunderbird).
doesn't fix the underlying issues though but at least it can be worked
around by either switching workspaces or kill -1 scrotwm
2011-01-18 19:25:58 +00:00
Marco Peereboom
e218053b30 fix crash as described in FS#37 2011-01-18 19:18:31 +00:00
Ryan McBride
98026635c5 Instead of dying when a manually defined region is outside of screen
boundaries, just ignore the region. Lets you at least log in and run
xrandr to fix the screen, then M-q to apply the manual region.
2010-11-12 01:35:01 +00:00
Marco Peereboom
3a35191973 focus on root just in case there is nothing else to focus on. seems to
fix the gimp issues where you end up with no keyboard action.
2010-10-19 17:37:56 +00:00
Marco Peereboom
1e10da5da6 Fix keyboard not getting focus after quitting gimp.
from Henri Kemppainen <duclare@guu.fi>
2010-10-14 17:40:52 +00:00
Marco Peereboom
87894d058c Hi,
here's the patch for EWMH support for scrotwm. Again, I'm really sorry
that it took this long. The patch is against the latest CVS version. Also,
the code should adhere to style(9) this time.

Like I promised, the patch implements (at least) the following:
 - autoquirking using the _NET_WM_WINDOW_TYPE property (already present in
the previous patch)
 - the _NET_ACTIVE_WINDOW property should work properly now
 - fullscreen windows using the _NET_WM_STATE_FULLSCREEN property
 - floaters remember floating state and position when restarting scrotwm
 - implemented _NET_WM_STATE and _NET_WM_ALLOWED_ACTIONS.

There's one thing though. _NET_WM_ALLOWED_ACTIONS still allows only
floaters to be resized. This is because I couldn't think of a way to
implement the "resize the stack" in way that isn't surprinsing. For
example, when we have more than two columns (master and 1 other) in the
layout, I can't think of good way to react to a request for resizing a
window in the middle columns. I can implement it, but I need you to tell
me exactly how you want it to behave. :)

Do tell me if you find any bugs in the patch. All other feedback is
appreciated as well.

 - Tuukka

From: Tuukka Kataja <stuge@xor.fi>

Thanks and some cleanup by me.
2010-09-16 02:26:45 +00:00
Marco Peereboom
8e288840b3 Roll version for release 2010-08-31 12:43:22 +00:00
Marco Peereboom
be075b908c seamonkey creates all kinds of nice transients that it then yanks from
underneath us.  validate the transient window before focussing on it.

found the hard way by jy-p
2010-08-11 03:15:40 +00:00
Marco Peereboom
838dae60f1 knf 2010-07-15 14:05:16 +00:00
Marco Peereboom
1d447f9ef2 Add option to put the bar at the bottom of the regions 2010-07-15 14:03:04 +00:00
Marco Peereboom
29b5153d1a rework how spawning processes works. this prevents programs that flush to
stderr splode
2010-07-15 13:58:25 +00:00
Marco Peereboom
5cd855abc3 more copyright dates 2010-07-13 04:05:06 +00:00
Marco Peereboom
9f5e85d94d Move outputs++ to new_region. Makes more sense and it make shit like
NVIDIA work.
Add some () around ?: for correctnes sake.

From the arch linux community
2010-07-07 15:40:29 +00:00
Marco Peereboom
eda9e9303d Don't leak font memory when setting up the bar a subsequent time 2010-07-07 12:52:42 +00:00
Marco Peereboom
dc26d15436 rewrite signal handler 2010-07-05 21:55:38 +00:00
Marco Peereboom
6c4ac3470b Make HUP actually restart the wm. Comes in handy when you hang it;
what's bad is that I know how to do it...
2010-07-03 22:41:34 +00:00
Marco Peereboom
af77379009 Bring border behavior back to normal default. Use knob when a knob... 2010-07-01 23:44:16 +00:00
Marco Peereboom
63f6779ee0 Go borderless when bar is disabled and there is only 1 window on screen
from the arch linux folks
2010-07-01 21:13:02 +00:00
Marco Peereboom
4736b92384 Fix a buglet in the region code that prevented switching workspaces.
Only print class/name on the right screen.

From: pbob <pbob@pbob.org>
2010-07-01 21:06:18 +00:00
Marco Peereboom
cae0380bf5 Add some memory to floaters.
diff from cpresearch@gmx.de
2010-07-01 20:58:00 +00:00
Marco Peereboom
6459ba2f91 Add a default cursor. 2010-07-01 19:49:21 +00:00
Marco Peereboom
f35cc28052 Add prior workspace
from
keenerd <keenerd@gmail.com>
2010-07-01 19:01:15 +00:00
Marco Peereboom
f82d432389 Make open office 3.2 purdy again 2010-07-01 02:01:04 +00:00
Marco Peereboom
a2474fde68 Add insane follow-mouse-sometimes feature for bob beck 2010-06-30 00:09:19 +00:00
Marco Peereboom
22a67dc7cd roll version 2010-04-20 19:27:36 +00:00
Marco Peereboom
8586681805 unmap windows after stacking. much better performance! 2010-04-20 19:08:06 +00:00
Darrin Chandler
31e6177025 Move declaration close to use 2010-01-13 23:22:31 +00:00
Darrin Chandler
4d964ea1ea Implement clock_format for user definable time string.
Slight mods to diff from Aragon Gouveia <aragon@phat.za.net>

"go go go" marco
2010-01-13 21:48:35 +00:00
Marco Peereboom
7ba5b19150 Roll to new version for cygwin.
Oops on the ports file
2010-01-11 21:01:24 +00:00
Marco Peereboom
a8f8379e72 roll version for new snap 2010-01-07 01:30:25 +00:00
Marco Peereboom
bfea3d7b2f bump version 2009-11-25 17:03:53 +00:00
Marco Peereboom
c5b4485b9e *sigh* work around linking retardation 2009-11-25 16:12:13 +00:00
Marco Peereboom
66cc2ad1e7 clean some warns 2009-11-06 04:55:18 +00:00
Ryan McBride
9f73a12795 Fix typo in debug, make scrotwm build again. 2009-11-06 04:51:21 +00:00
Marco Peereboom
3f50fa6a8e Kill tons of events to make mplayer work again
ok mcbrider
2009-11-06 04:41:28 +00:00
Ryan McBride
1332091a8e Enforce ordering on focusevent types. 2009-10-30 01:56:00 +00:00
Marco Peereboom
022ca339f1 ryan keeps putting variables in ifs for some reason... 2009-10-29 18:47:48 +00:00
Ryan McBride
6c9491c6a7 Some more subtleties for the focus handling code. In particular:
- A global last_focus_event helps us to determine whether another process
  is playing with focus without telling us.
- merge focusin and focusout into a single focusevent, handle focus change
  events triggered by synergy.
- Fix focus issues when entering a fullstack window from another region, by
  checking to see which ws the focus is coming from before ignoring the
  event.
2009-10-29 11:16:33 +00:00
Ryan McBride
6a14e403fe Revert previous commit, clearly I was on crack. 2009-10-28 00:57:36 +00:00
Ryan McBride
1aca1ca9d6 remove the ev->state check in enternotify()
ev->state indicates the state of the buttons and modifier keys, so it's not
just workspace changes but any time these buttons are down.  This heuristic
breaks focus with mouse buttons down and when creating new terminals with
m-s-enter, among other things.
2009-10-27 10:49:47 +00:00
Ryan McBride
3cf9db9166 Add more debug output to enternotify(). 2009-10-27 10:42:46 +00:00
Marco Peereboom
c593b8309e bump version for release 2009-10-24 15:34:50 +00:00
Marco Peereboom
841a2574a1 Make enternotify prettier 2009-10-24 14:21:18 +00:00
Marco Peereboom
ce20e49d87 In max stack we need to ignore all enternotifiy events.
Rever previous as part of this since it was a busted heuristic.
2009-10-23 20:56:37 +00:00
Marco Peereboom
80e76b8191 Add simple heuristic to max_stack focus to deal with new event reality.
This mostly uses the same logic as a normal stack but it detects if the
previous window got unmapped and goes back to the parent.  The rest is
the same code as stacked focusing.
2009-10-23 20:33:53 +00:00
Marco Peereboom
05347c2d3e ugh, i can't believe i have looked for this bug this long...
now jxplorer is correctly focussed when it is the nth window in the stack
when created
2009-10-23 20:07:06 +00:00
Marco Peereboom
c292d0eb67 Fix the damned enternotify code for real.
Weed out VirtualNotify (switch ws and border crossings) and InferiorNotify
(focus on self, aka touching its own border).
Then check for ConfigureNotify to see if a window is being deleted or moved
to another work space.

This is the smaller hammer for the QLength trick that used to be in there.

If we still have focus issues we need to work those but this is worth
going in.
2009-10-23 16:39:45 +00:00
Ryan McBride
37c079137c Remove over-eager optimization in focus_magic().
This win == win->ws->focus check makes scrotwm forget the correct
focus across workspace changes. Unnecessary focus changes are prevented
by the XGetInputFocus() check anyways.
2009-10-23 06:24:18 +00:00
Marco Peereboom
ef7f0f55ed get rid of a bunch of focus in and out events
ok mcbride
2009-10-23 04:05:19 +00:00
Ryan McBride
d5344e7f5c Fix debug printf in unfocus_all_except(). 2009-10-21 09:39:43 +00:00