diff --git a/lib/Slic3r/GUI.pm b/lib/Slic3r/GUI.pm index 2bb5c9e4a..5ade026af 100644 --- a/lib/Slic3r/GUI.pm +++ b/lib/Slic3r/GUI.pm @@ -15,7 +15,6 @@ use Slic3r::GUI::Controller; use Slic3r::GUI::Controller::ManualControlDialog; use Slic3r::GUI::Controller::PrinterPanel; use Slic3r::GUI::MainFrame; -use Slic3r::GUI::Notifier; use Slic3r::GUI::Plater; use Slic3r::GUI::Plater::2D; use Slic3r::GUI::Plater::2DToolpaths; @@ -87,7 +86,6 @@ sub OnInit { Slic3r::set_data_dir($datadir || Wx::StandardPaths::Get->GetUserDataDir); Slic3r::GUI::set_wxapp($self); - $self->{notifier} = Slic3r::GUI::Notifier->new; $self->{app_config} = Slic3r::GUI::AppConfig->new; $self->{preset_bundle} = Slic3r::GUI::PresetBundle->new; @@ -271,7 +269,9 @@ sub notify { $frame->RequestUserAttention(&Wx::wxMAC ? wxUSER_ATTENTION_ERROR : wxUSER_ATTENTION_INFO) unless ($frame->IsActive); - $self->{notifier}->notify($message); + # There used to be notifier using a Growl application for OSX, but Growl is dead. + # The notifier also supported the Linux X D-bus notifications, but that support was broken. + #TODO use wxNotificationMessage? } # Called after the Preferences dialog is closed and the program settings are saved. diff --git a/lib/Slic3r/GUI/Notifier.pm b/lib/Slic3r/GUI/Notifier.pm deleted file mode 100644 index 54afffae0..000000000 --- a/lib/Slic3r/GUI/Notifier.pm +++ /dev/null @@ -1,46 +0,0 @@ -# Notify about the end of slicing. -# The notifications are sent out using the Growl protocol if installed, and using DBus XWindow protocol. - -package Slic3r::GUI::Notifier; -use Moo; - -has 'growler' => (is => 'rw'); - -my $icon = Slic3r::var("Slic3r.png"); - -sub BUILD { - my ($self) = @_; - - if (eval 'use Growl::GNTP; 1') { - # register with growl - eval { - $self->growler(Growl::GNTP->new(AppName => 'Slic3r', AppIcon => $icon)); - $self->growler->register([{Name => 'SKEIN_DONE', DisplayName => 'Slicing Done'}]); - }; - # if register() fails (for example because of a timeout), disable growler at all - $self->growler(undef) if $@; - } -} - -sub notify { - my ($self, $message) = @_; - my $title = 'Slicing Done!'; - - eval { - $self->growler->notify(Event => 'SKEIN_DONE', Title => $title, Message => $message) - if $self->growler; - }; - # Net::DBus is broken in multithreaded environment - if (0 && eval 'use Net::DBus; 1') { - eval { - my $session = Net::DBus->session; - my $serv = $session->get_service('org.freedesktop.Notifications'); - my $notifier = $serv->get_object('/org/freedesktop/Notifications', - 'org.freedesktop.Notifications'); - $notifier->Notify('Slic3r', 0, $icon, $title, $message, [], {}, -1); - undef $Net::DBus::bus_session; - }; - } -} - -1;