A piggy bank of commands, fixes, succinct reviews, some mini articles and technical opinions from a (mostly) Perl developer.

Jump to

Quick reference

Showing posts with label notification. Show all posts
Showing posts with label notification. Show all posts

Outlook 2007 reminder windows always on top

Hit Alt-F11, navigate to Project1 | Microsoft Office Outlook Objects | ThisOutlookSession

Simple way 

Private Sub Application_Reminder(ByVal Item As Object)
    If TypeOf Item Is AppointmentItem Then
    MsgBox "Message text", vbSystemModal, "Message title"
    End If
End Sub


(source)

Sophisticated way

Private Declare PtrSafe Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare PtrSafe Function SetWindowPos Lib "user32" ( _
ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal Y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const FLAGS As Long = SWP_NOMOVE Or SWP_NOSIZE
Private Const HWND_TOPMOST = -1

Private Sub Application_Reminder(ByVal Item As Object)
Dim ReminderWindowHWnd As Variant
On Error Resume Next
ReminderWindowHWnd = FindWindowA(vbNullString, "1 Reminder")
SetWindowPos ReminderWindowHWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS

End Sub

(source)

Best Android calendar notifications

Options:
  • Google calendar (built in) - notification icon only stays visible for duration of "event", so not suitable for reminding you to do something, if you don't check your phone at the right time, you won't see anything. Notifications are only visible if you pull down the notification drawer.
  • isoTimer - notification stays there, but app has a slightly weird UI and is slow.
  • Touch Calendar - ?

Poor notification features on iPhone

The notifications on iPhone are really poor compared to Android or Blackberry.

First of all, the list of default sounds are all so horrible! They irritate my ears. Why not include some soft and pleasing sounds as well as the loud and harsh ones?

On my android I used the vibrate function to discretely notify me of an incoming message. On iPhone the vibration is so loud that it can be heard by the entire room, it's as loud as the notifications themselves - what's the point in that?

Then there's a central list of notifications settings. But lots of apps (even Apple's built-in apps) don't allow you to configure the notification sound from that list, e.g.:

  • Built-in clock's Timer function. Not in the notifications list, only configurable in-app, and limited to a set of loud, harsh sounds. "Buy More Tones"...? Yeah, right. Why can't I choose my own sounds for this?
  • Built-in clock's Alarm function. Again, only configurable in-app. At least here I can "Pick a song" and use any mp3 I can come up with. But no vibrations possible.
  • WhatsApp - only has a switch to turn sounds on/off. Notifications are in the app, and severely limited to one of seven loud, irritating sounds that are impossible for me to use at work. And there is no custom vibration possible. Okay, maybe this one's not Apple's fault, but I was perfectly happy with notification in the Android version of this app.

Why is it important that all apps appear in the notifications list? Simply because any improvements to the central notification functionality will then be usable with those apps. If it's not in the list, it will be left behind with a lame in-app out-of-date feature-less custom notification system.

In the accessibility settings you can set the LED to flash when a message comes in, but it only flashes once! Not very useful - what if you miss it? On Blackberry you can make it keep flashing until you see the message.

In the Sounds section of iPhone settings, there's "Sounds and Vibration Patterns". An excellent feature where I can tap the screen to design a vibration pattern pleasing to me, such as a vibration hard enough to be felt by me, but soft enough so no-one can hear it. Unfortunately there are some fatal flaws in the feature:
(1) It only lists Apple's built-in apps, plus Twitter and Facebook (i.e. no WhatsApp). Why isn't this feature connected to the central notifications list?
(2) It's damn difficult to tap in the right way to produce the vibration I want. I need to be able to design the vibration using numbers like some apps on other platforms: On for 100ms, off for 1000s, on for 100ms, etc.

These are killer features for me and ultimately they will prevent me from using the iPhone for any length of time. I'm sure things will be slightly better with iOS7, but I'm sure Apple's built-in apps will still fail to integrate consistently with any new central notification features.

Instant message notifications on Linux

Pidgin

Pidgin is an IRC client for Linux and Windows.

By default, pidgin's notifications on Linux that someone is messaging you are not very visible, they're in the title bar of the application, and can easily be missed.

There's a plugin included that causes the notifications to pop-up using libnotify, but they only appear from a short time and are not customisable, so are also easy to miss. "notify-send" is one command to send notifications using libnotify.

Growl is a notification system (originally for Mac) designed to be customised with a particular display style. There's a growl plugin (written in Perl) on the official Pidgin plugins page, but it seems to be designed to work with growlnotify, which doesn't run on Linux.

There's a port of growl for Linux (the daemon). To send it notifications you can use growl_notify.pl which is a wrapper for Growl::GNTP, the Growl protocol. The growl plugin mentioned above could be modified to use growl_notify.pl.

You could then choose your desired display style for Growl, e.g. something that stays on top of other windows and can't be missed.

There's also a prototype notification plugin that uses zenity, a package that displays simple dialog boxes that are much harder to miss.
To use it, download this pidgin zenity plugin, put it in your ~/.purple/plugins directory (create it if it doesn't exist), and it will appear in your Pidgin plugins list.
As it's a prototype, it will currently notify for every message in a conversation, but you may prefer being notified too much rather than too less. Email the developer if you want it to be improved.

Skype

It's also easy to miss incoming Skype messages. But Skype has an "Execute the following script" option for incoming chat messages. That can be set to something like this:

/usr/bin/zenity --warning --title "Skype message" --text "You have received a message in Skype"

Add-ons for Thunderbird

  • Lightning = a calendar
  • Mailbox Alert = pop up a message for important emails (first set a rule to copy them to a folder, then right click on the folder to set the Mailbox Alert)

Pop up a message box in Ubuntu

Try gmessage, xmessage or zenity (in that order)
But none of them force the window to always appear over other windows.