Commit graph

268 commits

Author SHA1 Message Date
Dana Jansens
197ee0ad47 event_curtime is replaced (publicly) by event_time()
This function never returns CurrentTime, which is nice, cuz using CurrentTime for XSetFocus always sucks.

If the current XEvent did not have a timestamp, then event_time() will find one.  It finds the first timestamp available in the X event queue, meaning the earliest timestamp >= the current (nontimestamped) event. All future events should have a timestamp >= event_time(), so using this in XSetFocus() should not mess up any future calls we make to it.

This change seems to work well, as it appears to fix bug #3648.
2010-04-16 22:23:37 -04:00
Dana Jansens
56fface3a4 add an option to next/previous window to only include hilited/flashing/urgent windows (feature req/bug #4341) 2010-04-16 21:32:31 -04:00
Mikael Magnusson
d00a0060f0 Don't alt-tab to skip_taskbar iconic windows if they have parents 2010-01-28 08:40:00 -05:00
Dana Jansens
03b4c87205 adjust who shows up in the alt-tab list using SKIP_TASKBAR (Fixes bug #4503)
allow window types != NORMAL to not show up in the alt-tab list
but don't allow DIALOG types to hide from the list
also any window which is DEMANDS_ATTENTION should appear in the list regardless
  of its SKIP_TASKBAR status
2010-01-18 16:21:43 -05:00
Dana Jansens
567fd15eeb Merge branch 'backport' into work
Conflicts:

	configure.ac
	data/rc.xml
	openbox/client.c
	openbox/event.c
	openbox/focus_cycle.c
	openbox/focus_cycle_popup.c
	openbox/openbox.c
	openbox/prop.c
	openbox/prop.h
	openbox/screen.c
	parser/parse.c
	version.h.in
2010-01-11 16:20:53 -05:00
Dana Jansens
14180a6b0d More work on refreshing the focus cycle dialog when windows are added/removed from the valid focus order 2010-01-11 15:13:55 -05:00
Dana Jansens
12653a4153 Redraw the focus cycle popup when the list of focusable windows changes, rather than closing it 2010-01-11 12:47:59 -05:00
Dana Jansens
63f748aa3f Make focus_valid_target() take a desktop argument.
So you can find valid targets on desktops other than the currently visible one
2010-01-08 14:44:37 -05:00
Dana Jansens
6457a55f8c allow alt-tab etc to move focus to skip_taskbar windows when they are iconic 2010-01-08 14:34:22 -05:00
Dana Jansens
acafa38c8e Merge branch 'backport' into work
Conflicts:
	openbox/config.c
	openbox/event.c
	openbox/prop.c
	openbox/prop.h
	openbox/screen.c
	openbox/screen.h
2009-12-11 19:02:11 -05:00
Dana Jansens
d7d54e9b89 The colormap is being set twice when moving focus to the root window 2009-12-09 13:24:08 -05:00
Dana Jansens
cf033623a0 Allow skip_taskbar windows to be focused on map when the user requests it in rc.xml. Fixes bug #4350 2009-12-09 10:56:43 -05:00
Dana Jansens
2f09e0ce38 Merge branch 'backport' into work
Conflicts:

	openbox/actions/all.h
	openbox/actions/session.c
	openbox/client.c
	openbox/event.c
	openbox/grab.c
2009-12-08 14:19:04 -05:00
Dana Jansens
11ecb7d219 Don't kill keygrabs when focus moves.
Applications should be better behaved by now, and GTK based apps seem to be
at least. We can file bug reports with them if we need to still.
2009-12-08 13:56:37 -05:00
Dana Jansens
c828154886 Revert all commits for the Hooks feature to move it to a topic branch.
This reverts commit fd2f617be7.
This reverts commit a47d0a5365.
This reverts commit a1908e0767.
This reverts commit dc2e6f6bf7.
This reverts commit 985e7dadf9.
This reverts commit db781556d6.
This reverts commit feec8f663f.
2009-11-21 13:56:55 -05:00
Mikael Magnusson
ec328fc04f Merge branch 'backport' into work
Conflicts:

	obt/keyboard.c
	openbox/actions/cyclewindows.c
	openbox/actions/directionalwindows.c
	openbox/frame.c
	openbox/openbox.c
2008-03-08 17:43:32 +01:00
Mikael Magnusson
c716d1788b Remove double newlines. 2008-03-08 17:41:52 +01:00
Dana Jansens
a47d0a5365 queue hooks so that they don't run as each thing happens, instead run them at the end. keep the openbox code paths fast. 2008-03-01 01:52:38 -05:00
Dana Jansens
985e7dadf9 change some of the hooks, and add all the hooks to the code so that they run 2008-02-29 23:40:02 -05:00
Mikael Magnusson
22a88cfe99 Merge branch 'backport' into work
Conflicts:

	openbox/client.c
	openbox/event.c
	openbox/event.h
2008-02-27 02:34:08 -05:00
Mikael Magnusson
c38a756ae5 Fix some typos and style in client.c, and add a comment.
Also moves a comment from many places into one place.
2008-02-27 04:34:35 +01:00
Dana Jansens
5f04ca85ef Merge branch 'backport' into work
Conflicts:

	openbox/config.c
2008-02-07 02:06:42 -05:00
Dana Jansens
a19f2f8bc9 when focusing or raising a window which is modal child for a direct parent, raise its parent and move it to the top of the stacking order too, ie. treat them like one window (this is already done elsewhere, like when moving between desktops for example) 2008-02-02 22:17:32 -05:00
Dana Jansens
a21840cbb7 make ob_debug use the g_log system, and make openbox log messages to..a log file ! this will help everyone since most people do not run openbox in a terminal.. 2008-01-31 12:54:51 -05:00
Dana Jansens
73c9a0e06b make an obt_root() macro 2008-01-31 12:25:31 -05:00
Dana Jansens
0fcf5ead0f make openbox use the obt prop.c/h stuff
holy search and replace batman
2008-01-20 01:36:54 -05:00
Dana Jansens
e2ddfaf9ff s/ob_display/obt_display/ and remove ob_display 2008-01-20 01:36:54 -05:00
Dana Jansens
6dfc3c726a don't skip windows that are skip_taskbar unless they are normal typed.. i.e. if a dialog sets this don't skip it (gnome shutdown/logout dialogs don't get focused otherwise in arch linux) 2008-01-13 03:40:14 -05:00
Mikael Magnusson
556eb7b7fb ANSI function declarations, ie () -> (void) 2007-09-04 06:27:10 +02:00
Dana Jansens
0cfd92ab9e don't make omnipresent windows lose focus when changing desktops. this is done by allowing focus_fallback to specify if focus has been lost or not. usually if you're call it, focus is lost, but not always. 2007-08-04 13:29:13 -04:00
Mikael Magnusson
77baf26a7f remove trailing whitespace 2007-07-17 02:48:16 +02:00
Dana Jansens
0d0ce065df don't focus helper windows that map unless there are no other valid targets in the group (don't move focus from a group window to a new helper window).
this fixes gucharmap.
2007-07-06 19:41:23 +00:00
Dana Jansens
b41c339531 don't fallback to shaded windows 2007-07-04 13:49:01 +00:00
Dana Jansens
8f2e3f5fe1 use the same decision code to focus new windows as for focus cycling or focus fallback. yay consistency. 2007-06-12 17:46:16 +00:00
Dana Jansens
4c56b2de8d instead of falling back to any normal window. fallback to the same windows you can focus cycle to. 2007-06-11 16:07:32 +00:00
Dana Jansens
8772b46b56 allow focus to fallback to omnipresent windows, except during desktop switching which is when they are vile 2007-06-04 20:53:33 +00:00
Dana Jansens
467b7f4d4d make it possible to iconify a modal window when its parent is the only window left on the desktop.
when focus falls off of a window, don't allow focus to go back to that same target - when a window is iconified is the case.

what focus_fallback_target, to check whe allow_refocus is false, check where focus will actually be sent
2007-05-30 20:53:00 +00:00
Dana Jansens
6e5d9c5337 use new functions to cancel key grabs 2007-05-28 21:56:27 +00:00
Dana Jansens
16fcb1213d when you focus a window, bring any modal children it has to that desktop
when falling back, return the window which actually was focused by client_focus
let you focus cycle to windows when their modal window is on another desktop (it will be brought over)
2007-05-28 00:33:58 +00:00
Dana Jansens
b8fded742a make focuslast only apply to switching desktops, like 3.3.1 2007-05-27 22:50:40 +00:00
Dana Jansens
aa7c36d1bc only kill focus cycling when the window being destroyed was in the list of targets 2007-05-26 21:22:28 +00:00
Dana Jansens
a76ac8205c don't crash when a window adds itself to the focus order while cycling 2007-05-26 20:43:08 +00:00
Dana Jansens
ad8e8d4988 less negatives means less confusing.. but yeah. get rid of omnipresent check in focus_fallback 2007-05-25 15:41:14 +00:00
Dana Jansens
336011efb1 prevent flicker in the follow actiosn again instead of in focus fallback. focus fallback needs to be very reliable. 2007-05-25 15:23:48 +00:00
Dana Jansens
7cf4c970ae debug print in focus.c
when focus goes to something that isn't a client (window already unmapped) then set focus_client to NULL so we know nothing has focus right now
2007-05-25 15:02:20 +00:00
Dana Jansens
6a9d502f20 put the actions back so they don't have to be smart.
make focus_fallback not send focus anywhere if the new target is the same as what is already focused
2007-05-25 14:44:49 +00:00
Dana Jansens
9cb80fc994 save the focus_client when falling back 2007-05-25 14:26:12 +00:00
Dana Jansens
f638c5b8fa some focus changes...
1) listen for inferiornotify. that way when iconify animating reverts to parent, we see it.
2) set client to null when falling back and update the root window property
3) get rid of the "focus didnt move anywhere" business, and just process the envents in the right order.
2007-05-24 21:50:35 +00:00
Dana Jansens
eb09b1873d move focus_cycle_indicator into its own file 2007-05-19 14:36:19 +00:00
Dana Jansens
718adbae65 move focus cycling into its own file 2007-05-19 14:15:28 +00:00