How to get the size of the screen with Gtk?












2















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?










share|improve this question


















  • 1





    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













  • 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
















2















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?










share|improve this question


















  • 1





    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













  • 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














2












2








2


1






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?










share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Apr 5 '17 at 8:33









T. GrosT. Gros

113




113








  • 1





    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













  • 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














  • 1





    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













  • 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








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












1 Answer
1






active

oldest

votes


















0














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);





share|improve this answer

























    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
    });


    }
    });














    draft saved

    draft discarded


















    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









    0














    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);





    share|improve this answer






























      0














      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);





      share|improve this answer




























        0












        0








        0







        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);





        share|improve this answer















        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);






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 27 '18 at 23:12









        Gabriel Devillers

        76611127




        76611127










        answered Nov 27 '18 at 22:28









        David RamsayDavid Ramsay

        1




        1
































            draft saved

            draft discarded




















































            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            Contact image not getting when fetch all contact list from iPhone by CNContact

            count number of partitions of a set with n elements into k subsets

            A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks