roadlabs / cefpython

Automatically exported from code.google.com/p/cefpython
0 stars 0 forks source link

How to get Full-Screen? #28

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Added this line:  browserSettings["fullscreen_enabled"] = True
2.
3.

What is the expected output? What do you see instead?
Full screen, like when you press F11 in Chrome.

What version of the product are you using? On what operating system?
CEF Python 0.41, Python 2.7, Windows 7

Please provide any additional information below.

Original issue reported on code.google.com by rich...@gmail.com on 16 Nov 2012 at 9:42

GoogleCodeExporter commented 9 years ago
This is an issue tracker where you report bugs or feature requests, if you are 
unsure on how to do things use Help Forum at google groups, the link is on the 
main page. There was a question regarding full screen recently you can view it 
here:

https://groups.google.com/forum/?hl=en&fromgroups=#!topic/cefpython/BXPF4VaUBdk

Original comment by czarek.t...@gmail.com on 16 Nov 2012 at 9:55

GoogleCodeExporter commented 9 years ago
Sorry about posting to the wrong place.  I re-explained to the other page,
but not sure exactly how to do it.
Hope you can help.  It's an interesting little project.

Going to have 1 computer run 3 apps.  Each app will be controlled by a
judge with 2 big buttons: http://www.xkeys.com/accessories/switches.php
Their choice will be shown on a monitor, 1 for each judge.  To do the
global Keyboard input, I'm using PyHook.
I already tested a proof of concept on 2 screens, so the idea works.  Just
need to set-up for 3 screens (hardware), and get them all full-screen
(software).

-Richard R.

Original comment by rich...@gmail.com on 16 Nov 2012 at 10:37

GoogleCodeExporter commented 9 years ago
As a follow up: so you can't say I didn't try what you listed,
I added this line:
win32gui.SetWindowPos(windowID, win32con.HWND_TOPMOST, 0, 0, 1680, 1050, 0)

My screen is 1680x1050, so to keep things simple I just hard-coded the #'s.

This makes it full screen, but with the frame borders.
I'm trying to get full-screen without the borders, like when you press F11
in Chrome.

Original comment by rich...@gmail.com on 16 Nov 2012 at 11:04

GoogleCodeExporter commented 9 years ago
I'm really close.  I still get a slight edge on the bottom and right sides.
I added this code after "cefpython.CreateBrowser()"

win32gui.SetWindowPos(windowID, win32con.HWND_TOPMOST, 0, 0, 1680, 1050, 0)
win32gui.SetWindowLong(windowID, win32con.GWL_STYLE, win32con.WS_POPUP)
win32gui.ShowWindow(windowID, win32con.SW_SHOW)

Original comment by rich...@gmail.com on 16 Nov 2012 at 11:29

GoogleCodeExporter commented 9 years ago
I got it.  :)   Going to post as a followup.

I added this code after "cefpython.CreateBrowser()"

win32gui.SetWindowLong(windowID, win32con.GWL_STYLE, win32con.WS_POPUP)
win32gui.ShowWindow(windowID, win32con.SW_MAXIMIZE)

Original comment by rich...@gmail.com on 16 Nov 2012 at 11:36

GoogleCodeExporter commented 9 years ago
I emulated F11, and I thought I'd share with ya.  ;)

-Richard R.

# Bind F11 to refresh browser window.
if keyCode == cefpython.VK_F11 and
cefpython.IsKeyModifier(cefpython.KEY_NONE, modifiers):
windowID = browser.GetWindowID()
if self.is_full == False:
self.rect = win32gui.GetWindowRect(windowID)
win32gui.SetWindowLong(windowID, win32con.GWL_STYLE, win32con.WS_POPUP)
win32gui.ShowWindow(windowID, win32con.SW_MAXIMIZE)
self.is_full = True
else:
     x = self.rect[0]
     y = self.rect[1]
     w = self.rect[2] - x
    h = self.rect[3] - y
win32gui.SetWindowLong(windowID, win32con.GWL_STYLE,
win32con.WS_TILEDWINDOW)
win32gui.ShowWindow(windowID, win32con.SW_SHOWNORMAL)
cefwindow.MoveWindow(windowID, x, y, w, h)
self.is_full = False
return True

Original comment by rich...@gmail.com on 17 Nov 2012 at 2:08