How to get the size of the screen with Gtk?
I'm trying to get the size of the monitor with a C Gtk program.
I saw this version, but these functions are deprecated since Gtk 3.22:
gint width = gdk_screen_width();
gint height = gdk_screen_height();
In the GdkScreen documentation, I only found: "Use per-monitor information".
I tried to find any information about that in the GdkMonitor or GdkDisplay documentation, but had no success.
The only similar function is:
int gdk_monitor_get_width_mm (GdkMonitor *monitor);
But it's not what I am looking for.
Does anyone have an idea on how can I get these informations?
c user-interface gtk
|
show 1 more comment
I'm trying to get the size of the monitor with a C Gtk program.
I saw this version, but these functions are deprecated since Gtk 3.22:
gint width = gdk_screen_width();
gint height = gdk_screen_height();
In the GdkScreen documentation, I only found: "Use per-monitor information".
I tried to find any information about that in the GdkMonitor or GdkDisplay documentation, but had no success.
The only similar function is:
int gdk_monitor_get_width_mm (GdkMonitor *monitor);
But it's not what I am looking for.
Does anyone have an idea on how can I get these informations?
c user-interface gtk
1
Is there something wrong withgdk_monitor_get_geometry()
andgdk_monitor_get_workarea()
?
– jku
Apr 5 '17 at 9:07
Should I do something like that :display = gdk_display_get_default(); monitor = gdk_display_get_monitor(display, 0); gdk_monitor_get_geometry(monitor, &r);
Doing so returns me 0, 0 in the r variable.
– T. Gros
Apr 5 '17 at 9:32
You could use functions from another API to get the size of the screen (likeGetSystemMetrics
on Windows). You want to do this specifically with functions from Gtk?
– Valy
Apr 5 '17 at 10:51
@T.Gros that looks ok. Can you show the actual code that gives you "0, 0"?
– jku
Apr 5 '17 at 10:56
1
@jku All right, I'm just an idiot. I was printing the x and y values instead of width and height, for the GtkRectangle...Thank you very much for your answer!
– T. Gros
Apr 5 '17 at 11:10
|
show 1 more comment
I'm trying to get the size of the monitor with a C Gtk program.
I saw this version, but these functions are deprecated since Gtk 3.22:
gint width = gdk_screen_width();
gint height = gdk_screen_height();
In the GdkScreen documentation, I only found: "Use per-monitor information".
I tried to find any information about that in the GdkMonitor or GdkDisplay documentation, but had no success.
The only similar function is:
int gdk_monitor_get_width_mm (GdkMonitor *monitor);
But it's not what I am looking for.
Does anyone have an idea on how can I get these informations?
c user-interface gtk
I'm trying to get the size of the monitor with a C Gtk program.
I saw this version, but these functions are deprecated since Gtk 3.22:
gint width = gdk_screen_width();
gint height = gdk_screen_height();
In the GdkScreen documentation, I only found: "Use per-monitor information".
I tried to find any information about that in the GdkMonitor or GdkDisplay documentation, but had no success.
The only similar function is:
int gdk_monitor_get_width_mm (GdkMonitor *monitor);
But it's not what I am looking for.
Does anyone have an idea on how can I get these informations?
c user-interface gtk
c user-interface gtk
asked Apr 5 '17 at 8:33
T. GrosT. Gros
113
113
1
Is there something wrong withgdk_monitor_get_geometry()
andgdk_monitor_get_workarea()
?
– jku
Apr 5 '17 at 9:07
Should I do something like that :display = gdk_display_get_default(); monitor = gdk_display_get_monitor(display, 0); gdk_monitor_get_geometry(monitor, &r);
Doing so returns me 0, 0 in the r variable.
– T. Gros
Apr 5 '17 at 9:32
You could use functions from another API to get the size of the screen (likeGetSystemMetrics
on Windows). You want to do this specifically with functions from Gtk?
– Valy
Apr 5 '17 at 10:51
@T.Gros that looks ok. Can you show the actual code that gives you "0, 0"?
– jku
Apr 5 '17 at 10:56
1
@jku All right, I'm just an idiot. I was printing the x and y values instead of width and height, for the GtkRectangle...Thank you very much for your answer!
– T. Gros
Apr 5 '17 at 11:10
|
show 1 more comment
1
Is there something wrong withgdk_monitor_get_geometry()
andgdk_monitor_get_workarea()
?
– jku
Apr 5 '17 at 9:07
Should I do something like that :display = gdk_display_get_default(); monitor = gdk_display_get_monitor(display, 0); gdk_monitor_get_geometry(monitor, &r);
Doing so returns me 0, 0 in the r variable.
– T. Gros
Apr 5 '17 at 9:32
You could use functions from another API to get the size of the screen (likeGetSystemMetrics
on Windows). You want to do this specifically with functions from Gtk?
– Valy
Apr 5 '17 at 10:51
@T.Gros that looks ok. Can you show the actual code that gives you "0, 0"?
– jku
Apr 5 '17 at 10:56
1
@jku All right, I'm just an idiot. I was printing the x and y values instead of width and height, for the GtkRectangle...Thank you very much for your answer!
– T. Gros
Apr 5 '17 at 11:10
1
1
Is there something wrong with
gdk_monitor_get_geometry()
and gdk_monitor_get_workarea()
?– jku
Apr 5 '17 at 9:07
Is there something wrong with
gdk_monitor_get_geometry()
and gdk_monitor_get_workarea()
?– jku
Apr 5 '17 at 9:07
Should I do something like that :
display = gdk_display_get_default(); monitor = gdk_display_get_monitor(display, 0); gdk_monitor_get_geometry(monitor, &r);
Doing so returns me 0, 0 in the r variable.– T. Gros
Apr 5 '17 at 9:32
Should I do something like that :
display = gdk_display_get_default(); monitor = gdk_display_get_monitor(display, 0); gdk_monitor_get_geometry(monitor, &r);
Doing so returns me 0, 0 in the r variable.– T. Gros
Apr 5 '17 at 9:32
You could use functions from another API to get the size of the screen (like
GetSystemMetrics
on Windows). You want to do this specifically with functions from Gtk?– Valy
Apr 5 '17 at 10:51
You could use functions from another API to get the size of the screen (like
GetSystemMetrics
on Windows). You want to do this specifically with functions from Gtk?– Valy
Apr 5 '17 at 10:51
@T.Gros that looks ok. Can you show the actual code that gives you "0, 0"?
– jku
Apr 5 '17 at 10:56
@T.Gros that looks ok. Can you show the actual code that gives you "0, 0"?
– jku
Apr 5 '17 at 10:56
1
1
@jku All right, I'm just an idiot. I was printing the x and y values instead of width and height, for the GtkRectangle...Thank you very much for your answer!
– T. Gros
Apr 5 '17 at 11:10
@jku All right, I'm just an idiot. I was printing the x and y values instead of width and height, for the GtkRectangle...Thank you very much for your answer!
– T. Gros
Apr 5 '17 at 11:10
|
show 1 more comment
1 Answer
1
active
oldest
votes
I have to work out aspect ratio's per monitor however -
Gtk+ Functions Depreciate So Fast: but ended up with this:
GdkRectangle workarea = {0};
gdk_monitor_get_workarea(
gdk_display_get_primary_monitor(gdk_display_get_default()),
&workarea);
printf ("W: %u x H:%un", workarea.width, workarea.height);
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%2f43225956%2fhow-to-get-the-size-of-the-screen-with-gtk%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
I have to work out aspect ratio's per monitor however -
Gtk+ Functions Depreciate So Fast: but ended up with this:
GdkRectangle workarea = {0};
gdk_monitor_get_workarea(
gdk_display_get_primary_monitor(gdk_display_get_default()),
&workarea);
printf ("W: %u x H:%un", workarea.width, workarea.height);
add a comment |
I have to work out aspect ratio's per monitor however -
Gtk+ Functions Depreciate So Fast: but ended up with this:
GdkRectangle workarea = {0};
gdk_monitor_get_workarea(
gdk_display_get_primary_monitor(gdk_display_get_default()),
&workarea);
printf ("W: %u x H:%un", workarea.width, workarea.height);
add a comment |
I have to work out aspect ratio's per monitor however -
Gtk+ Functions Depreciate So Fast: but ended up with this:
GdkRectangle workarea = {0};
gdk_monitor_get_workarea(
gdk_display_get_primary_monitor(gdk_display_get_default()),
&workarea);
printf ("W: %u x H:%un", workarea.width, workarea.height);
I have to work out aspect ratio's per monitor however -
Gtk+ Functions Depreciate So Fast: but ended up with this:
GdkRectangle workarea = {0};
gdk_monitor_get_workarea(
gdk_display_get_primary_monitor(gdk_display_get_default()),
&workarea);
printf ("W: %u x H:%un", workarea.width, workarea.height);
edited Nov 27 '18 at 23:12
Gabriel Devillers
76611127
76611127
answered Nov 27 '18 at 22:28
David RamsayDavid Ramsay
1
1
add a comment |
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.
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%2f43225956%2fhow-to-get-the-size-of-the-screen-with-gtk%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
1
Is there something wrong with
gdk_monitor_get_geometry()
andgdk_monitor_get_workarea()
?– jku
Apr 5 '17 at 9:07
Should I do something like that :
display = gdk_display_get_default(); monitor = gdk_display_get_monitor(display, 0); gdk_monitor_get_geometry(monitor, &r);
Doing so returns me 0, 0 in the r variable.– T. Gros
Apr 5 '17 at 9:32
You could use functions from another API to get the size of the screen (like
GetSystemMetrics
on Windows). You want to do this specifically with functions from Gtk?– Valy
Apr 5 '17 at 10:51
@T.Gros that looks ok. Can you show the actual code that gives you "0, 0"?
– jku
Apr 5 '17 at 10:56
1
@jku All right, I'm just an idiot. I was printing the x and y values instead of width and height, for the GtkRectangle...Thank you very much for your answer!
– T. Gros
Apr 5 '17 at 11:10