Change auto_zooming parameter at runtime on cefpython
I have a Flask app that render some page on localhost:3000. To display correctly this page on every computer i use chromium browser (Basically WXpython example from cefpython3 with minor changes: https://github.com/cztomczak/cefpython/blob/master/examples/wxpython.py). However on some computers that have a different resolution/zoom level i have to re-run the code with a different value of parameter 'auto_zooming' in order to display correctly the page:
...
zoom = '0'
settings = {'debug': False, 'auto_zooming': zoom}
cef.Initialize(settings=settings)
...
My question is: There is any way to change the zoom level of Cefpython browser without have to rerun the code everytime i want to change the zoom? I was thinking on something like 'ctrl - +' or 'ctrl - -'.
Thanks in advance,
Ricardo
python wxpython zoom embedded-browser cefpython
add a comment |
I have a Flask app that render some page on localhost:3000. To display correctly this page on every computer i use chromium browser (Basically WXpython example from cefpython3 with minor changes: https://github.com/cztomczak/cefpython/blob/master/examples/wxpython.py). However on some computers that have a different resolution/zoom level i have to re-run the code with a different value of parameter 'auto_zooming' in order to display correctly the page:
...
zoom = '0'
settings = {'debug': False, 'auto_zooming': zoom}
cef.Initialize(settings=settings)
...
My question is: There is any way to change the zoom level of Cefpython browser without have to rerun the code everytime i want to change the zoom? I was thinking on something like 'ctrl - +' or 'ctrl - -'.
Thanks in advance,
Ricardo
python wxpython zoom embedded-browser cefpython
add a comment |
I have a Flask app that render some page on localhost:3000. To display correctly this page on every computer i use chromium browser (Basically WXpython example from cefpython3 with minor changes: https://github.com/cztomczak/cefpython/blob/master/examples/wxpython.py). However on some computers that have a different resolution/zoom level i have to re-run the code with a different value of parameter 'auto_zooming' in order to display correctly the page:
...
zoom = '0'
settings = {'debug': False, 'auto_zooming': zoom}
cef.Initialize(settings=settings)
...
My question is: There is any way to change the zoom level of Cefpython browser without have to rerun the code everytime i want to change the zoom? I was thinking on something like 'ctrl - +' or 'ctrl - -'.
Thanks in advance,
Ricardo
python wxpython zoom embedded-browser cefpython
I have a Flask app that render some page on localhost:3000. To display correctly this page on every computer i use chromium browser (Basically WXpython example from cefpython3 with minor changes: https://github.com/cztomczak/cefpython/blob/master/examples/wxpython.py). However on some computers that have a different resolution/zoom level i have to re-run the code with a different value of parameter 'auto_zooming' in order to display correctly the page:
...
zoom = '0'
settings = {'debug': False, 'auto_zooming': zoom}
cef.Initialize(settings=settings)
...
My question is: There is any way to change the zoom level of Cefpython browser without have to rerun the code everytime i want to change the zoom? I was thinking on something like 'ctrl - +' or 'ctrl - -'.
Thanks in advance,
Ricardo
python wxpython zoom embedded-browser cefpython
python wxpython zoom embedded-browser cefpython
asked Sep 10 '18 at 15:47
Ricardo Goncalves
609
609
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Can't you detect zoom level before initializing CEF?
The auto_zooming
option will call SetBrowserDpiSettings
C++ function. It sets zoom level constantly in a 50 ms timer. You can implement similar functionality in pure Python. It uses four functions and their Python equivalents are: Browser.SetZoomLevel
, Browser.GetZoomLevel
, cef.DpiAware.GetSystemDpi
and cef.PostDelayedTask
.
See the C++ function source code here:
https://github.com/cztomczak/cefpython/blob/6f5bf081fec19647e1860bb3e0f3638c02bb9d11/src/client_handler/dpi_aware.cpp#L163
Thank you, i will dig into the code. If i can do something i will post the solution!
– Ricardo Goncalves
Sep 11 '18 at 8:37
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52261386%2fchange-auto-zooming-parameter-at-runtime-on-cefpython%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Can't you detect zoom level before initializing CEF?
The auto_zooming
option will call SetBrowserDpiSettings
C++ function. It sets zoom level constantly in a 50 ms timer. You can implement similar functionality in pure Python. It uses four functions and their Python equivalents are: Browser.SetZoomLevel
, Browser.GetZoomLevel
, cef.DpiAware.GetSystemDpi
and cef.PostDelayedTask
.
See the C++ function source code here:
https://github.com/cztomczak/cefpython/blob/6f5bf081fec19647e1860bb3e0f3638c02bb9d11/src/client_handler/dpi_aware.cpp#L163
Thank you, i will dig into the code. If i can do something i will post the solution!
– Ricardo Goncalves
Sep 11 '18 at 8:37
add a comment |
Can't you detect zoom level before initializing CEF?
The auto_zooming
option will call SetBrowserDpiSettings
C++ function. It sets zoom level constantly in a 50 ms timer. You can implement similar functionality in pure Python. It uses four functions and their Python equivalents are: Browser.SetZoomLevel
, Browser.GetZoomLevel
, cef.DpiAware.GetSystemDpi
and cef.PostDelayedTask
.
See the C++ function source code here:
https://github.com/cztomczak/cefpython/blob/6f5bf081fec19647e1860bb3e0f3638c02bb9d11/src/client_handler/dpi_aware.cpp#L163
Thank you, i will dig into the code. If i can do something i will post the solution!
– Ricardo Goncalves
Sep 11 '18 at 8:37
add a comment |
Can't you detect zoom level before initializing CEF?
The auto_zooming
option will call SetBrowserDpiSettings
C++ function. It sets zoom level constantly in a 50 ms timer. You can implement similar functionality in pure Python. It uses four functions and their Python equivalents are: Browser.SetZoomLevel
, Browser.GetZoomLevel
, cef.DpiAware.GetSystemDpi
and cef.PostDelayedTask
.
See the C++ function source code here:
https://github.com/cztomczak/cefpython/blob/6f5bf081fec19647e1860bb3e0f3638c02bb9d11/src/client_handler/dpi_aware.cpp#L163
Can't you detect zoom level before initializing CEF?
The auto_zooming
option will call SetBrowserDpiSettings
C++ function. It sets zoom level constantly in a 50 ms timer. You can implement similar functionality in pure Python. It uses four functions and their Python equivalents are: Browser.SetZoomLevel
, Browser.GetZoomLevel
, cef.DpiAware.GetSystemDpi
and cef.PostDelayedTask
.
See the C++ function source code here:
https://github.com/cztomczak/cefpython/blob/6f5bf081fec19647e1860bb3e0f3638c02bb9d11/src/client_handler/dpi_aware.cpp#L163
edited Nov 13 '18 at 6:13
answered Sep 10 '18 at 18:12
Czarek Tomczak
13.5k33349
13.5k33349
Thank you, i will dig into the code. If i can do something i will post the solution!
– Ricardo Goncalves
Sep 11 '18 at 8:37
add a comment |
Thank you, i will dig into the code. If i can do something i will post the solution!
– Ricardo Goncalves
Sep 11 '18 at 8:37
Thank you, i will dig into the code. If i can do something i will post the solution!
– Ricardo Goncalves
Sep 11 '18 at 8:37
Thank you, i will dig into the code. If i can do something i will post the solution!
– Ricardo Goncalves
Sep 11 '18 at 8:37
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52261386%2fchange-auto-zooming-parameter-at-runtime-on-cefpython%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown