diff --git a/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js b/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js
index 604a7c6dc05..3ff0a1dafb6 100644
--- a/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js
+++ b/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js
@@ -34,6 +34,10 @@ export default class ColumnSettings extends React.PureComponent {
} />
+
+ } />
+
+
diff --git a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
index 69508f9ff5d..eca85b8e636 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
@@ -32,6 +32,10 @@ const makeGetStatusIds = () => createSelector([
showStatus = showStatus && (statusForId.get('in_reply_to_id') === null || statusForId.get('in_reply_to_account_id') === me);
}
+ if (columnSettings.getIn(['shows', 'direct']) === false) {
+ showStatus = showStatus && statusForId.get('visibility') !== 'direct';
+ }
+
if (showStatus && regex && statusForId.get('account') !== me) {
const searchIndex = statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'search_index']) : statusForId.get('search_index');
showStatus = !regex.test(searchIndex);
diff --git a/app/javascript/flavours/glitch/reducers/settings.js b/app/javascript/flavours/glitch/reducers/settings.js
index ceafbc46792..6d5d71217c8 100644
--- a/app/javascript/flavours/glitch/reducers/settings.js
+++ b/app/javascript/flavours/glitch/reducers/settings.js
@@ -17,6 +17,7 @@ const initialState = ImmutableMap({
shows: ImmutableMap({
reblog: true,
reply: true,
+ direct: true,
}),
regex: ImmutableMap({
diff --git a/app/javascript/glitch/locales/en.json b/app/javascript/glitch/locales/en.json
index 69aa291082b..0276cb8370b 100644
--- a/app/javascript/glitch/locales/en.json
+++ b/app/javascript/glitch/locales/en.json
@@ -32,6 +32,8 @@
"status.collapse": "Collapse",
"status.uncollapse": "Uncollapse",
+ "home.column_settings.show_direct": "Show DMs",
+
"notification.markForDeletion": "Mark for deletion",
"notifications.clear": "Clear all my notifications",
"notifications.marked_clear_confirmation": "Are you sure you want to permanently clear all selected notifications?",