diff --git a/src/LoggerApp.cpp b/src/LoggerApp.cpp
index fc29708..8c7989b 100644
--- a/src/LoggerApp.cpp
+++ b/src/LoggerApp.cpp
@@ -6,6 +6,7 @@
 
 #include <private/interface/AboutWindow.h>
 #include <Application.h>
+#include <Clipboard.h>
 #include <private/interface/ColumnListView.h>
 #include <private/interface/ColumnTypes.h>
 #include <GroupLayout.h>
@@ -93,12 +94,12 @@
 				.AddItem("Quit", new BMessage(B_QUIT_REQUESTED), 'Q')
 			.End()
 			.AddMenu("Edit")
-				.AddItem("Cut", new BMessage(), 'X')
-				.AddItem("Copy", new BMessage(), 'C')
+				.AddItem("Cut", new BMessage(B_CUT), 'X')
+				.AddItem("Copy", new BMessage(B_COPY), 'C')
 				.AddItem("Delete", new BMessage(), 'D')
 				.AddSeparator()
 				.AddItem("Clear", clearMessage, 'E')
-				.AddItem("Select all", new BMessage(), 'A')
+				.AddItem("Select all", new BMessage(B_SELECT_ALL), 'A')
 				.AddSeparator()
 				.AddItem("Preferences", new BMessage())
 			.End()
@@ -294,6 +295,39 @@
 
 				break;
 			}
+			case B_CUT:
+			case B_COPY:
+			{
+				BRow* row = nullptr;
+
+				BString fullMessage;
+
+				// TODO copy all if selection is empty
+				while (row = fEventList->CurrentSelection(row)) {
+					BStringField* field = dynamic_cast<BStringField*>(row->GetField(1));
+					const char* string = field->String();
+					fullMessage.Prepend("\n");
+					fullMessage.Prepend(string);
+				}
+
+				be_clipboard->Lock();
+				be_clipboard->Clear();
+				BMessage* clip = be_clipboard->Data();
+
+				clip->AddData("text/plain", B_MIME_TYPE, fullMessage.String(), fullMessage.Length());
+
+				be_clipboard->Commit();
+				be_clipboard->Unlock();
+
+				if (message->what == B_CUT) {
+					while (row = fEventList->CurrentSelection(nullptr)) {
+							fEventList->RemoveRow(row);
+							delete row;
+					}
+				}
+
+				break;
+			}
 			case B_ABOUT_REQUESTED:
 			{
 				be_app_messenger.SendMessage(B_ABOUT_REQUESTED);
