Safari in kiosk mode or full screen with no tool bars - safari

I have created a html5 video gallery that will be used as a kiosk in a casino. The videos play the best in safari but I cannot get safari to go completely full screen. Is there a way to do this or a application I can use? I've looked into saft but it is not compatible with the new version of safari.
Thanks in advance

At least on Windows version of Safari (5.1.7), To make it go full-screen you have to press F11.
You will still see a tool-bar, but it should automatically hide after a few seconds, and then you will be in complete full-screen mode.
Note: If you press F11 before all the content of your page are loaded, you might have some layout problems, so I recommend to wait for the content to be loaded.
I wish there was a way to make full-screen mode enabled from start up like you can do with Google Chrome with the kiosk mode, but I don't know if that is possible.

You should probably use a third-party kiosk application designed for this purpose such as xStand, since Safari doesn't contain any actual kiosk mode (unlike Internet Explorer).
Even then, you'll need to be aware of the risk of users using keyboard shortcuts to exit the application (like Cmd+Q, or Cmd+Opt+Escape to bring up the "Force Quit Applications" list).
Most dedicated kiosk browsers are designed to disallow that sort of behaviour, but you should definitely test them yourself before you trust them (or disconnect the keyboard altogether if users don't need a keyboard).
On the other hand, if you can safely remove the keyboard and mouse, you're able to simply use the built-in full-screen mode in Safari (as of OS X Lion), to achieve what you're looking for.

Related

Mac: lock user into app

I want to program a "distraction-free mode" for my Mac application. Is it possible to enter full-screen mode and prevent the user from switching to any other application actually locking her into the program (for example, for a given amount of time)?
You can implement kiosk mode. The short version is that you can set NSApplication.sharedApplication().presentationOptions. You can mix and match options (within some rules), but one obvious set would mix .HideDock, .HideMenuBar, and .DisableProcessSwitching.
You can either manually size and position your app window to cover the full screen or you can call enterFullScreenMode(_:withOptions:) on a view to present in full-screen mode. For the latter, you can combine the setting of the presentation options with entering full-screen mode as documented in the kiosk mode tech note.

Show Networks Flyout (the "connect-to-network" thingie) without explorer.exe running

Requirements:
Our application replaces the usual windows shell (explorer.exe). This is a product requirement for a closed system that we're supplying.
We oughtta let the user select a wi-fi network and connect to it.
The problem: The wi-fi networks dialog only shows up when explorer.exe is running
What we tried:
Write our own wi-fi manager that uses wlan API. It lists connectible networks and allows the user to connect/disconnect. Problem: too many network types/configuratons that have to be tested, especially when the wheel has already been invented and reinvented all over.
Try and check how is the networks dialog implemented. It appears that it's and undocumented COM interface (IUIRAdioManager). Problem: it's undocumented, so no API
Use an existing network manager, for instance the one that comes with the driver. Problems: it's ugly, not to the product's taste; and it opens too many options for the user, like creating and loading profiles, browsing for files on a file system - these things are unacceptable.
Running explorer.exe just for the purpose of showing the networks dialog and then killing it. Problem: once we run explorer.exe - it pops up metro view and hides our fullscreen application or shows the taskbar.
The latter seems like the preferred solution: no need to reinvent the wheel, it does what's needed. Just gotta make explorer.exe not pop out, keep it quiet in the background.
So, we're down to two options:
How to show the networks flyout dialog without explorer.exe?
How to run explorer.exe without it popping out metro or taskbar above our application?
Your first solution would be incredibly difficult to implement. I am almost certain that the Networks window is dependent on explorer.
However, your second is entirely possible.
To hide the taskbar, you will need to find a window (using FindWindowEx) to find the taskbar (name is Shell_traywnd). This will hide the taskbar and start button. EDIT: Unless you are implementing your own taskbar, you might want to set the taskbar to autohide.
Next you will need to hide all of the metro programs. In a similar fashion as above, find the class named EdgeUiInputWndClass and close it. You should be able to get the process name of it and then kill the process.
Windows key. This is a little more difficult. You will probably need to use a program and delete the key or a keyboard hook (a low level keyboard hook) and just ignore key presses with the same scancode as the windows key. Left Windows is 0x5b and Right is 0x5c (source). Note that this will not block Ctrl+Alt+Del.
Finally, to show the Flyout, you can run %windir%\explorer.exe shell:::{38A98528-6CBF-4CA9-8DC0-B1E1D10F7B1B}
(source).
EDIT2:
You should also be able to hide toast notifications via this
Of course, I don't see why you cannot just use Windows 8/8.1 and put the app in kiosk mode.

The form fails to popup in windows 8

I have a chat application written in VB.net which is used to chat between users who are connected in LAN inside a office . The application popups whenever user gets new chat message. It works fine in windows XP. But sometimes in windows 8 the application fails to popup the chat window. So my chat window is not appearing at the top when popup occurs for new messages.
I have tried using setwindowspos, form.Show(), form.BringToFront() which can bring the form to topmost. But sometimes this will not work properly.
So is there any other method other than those three(which i have mentioned above) i have used which can make the form popup and bring it to front.
Your WinForms app is a desktop application, so it's likely that the reason the pop-up is not being displayed in Windows 8 is because the desktop is not visible.
Remember that Windows 8 brings with it a whole new Start Screen interface and relegates the desktop to an alternate mode. All desktop applications still run, but they run in this separate mode and cannot interact with the new Metro applications (or whatever they're calling them nowadays). Yes, it's too bad that the usability folks at Microsoft didn't listen to Larry Tesler and have decided instead to mode us in, but c'est la vie.
So anyway, the pop-up is still being displayed, but it's being displayed on the desktop, which is not visible. Bringing it to the top isn't doing any good because it's already at the top of all the other windows on the desktop. If you click on the "Desktop" tile in the Start Screen, you should see your window.
Fixing this problem is going to take some work. Forcing a focus switch to the desktop mode is a horrible idea from a usability perspective, and I'm not sure it's even possible. A better solution would be to look into using Toast notifications instead, which can be done from a desktop application.

In WinRT how to create an application that is always visible?

With windows 8, is it possible to create an application that is always visible? For instance, in previous versions of windows, there is the task bar with quick launch icons. Can I create something similar to the quick launch icons that are always on the screen?
If you are referring to a Windows 8 Store app then the answer is no. You can have a live tile and toast notifications that provides updates to the user which may cause the user to launch your application.
A good article to read to understand how your Windows Store apps will run on Windows 8 go here to learn about Application lifecycle (Windows Store apps). This will explain the App execution state.
It is not possible in the RT version, but the same is possible in the desktop version. If you have a desktop app, you can pin it to the taskbar. But any Window store app cannot be pinned to the taskbar. What you can do instead is move the app to the beginning of your Home screen, so anytime you click the Windows button your app will be visible right in front.
Do you mean always visible in the Star Menu screen? If so, you can add tile updating functionality to your application. As long as the user has the application pinned to the Start Menu, he would see the updates. Check the link below for an introductory tutorial.
http://blogs.msdn.com/b/windowsappdev/archive/2012/04/16/creating-a-great-tile-experience-part-1.aspx
"Quick Launch" has a very specific meaning, which you may or may not have been referring to in your question.
Below is the Quick Launch bar in Windows 8 - essentially a toolbar pointing to a location in your %AppData% directory. Prior to Windows 7 it was available by default, but the ability to now pin items directly to the taskbar rather supersedes it. Here's how you can restore Quick Launch if you really want to :)
It's, of course, available only in the Desktop mode and not on the Modern UI, where pinning a tile is the best you can hope for, and it's all up to the user to pin it AND to determine where it shows up on their Start Screen.
Another option worth mentioning (although more like system tray than quick launch) is lock screen presence. If the user chooses so and your app supports that, he can add it to his lock screen:
either as a a badge (up to 7 apps)
or as a tile notification (single app only)
This is not a way for the user to quickly start your app (other answers have already covered these options) but a way to stay visible and keep your user informed.

Why is "Show page source" not available in (my) WebKit?

I've downloaded v. 537.6+ of WebKit for Mac OS, and am running it on 10.8. (No programming here, just being a web developer looking for the WebKit web inspector.) Everything's fine, except the "Show page source" option in the Develop menu is grayed out when I'm on even the most, and I can't find any way to enable it. I"m very puzzled -- is there something else I need to do to get it enabled? Is there something else going on? Is this how it's supposed to be?
Developer Menu
The contextual menu:
WebKit is not a full browser - only a rendering engine. Typically things like "view source", the back/forward buttons, address bar, preferences menus etc. are implemented at the browser level, outside of WebKit. However WebKit probably provides a minimum implementation of these for testing purposes, which presumably excludes 'view source' (which I can imagine isn't really essential for testing).
If you want to play with a full browser, you can't compile all of Safari, but you could try compiling Chromium instead which provides all that stuff. Note however Chromium is now using Blink instead of WebKit.
You can enable WebInspector to view the source.
The webkit you have is a very old one. I've tried downloading it to help with your question, but it won't even run on OSX 10.8.3. You can always get the current latest build of WebKit here:http://www.webkit.org [edit: I see this question was asked in 2012, so that would explain why it's an old version.]
However you say you are "a web developer looking for the WebKit web inspector" and you are running OSX 10.8. In that case you can perhaps just use the standard Safari that's already on your Mac. You need to do the following to show the Develop menu. And then you have the "Page Source" item you are expecting.
Launch Safari.
Open Safari’s Preferences by selecting ‘Safari, Preferences’ from the menu.
Click the ‘Advanced’ tab labeled.
Place a check mark next to ‘Show Develop menu in menu bar.’