diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss
index abd84ec339307a5174b560f6fdbc27504e2ae47d..2fdcc9e7005d582561ba8b8ab7f835164eb38c85 100644
--- a/src/assets/styles/index.scss
+++ b/src/assets/styles/index.scss
@@ -4,7 +4,11 @@ body {
     "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
     sans-serif;
   -webkit-font-smoothing: antialiased;
+
   user-select: none;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
 }
 
 :root {
@@ -37,3 +41,10 @@ body {
     background-color: rgba(18, 18, 18, 1);
   }
 }
+
+.user-none {
+  user-select: none;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+}
diff --git a/src/assets/styles/layout.scss b/src/assets/styles/layout.scss
index 1dd22bd9a8b9df3e6df3f992c3ab2a4422ed7bd0..0727042a6b2fc5236f2d8e2976fb52e264de7656 100644
--- a/src/assets/styles/layout.scss
+++ b/src/assets/styles/layout.scss
@@ -14,6 +14,9 @@
     flex-direction: column;
     box-sizing: border-box;
     user-select: none;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
     overflow: hidden;
 
     $maxLogo: 100px;
diff --git a/src/components/setting/mods/core-switch.tsx b/src/components/setting/mods/core-switch.tsx
index d54e6787507f35b2f8375488e25875cf7de5db46..00f1706f58cf5b209d836836b210d55cfe16ac4d 100644
--- a/src/components/setting/mods/core-switch.tsx
+++ b/src/components/setting/mods/core-switch.tsx
@@ -1,9 +1,10 @@
 import { mutate } from "swr";
 import { useState } from "react";
 import { useLockFn } from "ahooks";
-import { Menu, MenuItem } from "@mui/material";
+import { IconButton, Menu, MenuItem } from "@mui/material";
 import { Settings } from "@mui/icons-material";
 import { changeClashCore } from "@/services/cmds";
+import { closeAllConnections } from "@/services/api";
 import { useVerge } from "@/hooks/use-verge";
 import { Notice } from "@/components/base";
 
@@ -24,6 +25,7 @@ export const CoreSwitch = () => {
     if (core === clash_core) return;
 
     try {
+      closeAllConnections();
       await changeClashCore(core);
       mutateVerge();
       setTimeout(() => {
@@ -39,15 +41,20 @@ export const CoreSwitch = () => {
 
   return (
     <>
-      <Settings
-        fontSize="small"
-        style={{ cursor: "pointer", opacity: 0.75 }}
+      <IconButton
+        color="inherit"
+        size="small"
         onClick={(event) => {
           const { clientX, clientY } = event;
           setPosition({ top: clientY, left: clientX });
           setAnchorEl(event.currentTarget);
         }}
-      />
+      >
+        <Settings
+          fontSize="inherit"
+          style={{ cursor: "pointer", opacity: 0.75 }}
+        />
+      </IconButton>
 
       <Menu
         open={!!anchorEl}
diff --git a/src/components/setting/mods/setting-comp.tsx b/src/components/setting/mods/setting-comp.tsx
index 60c48669cb323d16e6d0c2447fde76dd1f0ab85a..1464618f78582408dfd708f6b3a1aa1c741866e5 100644
--- a/src/components/setting/mods/setting-comp.tsx
+++ b/src/components/setting/mods/setting-comp.tsx
@@ -19,7 +19,7 @@ export const SettingItem: React.FC<ItemProps> = (props) => {
     label
   ) : (
     <Box sx={{ display: "flex", alignItems: "center" }}>
-      <span style={{ marginRight: 4 }}>{label}</span>
+      <span>{label}</span>
       {extra}
     </Box>
   );
diff --git a/src/components/setting/setting-verge.tsx b/src/components/setting/setting-verge.tsx
index 12cf47b5060c68ddd69bd0cd4c2daa5149453148..7cf83131776acfe90cfdef52e4286563545ad097 100644
--- a/src/components/setting/setting-verge.tsx
+++ b/src/components/setting/setting-verge.tsx
@@ -167,7 +167,7 @@ const SettingVerge = ({ onError }: Props) => {
       </SettingItem>
 
       <SettingItem label={t("Verge Version")}>
-        <Typography sx={{ py: "7px" }}>v{version}</Typography>
+        <Typography sx={{ py: "7px", pr: 1 }}>v{version}</Typography>
       </SettingItem>
     </SettingList>
   );
diff --git a/src/pages/logs.tsx b/src/pages/logs.tsx
index f7326f2c1fbb310cf52e1da1654375bdbb2f55a4..1e6fb5bf0e1c9bfcc31edd0ae89189bccc3614fe 100644
--- a/src/pages/logs.tsx
+++ b/src/pages/logs.tsx
@@ -65,7 +65,14 @@ const LogPage = () => {
         </Box>
       }
     >
-      <Paper sx={{ boxSizing: "border-box", boxShadow: 2, height: "100%" }}>
+      <Paper
+        sx={{
+          boxSizing: "border-box",
+          boxShadow: 2,
+          height: "100%",
+          userSelect: "text",
+        }}
+      >
         <Box
           sx={{
             pt: 1,