首页 垂直标签栏的执念
文章
取消

垂直标签栏的执念

Owner: Olimi tags: 工具使用 date: 2024年5月18日 11:18 status: Published type: Post

rt,let’s go!

Firefox

2024-05-18更新:firefox126版本更新后原本的CSS出现问题,顶部搜索栏输入时,候选栏目会顶到上面去部分看不到,找了个新的CSS:https://github.com/ranmaru22/firefox-vertical-tabs/blob/main/userChrome.css

不过我用的Sidebery插件配合,所以CSS要处理一下:

  1. 全局搜索[sidebarcommand*=”tabcenter”],删除。
  2. 全局搜索48px,替换为45px。
  3. –delay: 0s;

由于官方默认支持的垂直标签栏(原本觉得支持的最好),所以一直只能用edge,但是这家伙越来越膨胀臃肿了,也不能局限于被一家掐脖子。于是转向折腾firefox,结果发现了惊喜!

方案:Sidebery+自定义CSS隐藏和美化。

步骤参考:https://blog.csdn.net/weixin_44220976/article/details/122865949

大概:

  1. about:config,搜索toolkit.legacyUserProfileCustomizations.stylesheets,转为true
  2. about:support打开“配置文件夹”。创建chrome/userChrome.css文件
    • 使用的CSS如下,fromhttps://github.com/christorange/VerticalFox

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      93
      94
      95
      96
      97
      98
      99
      100
      101
      102
      103
      104
      105
      106
      107
      108
      109
      110
      111
      112
      113
      114
      115
      116
      117
      118
      119
      120
      121
      122
      123
      124
      125
      126
      127
      128
      129
      130
      131
      132
      133
      134
      135
      136
      137
      138
      139
      140
      141
      142
      143
      144
      145
      146
      147
      148
      149
      150
      151
      152
      153
      154
      155
      156
      157
      158
      159
      160
      161
      162
      163
      164
      165
      166
      167
      168
      169
      170
      171
      172
      173
      174
      175
      176
      177
      178
      179
      180
      181
      182
      183
      184
      185
      186
      187
      188
      189
      190
      191
      192
      193
      194
      195
      196
      197
      198
      199
      200
      201
      202
      203
      204
      205
      206
      207
      208
      209
      210
      211
      212
      213
      214
      215
      216
      217
      218
      219
      220
      221
      222
      223
      224
      225
      226
      227
      228
      229
      230
      231
      232
      233
      234
      235
      236
      237
      238
      239
      240
      241
      242
      243
      244
      245
      246
      247
      248
      249
      250
      251
      252
      253
      254
      255
      256
      257
      258
      259
      260
      261
      262
      263
      264
      265
      266
      267
      268
      269
      270
      271
      272
      273
      274
      275
      276
      277
      278
      279
      280
      281
      282
      283
      284
      285
      286
      287
      288
      289
      290
      291
      292
      293
      294
      295
      296
      297
      298
      299
      300
      301
      302
      303
      304
      305
      306
      307
      308
      309
      310
      311
      312
      313
      314
      315
      316
      317
      318
      319
      320
      321
      322
      323
      324
      325
      326
      327
      328
      329
      330
      331
      332
      333
      334
      335
      336
      337
      338
      339
      340
      341
      342
      343
      344
      345
      346
      347
      348
      349
      350
      351
      352
      353
      354
      355
      356
      357
      358
      359
      360
      361
      362
      363
      364
      365
      366
      367
      368
      369
      370
      371
      372
      373
      374
      375
      376
      377
      378
      379
      380
      381
      382
      383
      384
      385
      386
      387
      388
      389
      390
      391
      392
      393
      394
      395
      396
      397
      398
      399
      400
      401
      402
      403
      404
      405
      406
      407
      408
      409
      410
      411
      412
      413
      414
      415
      416
      417
      418
      419
      420
      421
      422
      423
      424
      425
      426
      427
      428
      429
      430
      431
      432
      433
      434
      435
      436
      437
      438
      439
      440
      441
      442
      443
      444
      445
      446
      447
      448
      449
      450
      451
      452
      453
      454
      455
      456
      457
      458
      459
      460
      461
      462
      463
      464
      465
      466
      467
      468
      469
      470
      471
      472
      473
      474
      475
      476
      477
      478
      479
      480
      481
      482
      483
      484
      
        @media (prefers-color-scheme:dark){
           :root{
              --bg: #1a1b26;
              
              --urlbar-bg: #0d0d15;
              --urlbar-border-top: #000;
              --urldrop-bg: #0d0d15;
              --urlbar-border-bottom: #404040;
              --urlbar-height: 30px;
              --urlbar-outline: #414868;
              
              --fullscreen-warn: rgb(25,25,25);
              
              --arrowpanel-background: var(--urlbar-bg) !important;
              --button-hover-bgcolor: rgba(159, 159, 159, 0.35) !important;
              --button-active-bgcolor: rgba(255, 255, 255, .2) !important;
              --button-bgcolor: rgba(117, 117, 117, 0.9) !important;
              --toolbarbutton-icon-fill-opacity: 0.8 !important;
              --arrowpanel-border-color: rgb(55, 55, 55) !important;
              --identity-btn-hover-color: rgba(117,117,117) !important;
              
              --dark-menu-background-color: rgba(34, 34, 36, .5) !important;
              --dark-menu-border-color: rgb(55, 55, 55) !important;
              --dark-menuitem-hover-background-color: rgba(159, 159, 159, 0.35) !important;
           }
        }
              
        @media (prefers-color-scheme:light){
           :root{
              --bg: #f1f5f9;
                 
              --urlbar-bg: #cbd5e1;
              --urlbar-border-top: #9ca3af;
              --urlbar-border-bottom: #fff;
              --urldrop-bg: #cbd5e1;
              --urlbar-outline: #94a3b8;
              
              --fullscreen-warn: rgb(25,25,25);
              
              --arrowpanel-background: #e2e8f0 !important;
              --button-hover-bgcolor: #9699a3 !important;
              --button-hover-bgcolor: #cbd5e1 !important;
              --button-active-bgcolor: #cbd5e1 !important;
              --identity-btn-hover-color: white !important;
           }
        }
              
         /* Suppress Connecting/Waiting/Reading/Transerring */
         /* #statuspanel[type="status"] {
           display: none !important;
         } */
         /* Suppress Link Destination Overlay */
         /* #statuspanel[type="overLink"] {
           display: none !important;
         } */
              
        /* URL BAR */
        #urlbar {
           border-radius: 30px !important;
           border: 0 !important;
        }
              
        #urlbar:not(.megabar):not([focused="true"]):hover {
          outline: 1px solid var(--urlbar-outline) !important;
        }
              
        #urlbar[focused="true"] {
           border: 0 !important;
           border-top: 1px solid var(--urlbar-border-top) !important;
           border-bottom: 1px solid var(--urlbar-border-bottom) !important;
           border-radius: 30px !important;
        }
              
        #urlbar[breakout][breakout-extend]{
           border: none !important;
           box-shadow: rgba(0, 0, 0, 0.09) 0px 2px 1px, rgba(0, 0, 0, 0.09) 0px 4px 2px,
              rgba(0, 0, 0, 0.09) 0px 8px 4px, rgba(0, 0, 0, 0.09) 0px 16px 8px,
              rgba(0, 0, 0, 0.09) 0px 32px 16px !important;
           top: calc(
              (var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2 ) !important;
           left: 0 !important;
           width: 100% !important;
        }
              
        #urlbar-container{
           margin-bottom: 3px;
        }
              
        #urlbar-background {
           box-shadow: none !important;
           border-radius: 30px !important;
           background: var(--urlbar-bg) !important;  
        }
              
        #urlbar[focused="true"] #urlbar-background{
           box-shadow: inset 1px 1px 1px 0px rgba(0, 0, 0, 0.35) !important;
           outline: none !important;
        }
              
        #wrapper-urlbar-container #urlbar {
          height: var(--urlbar-height) !important;
        }
              
         /* Active Address/Search Field Dropdown */
        #urlbar[breakout][breakout-extend] > #urlbar-background {
           outline: none !important;
           box-shadow: none !important;
           background: var(--urldrop-bg) !important;
           border-radius: 15px !important;
        }
              
        #urlbar[breakout][breakout-extend] > #urlbar-input-container,
        #urlbar-input-container {
          height: var(--urlbar-height) !important;
          padding-block: 0px !important;
          padding-inline: 0px !important;
          transition: none !important;
        }
              
        /* Idendity icon button */
        #identity-icon-box.identity-box-button{
           margin: 3px 0 3px 3px;
           border-radius: 14px !important;
           background-color: var(--bg) !important;
           opacity: 0.8
        }
              
        #identity-icon-box.identity-box-button:hover{
           cursor: pointer;  
           background-color: var(--identity-btn-hover-color) !important;
        }
              
        /* Track protection icon */
        #tracking-protection-icon-container{
           border-radius: 16px !important;
        }
              
        #tracking-protection-icon-container:hover{
           cursor: pointer !important;
        }
              
        /* Star button */
        #star-button-box{
           border-radius: 16px !important;
        }
              
        #star-button-box{
           cursor: pointer !important;
        }
              
         /* | Borders | */
               
         .tabbrowser-tab::after {
            border: 0 !important;
         }
         .titlebar-spacer[type="pre-tabs"] {
            border: 0 !important;
         }
         #navigator-toolbox {
            border: 1 !important;
         }
               
         .titlebar-spacer[type="pre-tabs"] {
            border: 0 !important;
         }
               
         .tabbrowser-tab::after {
            border: 0 !important;
         }
               
         #urlbar-background {
            border: 0 !important;
         }
               
        #urlbar[open] > .urlbarView > .urlbarView-body-outer > .urlbarView-body-inner {
             border-top: 0 !important;
         }
              
               
         /* Active Tab */
         :root:not([lwt-default-theme-in-dark-mode]) .tab-background[selected],
         .tab-background[multiselected="true"] {	
            background: rgba(0,0,0,.05) !important;
         }
               
         :root[lwt-default-theme-in-dark-mode] .tab-background[selected],
         .tab-background[multiselected="true"] {	
            background: rgba(0,0,0,.2) !important;
         }
               
               
         /* Navigation Bar */
        #nav-bar {
           background-color: var(--bg) !important;
         }
              
         /* Bookmarks Bar */
        #PersonalToolbar {
            background-color: var(--bg) !important;
         }
              
         /* Navigation Bar Separator */
        #navigator-toolbox {
           border-color:var(--bg) !important;
         }
               
         /* Navigation bar Buttons */
         toolbarbutton:hover{
           cursor: pointer;
        }
              
         /* Show Tab close button on hover */
        .tabbrowser-tab:not([pinned]) .tab-close-button {
          display: -moz-box !important;
          opacity: 0;
          visibility: collapse !important;
          transition: opacity 0.25s, visibility 0.25s ease-in !important;
        }
        .tabbrowser-tab:not([pinned]):hover .tab-close-button {
          opacity: 1;
          visibility: visible !important;
          border-radius: 3px 3px 3px 3px !important;
        }
              
        /* Show URL buttons on Hover */
           #nav-bar:not([customizing="true"])
          > #nav-bar-customization-target
          > #urlbar-container:not(:hover)
          > #urlbar:not([focused])
          > #urlbar-input-container
          > #page-action-buttons {
          opacity: 0;
        }
        #page-action-buttons {
          transition: opacity 0.15s ease;
        }
        #nav-bar:not([customizing="true"])
          > #nav-bar-customization-target
          > #urlbar-container:not(:hover)
          > #urlbar:not([focused])
          > #urlbar-input-container
          > #tracking-protection-icon-container {
          opacity: 0;
        }
        #tracking-protection-icon-container {
          transition: opacity 0.15s ease;
        }
              
        /*Full Screen Warning*/
              
        #fullscreen-warning{
           background-color: var(--fullscreen-warn) !important;
           border-color: var(--fullscreen-warn) !important;
           max-width: 500px !important;
           max-height: 50px !important;
           border-radius: 50px !important;
           font-size: 12px !important;
           opacity: 0.8 !important;
        }
              
        .pointerlockfswarning-generic-text,
        .pointerlockfswarning-domain-text{
            font-size: 15px !important;
            color: rgb(255,255,255) !important;
            text-shadow: none !important;
        }
              
        /* Uncomment to Hide tabs bar for Tree style tabs (Credit u/jfgxyz on Reddit) */
        toolbar#TabsToolbar {
            height: 0px;
            min-height: 0 !important;
            background-color: var(--bg) !important;     
        }
        .toolbar-items {
           visibility: collapse;
        }
              
        /* ----- Move menu buttons ----- */
        /* :root {
           --toolbar-start-end-padding: 2px !important; 
        } */
              
        #nav-bar #PanelUI-button {
            -moz-box-ordinal-group: 0 !important;
        }
                 
        #nav-bar #PanelUI-button #PanelUI-menu-button {
           margin-right: 2px !important;
           margin-left: 2px !important;
        }
              
        /* toolbar:not([customizing]) > #nav-bar-overflow-button {
           -moz-box-ordinal-group: 1 !important;
        }
              
        toolbar:not([customizing]) > #nav-bar-customization-target {
           -moz-box-ordinal-group: 2 !important;
        } */
                
        /* ----- Close/min/max fix ----- */
        /* Fix popup position */
        #appMenu-popup {margin-inline: -244px !important;} 
              
        #nav-bar { 
            padding-left: 0px !important;
            padding-right: 118px !important;
            position: static !important;
        } 
              
        #navigator-toolbox:not([inFullscreen]) #TabsToolbar 
        .titlebar-buttonbox-container {
         visibility: visible !important;
          display: block  !important;
          position: absolute !important;
          top: 1px !important;
          left: unset !important;
          right: 0 !important; 
        }
              
        #TabsToolbar .titlebar-min {
           -moz-box-ordinal-group:0 !important;
        }
              
        #TabsToolbar .titlebar-max, .titlebar-restore {
            -moz-box-ordinal-group:1 !important;
        }
              
        #TabsToolbar .titlebar-close {
           -moz-box-ordinal-group:2 !important;
        }
              
        #navigator-toolbox[inFullscreen] #navigator-toolbox #TabsToolbar .titlebar-buttonbox-container {
           -moz-box-ordinal-group: 1 !important;
         }
              
        #navigator-toolbox #TabsToolbar .titlebar-buttonbox-container {
           -moz-box-ordinal-group: 1 !important;
        }
              
        @media only screen and (max-width: 670px) {
           #main-window #navigator-toolbox:not([inFullscreen]) #TabsToolbar .titlebar-buttonbox-container {
              visibility: visible !important;
              position: relative !important;
              display: block !important;
           }
           #main-window #navigator-toolbox:not([inFullscreen]) #nav-bar {
              padding-right: initial !important;
           }
           #TabsToolbar.browser-toolbar{
              display: flex !important;
              justify-content: flex-end !important;
           }
              
        }
              
        #toolbar-menubar{
           /* menubar bg color */
           background-color: var(--bg) !important;
        }
              
        /* Line up the Windows controls with the rest of the icons in the toolbar. */
        :root:not([sizemode="maximized"]) .titlebar-buttonbox-container {
           padding-top: 3px;
        }
              
        .titlebar-buttonbox {
           z-index:3 !important;
           padding-right:3px;
        }
              
        .titlebar-buttonbox * {
           border-radius: 5px;
           width:35px;
           height:38px;
        }
              
        /* SIDEBERY */
              
        /* hides the sidebar header */
        #sidebar-header {
        	display: none !important;
        }
              
        .tab[selected="true"] {
        	visibility: collapse;
        	height: 0px;
        }
              
        .tabbrowser-tab {
        	visibility: collapse;
        	height: 0px;
        }
              
        .tabbrowser-tab[visuallyselected="true"] {
        	visibility: collapse;
        	height: 0px;
        }
              
        /* AUTO HIDE SIDE BAR */
              
        #sidebar-box {
        	--uc-sidebar-width: 44px; 
        	--uc-sidebar-hover-width: 260px;
        	--uc-autohide-sidebar-delay: 1ms; /* Waiting time before hiding sidebar */
        	position: relative;
        	min-width: var(--uc-sidebar-width) !important;
        	width: var(--uc-sidebar-width) !important;
        	max-width: var(--uc-sidebar-width) !important;
        	z-index: 100;
        }
              
        #sidebar-box[positionend] {
        	direction: rtl;
        }
        #sidebar-box[positionend] > * {
        	direction: ltr;
        }
              
        #sidebar-box[positionend]:-moz-locale-dir(rtl) {
        	direction: ltr;
        }
        #sidebar-box[positionend]:-moz-locale-dir(rtl) > * {
        	direction: rtl;
        }
              
        /* HIDE SIDE BAR IN FULL SCREEN */
        #main-window[inFullscreen="true"] #sidebar-box {
        	--uc-sidebar-width: 0px;
        }
              
        #sidebar-splitter {
        	display: none;
        }
              
        #sidebar-header {
        	overflow: hidden;
        	color: var(--bg) !important;
        }
              
        #sidebar {
        	transition: min-width 115ms linear var(--uc-autohide-sidebar-delay) !important;
        	min-width: var(--uc-sidebar-width) !important;
        	will-change: min-width;
        }
              
        #sidebar-box:hover > #sidebar {
        	min-width: var(--uc-sidebar-hover-width) !important;
        	transition-delay: 0ms !important;
        }
              
        .sidebar-panel {
        	background-color: transparent !important;
        	color: var(--newtab-text-primary-color) !important;
        }
              
        .sidebar-panel #search-box {
        	-moz-appearance: none !important;
        	background-color: rgba(249, 249, 250, 0.1) !important;
        	color: inherit !important;
        }
              
        /* Add sidebar divider and give it background */
              
        #sidebar,
        #sidebar-header {
        	background-color: inherit !important;
        /* 	border-inline: 1px solid rgb(80, 80, 80); */
        	border-inline-width: 0px 1px;
        }
              
        #sidebar-box:not([positionend]) > :-moz-locale-dir(rtl),
        #sidebar-box[positionend] > * {
        	border-inline-width: 1px 0px;
        }
              
        /* Move statuspanel to the other side when sidebar is hovered so it doesn't get covered by sidebar */
              
        #sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel {
        	inset-inline: auto 0px !important;
        }
        #sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel-label {
        	margin-inline: 0px !important;
        	border-left-style: solid !important;
        }
      
  3. 再来一个Sidebery的CSS
    • CSS

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      93
      94
      95
      96
      97
      98
      99
      100
      101
      102
      103
      104
      105
      106
      107
      108
      109
      110
      111
      112
      113
      114
      115
      116
      117
      118
      119
      120
      121
      122
      123
      124
      125
      126
      127
      128
      129
      130
      131
      132
      133
      134
      135
      136
      137
      138
      139
      140
      141
      142
      143
      144
      145
      146
      147
      148
      149
      150
      151
      152
      153
      154
      155
      156
      157
      158
      159
      160
      161
      162
      163
      164
      165
      166
      167
      168
      169
      170
      171
      172
      173
      174
      175
      176
      177
      178
      179
      180
      181
      182
      183
      184
      185
      186
      187
      188
      189
      190
      191
      192
      193
      194
      195
      196
      197
      198
      199
      200
      201
      202
      203
      204
      205
      206
      207
      208
      209
      210
      211
      212
      213
      214
      215
      216
      217
      218
      219
      220
      221
      222
      223
      224
      225
      226
      227
      228
      229
      230
      231
      232
      233
      234
      235
      236
      237
      238
      239
      240
      241
      242
      243
      244
      245
      246
      247
      248
      249
      250
      251
      252
      253
      254
      255
      256
      257
      258
      259
      260
      261
      262
      263
      264
      265
      266
      267
      268
      269
      270
      271
      272
      273
      274
      275
      276
      277
      278
      279
      280
      281
      282
      283
      284
      285
      286
      287
      288
      289
      290
      291
      292
      293
      294
      295
      296
      297
      298
      299
      300
      301
      302
      303
      304
      305
      306
      307
      308
      309
      310
      311
      312
      313
      314
      315
      316
      317
      318
      319
      320
      321
      322
      323
      324
      325
      326
      327
      328
      329
      330
      331
      332
      333
      334
      335
      336
      
        @media (prefers-color-scheme: light) {
            #root {
                /* Tab and PinnedTab height adjustment */
                --tabs-height: 33px;
                --tabs-pinned-height: var(--tabs-height);
                /* Light Theme base settings */
                --bg: #f1f5f9 !important;
                --warn: #fca5a5 !important;
            }
              
            #root .Tab {
                --tabs-indent: 7px;
            }
              
            /* TABS */
              
            .Tab .lvl-wrapper:after {
                display: none;
            }
              
            .Tab {
                margin: auto;
                width: 94%;
                border-radius: 3px;
            }
              
            .Tab .close>svg:hover {
                /* Styling the tab close button */
                border-radius: 3px;
                background: var(--warn) !important;
                opacity: 80%;
            }
              
            .Tab .title {
                overflow: hidden !important;
            }
              
            /* PINNED TABS */
              
            .PinnedDock {
                background-color: var(--bg) !important;
            }
              
            .PinnedTab {
                margin: 5px 0px 4px 6px;
                border-radius: 3px;
            }
              
            /* NAV BAR */
              
            .NavigationBar {
                height: 41px !important;
                padding: 4.5px 0px 0px 4.5px !important;
                /*background-color: # !important;*/
                margin-bottom: 5px;
            }
              
            .NavigationBar .panel-btn:hover {
                border-radius: 3px !important;
                background-color: var(--tabs-bg-hover) !important;
            }
              
            .NavigationBar .panel-btn[data-active="true"] {
                border-radius: 3px !important;
                background-color: var(--bg) !important;
            }
              
            .NavigationBar .panel-btn[data-active="true"]:hover {
                border-radius: 3px !important;
                background-color: var(--tabs-bg-hover) !important;
            }
              
            .NavigationBar .panel-btn>svg,
            .NavigationBar .panel-btn>img {
                fill: var(--panel-btn) !important;
            }
              
            /* SIDEBAR HACK PATCHES */
              
            @media (max-width: 50px) {
              
                /* Fix to tab tree identation when minimised */
                #root:not(:hover) .Tab {
                    --tabs-indent: 0px;
                }
              
                .Tab[data-lvl]>div.lvl-wrapper {
                    right: -2px;
                }
              
                .Tab {
                    max-width: 34px;
                }
              
                .Tab .fav {
                    z-index: 1;
                }
              
                .Tab .audio {
                    z-index: 1;
                    margin-left: -12px;
                    height: 26px;
                }
              
                .Tab .title {
                    display: none;
                }
              
                .PinnedTab {
                    margin-left: 5px;
                }
              
                .NavigationBar .settings-btn {
                    display: none;
                }
            }
              
            /* OPTIONAL */
              
            /* Disable these two snippets below to make pinned tabs wrap when minimised */
            /*.PinnedDock {
        	flex-wrap: nowrap !important;
        }
              
        .PinnedTab {
        	overflow: hidden !important;
        	min-width: var(--tabs-pinned-width) !important;
        }*/
              
            /* Optional patch for better tab notifications on pinned tabs */
              
            .PinnedTab[data-audible] .fav>img,
            .PinnedTab[data-muted] .fav>img,
            .PinnedTab[data-loading] .fav>img {
                mask: none;
            }
              
            .PinnedTab .fav>img {
                mask: none;
            }
              
            .PinnedTab[data-updated="true"] .fav>img {
                mask: radial-gradient(circle at calc(100% - 2px) calc(100% - 2px), rgba(0, 0, 0, 0.141), rgba(0, 0, 0, 0.141) 4px, #000 5px, #000);
            }
              
            .PinnedTab .audio-badge {
                top: 5px;
            }
              
            .PinnedTab .update-badge {
                opacity: 0;
            }
              
            .PinnedTab[data-updated="true"] .update-badge {
                opacity: 100;
            }
              
        }
              
        @media (prefers-color-scheme: dark) {
            #root {
                /* Tab and PinnedTab height adjustment */
                --tabs-height: 33px;
                --tabs-pinned-height: var(--tabs-height);
              
                /* Dark Theme base settings */
                --bg: #1a1b26 !important;
                --tabs-fg: #d4d4d4 !important;
                --tabs-bg-hover: #3b3948 !important;
                --tabs-activated-bg: #5b5b66 !important;
                --nav-btn-activated-bg: #1f222f !important;
                --panel-btn: #f2f2f2 !important;
                --warn: #8c4351 !important;
            }
              
            #root .Tab {
                --tabs-indent: 7px;
            }
              
            /* TABS */
              
            .Tab .lvl-wrapper:after {
                display: none;
            }
              
            .Tab {
                margin: auto;
                width: 94%;
                border-radius: 3px;
            }
              
            .Tab .close>svg:hover {
                /* Styling the tab close button */
                border-radius: 3px;
                background: var(--warn) !important;
                opacity: 80%;
            }
              
            .Tab .title {
                overflow: hidden !important;
            }
              
            /* PINNED TABS */
              
            .PinnedDock {
                background-color: var(--bg) !important;
            }
              
            .PinnedTab {
                margin: 5px 0px 4px 6px;
                border-radius: 3px;
            }
              
            /* NAV BAR */
              
            .NavigationBar {
                height: 41px !important;
                padding: 4.5px 0px 0px 4.5px !important;
                /*background-color: # !important;*/
                margin-bottom: 5px;
            }
              
            .NavigationBar .panel-btn:hover {
                border-radius: 3px !important;
                background-color: var(--tabs-bg-hover) !important;
            }
              
            .NavigationBar .panel-btn[data-active="true"] {
                border-radius: 3px !important;
                background-color: var(--bg) !important;
            }
              
            .NavigationBar .panel-btn[data-active="true"]:hover {
                border-radius: 3px !important;
                background-color: var(--tabs-bg-hover) !important;
            }
              
            .NavigationBar .panel-btn>svg,
            .NavigationBar .panel-btn>img {
                fill: var(--panel-btn) !important;
            }
              
            /* SIDEBAR HACK PATCHES */
              
            @media (max-width: 50px) {
              
                /* Fix to tab tree identation when minimised */
                #root:not(:hover) .Tab {
                    --tabs-indent: 0px;
                }
              
                .Tab[data-lvl]>div.lvl-wrapper {
                    right: -2px;
                }
              
                .Tab {
                    max-width: 34px;
                }
              
                .Tab .fav {
                    z-index: 1;
                }
              
                .Tab .audio {
                    z-index: 1;
                    margin-left: -12px;
                    height: 26px;
                }
              
                .Tab .title {
                    display: none;
                }
              
                .PinnedTab {
                    margin-left: 5px;
                }
              
                .NavigationBar .settings-btn {
                    display: none;
                }
            }
              
            /* OPTIONAL */
              
            /* Disable these two snippets below to make pinned tabs wrap when minimised */
            /*.PinnedDock {
                flex-wrap: nowrap !important;
            }
                  
            .PinnedTab {
                overflow: hidden !important;
                min-width: var(--tabs-pinned-width) !important;
            }*/
              
            /* Optional patch for better tab notifications on pinned tabs */
              
            .PinnedTab[data-audible] .fav>img,
            .PinnedTab[data-muted] .fav>img,
            .PinnedTab[data-loading] .fav>img {
                mask: none;
            }
              
            .PinnedTab .fav>img {
                mask: none;
            }
              
            .PinnedTab[data-updated="true"] .fav>img {
                mask: radial-gradient(circle at calc(100% - 2px) calc(100% - 2px), rgba(0, 0, 0, 0.141), rgba(0, 0, 0, 0.141) 4px, #000 5px, #000);
            }
              
            .PinnedTab .audio-badge {
                top: 5px;
            }
              
            .PinnedTab .update-badge {
                opacity: 0;
            }
              
            .PinnedTab[data-updated="true"] .update-badge {
                opacity: 100;
            }
        }
              
        .Tab .title {
            transition: margin-left 300ms ease;
        }
        .Tab:hover {
            --tabs-inner-gap: 8px;
        }
        .Tab:hover .title {
            margin-left: 8px;
        }
              
        .Tab[data-discarded="true"] .title {
            opacity: 80%;
        }
      

Firefox的一些注意

  1. 多账户问题:firefox同时提供国内版服务和国际版服务,两者不共通。不过得在国内渠道下载到的才会有国内版服务。我直接都用国际版就行。
  2. 同时用多个浏览器同步标签,使用Floccus.

IDE

VSCode

参考:https://weberdominik.com/blog/vscode-vertical-tabs/

简单概括:找到左侧栏中打开文件”的窗口,然后拖追到右侧。然后设置关闭顶部的标签栏。

JB

JB自己家就有标签管理,右键标签栏转到设置里设置就行,比如我放置在右侧的位置。

本文由作者按照 CC BY 4.0 进行授权

Poe使用(提供API了!)

家庭NAS(自己折腾版)