diff --git a/src/views/IMTableCellView.h b/src/views/IMTableCellView.h
index 463d2e1..be70887 100644
--- a/src/views/IMTableCellView.h
+++ b/src/views/IMTableCellView.h
@@ -38,6 +38,9 @@
 @property (nonatomic, strong) IBOutlet NSImageView* messageFailed;
 @property (nonatomic, strong) IBOutlet NSView* messageStatus;
 @property (nonatomic, strong) IBOutlet NSButton* openImagebutton;
+@property (nonatomic, strong) IBOutlet NSView* compozingIndicator1;
+@property (nonatomic, strong) IBOutlet NSView* compozingIndicator2;
+@property (nonatomic, strong) IBOutlet NSView* compozingIndicator3;
 
 
 - (uint64_t) interaction;
@@ -47,5 +50,7 @@
 - (void) updateImageConstraint: (CGFloat) width andHeight: (CGFloat) height;
 - (void) updateImageConstraintWithMax: (CGFloat) maxDimension;
 - (void) invalidateImageConstraints;
-
+- (void) animateCompozingIndicator:(BOOL) animate;
+- (void) startBlinkAnimation:(NSView*) view withDelay:(CGFloat) delay;
+- (void) blinkAnimation: (NSView*) view;
 @end
diff --git a/src/views/IMTableCellView.mm b/src/views/IMTableCellView.mm
index 7249695..ed252a7 100644
--- a/src/views/IMTableCellView.mm
+++ b/src/views/IMTableCellView.mm
@@ -20,6 +20,7 @@
 
 #import "IMTableCellView.h"
 #import "NSColor+RingTheme.h"
+#import <QuartzCore/QuartzCore.h>
 
 
 @implementation IMTableCellView {
@@ -36,6 +37,7 @@
 @synthesize progressIndicator;
 @synthesize statusLabel;
 @synthesize openImagebutton;
+@synthesize compozingIndicator2, compozingIndicator3, compozingIndicator1;
 
 - (void) setupDirection
 {
@@ -158,4 +160,42 @@
     return interaction;
 }
 
+- (void) animateCompozingIndicator: (BOOL) animate
+{
+    if (!animate) {
+        [[compozingIndicator1 layer] removeAllAnimations];
+        [[compozingIndicator2 layer] removeAllAnimations];
+        [[compozingIndicator3 layer] removeAllAnimations];
+        return;
+    }
+    [self startBlinkAnimation:compozingIndicator1 withDelay:0];
+    [self startBlinkAnimation:compozingIndicator2 withDelay:0.5];
+    [self startBlinkAnimation:compozingIndicator3 withDelay:1];
+}
+
+- (void) startBlinkAnimation:(NSView*) view withDelay:(CGFloat) delay {
+    [view setWantsLayer: YES];
+    view.layer.backgroundColor = [NSColor.ringDarkBlue CGColor];
+    view.layer.cornerRadius = 5;
+    view.layer.masksToBounds = true;
+    if (delay == 0) {
+        [self blinkAnimation:view];
+        return;
+    }
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, delay * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
+        [self blinkAnimation:view];
+    });
+}
+
+- (void) blinkAnimation:(NSView*) view {
+    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"opacity"];
+    [animation setFromValue:[NSNumber numberWithFloat:1.0]];
+    [animation setToValue:[NSNumber numberWithFloat:0.2]];
+    [animation setDuration:0.7];
+    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]];
+    [animation setAutoreverses:YES];
+    [animation setRepeatCount:HUGE_VALF];
+    [[view layer] addAnimation:animation forKey:@"opacity"];
+}
+
 @end
