Re: FVWM: Focus and GoToPage

From: Ruslan Kosolapov <rkosolapov_at_sw-soft.com>
Date: Mon, 05 Jul 2004 23:47:46 +0700

>> A most important thing in this metaphor is "focused window should be
>> in attention locus, i.e. as far as possible in center of a viewport"
 TO> I'm not sure what you mean by "attention locus", but if you mean
 TO> you want to centre the viewport on a window how about this:

 TO> DestroyFunc CenterViewportOnWindow
 TO> AddToFunc CenterViewportOnWindow
 TO> + I FlipFocus
 TO> + I WarpToWindow 50 50
 TO> + I PipeRead "echo Scroll $$((((-$[vp.width]/2)+$[pointer.x])))p $$(((-($[vp.height]/2)+$[pointer.y])))p

 TO> Then, for example, bind something to Next CenterViewportOnWindow

  :) Thanks. I use FvwmTcl module by Victor Wagner for it:

DestroyFunc CenterViewPortAndFocus
AddToFunc CenterViewPortAndFocus
+ I Module $[bindir]/CenterViewPort.tcl $[w.x] $[w.y] $[w.width] $[w.height] $[vp.width] $[vp.height]

#!/bin/sh
# for sh this is a two lines. for wish - whis is one line \
exec tclsh "$0" "$_at_"

#parameter's assigns skipped

set command "Scroll [expr $winX - $scrWidth / 2 + $winWidth / 2]p [expr $winY - $scrHeight / 2 + $winHeight / 2]p"

::fvwm::send "WindowID $winID Raise"
::fvwm::send "WindowID $winID Iconify Off"

::fvwm::send $command
#::fvwm::send "WindowID $winID WarpToWindow 1p 1p"

exit 0


>> I asked here about placement windows on whole multipaged desk, not
>> on current page only. OK, now I can't do it by fvwm.
 TO> Well you can, the StartsOnPage/SkipMapping solution sounded okay to
 TO> me?

  No, StartsOnPage is not enough. But it is not a problem - I will use
  FvwmEvent for moving window to need place.

>> Question number two: I report a bug (in my opinion it is a bug)
>> about wrong behavior of WarpToWindow function. Shortly: this
>> function resets a viewport like GoToPage do it. Can I to do
>> something with it? Is there a workaround? I can't find a simple
>> solution (I plan to use CursorMove or something like it, but it is
>> not a good solution).
 TO> I Think using CursorMove is a good solution, you could add some
 TO> CursorMove to the function above to get pretty close to this
 TO> behaviour!

  Move viewport for centering window is not a good usability really.
  More comfortable behavior is move viewport by next rules:
   - focused window should be fully visible
   - other windows should be maximally visible
   - viewport moving should be not chaotic (i.e. window shouldn't moving
  accross a whole screen and so on).

  Use CursorMove in such circumstances could be not simple, so, it is a
  not a good solution. But seems like it is a single way.

-- 
Ruslan Kosolapov
Plesk QA Department Second Manager
SWsoft, Inc.
E-mail: rkosolapov_at_sw-soft.com
Web Site: www.sw-soft.com
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_fvwm.org.
To report problems, send mail to fvwm-owner_at_fvwm.org.
Received on Mon Jul 05 2004 - 11:50:32 BST

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:56 BST