Coder Social home page Coder Social logo

org-alert's People

Contributors

alexmurray avatar anthonywilliams avatar herbertjones avatar jakecoble avatar ntbre avatar pierretechoueyres avatar polaris64 avatar rennsax avatar spegoraro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

org-alert's Issues

`org-alert-check': (void-variable org-agenda-buffer-name)

Hi. any idea why i get Error running timer `org-alert-check': (void-variable org-agenda-buffer-name) ?
I don't get the error when the agenda buffer is opened. does that mean i need to have an opened agenda buffer to make org-alert work ?

Org-alert for windows 10 style notifications

Hello,
Thank you for your amazing package !
At work I have to use windows 10, and I was sorely missing desktop notifications for my events/tasks.
alert, which org-alert uses under the hood, has no such default style available to my knowledge.

I'm probably not representative of your community of users, but would you consider adding a windows example in your README ?
To keep it concise, it could be a simple link to this issue. It could have saved me quite a bit of time figuring it out !

Here is what I ended up doing in my init.el

(use-package alert
  :config
  ;; Add the windows desktop notifications if on windows
  (when (eq system-type 'windows-nt)
    (alert-define-style
     'windows-desktop-notification-style
     :title "Windows Desktop Notification style"
     :notifier
     (lambda (info)
       (let ((notif-id (w32-notification-notify :title (plist-get info :title) :body (plist-get info :message))))
         ;; Close it after 3 seconds (no new notification can be sent if left unclosed)
         (run-with-timer 3 nil `(lambda() (w32-notification-close ,notif-id))))))
    (setq alert-default-style 'windows-desktop-notification-style)))

(use-package org-alert
  :demand  ; Load it on startup, not lazily
  :config
  (org-alert-enable))

Add support for external alert program

I'd like to be able to use this with the "terminal-notifier" program on OS X so I get the alerts even when not in emacs. Is this possible? Can you add it to a FAQ?

Alert frequency

I’m experimenting with how alert frequency should be handled. I think I’m approaching something that fits what I want personally, but I’m interested in what others will find useful.

Currently, alerts are displayed at an interval, regardless of proximity to the deadline. It may be more useful to have alerts that start appearing at a specified time before the deadline and increase in severity as the deadline approaches.

I’m experimenting with a configuration variable like this:

(defvar org-alert-interval 300
  "Interval in seconds to recheck and display deadlines.")
(defvar org-alert-severity '(:low 60 :medium 30 :high 5))

As written, the alerts should start appearing 60 minutes before the deadline at low severity, increase to medium severity at 30 minutes, then become high severity at 5 minutes.

Is this something that would be useful to other users?

Org-alert expected behaviour

Hi.
I'm struggling with notifications for org deadline or scheduled events.
Basically, what I want is to be notified (dunst here) at the time I scheduled / deadlined any agenda file entry.

Is this what org-alert does ?
It seems to me that it is not the case : org-alert just notifies periodically, but not starting at the time specified in the entry.
Am I right ? If so, what do you recommend me fot this basic need ? appt ? Org wild notifier ?
I find it confusing that this need is not fullfilled in default org-agenda settings.

Change `defvar` to `defcustom`?

Hi, would you mind preferring defcustom than defvar for customizable variables, so the user can find them in the Customization UI?

Are PRs welcome?

Hi, first of all thank you so much for writing this package! Also the code is so nicely written and organized... I was able to figure out how it works and make changes very easily!

I have an idea to filter out tasks that have a timestamp later in the day. This avoids showing deadlines or scheduled items that are at 10pm if its only 5pm right now.

I am happy to write a PR for this but just wanted to know if this project is still actively accepting them? I ask because I'm sure you have many other responsibilities so I don't want to just automatically expect you to take on the burden of reviewing and merging whatever code random people on the internet send haha.

Alternatively, I could fork but would prefer to help improve the upstream library!

org-alert breaks the agenda

I was noticing that my org-agenda has been constantly breaking, and I finally figured out that it's because of org-alert!

Here's what happens:

  • Open the agenda buffer
  • Run org-alert-check (or let an alert happen)
  • Try any command like C-c C-s to reschedule a task in the agenda

I get the following message in the minibuffer, and nothing else happens:

funcall-interactively: Wrong type argument: stringp, nil

I'm no longer able to change TODO state, schedule items, or do pretty much anything in the agenda without quitting the agenda view, and pulling it up again.

Perhaps tag a release?

It seems like the code is stable. Simply adding a tag would make that version available on melpa-stable.

How to enable at startup ?

hi. i'm not a lisper and cannot enable org-alert at startup. Tried (org-alert-enable) in my dotfile with no success. thanks for your help. Well, it might have worked nevertheless... seems alert has displayed after 300s...

org-alert-headline-regexp not found

Hi,

In your main page:

org-alert searches for agenda entries with 'Sched' or 'Deadline' word by default. You can set any other regexp you wish using the org-alert-headline-regexp variable

However, I couldn't find the variable org-alert-headline-regexp.

Thanks!
GM

Notifications for inactive timestamp not respect org-alert-notify-cutoff

Hello !
I suspect a behavior that is not normal : when you have an event with SCHEDULED and a date + hour, the notification will appear all the day, and not respect the variable org-alert-notify-cutoff.
Try with this :

  • TODO A notification
    SCHEDULED: [2023-10-07 Sat 21:55]
    And do org-alert-check !

Thanks in advance for your answer

org-alert-interval issue

(require 'org-alert)
(org-alert-enable)
(setq org-alert-interval 14400)
(setq alert-default-style 'libnotify)

Why (setq org-alert-interval 14400) didn't work, interval still 300s.
And how to set org-alert-headline-regexp to "Deadline" only?
Thank you!

Feature for alerts to work like Google Calendar/Outlook alerts

Right now org-alert pops up notifications for each item in the org-agenda. I think it could be useful to notify when a scheduled item is coming up, maybe 15m by default but also looks for one or more REMINDERN properties.

It would also be convenient for my use case to have an alert on end time so I know when I should be wrapping up a task or already have finished it.

Thoughts?

org-alert disrupts minibuffer interactions

I'm finding that I would like org-alert to run quite frequently. However, this has brought to my attention a behavior wherein the point is moved from the minibuffer to the org-mode buffer. I assume this is because org-alert is moving the point to the buffer in order to calculate whether any alerts need to be shown. But it seems that it is not successful at restoring the position to the minibuffer if it is trying to do so.

Configurable alert cutoff for each entry

Having a single default cutoff for every entry does not work in some cases.
Eg: 10m may be enough time for an online meeting, but it won't cut it if you have an in-person meeting at the other end of the city and you have to drive.
AFAIK, there is not such a property to set the cutoff time different than the scheduled time.

org-alert-check: wrong-type-argument stringp nil

Since upgrading to 5758aa5 or newer, I get the following error whenever calling (org-alert-check):

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  string-match(":" nil 0)
  split-string(nil ":")
  org-alert--check-time(nil)
  org-alert--dispatch()
  org-scan-tags(org-alert--dispatch (lambda (todo tags-list level) (progn (setq org-cached-props nil) (or (and (org-time< (or (org-cached-entry-get nil "DEADLINE") "") 1630965600.0) (org-time>= (or (org-cached-entry-get nil "DEADLINE") "") 1630879200.0)) (and (org-time< (or (org-cached-entry-get nil "SCHEDULED") "") 1630965600.0) (org-time>= (or (org-cached-entry-get nil "SCHEDULED") "") 1630879200.0))))) nil)
  org-map-entries(org-alert--dispatch "SCHEDULED>=\"<today>\"+SCHEDULED<\"<tomorrow>\"|DEADLI..." agenda (org-agenda-skip-entry-if 'todo org-done-keywords-for-agenda))
  org-alert-check()
  (progn (org-alert-check))
  eval((progn (org-alert-check)) t)
  elisp--eval-last-sexp(nil)
  eval-last-sexp(nil)
  eros-eval-last-sexp(nil)
  funcall-interactively(eros-eval-last-sexp nil)
  call-interactively(eros-eval-last-sexp nil nil)
  command-execute(eros-eval-last-sexp)

My org agenda is not empty, I have SCHEDULED items for the current day (TODOs). Any idea what could be the problem?

Notification raised for the days scheduled items, after scheduled time, on every `org-alert-check` call

Not sure if this is a problem with my config: https://github.com/jackson15j/dot_emacs/blob/master/config.org#org-alert, but on a Maverick Macbook I am seeing my scheduled alerts being re-raised after a scheduled event's time. It is happening every time org-alert-check is called.

Reproduction:

  • Create an org heading in an agenda file.
  • Schedule (C-cC-s) it to an earlier time in the past.
  • Call the org alert check (M-x org-alert-check).
  • Notification for past event occurs.

Expectations:

  • Notifications are not sent for a scheduled event if time to event is greater than org-alert-notify-cutoff value.
  • Notifications are sent for a scheduled event if time to event is less than org-alert-notify-cutoff value.
  • Notifications are not sent for a scheduled event if time is after the scheduled time.

Config snippet from above link:

(use-package org-alert
  :ensure-system-package terminal-notifier
  :ensure t
  :after (org)
  :config
  (setq
   alert-default-style 'notifier
   )
  (org-alert-enable)
  )

Can not run org-alert related command in spacemacs

I tried two ways:

  1. Add org-alert as additional-package in spacemacs
  2. M-x to install the package from melpa

By both way, I can not run org-alert related functions such as org-alert-check with M-x.
I am not so sure what did I miss. Please help.

How do deal with all-day tasks?

Hello all,

in my workflow I have 2 types of tasks:

  • TODO Task1
    SCHEDULED: <2023-10-28 Sat>
  • TODO Task2
    SCHEDULED: <2023-10-28 Sat 09:00>

Task1 can be done during the day, time doesn't matter. Task2 has to be done at 09:00.

My org-alert setup is this:

(use-package org-alert
:ensure t
:custom (alert-default-style 'notifications)
:config
(setq org-alert-interval 300
org-alert-notify-after-event-cutoff 1
org-alert-notification-title "Org Reminder")
(org-alert-enable))

So this works great for Task2, I get notified when it's approaching and the notifications stop 1min after 9 o'clock.
But for Task1 I get repeated notifications every 300s. I would like to get notified once, e.g. on startup of emacs or at some fixed time of day, but then it should stop. How do I go configuring this?

Thank you!

Too greedy regex in org-alert-time-match-string

Given an agenda tree such as

  • task 1
    SCHEDULED: <2022-12-08 Thu 07:00>
    Do something
    ** task 1a
    SCHEDULED: <2022-12-08 Thu 15:30>

org-alert-check will detect "15:30" for the task's time instead of "07:00". This is due to the regex in org-alert-time-match-string being too greedy.

This could be fix by using non-greedy match regex like "\(?:SCHEDULED\|DEADLINE\):.?<.?\([0-9]\{2\}:[0-9]\{2\}\).*>" instead.

Feature Request: Direct Navigation to Heading from Notification Click

Hello,

I'm currently using the org-alert package for notifications in org-mode and I'm greatly appreciative of its functionality ! However, I have a feature request that could enhance the user experience.

Is there a way to implement a feature where, upon clicking a notification, the user is taken directly to the specific heading related to that notification in org-mode ? This would greatly streamline the process of managing tasks and notes, especially when dealing with multiple notifications.
The main problem for me is that depend (maybe I think) of the variable alert-default-style. For me, the main concern is the style with libnotify and terrmux.

Thank you for considering this feature request.

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.