diff --git a/app/build.gradle b/app/build.gradle
index 4fd33973823acc5c952040eafb835338b40590e8..bfeb860630e2fa50e90a2fa5eb4c723c442074ce 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -175,6 +175,7 @@ dependencies {
     compile('com.github.afollestad.material-dialogs:core:0.8.5.3@aar') { transitive = true }
     compile('com.github.afollestad.material-dialogs:commons:0.8.5.3@aar') { transitive = true }
     compile 'com.afollestad:material-cab:0.1.12'
+    compile 'com.jenzz:materialpreference:1.3'
 
     // ORM
     apt "com.github.Raizlabs.DBFlow:dbflow-processor:3.1.1"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 88188d21c6f77a525fd05304d41818c247693a86..ca96139bc828cce657912f05a695a1fc843a8ac0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -49,154 +49,132 @@
         <activity
             android:name=".ui.chat.MainActivity"
             android:label="@string/appName"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.LoginActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.chat.ChannelDetailActivity"
             android:label="@string/titleChannelDetails"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.chat.MainActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.chatlist.ChatListListActivity"
             android:label="@string/titleEditChatLists"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.chat.MainActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.chatlist.ChatListEditActivity"
             android:label="@string/titleEditChatList"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.coresettings.chatlist.ChatListListActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.chatlist.ChatListCreateActivity"
             android:label="@string/titleCreateChatList"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.coresettings.chatlist.ChatListListActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.network.NetworkListActivity"
             android:label="@string/titleEditNetworks"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.chat.MainActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.network.NetworkEditActivity"
             android:label="@string/titleEditNetwork"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.coresettings.network.NetworkListActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.network.NetworkCreateActivity"
             android:label="@string/titleCreateNetwork"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.coresettings.network.NetworkListActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.network.server.NetworkServerListActivity"
             android:label="@string/titleEditNetworkServers"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.coresettings.network.NetworkEditActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.identity.IdentityListActivity"
             android:label="@string/titleEditIdentities"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.chat.MainActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.identity.IdentityEditActivity"
             android:label="@string/titleEditIdentity"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.coresettings.identity.IdentityListActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.identity.IdentityCreateActivity"
             android:label="@string/titleCreateIdentity"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.coresettings.identity.IdentityListActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.identity.nick.IdentityNickListActivity"
             android:label="@string/titleEditNicks"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.coresettings.identity.IdentityEditActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.network.server.NetworkServerEditActivity"
             android:label="@string/titleEditNetworkServer"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.coresettings.network.server.NetworkServerListActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.ignore.IgnoreListActivity"
             android:label="@string/titleEditIgnoreList"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.chat.MainActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.ignore.IgnoreRuleEditActivity"
             android:label="@string/titleEditIgnoreRule"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.coresettings.ignore.IgnoreListActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.aliases.AliasListActivity"
             android:label="@string/titleEditAliases"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.chat.MainActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.coresettings.aliases.AliasEditActivity"
             android:label="@string/titleEditAlias"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.coresettings.aliases.AliasListActivity"
             android:theme="@style/AppTheme.Light"/>
 
         <activity
             android:name=".ui.setup.AccountSetupActivity"
             android:label="@string/titleAccountSetup"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.setup.AccountSelectActivity"
             android:theme="@style/SetupTheme"/>
 
         <activity
             android:name=".ui.setup.AccountSelectActivity"
             android:label="@string/titleAccountSelection"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.LoginActivity"
             android:theme="@style/SetupTheme"/>
 
         <activity
             android:name=".ui.setup.CoreSetupActivity"
             android:label="@string/titleCoreSetup"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.chat.MainActivity"
             android:theme="@style/SetupTheme"/>
 
         <activity
             android:name=".ui.settings.SettingsActivity"
             android:label="@string/titleSettings"
-            android:launchMode="singleTask"
             android:parentActivityName=".ui.chat.MainActivity"
             android:theme="@style/AppTheme.Light"/>
 
diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/LoginActivity.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/LoginActivity.java
index 18a00057c4f092c4b60d14f5078b17e7fc30c6cf..7f91d24d570b42f83c6b2f3a102bee0e4dd66031 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/LoginActivity.java
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/LoginActivity.java
@@ -34,6 +34,8 @@ import de.kuschku.quasseldroid_ng.ui.setup.AccountSelectActivity;
 import de.kuschku.quasseldroid_ng.ui.theme.AppContext;
 
 public class LoginActivity extends AppCompatActivity {
+    public static final int REQUEST_CODE_SELECT = 8;
+
     static {
         AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
     }
@@ -60,23 +62,25 @@ public class LoginActivity extends AppCompatActivity {
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
-        if (resultCode == RESULT_OK) {
-            // If we select a different core than we used last time, clear the database
-            if (!context.settings().preferenceLastAccount.get().equals(data.getBundleExtra("extra").getString("account")))
-                deleteDatabase(ConnectedDatabase.NAME);
+        if (requestCode == REQUEST_CODE_SELECT) {
+            if (resultCode == RESULT_OK) {
+                // If we select a different core than we used last time, clear the database
+                if (!context.settings().preferenceLastAccount.get().equals(data.getBundleExtra("extra").getString("account")))
+                    deleteDatabase(ConnectedDatabase.NAME);
 
-            context.settings().preferenceLastAccount.set(data.getBundleExtra("extra").getString("account"));
-            checkReady();
-            firstStart = true;
-        } else if (context.settings().preferenceLastAccount.get().isEmpty()) {
-            finish();
+                context.settings().preferenceLastAccount.set(data.getBundleExtra("extra").getString("account"));
+                checkReady();
+                firstStart = true;
+            } else {
+                finish();
+            }
         }
     }
 
     private boolean checkReady() {
         if (context.settings().preferenceLastAccount.get().isEmpty()) {
             Intent intent = new Intent(this, AccountSelectActivity.class);
-            startActivityForResult(intent, 0);
+            startActivityForResult(intent, REQUEST_CODE_SELECT);
             firstStart = true;
             return true;
         } else if (firstStart) {
diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java
index a168e595d40c1777b2d7ddb364886ec07e1068c9..0dae6699b0b9ad7eb93ff405507100a1a1745004 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java
@@ -23,6 +23,7 @@ package de.kuschku.quasseldroid_ng.ui.chat;
 
 import android.app.SearchManager;
 import android.content.Intent;
+import android.os.Build;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
@@ -42,6 +43,9 @@ import android.support.v7.widget.Toolbar;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
 import android.widget.AdapterView;
 import android.widget.Toast;
 
@@ -94,6 +98,7 @@ import de.kuschku.quasseldroid_ng.ui.coresettings.ignore.IgnoreListActivity;
 import de.kuschku.quasseldroid_ng.ui.coresettings.network.NetworkListActivity;
 import de.kuschku.quasseldroid_ng.ui.settings.SettingsActivity;
 import de.kuschku.quasseldroid_ng.ui.setup.CoreSetupActivity;
+import de.kuschku.util.CompatibilityUtils;
 import de.kuschku.util.accounts.Account;
 import de.kuschku.util.accounts.AccountManager;
 import de.kuschku.util.annotationbind.AutoBinder;
@@ -218,6 +223,24 @@ public class MainActivity extends BoundActivity {
         nickList.setLayoutManager(new LinearLayoutManager(this));
         nickList.setItemAnimator(new DefaultItemAnimator());
         nickList.addItemDecoration(new DividerItemDecoration(this));
+
+        setStatusBar();
+    }
+
+    private void setStatusBar() {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+            Window window = getWindow();
+            window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
+            window.setStatusBarColor(getResources().getColor(android.R.color.transparent));
+
+            nickList.setPadding(0, CompatibilityUtils.getStatusBarHeight(this), 0, 0);
+
+            View viewById = findViewById(R.id.statusBarBackground);
+            ViewGroup.LayoutParams layoutParams = viewById.getLayoutParams();
+            layoutParams.height = CompatibilityUtils.getStatusBarHeight(this);
+            viewById.setLayoutParams(layoutParams);
+        }
     }
 
     @Override
diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewHolder.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewHolder.java
index 34d068acd4eef2e65ad6fa7ab30818b8ecff15d3..0754e8593e4d47855be12484c6c40f18fd5e5556 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewHolder.java
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewHolder.java
@@ -21,8 +21,6 @@
 
 package de.kuschku.quasseldroid_ng.ui.chat.drawer;
 
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.StateListDrawable;
 import android.support.annotation.LayoutRes;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
@@ -33,7 +31,6 @@ import android.widget.TextView;
 
 import com.bignerdranch.expandablerecyclerview.ViewHolder.ChildViewHolder;
 import com.google.common.base.Function;
-import com.mikepenz.materialize.util.UIUtils;
 
 import java.util.Locale;
 
@@ -55,7 +52,6 @@ import de.kuschku.util.observables.lists.ObservableElement;
 public class BufferViewHolder extends ChildViewHolder {
 
     private final AppContext context;
-    private final StateListDrawable background;
     public int id;
     @Bind(R.id.material_drawer_icon)
     ImageView icon;
@@ -77,12 +73,6 @@ public class BufferViewHolder extends ChildViewHolder {
         super(itemView);
         ButterKnife.bind(this, itemView);
         this.context = context;
-
-        background = new StateListDrawable();
-        background.addState(new int[]{android.R.attr.state_selected}, new ColorDrawable(context.themeUtil().res.colorSelected));
-        background.addState(new int[]{android.R.attr.state_checked}, new ColorDrawable(context.themeUtil().res.colorSelected));
-        background.addState(new int[]{android.R.attr.state_checked, android.R.attr.state_selected}, new ColorDrawable(context.themeUtil().res.colorSelected));
-        background.addState(new int[0], UIUtils.getSelectableBackground(itemView.getContext()));
     }
 
     @LayoutRes
@@ -104,8 +94,6 @@ public class BufferViewHolder extends ChildViewHolder {
         itemView.setOnClickListener(v -> listener.onClick(buffer));
         itemView.setOnLongClickListener(v -> longClickListener.onLongClick(buffer));
 
-        itemView.setBackground(background);
-
         id = buffer.getInfo().id;
 
         BufferInfo.Type type = buffer.getInfo().type;
diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/util/SlidingPanelHandler.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/util/SlidingPanelHandler.java
index f1405818ee5d1fe847e65c08620ddf8369fef7a3..21e313ae291f75722f534b39bc70a2f00cf3a835 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/util/SlidingPanelHandler.java
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/util/SlidingPanelHandler.java
@@ -34,6 +34,7 @@ import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.ScrollView;
 
 import com.mikepenz.fastadapter.FastAdapter;
 import com.mikepenz.fastadapter.IItem;
@@ -76,8 +77,12 @@ public class SlidingPanelHandler {
     AppCompatEditText chatline;
     @Bind(R.id.send)
     AppCompatImageButton send;
+    @Bind(R.id.chatline_scroller)
+    ScrollView chatlineScroller;
     private ItemAdapter<IItem> previousMessages;
 
+    private boolean expanded;
+
     public SlidingPanelHandler(Activity activity, SlidingUpPanelLayout slidingLayout, AppContext context) {
         this.slidingLayout = slidingLayout;
         ButterKnife.bind(this, slidingLayout);
@@ -90,6 +95,11 @@ public class SlidingPanelHandler {
         setupHistoryFakeData();
 
         bindListener();
+
+        chatlineScroller.setOnTouchListener((v, event) -> {
+            chatlineScroller.requestDisallowInterceptTouchEvent(expanded);
+            return true;
+        });
     }
 
     private void setupFormattingMenu(Activity activity) {
@@ -254,6 +264,8 @@ public class SlidingPanelHandler {
             chatline.getLayoutParams().height = themeUtil.res.actionBarSize;
         }
         chatline.setSingleLine(!expanded);
+        this.expanded = expanded;
+        chatlineScroller.setSmoothScrollingEnabled(false);
 
         chatline.setSelection(selectionStart, selectionEnd);
     }
diff --git a/app/src/main/java/de/kuschku/util/CompatibilityUtils.java b/app/src/main/java/de/kuschku/util/CompatibilityUtils.java
index ecb049d4540805ec97d1a6632a734a7543066468..79a8b942b86a75c1253cf55712951e4d656e6e72 100644
--- a/app/src/main/java/de/kuschku/util/CompatibilityUtils.java
+++ b/app/src/main/java/de/kuschku/util/CompatibilityUtils.java
@@ -21,6 +21,7 @@
 
 package de.kuschku.util;
 
+import android.content.Context;
 import android.os.Build;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
@@ -102,4 +103,13 @@ public class CompatibilityUtils {
         }
         return chars;
     }
+
+    public static int getStatusBarHeight(Context context) {
+        int result = 0;
+        int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
+        if (resourceId > 0) {
+            result = context.getResources().getDimensionPixelSize(resourceId);
+        }
+        return result;
+    }
 }
diff --git a/app/src/main/res/drawable/badge.xml b/app/src/main/res/drawable/badge.xml
index de1160f36b399ab3d734ece50d11efe302c6ae6f..ce6e0a023e4b5e5103ae8032c75ab30dedda71c8 100644
--- a/app/src/main/res/drawable/badge.xml
+++ b/app/src/main/res/drawable/badge.xml
@@ -22,9 +22,9 @@
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
     <solid/>
     <padding
-        android:bottom="10dp"
-        android:left="10dp"
-        android:right="10dp"
-        android:top="10dp"/>
-    <corners android:radius="6dp"/>
+        android:bottom="4dp"
+        android:left="8dp"
+        android:right="8dp"
+        android:top="4dp"/>
+    <corners android:radius="16dp"/>
 </shape>
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 3a8dbc9c090e4dede4650260b41625f163adbb51..423eaa69066eff1a229b080940c88d694f8977f7 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -27,6 +27,7 @@
     android:id="@+id/drawer_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:fitsSystemWindows="true"
     tools:context=".ui.chat.MainActivity">
 
     <LinearLayout
@@ -44,25 +45,30 @@
     </LinearLayout>
 
     <android.support.design.widget.NavigationView
-        android:layout_width="match_parent"
+        android:layout_width="wrap_content"
         android:layout_height="match_parent"
-        android:layout_gravity="end">
+        android:layout_gravity="end"
+        android:fitsSystemWindows="true">
 
         <android.support.v7.widget.RecyclerView
             android:id="@+id/nickList"
             android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
+            android:layout_height="match_parent"
+            android:clipToPadding="false"
+            android:maxWidth="320dp"/>
 
     </android.support.design.widget.NavigationView>
 
     <android.support.design.widget.NavigationView
-        android:layout_width="match_parent"
+        android:layout_width="wrap_content"
         android:layout_height="match_parent"
-        android:layout_gravity="start">
+        android:layout_gravity="start"
+        android:fitsSystemWindows="true">
 
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent"
+            android:maxWidth="320dp"
             android:orientation="vertical">
 
             <android.support.design.widget.AppBarLayout
@@ -72,6 +78,11 @@
                 android:layout_height="wrap_content"
                 android:theme="?attr/actionBarTheme">
 
+                <View
+                    android:id="@+id/statusBarBackground"
+                    android:layout_width="match_parent"
+                    android:layout_height="0dip"/>
+
                 <FrameLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content">
diff --git a/app/src/main/res/layout/widget_buffer.xml b/app/src/main/res/layout/widget_buffer.xml
index a1dc8d429c243ac0aaf4399b349dfd1388bb91eb..c0725f0c470a7c368d57ebdcd186dea1db6933d5 100644
--- a/app/src/main/res/layout/widget_buffer.xml
+++ b/app/src/main/res/layout/widget_buffer.xml
@@ -19,85 +19,95 @@
   ~ with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
 
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              xmlns:tools="http://schemas.android.com/tools"
-              android:layout_width="match_parent"
-              android:layout_height="@dimen/material_drawer_item_secondary"
-              android:clickable="true"
-              android:orientation="horizontal"
-              android:paddingEnd="@dimen/material_drawer_vertical_padding"
-              android:paddingLeft="@dimen/material_drawer_vertical_padding"
-              android:paddingRight="@dimen/material_drawer_vertical_padding"
-              android:paddingStart="@dimen/material_drawer_vertical_padding">
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="?selectableItemBackground"
+    android:clickable="true">
 
-    <ImageView
-        android:id="@+id/material_drawer_icon"
-        android:layout_width="@dimen/material_drawer_item_secondary_icon"
+    <LinearLayout
+        android:layout_width="match_parent"
         android:layout_height="@dimen/material_drawer_item_secondary"
-        android:layout_gravity="center_vertical"
-        android:paddingBottom="@dimen/material_drawer_item_secondary_icon_padding"
-        android:paddingEnd="@dimen/material_drawer_item_secondary_icon_padding_right"
-        android:paddingLeft="0dp"
-        android:paddingRight="@dimen/material_drawer_item_secondary_icon_padding_right"
-        android:paddingStart="0dp"
-        android:paddingTop="@dimen/material_drawer_item_secondary_icon_padding"/>
+        android:orientation="horizontal"
+        android:paddingEnd="@dimen/material_drawer_vertical_padding"
+        android:paddingLeft="@dimen/material_drawer_vertical_padding"
+        android:paddingRight="@dimen/material_drawer_vertical_padding"
+        android:paddingStart="@dimen/material_drawer_vertical_padding">
 
-    <LinearLayout
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:gravity="center_vertical|start"
-        android:orientation="vertical">
+        <FrameLayout
+            android:layout_width="56dp"
+            android:layout_height="match_parent">
 
-        <TextView
-            android:id="@+id/material_drawer_name"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:fontFamily="sans-serif-medium"
-            android:gravity="center_vertical|start"
-            android:lines="1"
-            android:singleLine="true"
-            android:textSize="@dimen/material_drawer_item_secondary_text"
-            tools:text="Some secondary text"/>
+            <ImageView
+                android:id="@+id/material_drawer_icon"
+                android:layout_width="20dp"
+                android:layout_height="20dp"
+                android:layout_gravity="center_vertical|start"
+                android:layout_marginBottom="@dimen/material_drawer_item_secondary_icon_padding"
+                android:layout_marginTop="@dimen/material_drawer_item_secondary_icon_padding"/>
 
-        <TextView
-            android:id="@+id/material_drawer_description"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:fontFamily="sans-serif"
+        </FrameLayout>
+
+        <LinearLayout
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
             android:gravity="center_vertical|start"
-            android:lines="1"
-            android:singleLine="true"
-            android:textSize="@dimen/material_drawer_item_secondary_description"
-            tools:text="Some drawer text"/>
+            android:orientation="vertical">
 
-    </LinearLayout>
+            <TextView
+                android:id="@+id/material_drawer_name"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:fontFamily="sans-serif-medium"
+                android:gravity="center_vertical|start"
+                android:lines="1"
+                android:singleLine="true"
+                android:textSize="@dimen/material_drawer_item_secondary_text"
+                tools:text="Some secondary text"/>
 
-    <LinearLayout
-        android:id="@+id/material_drawer_badge_container"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:background="@drawable/badge"
-        android:gravity="center"
-        android:padding="6dp">
+            <TextView
+                android:id="@+id/material_drawer_description"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:fontFamily="sans-serif"
+                android:gravity="center_vertical|start"
+                android:lines="1"
+                android:singleLine="true"
+                android:textSize="@dimen/material_drawer_item_secondary_description"
+                tools:text="Some drawer text"/>
+
+        </LinearLayout>
 
-        <TextView
-            android:id="@+id/material_drawer_badge"
-            android:layout_width="match_parent"
+        <LinearLayout
+            android:id="@+id/material_drawer_badge_container"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_gravity="center"
-            android:fontFamily="sans-serif"
+            android:layout_gravity="center_vertical"
+            android:background="@drawable/badge"
             android:gravity="center"
-            android:lines="1"
-            android:minWidth="20dp"
-            android:paddingLeft="1dp"
-            android:paddingRight="1dp"
-            android:singleLine="true"
-            android:textColor="@color/md_white_1000"
-            android:textSize="@dimen/material_drawer_item_secondary_text"
-            tools:text="99+"/>
+            android:padding="6dp">
+
+            <TextView
+                android:id="@+id/material_drawer_badge"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:fontFamily="sans-serif"
+                android:gravity="center"
+                android:lines="1"
+                android:minWidth="20dp"
+                android:paddingLeft="1dp"
+                android:paddingRight="1dp"
+                android:singleLine="true"
+                android:textColor="@color/md_white_1000"
+                android:textSize="@dimen/material_drawer_item_secondary_text"
+                tools:text="99+"/>
+
+        </LinearLayout>
 
     </LinearLayout>
 
-</LinearLayout>
+</FrameLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/widget_core_account.xml b/app/src/main/res/layout/widget_core_account.xml
index c02778e3a3356a4c7f1bd6908857e8c85a5afc8e..eed51d830d4ec421ab8a2e22b728869bfb12bea3 100644
--- a/app/src/main/res/layout/widget_core_account.xml
+++ b/app/src/main/res/layout/widget_core_account.xml
@@ -20,12 +20,14 @@
   ~ with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
 
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="match_parent"
-              android:layout_height="@dimen/material_drawer_item_profile"
-              android:background="?attr/selectableItemBackground"
-              android:clickable="true"
-              android:orientation="horizontal">
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="@dimen/material_drawer_item_profile"
+    android:background="?attr/selectableItemBackground"
+    android:clickable="true"
+    android:orientation="horizontal">
 
     <android.support.v7.widget.AppCompatRadioButton
         android:id="@+id/account_select"
@@ -70,6 +72,6 @@
         android:layout_height="@dimen/material_drawer_item_profile_icon_width"
         android:layout_gravity="center_vertical"
         android:background="?attr/selectableItemBackgroundBorderless"
-        android:src="@drawable/ic_delete"
-        android:tint="?attr/colorFill"/>
+        android:tint="?attr/colorFill"
+        app:srcCompat="@drawable/ic_delete"/>
 </LinearLayout>
diff --git a/app/src/main/res/layout/widget_core_account_add.xml b/app/src/main/res/layout/widget_core_account_add.xml
index f82cef8a67336e3edfb64d98851d7b92cb9749ef..bef572b71cd9e734be45c5cd87938c937564cf89 100644
--- a/app/src/main/res/layout/widget_core_account_add.xml
+++ b/app/src/main/res/layout/widget_core_account_add.xml
@@ -20,16 +20,17 @@
   ~ with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
 
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              xmlns:app="http://schemas.android.com/apk/res-auto"
-              android:layout_width="match_parent"
-              android:layout_height="@dimen/material_drawer_item_profile"
-              android:background="?attr/selectableItemBackground"
-              android:orientation="horizontal"
-              android:paddingEnd="@dimen/material_drawer_vertical_padding"
-              android:paddingLeft="@dimen/material_drawer_vertical_padding"
-              android:paddingRight="@dimen/material_drawer_vertical_padding"
-              android:paddingStart="@dimen/material_drawer_vertical_padding">
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="@dimen/material_drawer_item_profile"
+    android:background="?attr/selectableItemBackground"
+    android:orientation="horizontal"
+    android:paddingEnd="@dimen/material_drawer_vertical_padding"
+    android:paddingLeft="@dimen/material_drawer_vertical_padding"
+    android:paddingRight="@dimen/material_drawer_vertical_padding"
+    android:paddingStart="@dimen/material_drawer_vertical_padding">
 
     <LinearLayout
         android:layout_width="@dimen/material_drawer_item_profile_icon_width"
diff --git a/app/src/main/res/layout/widget_editor.xml b/app/src/main/res/layout/widget_editor.xml
index a50f4a37a799e28d2c9e9d110621cf590bc6f3e9..53b6ec4206b08ae8fb5a37fced90596c1900373a 100644
--- a/app/src/main/res/layout/widget_editor.xml
+++ b/app/src/main/res/layout/widget_editor.xml
@@ -20,12 +20,13 @@
   ~ with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
 
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-                xmlns:app="http://schemas.android.com/apk/res-auto"
-                xmlns:tools="http://schemas.android.com/tools"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                tools:showIn="@layout/widget_slider">
+<RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:showIn="@layout/widget_slider">
 
     <ScrollView
         android:id="@+id/chatline_scroller"
@@ -46,10 +47,10 @@
             android:gravity="top"
             android:hint="@string/labelPlaceholder"
             android:inputType="textCapSentences|textShortMessage|textAutoCorrect"
-            android:paddingBottom="17dp"
+            android:paddingBottom="@dimen/chatlinePaddingVertical"
             android:paddingLeft="20dp"
             android:paddingRight="20dp"
-            android:paddingTop="17dp"
+            android:paddingTop="@dimen/chatlinePaddingVertical"
             android:textColor="?attr/colorForeground"
             android:textSize="16sp"/>
 
@@ -58,7 +59,7 @@
     <android.support.v7.widget.AppCompatImageButton
         android:id="@+id/send"
         style="?attr/buttonStyleSmall"
-        android:layout_width="56dp"
+        android:layout_width="?attr/actionBarSize"
         android:layout_height="?attr/actionBarSize"
         android:layout_alignParentEnd="true"
         android:layout_alignParentRight="true"
@@ -67,9 +68,9 @@
         android:background="?attr/selectableItemBackgroundBorderless"
         android:padding="12dp"
         android:scaleType="fitXY"
-        android:theme="@style/RippleOverlay"
         android:tint="?attr/colorAccent"
-        app:srcCompat="@drawable/ic_send"/>
+        app:srcCompat="@drawable/ic_send"
+        app:theme="@style/RippleOverlay"/>
 
     <android.support.design.widget.AppBarLayout
         android:id="@+id/formatting_toolbar_container"
diff --git a/app/src/main/res/layout/widget_identitynick.xml b/app/src/main/res/layout/widget_identitynick.xml
index 0ca338914e909485aa0a8453d5f1c1fa23ea9639..a11d229a10cfd5c8881f82aa339c562862aaf5d9 100644
--- a/app/src/main/res/layout/widget_identitynick.xml
+++ b/app/src/main/res/layout/widget_identitynick.xml
@@ -20,22 +20,24 @@
   ~ with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
 
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="match_parent"
-              android:layout_height="56dp"
-              android:background="?selectableItemBackground"
-              android:clickable="true"
-              android:orientation="horizontal"
-              android:paddingLeft="?listPreferredItemPaddingLeft"
-              android:paddingRight="?listPreferredItemPaddingRight">
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="56dp"
+    android:background="?selectableItemBackground"
+    android:clickable="true"
+    android:orientation="horizontal"
+    android:paddingLeft="?listPreferredItemPaddingLeft"
+    android:paddingRight="?listPreferredItemPaddingRight">
 
     <ImageView
         android:id="@+id/drag_handle"
         android:layout_width="24dp"
         android:layout_height="24dp"
         android:layout_gravity="center_vertical"
-        android:src="@drawable/ic_reorder"
-        android:tint="?attr/colorFill"/>
+        android:tint="?attr/colorFill"
+        app:srcCompat="@drawable/ic_reorder"/>
 
     <TextView
         android:id="@+id/text"
diff --git a/app/src/main/res/layout/widget_networkserver.xml b/app/src/main/res/layout/widget_networkserver.xml
index 05321aa97052de9e39c626f29527249457ce0e1b..1102869b2af8b1a50d4735789fb9071255319b22 100644
--- a/app/src/main/res/layout/widget_networkserver.xml
+++ b/app/src/main/res/layout/widget_networkserver.xml
@@ -20,22 +20,24 @@
   ~ with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
 
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="match_parent"
-              android:layout_height="56dp"
-              android:background="?selectableItemBackground"
-              android:clickable="true"
-              android:orientation="horizontal"
-              android:paddingLeft="?listPreferredItemPaddingLeft"
-              android:paddingRight="?listPreferredItemPaddingRight">
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="56dp"
+    android:background="?selectableItemBackground"
+    android:clickable="true"
+    android:orientation="horizontal"
+    android:paddingLeft="?listPreferredItemPaddingLeft"
+    android:paddingRight="?listPreferredItemPaddingRight">
 
     <ImageView
         android:id="@+id/lock"
         android:layout_width="24dp"
         android:layout_height="24dp"
         android:layout_gravity="center_vertical"
-        android:src="@drawable/ic_lock"
-        android:tint="?colorFill"/>
+        android:tint="?colorFill"
+        app:srcCompat="@drawable/ic_lock"/>
 
     <TextView
         android:id="@+id/text"
diff --git a/app/src/main/res/layout/widget_nick.xml b/app/src/main/res/layout/widget_nick.xml
index fe90801c84442da86e2689bc43921e6cef6c54eb..5fe59b912eadd91561dbe248189db09d4598a5d6 100644
--- a/app/src/main/res/layout/widget_nick.xml
+++ b/app/src/main/res/layout/widget_nick.xml
@@ -33,7 +33,7 @@
     <TextView
         android:id="@+id/mode"
         android:layout_width="wrap_content"
-        android:layout_height="match_parent"
+        android:layout_height="wrap_content"
         android:layout_gravity="center_vertical"
         android:layout_marginBottom="8dp"
         android:layout_marginTop="8dp"
@@ -42,7 +42,9 @@
         android:gravity="center"
         android:minWidth="40dp"
         android:textColor="?colorBackground"
-        tools:text="\@"/>
+        android:textStyle="bold"
+        tools:text="\@"
+        />
 
     <LinearLayout
         android:layout_width="0dp"
diff --git a/app/src/main/res/layout/widget_slider.xml b/app/src/main/res/layout/widget_slider.xml
index 1a8f0246a273abf6b5ff40cafb8182e7ba7dc370..3320c668d008ed011e69667c665e6bff55871197 100644
--- a/app/src/main/res/layout/widget_slider.xml
+++ b/app/src/main/res/layout/widget_slider.xml
@@ -20,22 +20,23 @@
   ~ with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
 
-<com.sothree.slidinguppanel.SlidingUpPanelLayout xmlns:android="http://schemas.android.com/apk/res/android"
-                                                 xmlns:app="http://schemas.android.com/apk/res-auto"
-                                                 xmlns:tools="http://schemas.android.com/tools"
-                                                 android:id="@+id/sliding_layout_history"
-                                                 android:layout_width="fill_parent"
-                                                 android:layout_height="fill_parent"
-                                                 android:background="?attr/colorBackgroundCard"
-                                                 android:clickable="false"
-                                                 android:focusable="true"
-                                                 android:gravity="bottom"
-                                                 app:umanoFadeColor="?attr/colorBackground"
-                                                 app:umanoOverlay="true"
-                                                 app:umanoPanelHeight="0dip"
-                                                 app:umanoScrollableView="@+id/msg_history"
-                                                 app:umanoShadowHeight="0.0dip"
-                                                 tools:showIn="@layout/activity_main">
+<com.sothree.slidinguppanel.SlidingUpPanelLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/sliding_layout_history"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    android:background="?attr/colorBackgroundCard"
+    android:clickable="false"
+    android:focusable="true"
+    android:gravity="bottom"
+    app:umanoFadeColor="?attr/colorBackground"
+    app:umanoOverlay="true"
+    app:umanoPanelHeight="0dip"
+    app:umanoScrollableView="@+id/msg_history"
+    app:umanoShadowHeight="0.0dip"
+    tools:showIn="@layout/activity_main">
 
 
     <include layout="@layout/widget_editor"/>
@@ -74,7 +75,11 @@
                     android:id="@+id/msg_history"
                     android:layout_width="fill_parent"
                     android:layout_height="fill_parent"/>
+
             </LinearLayout>
+
         </android.support.v7.widget.CardView>
+
     </FrameLayout>
+
 </com.sothree.slidinguppanel.SlidingUpPanelLayout>
diff --git a/app/src/main/res/values-land/dimens.xml b/app/src/main/res/values-land/dimens.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a68666e15e36d08de1a31d62d0a786cf2884fa31
--- /dev/null
+++ b/app/src/main/res/values-land/dimens.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ QuasselDroid - Quassel client for Android
+  ~ Copyright (C) 2016 Janne Koschinski
+  ~ Copyright (C) 2016 Ken Børge Viktil
+  ~ Copyright (C) 2016 Magnus Fjell
+  ~ Copyright (C) 2016 Martin Sandsmark <martin.sandsmark@kde.org>
+  ~
+  ~ This program is free software: you can redistribute it and/or modify it
+  ~ under the terms of the GNU General Public License as published by the Free
+  ~ Software Foundation, either version 3 of the License, or (at your option)
+  ~ any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  ~ GNU General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License along
+  ~ with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
+
+<resources>
+    <dimen name="chatlinePaddingVertical">13dp</dimen>
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values-sw600dp/dimens.xml b/app/src/main/res/values-sw600dp/dimens.xml
index 2a1754ece4930cb763f9e14d275f7bced2c8388f..3b53a5e6286babc209b5339d32d53e08cff58ed2 100644
--- a/app/src/main/res/values-sw600dp/dimens.xml
+++ b/app/src/main/res/values-sw600dp/dimens.xml
@@ -22,4 +22,5 @@
 
 <resources>
     <dimen name="action_bar_default_padding_start_material">8dp</dimen>
+    <dimen name="chatlinePaddingVertical">17dp</dimen>
 </resources>
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 8a80003cd36735d23307662c88ea9f5117132655..0199718e170c554236fe51194b66f3460f561799 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -28,4 +28,5 @@
     <dimen name="message_vertical">2dp</dimen>
 
     <dimen name="action_bar_default_padding_start_material">0dp</dimen>
+    <dimen name="chatlinePaddingVertical">17dp</dimen>
 </resources>
diff --git a/app/src/main/res/xml/pref_appearance.xml b/app/src/main/res/xml/pref_appearance.xml
index 7668ae01b866e5b44015e916df5a316be8a0db32..0462541af818e919223baec951880c9c9bb89b06 100644
--- a/app/src/main/res/xml/pref_appearance.xml
+++ b/app/src/main/res/xml/pref_appearance.xml
@@ -28,25 +28,25 @@
         android:key="@string/preference_theme"
         android:title="@string/preference_theme_title"/>
 
-    <SwitchPreference
+    <com.jenzz.materialpreference.CheckBoxPreference
         android:key="@string/preference_colors"
         android:summaryOff="@string/preference_colors_summary_off"
         android:summaryOn="@string/preference_colors_summary_on"
         android:title="@string/preference_colors_title"/>
 
-    <SwitchPreference
+    <com.jenzz.materialpreference.CheckBoxPreference
         android:key="@string/preference_hostmask"
         android:summaryOff="@string/preference_hostmask_summary_off"
         android:summaryOn="@string/preference_hostmask_summary_on"
         android:title="@string/preference_hostmask_title"/>
 
-    <SwitchPreference
+    <com.jenzz.materialpreference.CheckBoxPreference
         android:key="@string/preference_lag"
         android:summaryOff="@string/preference_lag_summary_off"
         android:summaryOn="@string/preference_lag_summary_on"
         android:title="@string/preference_lag_title"/>
 
-    <SwitchPreference
+    <com.jenzz.materialpreference.CheckBoxPreference
         android:key="@string/preference_brackets"
         android:summaryOff="@string/preference_brackets_summary_off"
         android:summaryOn="@string/preference_brackets_summary_on"