Git Product home page Git Product logo

Comments (8)

SamuelYvon avatar SamuelYvon commented on May 26, 2024 1

Also looking for this feature! There is a duration setting in the win API. I will make a pr within this week if there is no response.

from windows-10-toast-notifications.

kurbanis avatar kurbanis commented on May 26, 2024 1

This has been requested in issue #15 with the intention of being implemented but would love to see this supported.

from windows-10-toast-notifications.

ed-french avatar ed-french commented on May 26, 2024

I think it's precise name is "Windows Action Center" if that helps.

from windows-10-toast-notifications.

 avatar commented on May 26, 2024

I tried to not call the DestroyWindow function to stay in the "Windows Action Center", it seems to be no problems.

from windows-10-toast-notifications.

JuicyJuuce avatar JuicyJuuce commented on May 26, 2024

@jithurjacob Along the lines of what @usradd said, I think the best solution would be to change the code so that if you set duration=0 then the notification never closes.

from windows-10-toast-notifications.

umutinevi avatar umutinevi commented on May 26, 2024

duration = None worked for me .

from windows-10-toast-notifications.

Arsennnic avatar Arsennnic commented on May 26, 2024

Set "duration = None" is easy, but it will raise an error, and you will fail to call the function "show_toast()" again.
In fact, you can just comment line 153 in __init__.py, and the problem can be solved.
Function "on_destroy()" will be like:

    def on_destroy(self, hwnd, msg, wparam, lparam):
        """Clean after notification ended.

        :hwnd:
        :msg:
        :wparam:
        :lparam:
        """
        nid = (self.hwnd, 0)
        # Shell_NotifyIcon(NIM_DELETE, nid)
        PostQuitMessage(0)

        return None

Or you can overwrite the function "on_destroy()". For example,

from win10toast import ToastNotifier

class MyToastNotifier(ToastNotifier):

    def on_destroy(self, hwnd, msg, wparam, lparam):
        pass

toaster = MyToastNotifier()
toaster.show_toast("Test", "Hello world!", threaded=True)

from windows-10-toast-notifications.

eugene-yang avatar eugene-yang commented on May 26, 2024

@Arsennnic Just try catch the exception will do the job as well :)

from win10toast import ToastNotifier

toaster = ToastNotifier()
try:
    toaster.show_toast("Test", "Hello world!", duration=None)
except TypeError:
    pass

Or simply let the thread die

toaster.show_toast("Test", "Hello world!", duration=None, threaded=True)

One question for people, taking this kind of approach means hijacking the line sleep(duration) and prevent DestroyWindow(self.hwnd) from executing.
But UnregisterClass(self.wc.lpszClassName, None) will also not executed as well. Is it going to raise any problem if the notification is not unregistered? Or does unregistering means removing it from that Action Center?

from windows-10-toast-notifications.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.