Skip to main content

Getting out of fullscreen mode in FileMaker Pro

In version 2 of Acquittal, our criminal defense case management app, we're doing some nifty stuff with windows, and that means we're finding out that even in FileMaker Pro 15, we still don't have quite all the tools we'd like for managing windows.  One problem is how to trap for the possibility that the user has switched into fullscreen mode. The other problem is how to get out of it.


Is this window in fullscreen mode?


This one's not too hard. This calc formula seems to do the trick:

Get ( WindowHeight ) = Get ( ScreenHeight ) and
Get ( WindowWidth ) = Get ( ScreenWidth)

That will return true if the window is in fullscreen mode, false if it's not.

Why does this matter? Because there are certain things that you can't do with a window if it's in fullscreen mode. In Acquittal, for example, there are times when we want to generate a second "sidecar" window, then display the main and sidecar windows side-by-side. Can't do it if the main window is in fullscreen mode!


So how do I get out of fullscreen mode?


What we're missing in FileMaker 15 is a script step that will exit fullscreen mode. Well, ideally, we'd have a scriptstep like "Toggle Fullscreen Window Mode". But while we hope for this in FileMaker 16, there is a workaround. There is always a workaround, probably more than one. Here's what I've come up with. Note: I'm using a little custom function 'WindowIsFullScreen01' with the formula described above.


If [ WindowIsFullScreen01 ]

   # Looks like fullscreen!

   Set Variable [ $window1 ; Value: "ABCDE" ]
   Set Variable [ $window2 ; Value: Get ( WindowName )
   Set Window Title [ Current Window ; New Title: $window1 ]

   New Window [ Style: Document ; Name: $window2 ]
   Adjust Window [ Maximize ]

   Close Window [ Name: $window1 ; Current file ]
   Select Window [ Name: $window2 ; Current file ]

End If

It's pretty straightforward. Create a new window, which will be clone of the original window except that it won't be fullscreen. Play with the window names so the new window ends up with the original window's name and so that the Close Window script step can target the original window. Et voilĂ !

By the way, I changed the original window's name to "ABCDE" in this example. In reality, I'd probably use a long random number. I mean, odds of there being another window named "ABCDE" seem pretty small, but if it did happen, I'd be pretty darned embarrassed.

Let me know if you have something better.


Comments

  1. Getting Out Of Fullscreen Mode In Filemaker Pro >>>>> Download Now

    >>>>> Download Full

    Getting Out Of Fullscreen Mode In Filemaker Pro >>>>> Download LINK

    >>>>> Download Now

    Getting Out Of Fullscreen Mode In Filemaker Pro >>>>> Download Full

    >>>>> Download LINK s6

    ReplyDelete

Post a Comment

Popular posts from this blog

Setting up OAUTH with Google in FileMaker 16

Setting up OAuth with Google in FileMaker 16 Posted by William Porter Intended audience: Intermediate to Advanced FileMaker developers Date of publication: 2017-June-06 Updated: 2018-June-06 One of the many exciting features in FileMaker 16 (released May 2017) is OAuth or Open Authentication. Open Authentication allows users to connect to a FileMaker database after authenticating with an external (non-FileMaker) account. At the present time, FileMaker supports OAuth through Google, Amazon and Microsoft. If you're a developer there are two main questions to answer. First, should I do this? And second, how do I do it? I'll answer the first question later. It's important. But the other question-- How  do I setup OAuth?--is answered in the attached document. I wrote this tutorial with the help of my friend and colleague Taylor Sharpe of Taylor Made Services , also here in Dallas. We provide step-by-step instructions on how to get your users authenticating in...

Virtual List Basics

The concept The basic trick behind virtual lists is the wonderful GetValue() function. GetValue() takes two parameters: A list of return-delimited values A number specifying which value in the list to get For example say you have a field in a single record called “List of Values” and it contains the following:    Apple    Boy    Cat    Doorknob    Elephant    Fish When that record is selected, GetValue ( MYTABLE::List of Values ; 4 ) will return “Doorknob”. The brilliant idea is to replace the list of values stored in a field with a list in a global variable . The basic implementation, part one Create a table called VIRTUALLIST. In it, define these two fields: VALUE NUMBER: a number field Value_calc: calc field returning text value, = “GetValue ( $$VALUES; VALUENUMBER )”. Make sure that this value is an unstored calculation. Go to the layout for the VIRTUALLIST table and create s...

Correction of mistake in my review of FileMaker 14

There is a significant mistake in my Macworld review of FileMaker 14 , published yesterday. I spent a fair amount of time getting to know the new navigation layout part and in the process, coming to like it quite a bit. As I said in the review, at first glance, it looks like a duplicate of the header or footer layout part, but it's not. At the end of the relevant paragraph, I wrote this little summary: I expect that FileMaker 14 developers will soon start using the navigation part for UI widgets like buttons, and will leave headers and footers for printed reports. I thought hard about the new navigation part; but I didn't give quite enough thought to how the old layout parts will and will not be affected by the new one. The truth is, you will still want to put column field labels (on a list view layout) in a header part, so that they zoom with the body part. (This would apply to footers as well if you put any objects down there that need to stay aligned with the fields i...