Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt applications close when selecting "shut down" in Gnome 3
Forum Updated to NodeBB v4.3 + New Features

Qt applications close when selecting "shut down" in Gnome 3

Scheduled Pinned Locked Moved General and Desktop
20 Posts 4 Posters 7.3k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #10

    Sure you can, it's just a slot you need to have somewhere and make the connection, no need to subclass QApplication or QGuiApplication

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    0
    • J Offline
      J Offline
      Jos_k
      wrote on last edited by
      #11

      OK, you encouraged me to take a closer look, but I don't understand the rationale.
      I don't want direct user interaction, which is what the "QSessionManager::allowsInteraction()" seems to test for, just it to handle GNOME signals correctly.

      Anyway, I started putting the slot in the lyx code though, but I'm not used to C++, so I'm having a hard time figuring out what variables should be declared, inherited ... in short, I don't know what part of the example code is universal and what part is application-specific. It's not just a matter of copy-and-paste ...

      1 Reply Last reply
      0
      • A Offline
        A Offline
        andreyc
        wrote on last edited by
        #12

        [quote author="Jos_k" date="1411368631"]
        I found the following code in LyX's source :
        @void GuiApplication::commitData(QSessionManager & sm)
        {
        if (sm.allowsInteraction() && !closeAllViews())
        sm.cancel();
        }
        @
        [/quote]

        This is exactly what Qt doc recommends to do.
        A connect from qApp should be somewhere in the code.
        @
        connect(qApp, SIGNAL(commitDataRequest(QSessionManager)), this, SLOT(commitData(QSessionManager)));
        @
        where this is a pointer to GuiApplication.

        But it will not help to avoid closing an application on "Shutdown" or "Logout" dialog if all data is already saved.
        Since Gnome3 sends these requests before showing a dialog Qt app with all data saved will quit without any questions.

        1 Reply Last reply
        0
        • J Offline
          J Offline
          Jos_k
          wrote on last edited by
          #13

          I didn't find the "connect to slot" line in the code. I might try to find how to construct a pointer to a void function in c++, if I have some time left today.

          As you seem to confirm, it's not only about allowing user interaction, but also about correctly handling GNOME's signals before interaction.
          But if a prompt allowing me to save unsaved changes would show up when the dialog appears, this would already help a lot.

          For the moment, I work around this problem by suspending the computer directly by pushing the power button ; the LyX window survives.

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #14

            Did you also brought that to the Gnome team ?

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0
            • J Offline
              J Offline
              Jos_k
              wrote on last edited by
              #15

              No ; there seems to be no official forum, and I don't know if filing a bug report is appropriate as only Qt-based applications are affected.
              But if you know a place where there's any chance to get an answer, I can surely open a topic.

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #16

                "Gnome mailing lists":https://mail.gnome.org/mailman/listinfo
                "IRC Channel":https://wiki.gnome.org/Community/GettingInTouch/IRC

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                0
                • J Offline
                  J Offline
                  Jos_k
                  wrote on last edited by
                  #17

                  Yes, I found the gnome mailing lists ... but the plural is important here, as there seem to hundreds of lists, each related to a gnome application or functionality. What would be the right list ? A guess : gdm-list ?

                  I'd like to avoid IRC.

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #18

                    I'd go for gnome-shell, AFAIK dgm is the part that handle drawing not session management

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    1 Reply Last reply
                    0
                    • N Offline
                      N Offline
                      Neptilo
                      wrote on last edited by
                      #19

                      Hi,

                      I'm experiencing the same issues as described in this thread. Additionally, I'd like to mention that for some applications (for instance Qt Creator), it goes as far as shutting down the computer without waiting for the user to choose an option in the shutdown dialog. I posted "another thread":https://qt-project.org/forums/viewthread/53243 before finding this one.

                      Are there any developments about this since September?

                      1 Reply Last reply
                      0
                      • N Offline
                        N Offline
                        Neptilo
                        wrote on last edited by
                        #20

                        Hi,

                        I'm experiencing the same issues as described in this thread. Additionally, I'd like to mention that for some applications (for instance Qt Creator), it goes as far as shutting down the computer without waiting for the user to choose an option in the shutdown dialog. I posted "another thread":https://qt-project.org/forums/viewthread/53243 before finding this one.

                        Are there any developments about this since September?

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved