├── .gitignore ├── custom.css ├── extensions ├── avatar_size.css ├── bookmark_arrow.css ├── fix_hidden_bookmarks.css ├── hide_sidebar_switcher.css ├── sidebar.css ├── superbox_removal.css └── window_controls.css ├── firefox ├── README.md └── treestyletabs-legacy │ ├── treestyletabs-config-v12021.06.09.json │ └── treestyletabs.css ├── prefs.css ├── readme.md ├── sidebery-data.json └── userChrome.css /.gitignore: -------------------------------------------------------------------------------- 1 | ./custom.css 2 | ./prefs.css -------------------------------------------------------------------------------- /custom.css: -------------------------------------------------------------------------------- 1 | /* Your custom modifications here */ -------------------------------------------------------------------------------- /extensions/avatar_size.css: -------------------------------------------------------------------------------- 1 | [label="Firefox Account"] #fxa-avatar-image { 2 | scale: 1.25; 3 | } 4 | -------------------------------------------------------------------------------- /extensions/bookmark_arrow.css: -------------------------------------------------------------------------------- 1 | /* 2 | Extension: Bookmark Arrow 3 | Description: Adds an arrow next to the bookmark folder. 4 | */ 5 | 6 | .bookmark-item[container] { 7 | margin-right: 10px !important; 8 | } 9 | 10 | /* Add down arrow to folders on the bookmark bar */ 11 | .bookmark-item[container]::after { 12 | content: "ˇ"; 13 | opacity: 0.55; 14 | padding-left: 3.5px; 15 | font-size: 23px; 16 | display: inline-block; 17 | position: absolute; 18 | top: 6.9px; 19 | } 20 | -------------------------------------------------------------------------------- /extensions/fix_hidden_bookmarks.css: -------------------------------------------------------------------------------- 1 | #sidebar-box { 2 | --menubar-height: -42px !important; 3 | } 4 | -------------------------------------------------------------------------------- /extensions/hide_sidebar_switcher.css: -------------------------------------------------------------------------------- 1 | #sidebar-header { 2 | display: none; 3 | } 4 | 5 | #sidebar-box { 6 | --menubar-height: 0px !important; 7 | } 8 | 9 | .browser-toolbar { 10 | padding-left: unset !important; 11 | } 12 | -------------------------------------------------------------------------------- /extensions/sidebar.css: -------------------------------------------------------------------------------- 1 | /* 2 | Extension (Core): Sidebar 3 | Description: This is the core implementation of the sidebar used in drannex's FirefoxSidebar. 4 | Repository URL: https://github.com/drannex/FirefoxSidebar 5 | Version: v2-2025.05.05 (YYYYY.MM.DD) 6 | */ 7 | 8 | #main-window { 9 | --sidebar-width: 50px; 10 | } 11 | 12 | /* Fullscreen fix: Change the width to 1px */ 13 | #main-window[inFullscreen="true"] { 14 | --sidebar-width: 1px; 15 | } 16 | 17 | /* Hide default vertical tabs */ 18 | #vertical-tabs { 19 | display: none !important; 20 | } 21 | 22 | /* Remove the border radius on the webview */ 23 | #browser { 24 | border-radius: 0px !important; 25 | } 26 | 27 | /* Remove the sidebar header */ 28 | #sidebar-panel-header { 29 | display: none; 30 | } 31 | 32 | /* Sidebar switcher toolbar */ 33 | #sidebar-main { 34 | order: 1 !important; 35 | z-index: 999; 36 | border: medium; 37 | width: var(--sidebar-width) !important; 38 | max-width: var(--sidebar-width) !important; 39 | flex-direction: column-reverse; 40 | position: absolute; 41 | bottom: 0px; 42 | overflow: hidden !important; 43 | height: 50px; 44 | } 45 | 46 | #sidebar-main:hover { 47 | z-index: 99; 48 | height: fit-content; 49 | background: var(--arrowpanel-background); 50 | } 51 | 52 | /* Sidebar extension */ 53 | #sidebar-box { 54 | width: var(--sidebar-width) !important; 55 | min-width: var(--sidebar-width) !important; 56 | z-index: 98 !important; 57 | box-shadow: none !important; 58 | position: absolute !important; 59 | height: 100% !important; 60 | padding: 0px !important; 61 | border-right: 1px solid var(--chrome-content-separator-color); 62 | } 63 | 64 | #sidebar-box:hover { 65 | width: 260px !important; 66 | } 67 | 68 | #sidebar-box #sidebar { 69 | padding-bottom: 50px; 70 | border: medium !important; 71 | border: none !important; 72 | border-radius: 0 !important; 73 | box-shadow: none !important; 74 | } 75 | 76 | /* Web view container */ 77 | #tabbrowser-tabbox { 78 | padding-left: 0px; 79 | } 80 | 81 | #tabbrowser-tabbox[sidebar-shown] { 82 | border-radius: 0px !important; 83 | padding-left: var(--sidebar-width); 84 | border: medium !important; 85 | box-shadow: none !important; 86 | } 87 | 88 | /* Fix the dreaded verticalalignment on the new buttons... */ 89 | #sidebar-button { 90 | padding-left: 9px; 91 | margin-right: -3px; 92 | padding-top: 1px; 93 | } 94 | 95 | #alltabs-button { 96 | padding-top: 1px; 97 | } 98 | 99 | /* Spacing adjustment for bookmark bar */ 100 | #PlacesToolbarItems { 101 | padding-left: 4px; 102 | padding-top: 0px; 103 | padding-bottom: 6px; 104 | } 105 | 106 | -------------------------------------------------------------------------------- /extensions/superbox_removal.css: -------------------------------------------------------------------------------- 1 | /* 2 | Extension: Superbox Removal (and compaction) 3 | Description: This removes the superbox and fixes some padding around the urlbar. 4 | Repository URL: https://github.com/drannex42/FirefoxSidebar 5 | */ 6 | 7 | /* --- Prevent enlargement */ 8 | #urlbar[breakout-extend] { 9 | /* top: calc( */ 10 | /* (var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2 */ 11 | /* ) !important; */ 12 | /* Fix due to deprecation https://www.reddit.com/r/firefox/comments/1cs3g49/address_bar_suggestions_going_up_instead_of_down/ */ 13 | top: calc((var(--urlbar-container-height, --urlbar-toolbar-height) - var(--urlbar-height)) / 2) !important; 14 | left: 0 !important; 15 | width: 100% !important; 16 | } 17 | 18 | #urlbar[breakout-extend] #urlbar-input-container { 19 | height: var(--urlbar-height) !important; 20 | /* padding: 0px !important; */ 21 | padding-block: 0px !important; 22 | padding-inline: 0px !important; 23 | } 24 | .urlbarView-row { 25 | padding: 0px 2px 0px 2px; 26 | } 27 | /* END Prevent enlargement --- */ 28 | 29 | /*/* --- Reduce row paddings to make them more compact */ 30 | .urlbarView-row { 31 | padding: 2px 0px !important; 32 | line-height: 1.2em !important; 33 | margin: -1px; 34 | margin-bottom: 0px; 35 | } 36 | .urlbarView-row-inner { 37 | padding-bottom: 6px !important; 38 | } 39 | .urlbarView { 40 | margin: 0px !important; 41 | width: 100% !important; 42 | } 43 | /* END Reduce row paddings to make them more compact --- */ 44 | 45 | /* Disable Urlbar Animation */ 46 | #urlbar[breakout][breakout-extend][breakout-extend-animate] 47 | > #urlbar-background { 48 | animation-name: none !important; 49 | animation: none !important; 50 | } 51 | /* END Disable Urlbar Animation */ 52 | 53 | /* --- More compact "Search with Google" rows */ 54 | .urlbarView-row[dynamicType="onboardTabToSearch"] > .urlbarView-row-inner { 55 | min-height: auto !important; 56 | width: auto !important; 57 | } 58 | .urlbarView-row[dynamicType="onboardTabToSearch"] 59 | > .urlbarView-row-inner 60 | > .urlbarView-no-wrap 61 | > .urlbarView-favicon { 62 | margin-bottom: -1px; 63 | } 64 | /* END More compact "Search with Google" rows --- */ 65 | 66 | /* Remove active border on the addressbar when in focus */ 67 | #nav-bar { 68 | --toolbar-field-focus-border-color: #ccc; 69 | } 70 | 71 | /* Remove box shadow on address bar */ 72 | #urlbar-background, 73 | #searchbar { 74 | box-shadow: none !important; 75 | } 76 | -------------------------------------------------------------------------------- /extensions/window_controls.css: -------------------------------------------------------------------------------- 1 | /* 2 | Extension: Window Controls / Client Side Decorations (CSD) 3 | Description: This brings the window controls into the main bar (where the address bar exists). Please see the prefs.css folder for switching the sides from left to right. 4 | Repository URL: https://github.com/drannex42/FirefoxSidebar 5 | Contributors: Mr-nUUb, Xanaxus, Drannex42 6 | Issue URL: https://github.com/drannex42/FirefoxSidebar/issues/14 7 | */ 8 | 9 | /* allow the buttons to appear */ 10 | .browser-toolbar { 11 | position: unset !important; 12 | } 13 | 14 | /* reserve space for buttons */ 15 | #nav-bar { 16 | padding-right: var(--csd-margin-right) !important; 17 | margin-left: var(--csd-margin-left) !important; 18 | } 19 | 20 | /* move buttons next to menu button */ 21 | .titlebar-buttonbox-container { 22 | visibility: visible !important; 23 | position: fixed !important; 24 | display: block; 25 | z-index: 999999999; 26 | top: var(--csd-top, inherit); 27 | right: var(--csd-right, inherit); 28 | left: var(--csd-left, inherit); 29 | max-width: var(--csd-width); 30 | } 31 | 32 | /* hide buttons in fullscreen mode (video player and F11) */ 33 | #main-window[inFullscreen="true"] .titlebar-buttonbox-container, 34 | #main-window[inDOMFullscreen="true"] .titlebar-buttonbox-container { 35 | visibility: hidden !important; 36 | } 37 | 38 | /* remove empty space when in fullscreen mode (F11) */ 39 | #main-window[inFullscreen="true"] #nav-bar { 40 | padding-right: 0px !important; 41 | margin-left: 0px !important; 42 | } 43 | /* END Client Side Decorations / Window Controls */ 44 | -------------------------------------------------------------------------------- /firefox/README.md: -------------------------------------------------------------------------------- 1 | # This repo has been renamed to FirefoxSidebar 2 | 3 | Redirect should be automatic, and all files can be found at the root of this repo. 4 | 5 | ------- 6 | 7 | Legacy TST themes can be found above, **these will not be updated**. Use the improved version of FirefoxSidebar at the root of this repo. 8 | -------------------------------------------------------------------------------- /firefox/treestyletabs-legacy/treestyletabs-config-v12021.06.09.json: -------------------------------------------------------------------------------- 1 | { 2 | "autoCollapseExpandSubtreeOnAttach": false, 3 | "autoCollapseExpandSubtreeOnSelect": false, 4 | "chunkedUserStyleRules0": "LyogCglUaXRsZTogRWRnZS1MaWtlIChCZXR0ZXIpIFRyZWUgU3R5bGUgVGFicwoJRGVzY3JpcHRpb246IFRoaXMgaXMgYSByZWNyZWF0aW9uIChhbmQgYmV0dGVyKSB2ZXJzaW9uIG9mIG15IHBzZXVkby1wb3B1bGFyIFZpdmFsZGkgdmVydGljYWwgdGFiIGludGVncmF0aW9uLCBmb3IgdHJlZSBzdHlsZSB0YWJzIGluIGZpcmVmb3guIFRoaXMgaXMgcHJvYmFibHkgdGhlIGJlc3QgVHJlZSBTdHlsZSBUYWJzIGludGVyZmFjZSBvdXQgdGhlcmUuCglBdXRob3I6IEBEcmFubmV4NDIgKGh0dHBzOi8vZ2l0aHViLmNvbS9kcmFubmV4NDIvbGludXgtdXRpbHMgLSBodHRwczovL21hY2xlb2RzYXd5ZXIuY29tKQoJTm90ZXM6IFRoaXMgd29ya3MgYmVzdCB3aXRoIG15IGN1c3RvbSB1c2VyQ2hyb21lLmNzcyBmaWxlIGluIHRoZSAvZmlyZWZveC8gZm9sZGVyIC0gTG90cyBvZiB2ZXJ5IGNvb2wgZmVhdHVyZXMgYnVpbHQgaW4uCiAgVmVyc2lvbjogMTIwMjAuMDMuMDYKCQoqLwoKLyogSGlkZSAudHdpc3R5IGFuZCBhZGp1c3QgbWFyZ2lucyBzbyBmYXZpY29ucyBoYXZlIDdweCBvbiBsZWZ0LiAqLwoudGFiIC50d2lzdHkgewoJdmlzaWJpbGl0eTogaGlkZGVuOwoJbWFyZ2luLWxlZnQ6IC04cHg7CiAgZGlzcGxheTogbm9uZTsKfQoKLyogUHVzaCB0YWIgbGFiZWxzIHNsaWdodGx5IHRvIHRoZSByaWdodCBzbyB0aGV5J3JlIGNvbXBsZXRlbHkgaGlkZGVuIGluIGNvbGxhcHNlZCBzdGF0ZSAqLwoudGFiIC5sYWJlbCB7Cglmb250LXNpemU6IDEzcHg7CiAgCXBhZGRpbmctbGVmdDogNy41cHg7Cn0KCi50YWI6bm90KDpob3ZlcikgPiAuY2xvc2Vib3ggewogIGRpc3BsYXk6IG5vbmU7Cn0KCnRhYi1pdGVtOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiAgICByZ2JhKDAsMCwwLDAuMDc1KSFpbXBvcnRhbnQ7CiAgb3BhY2l0eTogMTsKfQoKLmNsb3NlYm94OmhvdmVyIHsKICBmb250LXdlaWdodDogOTAwOwp9CgoudGFiLCAudGFicywgYm9keSwgI2JhY2tncm91bmQgewogICAvKiAjRjVGNkY3OyAqLwogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CgoKLmZhdmljb24gewogIC0tZmF2aWNvbi1zaXplOiAxN3B4ICFpbXBvcnRhbnQ7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAtLXN2Zy1zbWFsbC1pY29uLXNpemU6IHZhcigtLWZhdmljb24tc2l6ZSk7CiAgLyohIHRleHQtYWxpZ246IGNlbnRlcjsgKi8KICBtYXJnaW4tbGVmdDogLjVweDsKICBkaXNwbGF5OiBpbmxpbmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQp0YWItaXRlbSB7CiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsKICBmb250LXNpemU6IDEzcHg7CiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OwogIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICBib3JkZXItcmFkaXVzOiA1cHg7CiAgcGFkZGluZzogNXB4ICFpbXBvcnRhbnQ7CiAgbWFyZ2luOiA3LjVweCAxMHB4ICFJbXBvcnRhbnQ7CiAgdHJhbnNpdGlvbjogMCAhSW1wb3J0YW50OwogIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsKICB0cmFuc2l0aW9uOiB3aWR0aCAwLjFzICFJbXBvcnRhbnQ7Cn0KCiN0YWJiYXItY29udGFpbmVyewogIC8qISB3aWR0aDogNTBweDsgKi8KICAvKiEgbWFyZ2luOiAycHg7ICovCiAgdHJhbnNpdGlvbjogbm9uZTsKfQoKCnRhYi1pdGVtOm5vdCguZmF2aWNvbml6ZWQpIC5jb250ZXh0dWFsLWlkZW50aXR5LW1hcmtlciB7CiAgLS1jb250ZXh0dWFsLWlkZW50aXR5LW1hcmtlci1tYXJnaW46IG1pbihjYWxjKCh2YXIoLS10YWItY3VycmVudC1zaXplKSAtIHZhcigtLWZhdmljb24tc2l6ZSkpIC8gMiksIGNhbGModmFyKC0tdGFiLWN1cnJlbnQtc2l6ZSkgKiAwKSk7CiAgbGVmdDogLTExcHggIWltcG9ydGFudDsKICAtLWNvbnRleHR1YWwtaWRlbnRpdHktbWFya2VyLXdpZHRoOiAzLjVweDsKICB6LWluZGV4OiA5OTk5Owp9CgojYWxsLXRhYnMgewp9Cgo6cm9vdC5sZWZ0ICN0YWJiYXIgewogIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsKICBtYXJnaW4tdG9wOiAtNXB4ICFpbXBvcnRhbnQ7Cn0KCgojdGFiYmFyIHRhYi1pdGVtIHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgLyohIHdpZHRoOiAxMDAlOyAqLwogIG92ZXJmbG93OiBoaWRkZW4gIUltcG9ydGFudDsKfQp0YWItaXRlbTpub3QoOmhvdmVyKSB7Cn0KdGFiLWl0ZW0gLmxhYmVsLCB0YWItaXRlbSAuaGlnaGxpZ2h0ZXIsIHRhYi1pdGVtIC5jb250ZXh0dWFsLWlkZW50aXR5LW1hcmtlciwgdGFiLWl0ZW0gLmV4dHJhLWl0ZW1zLWNvbnRhaW5lciwgdGFiLWl0ZW0gLmNvdW50ZXIgewogIC8qISBkaXNwbGF5OiBub25lOyAqLwogIC8qISBtYXJnaW46IDBweCAhSW1wb3J0YW50OyAqLwp9CnRhYi1pdGVtLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjgpISAhaW1wb3J0YW50OwogIGJveC1zaGFkb3c6IDBweCAycHggNXB4IHJnYmEoMCwwLDAsMC4zKSAhaW1wb3J0YW50Owp9Cgp0YWItaXRlbTpub3QoLnBpbm5lZCkuY29sbGFwc2VkLmNvbGxhcHNlZC1jb21wbGV0ZWx5IHsKICAgIHZpc2liaWxpdHk6IGNvbGxhcHNlOwogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Owp9Cgo6cm9vdCAudGFiIC5oaWdobGlnaHRlcjo6YmVmb3JlIHsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KCi5hZnRlci10YWJzIGJ1dHRvbiB7CiAgICBib3JkZXI6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lOwogICAgbWFyZ2luOiA5cHg7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgbWFyZ2luLXJpZ2h0OiAxN3B4Owp9CgouYWZ0ZXItdGFicyBidXR0b246aG92ZXIgewogIGJhY2tncm91bmQ6ICAgIHJnYmEoMCwwLDAsMC4wNzUpIWltcG9ydGFudDsKICAgIG9wYWNpdHk6IDE7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7Cn0KCiAgI3RhYmJhciBbZGF0YS1sZXZlbF0gewp9CgojdGFiYmFyIFtkYXRhLWxldmVsPSIxIl0gewogICAgbWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudDsKfQoKI3RhYmJhciBbZGF0YS1sZXZlbD0iMiJdIHsKICAgIG1hcmdpbi1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7Cn0KCiN0YWJiYXIgW2RhdGEtbGV2ZWw9IjMiXSB7CiAgICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50Owp9CgojdGFiYmFyIFtkYXRhLWxldmVsPSI0Il0gewogICAgbWFyZ2luLWxlZnQ6IDUwcHggIWltcG9ydGFudDsKfQoKI3RhYmJhciBbZGF0YS1sZXZlbD0iNSJdIHsKICAgIG1hcmdpbi1sZWZ0OiA2MHB4ICFpbXBvcnRhbnQ7Cn0KCiN0YWJiYXIgW2RhdGEtbGV2ZWw9IjYiXSB7CiAgICBtYXJnaW4tbGVmdDogNzBweCAhaW1wb3J0YW50Owp9CgojdGFiYmFyIFtkYXRhLWxldmVsPSI3Il0gewogICAgbWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudDsKfQoKI3RhYmJhciBbZGF0YS1sZXZlbD0iOCJdIHsKICAgIG1hcmdpbi1sZWZ0OiA5MHB4ICFpbXBvcnRhbnQ7Cn0KCiN0YWJiYXI6OmJlZm9yZSB7CiAgY29udGVudDogIiAiOwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMTAwJTsKICBiYWNrZ3JvdW5kOiAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFRQUFBQUVBQ0FRQUFBRDJlMkR0QUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUNCalNGSk5BQUI2SmdBQWdJUUFBUG9BQUFDQTZBQUFkVEFBQU9wZ0FBQTZtQUFBRjNDY3VsRThBQUFBQW1KTFIwUUFBS3FOSXpJQUFBQUhkRWxOUlFmaUJnc0pDUWI0YVVkN0FBQVNRRWxFUVZSNDJ1MmRhWmhWeFptQTMyNGFnVzVXV1JxRWJocUZnTEtJb0ZGRUJCUG5BU0tvQVpPUWVXU0NPbzQ2SVNweFNVSWttUWlKQ3hOOU1vTnhBY0hnQUU2TWpHaEFJSXJJZzhnaXlBNENnblEzTkkyczNXeTludm5CZGkvYzIzMVBuYXI2VHQrdTkvdkZwVTlWZmNzNXAwNHRYNEhENFhBNEhBNkh3K0Z3T0J3T2g4UGhjRGdjRG9mRDRYQTRIQTZIdytGd09Cd09oOFBoY0RnY0RvZkRVY3RKb1oxMEV4eHlwUE0yVTZVYjRaQ2lKU3Z3T0VaejZZWTRKTWhpQ3g0ZUh2OHAzUlNIZmJMNTZvejdQVXJwS3QwY2gxM2FSYmpmdzJNVmRhV2I1TEJITXpaRXVkL0Q0M25wUmpsczBZQ2xGN25mbzVJN3BCdm1zRUVLczJLNDM4T2ppTzdTalV0Y2lkcEJPaDFvUnhhWlpISXBUV2xNT2cxSUk0MUt5aW1qbENLS0tPSUEreWhrTDd2SXBiU2FNc2Z5KzdqLzl6VjkyQ2V0ZENJa2N3QTBwQWM5dVpLcjZFSWIzNXBXa00rWGJHWWphOWtRSXhodVpRR3BWVnkvbHY0VVNadWdkbklGOXpDRmRaVEhlVUQ3bHhKV01Za2YwdVpjSGEzWlYrMVZpNmd2YllyYVJUTkdNSlZjYlc2UEpkdDRpU0UwWW01Q2Z6MlhTNlNOVWp0b3o2TXNwc3lvNnlNbDhacG11MUVCczdSZ05FdXB0T1o2Ly9JdTlhU05sSnlrTW9qWmxJZzdPSkVYZ2VzTGFLWTVUL0sxdUdNVGx3OXBLRzJ5NUtFamYrYUV1RXY5eWtwYVZLRlRDaitXTnF0TjJpdGYyWU8zcUJCM3BwcHNxbUs5ME4yOEwrMFVlL3lXMTVTdXU1SzNROTNacTE3eTZCRlRzM3JzWW4rVmcwcEp4Tk40elBCOVZWdW1hQnpXa1pNajNCcER1NS9pNFhHdHRHdHM4RE04UEJiNHVpYWQvK0M0dU90MFNR", 5 | "chunkedUserStyleRules1": "a2pMOUR2RXZMd3FCVnJpUWFldVlzMytiaG1HTHZGbmFaWEtoa2ZOUy94a3pPL0Z5YjdlRUUyQjgrb2VvcTBCSzlJYk1DMTVzbmJwSi9UY3ZXNVgrK1JkcEZKMHFLV1RsUy9iaTZGMFJTSk84cWNyT0l5QUhwSC9MYUZPdEp1TXNjVFVlcmZXODFmNTdCSTNFV21KWStyZ1Q5Ry9mWXY5aDFqWnoxQUo5YlJJT0xmYjFhcDZ0MU1vb21CVmh4bUIza1VzSmVESE9Vb0p5aWpES2hMWFJyU21HYTBJcE1zY3NnaHc0SlZpaGpDTks2SStDV1h6cHl5VUxOMUZsd1EvWVZ4djNvYk1sM3JmVmJDY3Y3TWc5em9hOHRHQ3RrTTVBbG04S1hSc1llVEYvMHlUdHBWSmhnU1EvWCtNZi95cW5NYkxJTEtDVDdpVjl3VTlkeFJveG0zOFJ3ckxiMFlUdEJCMmwyNlNZMnhjTnFMT1JyNEE0bzFtRENmVnhtc2ZmNnRuYVVBOEpnajdURGRqSWlwWmpHTm8vNHFsZkdCSDdiN2VabCtob1pVLzlsYUFIZ01sM2FaVGxKWUYwZk54eVArS3AxM0FwbXNnZys0eStqYW01Y3NCa0FCeld3NnlDd0RtUi9uZndyb3lBa0FXdkUrMzFhdW9ZaXBUT0tycU45U3lTYUxUSnBRbjBzb3A0UWpIQ1NmWEU0cTF2SUpOeHUyVkNSdkpNK2dVRlZqZVU4QmNEbmJsZStWZlR4Sm80amEyakNTVjFrZG8zZDk5a214ay8raGxZSWVlUmFmQUI0ZTM1TjJuQjV5cXB5OUw2WTkzZGlyN1B4SEl2cjRyUmpEaWdSNkVXOHBaZkc0eFBvcWhIeWJyd0Z6L0xZYU5UL2pnSko1anZKVXhDS3JicnlaME5yQWZBWXI2dEhCc3ZzOVBLWkxPMDhIT3d3WXBvSnB0RDVYUXpZekVydzczd2x3VC9VVkNBQ1A3MHU3THlpOURSaGxiVVIzTVpVeENZNGNsUEpJSUUzdUVnbUEvVXE5bFJEeGU4MEdPYzRURVJQSnJma293ZXNPTWlDZ0pnK0tCSURIYkdrWEJtTzlWbU1zcDNORTJiMFMzZ0sya3k2Qk5mbTFVQUNJekEvcVF1L2c2UUh1anhnbEg4RFJCSy9iUWxzTnVqd25GZ0NIYTI3dXdWRUd6TEdEU1h5WDd5UzhSbkFybVZwMCtXK3hBUENZWDFPMzhFOFROTnBwMmFYdDdubE5WSThIVGJySjNHcjB2aWFiblFCSHVJMThUV1Y1b3BwTUpNZGM0YVlDb0RrZHpUVTZBY3I1SVp1MWxWWXBxa3RESnB0N0RaZ0tnTjdDYjY2bitJZkcwb3BGZFlGYnVkOVUwYVlDb0Vmd0lnS3drSWxheTVQUDlUT1JMRE1GbXdxQWJzWk1VVDFIdUZmelE3dEFVSnZUTk9ZbE13V2JDb0RnZ3kvcS9KSTlta3ZNRTlUbUxFTzVTN29KZmxDYjVkTWhxd3dFOWVYaW43UWVIbnRwS3UzV1JHa2lhS1piRE9pVG12RElvMWw1V2RxeGlkSk56RVFmR3RMb1EzSG5lM2hVNk45RWJxWVBvR1A4WFkwL0dDcjNFekdOSWtsbGttNlBtUWtBUFNQdy90bkRJa01senhQUzZFS3VaNVRlQXMwRWdOVEpPVzBEei96SFl3MjdoSFM2a0dmMWRnVk5CRUNxOHRxNzRMeVlZTzRCdjRSbmpWN0xNNnVwUTh3NDBZNlNxVjVBVzByRk80R25wU1JxUjNIbytLNXdPcWZLYXJNUHFQS0d1T3ZQeWx2U1RvNVBDK1YxL3Zxa2dyRkdYbTFYaE9ZWlVFbHZhVWZIWTdhNGNVN0xjbTQxTUIvNWdyaGVaMlYrY0dWT285ZElvNWltM2VqcTVMR0lMOWxEQVFVVWNGQkRpWTJyelBkcGwzNHMxVkdNemdCb3plWVFiMmc2VGk2NTdHSWIyOW5BYnNWU0JqRXZKR3YwUG9xWmRGS1V2NGsvR0JPWGc4emw1MG9qbG44VWIvdFo2U1B0OEdodUV6ZUlmeW5sZDc3MXJNdkg0dTArTFgrWGRua2s5ZGdtYmhBMTZlUmIxK1pzRlcrMWgwZWxqbVUzdWo2WHhpZ1lNaHo0UDlicElJTkNzVVFrSlNyTGluSWhPbWpCRGlPWi9jemowVVJweVdjbkZvWGdlNkNFOWhRR0swTFBFMkJzRFhVLzdGQmM4YnVkL2hla3BaR2dIZzlJTndFZ20xUGk3ME5WK1ZNQXZWdkhUWUJsVC9JTlRYNzVZcEs0R1ZTbG5Dc0RhZDZNWmVJNjNDbnQvalp4VXpLRlgxNE1ySDNHUldsd2JZdjR4K0R6NG01VWxaVmE4b25XRXg0QUs0dEltQ05BQm9mRUhha20yN1Facmc1VFJEVjVURElBSGhKM3BKcXMwbnJmcERCUlVKZDFrZ0d3U2R5Vi9xV2NGdzBjNXZvclFZMjZTN20vajdnei9jcEpKaHZidHZhUTJLR1dFNlFDWUxLNFEvMUlJYjh6bkhqdHgwSnJodnljdzZhUitpSFpNSldJYk9RK0syZDQzeVowcnJISU10Rmg0bTVOVEQ1aGlNVkZIRGVMM0JhakpRTGdMWEhYVmllVnpPVUc2M2JwcStYa0UzL3lybjMzMStlWXVJT3Jsbm4wc204V0FBWlRabG5Ydy9ZUG54NG83dUNxNVBNNHgxTFpZclIxamEwbjVmbVR1SlBqeXhNaE9JejlUY3M2SzA0TXF4dHFrTFNGcStCejRjUnVBUC9PVHF2MVhhZDJtV29BWE1hM3JLcm5EL1VUaVBSUnpIM1lUREI1amRwbHFnRmc4d2dsLzBpbXFEclBZdjVpc2JhdWFrdERWQU9nbjBYVi9CT1czYk5qT1dhdHJucHF1VmxWQTBEeGpXT0psdElOT0VOQm9DVm5mbEY2N3FrRlFGM2hUS0RWRWZ6RVlGMjhZUEVaWVBFSjBKVjYxdFJTb1Z5NkFlYzR4QnZXNmxKNjhha0dRTGc1TE4yQUNGNnhWbE8yeWtWcUFSQ09Yblo4dnBadVFBU2JXR21wSnFWMDBtb0IwRm5wS251SUxwSzZpTDlhcWtkcGtadGFBRnh1U2FXcWVZZlg0N3p0UDVadVdoVHZXYXFudWRIejA2UFlKejdhWDhJSUFEcngxNHRPRE40VGdwbUFhTDZ5WkJWTENUcnJKWEJJczFtcFpIaEVlNjVuU2RULy9rYmEzeGZ4RjB0MkNiYlBLV0d5eGUvL2kzdlczeitYbitCZ0NKT3EvOVNTWFN3dGZ1a3A3UDRTMnNSb1ZWMSt4Z0U4WTFrQ2czQ3pKY3Y4a3gxMWJoRU9nUGpIUVRYbFBtbGZ4NlNOSmN2YzZiOXBLdDJscHNMbTNCajNmNDd3dW5EYllyT1BFaXYxS0t4N1Zna0E2V0hnazhMMSs4ZmpnSlY2RkR5akVnRCtzK3JvSlVPNGZoV09XcW1sanY5TFZBTEEybkJESEpUR3ZJV3g4d3F3RkFEU3d5dzloZXNQTHdwTDBGU2NXU0dzWm83d3VjUXEyT2szS1hoR0pRRGtaOXQvSk4wQTM5Z0pBQVhQcUFUQUtTdktWTVcvaWZkRC9HSW5pYmFDWjFRQzRJUVZaYW9pbTMrVmJvSXY2bGdhTzFId2pFb0FITGVpVE5VOFRRdnBKdmlncGFXT3M0Sm5WQnAyeElveVZkUEM0bEtyNEhTd1ZNOFIvNWZVMUFDQTRUcFNKVnNpeDFJOUNtc2hWUUxnRzB2cVZNZHpOZVpBOWFzczFhTXc0S3dTQU1kQzBBMDgzZmFaM0NIZGlJU3drOFhydUswK0FPeXpvbEQxMU9WdjNDUGRpQVJRM0xqcEV5V3ZxQVZBdmhXRkVpR05xVXdNUThic0ttaG5hZlpDeVN0cUFSQ0c4ekxPOHpnZjAxNjZFVlhRMTFJOXVTb1hxZDA3WVRsSit5dzNzWjZ4dk9KckxEeUw2K2xLTnBrMEFJclp3M1pXczlMQXZKMnQ0OTIrdGxRUE1FcDRVVmhzV1oyUXFkTzVuVmZZR2FlTVl0NW1xTlpobXhUeUxPbi9FM3NCMEZmYzJmRmtCU1BqTGhqSjRRSGVUeWlSNHpidTFoWUUxMWpUL1VhMStGVGhVaTBIc1pyaUJCL3pLUnZJcHhob1JGczYwNU8rUHZjemZjYTliTlhRbW1mNHBTVzlMN1c1S2JaQS9GNDNMOGNaR2RoT0tYRmZOcnBscjFvRFZSOTBHOHpGVm1oSVp6cFBCU3hqZ0xWNUFFV1BxQWJBRjViVWttWThUd2E2L241ckxWMnJkcGtMZ09wNGx1OHBYM3RaMUI1R3M2eFJ1MHcxQUd3bFBaQW5oVmVWRjNROWJIRUp2YUpIMU5Pb0Z4bytmQ0ZNREZVNm5LMHB1Nnp0b2lwVVBRTkovV3QzbVNYVndrQ08wbFdQV2R4RXArd045UUJZWWswNWVUWXJYSlBKSXhaYnFPd045UUQ0eEtKNnNzeFZTamt6Z1VZVzI2anNEZlUrUUNxRk5XcGhacUljWmk2ZmtrdDllbkVkbGN6blpVcDlsOUtibFJaM1VCMGdVeUkvK3YrS2o5WHBsaThZcVdVTFJ4cXJyYlo3bG5wVGcwVHBCN29qU3BRMURLRVhiMnFaRG43TThtRTE4NjNXZG81V1lnY2w2cGJ0ak5CNHJsaFBUbGx0ZllYY0Iva3ljZGNGbHdPYWgyc3kyR3haZzArRE5EZFlSMlcyUnNOSlVNSkVPdkpmQ3AyOCtFeTJsYXp0SElKZXVGejgvbFdYTXFZYTJMRHhjK3Q2VkZxYmI0ekpDbkZIcXNnZW5qV3lqUFFPeXEzcnNqeFlrNE11cUo0WmlnT2F2bUU4TjNBdG5hcnB5cFd5bXNYTVk1bVJyK1libUtHU3BDVWdNNE5kSHJUdm0wbCtLRmJsLzRMbmdVWjA1bHRrMDVibU5LRUJhVlJ3aW1MMnM1ZWRiR1d6MXJkOU5EMVpaQ2tMUUNSbFpGRm92ZFlvNW9nLzBEMDhUZ2dmWXRHVC9TSjZ2eXZyZklBN3haMS9XdFpiT1I0K05qZHdTRWpyRU95TlRMTzI3cjA2bVM1a2dhRml4MmpuQlgvOUJ1KzBWTktZQVVLbWorWnFTbGhxdmRZeHZDNldPL1dGY0J5TjBab1M4YnYvdEZSYVRoYWR6a3hCYlUrcHJnTFN6M1J4MTUrVmNrWlowN3FuOVVIZmFMRjVNRzIxcHBBK1ErUzhWUEN3QlkzVCtJWHdjNitTcTZYZEhza0g0bzZQbEpjTWowMzA1bk54SFVNMkdkOWYzQ0RSc3NSWVVvWldUQTdGTkhqb3ptOWZMRzZTYURuSTNkcDFiTVo0aXNRMTgvREMwZnVQWm9DNFVTNlcrUnFuWnR2d0RFZkVOVG9yQTZUZEhZdUY0bWE1V01wNEpmQ2tid3EzTURNMG43b2VIZ3VsWFIyYjYwTDBMUkFwcFV5bmo2THJyK0VaYXh1OEU1VktycFYyZFR4bWlSc252bXhrbkk5OGZWbU1ZQXE1NHEyT0pRRW5nS1BSdHhRU0lJY3RnbE15aVpEUFVwYXpubTBVWExBbUlJMldkQ0NITG5TblY0aVBwVGxGRjNickswNXZBTUFFZm0zVkhPcVU4UTFIT1VVSzlhaEhNNXBxdDRVWkpqQk9aM0c2bGM1Z2k5bzU5bzZFeU9WS3ZZbDZkVzlmT3M2ajlxeFJDM2xVZDU1bUU0Kzk5eGhxeFJpMWovZjBMd0F4RVFCWmJLU3hCWFBVTm9yb3BqOUpyNGxWckVVY1pvZ0ZnOVEySGpZeEFHeW01NXZDQWx0SG1kY2Evc0ZBRkE2R3JBNVRuejd0V0Mrd1NEcDVPVXgzOXBnbzJGUVNnM3dlTW1pTzJzZURadHh2cGc5d21rMWtXZDRsbjd4TTRWbFRSWnNjL2NwZ09kME1sbDliMk1qMTVrNXBNanY4MllXVlZsTWxKU1BGZkZ0TDF2STRtRTFrdEpWN1RmUmNheEdlcHFUMWNURzltM1V6bDlEUGNCM0p6RE5Na201Q1VGSkRzbjIwSnNvYzg2", 6 | "chunkedUserStyleRules2": "bm1iRXlCTm1TSnBaUHprb3UxOU9PWTZVcnN6SUczNVRNM1NleVRQUHFZK3ZhUHhFNDJ5ejBNdG5tZVRSSndtTUUyM0c4ckFHQVRRMVJPdHEybG5HQUltK3hVWlMrZjdUS0dHemlVTVJrcFpWaXlKdU8vUFZTcjY4TXBwV0hJK21HT1laU0ttempNVW1yeGxDRWhicmVjU2JjbVNVbHkzLzFuR1NpV1V5ZmNjcHhCMHE2eHhZMWlXYlhDSzRlc0hUTWZDcnF5Vzl6a1laTGMyamR4M3BZMTRtWVBpM3hCVzJsM1NOQ1EveE0zZlJoa0RnMmxYU0ZGS2hOQ3VxWGNsbFR5QjR1RGNhRmtlRWlTcmtoSUVYZEptejhNZEdhRHVDc2taQ05kcEUwZkZqSjRUZHdkdG1VSzZkSm1EeGMvcUVWakE0ZjRrYlM1dzBoYkZvaTd4b1lzcEoyMHFjTktDdmVIS0JXYkNUbktBelVrRTRrWTdYaFgzRTJtWkk1YkdKY1lkeWJoUUhFdXc2VE5XcE5JNTJsT2lqdE5sNXhrUEJuU0pxMTVaRE1qQ2NZSks1bGw0SURLV2tQdmtDV2k5eXNMdzV2VnMrWndNeCtKTzFKRkZ0TmYyblRKUXovK1hvTmVCNVhNQzE4Ky81cFBkNmJWZ0k1aENkUERkWmhMY3BISnVKQ21jUGJ3eU9jM3RKRTJVZkpUaDl1WkhiSWRCbVhNNFk1UW5LSmNhMmpGYUphRm9GOVF5UW9lcFpXME9Xb3JPWXhocWRBaFRoVjh5dVB1R3o4TXRHQWtzeWkwNXZvRHpHSlVjdHoxeVRRemxVb1ArdEdmbThnMFZFTWhuN0dFeGF5NzRMQ0pHa3d5QmNCNXN1bERUM3B5dFpZK2VRRWIrWUkxZk01WDBvcnBKemtENER6TjZFSkhPdEtCTExKb25kQ1V6SEgya1VjZXU5bkpsMnhKN3RRV3lSNEFGNUpCQzVyUmxBelNxVThhYVVBNTVaemlCTWM0eW1FT3VFUVdEb2ZENFhBNEhBNkh3K0Z3T0J3T2g4UGhjRGdjRG9mRDRYQTRIQTZIdytGd09Cd09oOFBoY0RnY2pockEvd05lTGhaUDVkNVY1UUFBQUM1NlZGaDBaR0YwWlRwamNtVmhkR1VBQUhqYU16SXd0TkExTU5NMU5Bd3hzTFF5c0xReU1OWTJNTEF5TUFBQVFmSUZFUDJCYnBBQUFBQXVlbFJZZEdSaGRHVTZiVzlrYVdaNUFBQjQyak15TUxUUU5URFROVFFNTWJDME1yQzBNakRXTmpDd01qQUFBRUh5QlJEVXZzWVlBQUFBQUVsRlRrU3VRbUNDJyk7CiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgbWFyZ2luLXRvcDogMTZweDsKICBtYXJnaW4tYm90dG9tOiAzcHg7CiAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgbWFyZ2luLXJpZ2h0OiAtMTIuNXB4ICFpbXBvcnRhbnQ7CiAgb3BhY2l0eTogMC42NTsKICB3aWR0aDogMTAwJTsKICBkaXNwbGF5OiBub25lOwp9CgoKLm5ld3RhYi1idXR0b24gewogICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiA1cHggNnB4ICFpbXBvcnRhbnQ7CiAgICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDsKICAgIG1hcmdpbjogNnB4IDExcHg7Cn0KCi5uZXd0YWItYnV0dG9uOjpiZWZvcmUgewogICAgcGFkZGluZy1sZWZ0OiAxLjVweDsKfQoKLm5ld3RhYi1idXR0b246OmFmdGVyIHsKICBjb250ZW50OiAiTmV3IFRhYiI7CiAgZm9udC1zaXplOiAxM3B4OwogIHBhZGRpbmctbGVmdDogMTBweDsKICBtYXJnaW4tdG9wOiAtMnB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBvcGFjaXR5OiAwLjg1OwogIGRpc3BsYXk6IG5vbmU7Cn0KCi5uZXd0YWItYnV0dG9uOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICAgIHJnYmEoMCwwLDAsMC4wNzUpIWltcG9ydGFudDsKICAgIG9wYWNpdHk6IDE7CiAgICBib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDsKfQoKLmFmdGVyLXRhYnMgewogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1pbi1jb250ZW50LWJvcmRlci1jb2xvcik7CiAgbWFyZ2luLXRvcDogNnB4Owp9CgojdGFiYmFyLWNvbnRhaW5lciAubmV3dGFiLWJ1dHRvbjo6YWZ0ZXIgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKCiN0YWJiYXItY29udGFpbmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1jb2xvcnMtdG9vbGJhcik7Cn0KCgp0YWItaXRlbS5waW5uZWQgewogIC0tcGlubmVkLXBvc2l0aW9uLXRvcDogMHB4ICFpbXBvcnRhbnQ7CiAgLS1waW5uZWQtcG9zaXRpb24tYm90dG9tOiBub25lICFJbXBvcnRhbnQ7CiAgdG9wOiBhdXRvICFJbXBvcnRhbnQ7CiAgYm90dG9tOiBhdXRvICFJbXBvcnRhbnQ7CiAgbWFyZ2luOiBub25lICFJbXBvcnRhbnQ7CiAgbGVmdDogaW5pdGlhbCAhaW1wb3J0YW50OwogIHJpZ2h0OiBpbml0aWFsICFJbXBvcnRhbnQ7Cn0KCgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MXB4KSB7CiAgdGFiLWl0ZW0gewogICAgbWF4LXdpZHRoOiAzMHB4ICFpbXBvcnRhbnQ7CiAgfQogIAoKICAjdGFiYmFyIFtkYXRhLWxldmVsXSB7CiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIAogICN0YWJiYXIgewogICAgbWF4LXdpZHRoOiAxMDAlOwogIH0KICAKIC50YWIgPiAuY2xvc2Vib3ggewogIGRpc3BsYXk6IG5vbmU7Cn0KICAKICAjdGFiYmFyLWNvbnRhaW5lciAubmV3dGFiLWJ1dHRvbjo6YWZ0ZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KICAKfQ==", 7 | "closeParentBehaviorMode": 1, 8 | "configsVersion": 24, 9 | "faviconizePinnedTabs": false, 10 | "lastConfirmedToCloseTabs": 1623438568932, 11 | "lastDraggedTabs": { 12 | "tabIds": [ 13 | 21 14 | ], 15 | "urlsDigest": "796c3b78d96c2d3b802341b5b104fa3732b4ec34" 16 | }, 17 | "lastSelectedSubPanelProviderId": "tst-bookmarks-subpanel@piro.sakura.ne.jp", 18 | "lastSubPanelHeight": 615, 19 | "migratedBookmarkUrls": [ 20 | "moz-extension://8e746a82-e251-4044-a99c-2f498fe47358/sidebar/sidebar.html", 21 | "moz-extension://8e746a82-e251-4044-a99c-2f498fe47358/resources/group-tab.html", 22 | "moz-extension://8e746a82-e251-4044-a99c-2f498fe47358/options/options.html", 23 | "moz-extension://8e746a82-e251-4044-a99c-2f498fe47358/resources/startup.html", 24 | "moz-extension://8e746a82-e251-4044-a99c-2f498fe47358/tests/runner.html" 25 | ], 26 | "notifiedFeaturesVersion": 8, 27 | "optionsExpandedSections": [ 28 | "section-appearance", 29 | "section-advanced", 30 | "section-treeBehavior", 31 | "section-addons", 32 | "section-drag", 33 | "section-newTab", 34 | "section-contextMenu", 35 | "section-debug" 36 | ], 37 | "parentTabOperationBehaviorMode": 1, 38 | "showDialogInSidebar": true, 39 | "showExpertOptions": true, 40 | "style": "photon", 41 | "syncAvailableNotified": true, 42 | "syncDeviceInfo": { 43 | "id": "device-1614489033085-36046", 44 | "name": "Firefox on Linux", 45 | "icon": "device-desktop", 46 | "timestamp": 1623441061904 47 | }, 48 | "syncDevices": { 49 | "device-1614489033085-36046": { 50 | "id": "device-1614489033085-36046", 51 | "name": "Firefox on Linux", 52 | "icon": "device-desktop", 53 | "timestamp": 1623441061904 54 | } 55 | }, 56 | "syncDevicesLocalCache": { 57 | "device-1614489033085-36046": { 58 | "id": "device-1614489033085-36046", 59 | "name": "Firefox on Linux", 60 | "icon": "device-desktop", 61 | "timestamp": 1623441061904 62 | } 63 | }, 64 | "syncOtherDevicesDetected": true, 65 | "treeDoubleClickBehavior": 1, 66 | "userStyleRules": "", 67 | "userStyleRulesFieldHeight": "457px" 68 | } 69 | -------------------------------------------------------------------------------- /firefox/treestyletabs-legacy/treestyletabs.css: -------------------------------------------------------------------------------- 1 | /* 2 | Title: Drannex42's Personal userChrome.css for Firefox 3 | Description: This is my personal userChrome for Firefox, I specifically clean up the interface, change the folder icon to Vivaldi's (much better) and reduce padding in some areas, and add some in others. This overall creates a much more streamlined interface. 4 | Features: Streamlines interface, folder icon replacement, works best with my custom Tree Style Tabs interface (check it out! treestyletabs.css in the /firefox/ directory), removes tab bar. 5 | Version: 12021.12.14 :: Fixed sidebar header position and background color. 6 | */ 7 | 8 | :root { 9 | --sidebar-width: 50px; 10 | --toolbar-height: -50px; 11 | --menubar-height: -71px; 12 | --toolmenubar-height: -80px; 13 | --sidebar-padding: calc(var(--sidebar-width) + 5px); 14 | --toolbar-start-end-padding: 5px !important; 15 | --toolbar-start-end-padding: 5px !important; 16 | --sidebar-bg-color: #fafafa; /* Change this if you have a different theme than the default light one to match the rest of your sideberry theme colors */ 17 | } 18 | 19 | #main-window[tabsintitlebar="true"]:not([extradragspace="true"]) 20 | #TabsToolbar 21 | > .toolbar-items { 22 | opacity: 0; 23 | pointer-events: none; 24 | } 25 | #main-window:not([tabsintitlebar="true"]) #TabsToolbar { 26 | visibility: collapse !important; 27 | } 28 | 29 | #sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] 30 | #sidebar-header { 31 | /*! display: none; */ 32 | } 33 | 34 | /*Collapse in default state and add transition*/ 35 | #sidebar-box #sidebar:hover { 36 | /*! overflow: visible !important; */ 37 | min-width: 40px; 38 | max-width: 40px; 39 | border-right: 1px solid var(--panel-separator-color); 40 | z-index: 2; 41 | } 42 | 43 | /*All other sidebar-boxes should be larger on hover*/ 44 | #sidebar-box:hover { 45 | min-width: 350px !important; 46 | max-width: 350px !important; 47 | z-index: 1; 48 | margin-right: -300px !important; 49 | } 50 | 51 | /*Tree Style Tabb && Sideberry specific sidebar width and size*/ 52 | 53 | #sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"]:hover, 54 | #sidebar-box[sidebarcommand="_3c078156-979c-498b-8990-85f7987dd929_-sidebar-action"]:hover { 55 | min-width: 260px !important; 56 | max-width: 260px !important; 57 | z-index: 1; 58 | margin-right: -210px !important; 59 | } 60 | 61 | #sidebar-header { 62 | border: none !important; 63 | background: var(--sidebar-bg-color) !important; 64 | } 65 | 66 | #sidebar-close, 67 | #sidebar-title, 68 | #sidebar-switcher-arrow { 69 | display: none; 70 | border: none; 71 | } 72 | 73 | #sidebar-switcher-target { 74 | border: none !important; 75 | margin-left: 4.5px !important; 76 | padding-top: 4px !important; 77 | padding-bottom: 3px !important; 78 | } 79 | 80 | #sidebar-switcher-target:focus-visible:not(:hover, [open]), 81 | #sidebar-close:focus-visible:not(:hover, [open]) { 82 | outline: none !important; 83 | } 84 | 85 | #main-window #PersonalToolbar { 86 | margin-left: var(--sidebar-width); 87 | padding: 2px 5px !important; 88 | padding-top: 0px !important; 89 | margin-top: -3px !important; 90 | } 91 | 92 | /* lock sidebar to height by doing the inverse margin of the toolbar element */ 93 | #sidebar-box { 94 | z-index: 1000 !important; 95 | position: relative !important; 96 | margin-top: var(--menubar-height) !important; 97 | border-right: 1px solid #ccc; 98 | background: #f6f7f8 !important; 99 | transition: none !important; 100 | } 101 | 102 | #main-window[title^="Firefox Developer Edition"] #sidebar-box { 103 | margin-top: var(--toolmenubar-height) !important; 104 | } 105 | 106 | /* lock sidebar to specified width */ 107 | #sidebar-box { 108 | min-width: var(--sidebar-width) !important; 109 | max-width: var(--sidebar-width) !important; 110 | overflow: hidden !important; 111 | transition-property: width; 112 | transition-duration: 0.25s; 113 | transition-delay: 0.25s; 114 | transition-timing-function: ease-in; 115 | } 116 | 117 | .browser-toolbar { 118 | margin-left: var(--sidebar-width); 119 | } 120 | 121 | .sidebar-splitter { 122 | opacity: 0 !important; 123 | width: 0px !important; 124 | border: none !important; 125 | --avatar-image-url: none !important; 126 | } 127 | 128 | /* hide sidebar header for tree style tabs sidebar */ 129 | #sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] 130 | #sidebar-header { 131 | /*! display: none; */ 132 | } 133 | 134 | #sidebarMenu-popup .subviewbutton { 135 | min-width: 0px; 136 | padding: 0; 137 | margin: 0 !important; 138 | } 139 | 140 | toolbarseparator { 141 | display: none; 142 | } 143 | 144 | #sidebar { 145 | border-right: 0px solid #ccc; 146 | overflow: hidden; 147 | width: 50px !important; 148 | min-width: 50px !important; 149 | width: 100% !important; 150 | } 151 | 152 | /* OTHER CUSTOM OPTIONS */ 153 | 154 | /* Hide the title bar */ 155 | #titlebar { 156 | visibility: collapse; 157 | } 158 | 159 | /* hide normal horizontal tab bar */ 160 | #TabsToolbar { 161 | visibility: collapse; 162 | } 163 | 164 | :root:not([uidensity="compact"]) #back-button > .toolbarbutton-icon { 165 | border: none !important; 166 | background: none !important; 167 | } 168 | 169 | /* --- Prevent enlargement */ 170 | #urlbar[breakout-extend] { 171 | top: calc( 172 | (var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2 173 | ) !important; 174 | left: 0 !important; 175 | width: 100% !important; 176 | } 177 | 178 | #urlbar[breakout-extend] #urlbar-input-container { 179 | height: var(--urlbar-height) !important; 180 | /*padding: 0px !important;*/ 181 | padding-block: 0px !important; 182 | padding-inline: 0px !important; 183 | } 184 | .urlbarView-row { 185 | padding: 0px 2px 0px 2px; 186 | } 187 | /* END Prevent enlargement --- */ 188 | 189 | /*/* --- Reduce row paddings to make them more compact */ 190 | .urlbarView-row { 191 | padding: 2px 0px !important; 192 | line-height: 1.2em !important; 193 | margin: -1px; 194 | margin-bottom: 0px; 195 | } 196 | .urlbarView-row-inner { 197 | padding-bottom: 6px !important; 198 | } 199 | .urlbarView { 200 | margin: 0px !important; 201 | width: 100% !important; 202 | } 203 | /* END Reduce row paddings to make them more compact --- */ 204 | 205 | /* Disable Urlbar Animation */ 206 | #urlbar[breakout][breakout-extend][breakout-extend-animate] 207 | > #urlbar-background { 208 | animation-name: none !important; 209 | animation: none !important; 210 | } 211 | 212 | /* --- More compact "Search with Google" rows */ 213 | .urlbarView-row[dynamicType="onboardTabToSearch"] > .urlbarView-row-inner { 214 | min-height: auto !important; 215 | width: auto !important; 216 | } 217 | .urlbarView-row[dynamicType="onboardTabToSearch"] 218 | > .urlbarView-row-inner 219 | > .urlbarView-no-wrap 220 | > .urlbarView-favicon { 221 | margin-bottom: -1px; 222 | } 223 | /* END More compact "Search with Google" rows --- */ 224 | 225 | /* Remove active border on the addressbar when in focus */ 226 | #nav-bar { 227 | --toolbar-field-focus-border-color: #ccc; 228 | } 229 | 230 | /* Remove box shadow on address bar */ 231 | #urlbar-background, 232 | #searchbar { 233 | box-shadow: none !important; 234 | } 235 | 236 | /* Change Bookmark Folder Icon to the one Vivialdi uses */ 237 | .bookmark-item[container] { 238 | list-style-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMi4zNTcxNyAzLjM2MDc1QzIuMTMzMjMgMy41ODY5MyAyLjAwNTE1IDMuODkyMjEgMiA0LjIxMjAzVjExLjc4NzJDMS45OTQ0MSAxMS45NDc5IDIuMDIxNjMgMTIuMTA4MSAyLjA3OTk2IDEyLjI1NzdDMi4xMzgyOCAxMi40MDczIDIuMjI2NDggMTIuNTQzMSAyLjMzOTA0IDEyLjY1NjhDMi40NTE2IDEyLjc3MDUgMi41ODYxMyAxMi44NTk2IDIuNzM0MjUgMTIuOTE4NUMyLjg4MjM3IDEyLjk3NzQgMy4wNDA5MSAxMy4wMDQ5IDMuMiAxMi45OTkzSDEyLjhDMTMuMTE2NyAxMi45OTQxIDEzLjQxODkgMTIuODY0NyAxMy42NDI4IDEyLjYzODVDMTMuODY2OCAxMi40MTIzIDEzLjk5NDggMTIuMTA3MSAxNCAxMS43ODcyTDE0IDZDMTQgNS41IDEzLjUgNSAxMyA1SDhMNi44IDNIMy4yQzIuODgzMzQgMy4wMDUyIDIuNTgxMSAzLjEzNDU3IDIuMzU3MTcgMy4zNjA3NVpNMi45OTkzOSAxMS44MjJMMyAxMS44MDQ2VjQuMjIzMThDMy4wMDIyMyA0LjE2MTcxIDMuMDI3NDEgNC4xMDUxMSAzLjA2Nzc5IDQuMDY0MzJDMy4xMDc3MyA0LjAyMzk4IDMuMTU5MjkgNC4wMDIwOCAzLjIxMTYxIDRINi4yNDU4OUw3LjUgNkgxMi44QzEyLjkxMDUgNiAxMyA2LjA4Nzk2IDEzIDYuMTk4NDJDMTMgNy4xMzEwNyAxMyAxMS4wNjM2IDEzIDExLjc3NjFDMTIuOTk3OCAxMS44Mzc2IDEyLjk3MjYgMTEuODk0MiAxMi45MzIyIDExLjkzNUMxMi44OTIzIDExLjk3NTMgMTIuODQwNyAxMS45OTcyIDEyLjc4ODQgMTEuOTk5M0gzLjE4MjI3TDMuMTY0NTUgMTEuOTk5OUMzLjE0NDA2IDEyLjAwMDYgMy4xMjM0MyAxMS45OTcxIDMuMTAzODMgMTEuOTg5M0MzLjA4NDIxIDExLjk4MTUgMy4wNjU2NyAxMS45Njk0IDMuMDQ5NjYgMTEuOTUzM0MzLjAzMzY0IDExLjkzNzEgMy4wMjA1MSAxMS45MTcxIDMuMDExNjUgMTEuODk0NEMzLjAwMjc4IDExLjg3MTcgMi45OTg1MyAxMS44NDcgMi45OTkzOSAxMS44MjJaIj48L3BhdGg+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMi45OTkzOSAxMS44MjJMMyAxMS44MDQ2VjQuMjIzMThDMy4wMDIyMyA0LjE2MTcxIDMuMDI3NDEgNC4xMDUxMSAzLjA2Nzc5IDQuMDY0MzJDMy4xMDc3MyA0LjAyMzk4IDMuMTU5MjkgNC4wMDIwOCAzLjIxMTYxIDRINi4yNDU4OUw3LjUgNkgxMi44QzEyLjkxMDUgNiAxMyA2LjA4Nzk2IDEzIDYuMTk4NDJDMTMgNy4xMzEwNyAxMyAxMS4wNjM2IDEzIDExLjc3NjFDMTIuOTk3OCAxMS44Mzc2IDEyLjk3MjYgMTEuODk0MiAxMi45MzIyIDExLjkzNUMxMi44OTIzIDExLjk3NTMgMTIuODQwNyAxMS45OTcyIDEyLjc4ODQgMTEuOTk5M0gzLjE4MjI3TDMuMTY0NTUgMTEuOTk5OUMzLjE0NDA2IDEyLjAwMDYgMy4xMjM0MyAxMS45OTcxIDMuMTAzODMgMTEuOTg5M0MzLjA4NDIxIDExLjk4MTUgMy4wNjU2NyAxMS45Njk0IDMuMDQ5NjcgMTEuOTUzM0MzLjAzMzY0IDExLjkzNzEgMy4wMjA1MSAxMS45MTcxIDMuMDExNjUgMTEuODk0NEMzLjAwMjc4IDExLjg3MTcgMi45OTg1MyAxMS44NDcgMi45OTkzOSAxMS44MjJaIiBmaWxsLW9wYWNpdHk9IjAuMSI+PC9wYXRoPgo8L3N2Zz4=") !important; 239 | padding-right: 15px !important; 240 | margin-right: -1px !important; 241 | } 242 | 243 | /* Add down arrow to folders on the bookmark bar */ 244 | .bookmark-item[container]::after { 245 | content: "ˇ"; 246 | opacity: 0.55; 247 | padding-left: 3.5px; 248 | font-size: 23px; 249 | display: inline-block; 250 | position: absolute; 251 | top: 6.9px; 252 | } 253 | 254 | /* Change the Avatar size for the Firefox Account to what makes sense */ 255 | [label="Firefox Account"] #fxa-avatar-image { 256 | scale: 1.175; 257 | } 258 | -------------------------------------------------------------------------------- /prefs.css: -------------------------------------------------------------------------------- 1 | /* 2 | Preferences / Settings 3 | Use this file to set your preferences this will save them in one place for easier future updating 4 | ========================================================================= 5 | */ 6 | 7 | /* At this time there are no preferences available */ -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Firefox Sidebar (w/ Dynamic Indentation) 2 | 3 | https://github.com/user-attachments/assets/ebc7cf1b-340e-47a1-8029-f583738b190a 4 | 5 | ## Features: 6 | 7 | - Longest lasting, oldest, and possibly first, major dynamic Firefox sidebar w/ regular updates. 8 | - *Dynamic Indentation*: Unfurls tab names and indentations on hover of the sidebar, saving you space while you browse. 9 | - Native Vertical Tabs: Now built on top of the native Firefox vertical tab system. 10 | - Tree style tabs: Tree style tab support by using Sidebery & TreeStyleTabs (legacy) 11 | - Automatic themes: Automatically matches your Firefox theme colors! 12 | - Custom theming: Custom theme configuration using Sidebery, or any other 13 | - Tab Power Features: Tab groups and tab containers (both with visual identifiers), bookmarks, history, and more. 14 | - Pinned Tabs: Pinned tabs stay at the top (right click to close) 15 | - Sidebar Switching: switch between different sidebars by hovering over the switcher at the bottom. 16 | - Cross-Platform: Should work on Windows, Linux, and Mac. 17 | 18 | **Note as of 2025.02.09**: This is now using (and replaces!) the new built in Firefox 134+ vertical tabs, make sure you have updated. If you are still on an older version of Firefox, please check the releases page for the older versions. 19 | 20 | # Instructions (guide/setup) 21 | 22 | The instructions may seem like quite a lot, but the entire proces takes less than a few minutes and does not require you to be overly technical. Most guides will entirely skip the first three main steps and expect you to know what you are doing, I don't, so I hope this helps as much as possible. 23 | 24 | 1. Activate vertical tabs and install sidebery: 25 | 1. Right click on any open space on the tab bar 26 | 2. Select "Turn on vertical tabs" 27 | 3. [Install Sidebery from Firefox Addons](https://addons.mozilla.org/en-US/firefox/addon/sidebery/) 28 | 29 | 2. Allow modifying your Firefox appearance: 30 | 1. In Firefox navigate to `about:config` in your address bar 31 | 2. Search for `toolkit.legacyUserProfileCustomizations.stylesheets` 32 | 3. Double click or manually change this to `true` 33 | 34 | 3. Add the FirefoxSidebar settings: 35 | 1. Navigate to `(about:profiles)`in your address bar 36 | 2. Click on the `open root folder` button for your current profile 37 | 3. Open this folder location in your terminal 38 | 4. Clone this repo with the following command: `git clone https://github.com/wizrdsh/FirefoxSidebar.git "chrome"` 39 | 1. *You may need to install `git` for this to work* -> [Git Downloads](https://git-scm.com/downloads) 40 | 2. If installing `git` is not possible, then download the latest `Source Code (zip)` files from [Releases](https://github.com/drannex/FirefoxSidebar/releases), create a folder called `chrome` inside your current profile, unzip and move the files into that folder. 41 | 42 | 4. Load the custom Sidebery theme and settings *(optional, suggested!)*: 43 | 1. Navigate to Sidebery settings (Right click on the Sidebery extension icon > "Open Settings") 44 | 2. Click on "Help" in the sidebar (Settings > Help) 45 | 3. Click on "Import addon data" 46 | 4. Select and load the `sidebery-data.json` file located in your 'chrome' folder from step 3. 47 | 48 | 5. Restart Firefox, and click on the 'Sidebery' extension, everything should now be working as expected. 49 | 50 | # FAQ 51 | 52 | ## Sidebery Themes 53 | 54 | If you dislike any of the theme presets for dark or light themes, or you have a particular color scheme in mind then navigate to `Sidebery Settings > Style Editor` (found at the end of the settings sidebar). 55 | 56 | ## Custom Modifications 57 | 58 | Add any additional Firefox modifications into `custom.css`, these will not be overwritten on future sidebar updates (when using `git pull`) 59 | 60 | Visit [userchrome.org](https://www.userchrome.org/how-create-userchrome-css.html) if you have any questions. 61 | 62 | ## TreeStyleTabs (Legacy) 63 | 64 | Either add the firefox/treestyletabs.css to your TST addon preferences or import the treestyletabs-\*.json preferences to your TST addon. 65 | 66 | This is a legacy support theme and not often changed. 67 | 68 | ## Updates 69 | 70 | Release notes have migrated to [here](https://github.com/wizrdsh/FirefoxSidebar/releases). 71 | 72 | You can find prior release notes before v12021.12.22 [here](https://github.com/wizrdsh/FirefoxSidebar/releases/tag/v12021.12.22). 73 | -------------------------------------------------------------------------------- /sidebery-data.json: -------------------------------------------------------------------------------- 1 | {"settings":{"nativeScrollbars":true,"nativeScrollbarsThin":true,"nativeScrollbarsLeft":false,"selWinScreenshots":false,"updateSidebarTitle":true,"markWindow":false,"markWindowPreface":"[Sidebery] ","ctxMenuNative":false,"ctxMenuRenderInact":true,"ctxMenuRenderIcons":true,"ctxMenuIgnoreContainers":"","navBarLayout":"horizontal","navBarInline":true,"navBarSide":"left","hideAddBtn":false,"hideSettingsBtn":false,"navBtnCount":true,"hideEmptyPanels":true,"hideDiscardedTabPanels":false,"navActTabsPanelLeftClickAction":"none","navActBookmarksPanelLeftClickAction":"none","navTabsPanelMidClickAction":"discard","navBookmarksPanelMidClickAction":"none","navSwitchPanelsWheel":true,"subPanelRecentlyClosedBar":true,"subPanelBookmarks":true,"subPanelHistory":true,"groupLayout":"grid","containersSortByName":false,"skipEmptyPanels":false,"dndTabAct":true,"dndTabActDelay":750,"dndTabActMod":"none","dndExp":"pointer","dndExpDelay":750,"dndExpMod":"none","dndOutside":"win","dndActTabFromLink":true,"dndActSearchTab":true,"dndMoveTabs":false,"dndMoveBookmarks":false,"searchBarMode":"dynamic","searchPanelSwitch":"same_type","searchBookmarksShortcut":"","searchHistoryShortcut":"","warnOnMultiTabClose":"collapsed","activateLastTabOnPanelSwitching":true,"activateLastTabOnPanelSwitchingLoadedOnly":true,"switchPanelAfterSwitchingTab":"always","tabRmBtn":"hover","activateAfterClosing":"next","activateAfterClosingStayInPanel":false,"activateAfterClosingGlobal":false,"activateAfterClosingNoFolded":true,"activateAfterClosingNoDiscarded":true,"askNewBookmarkPlace":true,"tabsRmUndoNote":true,"tabsUnreadMark":false,"tabsUpdateMark":"all","tabsUpdateMarkFirst":true,"tabsReloadLimit":5,"tabsReloadLimitNotif":true,"showNewTabBtns":true,"newTabBarPosition":"after_tabs","tabsPanelSwitchActMove":false,"tabsPanelSwitchActMoveAuto":true,"tabsUrlInTooltip":"full","newTabCtxReopen":false,"tabWarmupOnHover":true,"tabSwitchDelay":0,"moveNewTabPin":"start","moveNewTabParent":"last_child","moveNewTabParentActPanel":false,"moveNewTab":"end","moveNewTabActivePin":"start","pinnedTabsPosition":"panel","pinnedTabsList":true,"pinnedAutoGroup":false,"pinnedNoUnload":false,"pinnedForcedDiscard":false,"tabsTree":true,"groupOnOpen":true,"tabsTreeLimit":"none","autoFoldTabs":false,"autoFoldTabsExcept":"none","autoExpandTabs":false,"autoExpandTabsOnNew":false,"rmChildTabs":"folded","tabsLvlDots":false,"discardFolded":false,"discardFoldedDelay":0,"discardFoldedDelayUnit":"sec","tabsTreeBookmarks":true,"treeRmOutdent":"branch","autoGroupOnClose":false,"autoGroupOnClose0Lvl":false,"autoGroupOnCloseMouseOnly":false,"ignoreFoldedParent":false,"showNewGroupConf":true,"sortGroupsFirst":true,"colorizeTabs":false,"colorizeTabsSrc":"domain","colorizeTabsBranches":false,"colorizeTabsBranchesSrc":"url","inheritCustomColor":true,"previewTabs":false,"previewTabsMode":"w","previewTabsPageModeFallback":"w","previewTabsInlineHeight":70,"previewTabsPopupWidth":280,"previewTabsSide":"right","previewTabsDelay":500,"previewTabsFollowMouse":true,"previewTabsWinOffsetY":36,"previewTabsWinOffsetX":6,"previewTabsInPageOffsetY":0,"previewTabsInPageOffsetX":0,"previewTabsCropRight":0,"hideInact":false,"hideFoldedTabs":false,"hideFoldedParent":"none","nativeHighlight":false,"warnOnMultiBookmarkDelete":"collapsed","autoCloseBookmarks":false,"autoRemoveOther":false,"highlightOpenBookmarks":false,"activateOpenBookmarkTab":false,"showBookmarkLen":true,"bookmarksRmUndoNote":true,"loadBookmarksOnDemand":true,"pinOpenedBookmarksFolder":true,"oldBookmarksAfterSave":"ask","loadHistoryOnDemand":true,"fontSize":"s","animations":true,"animationSpeed":"norm","theme":"proton","density":"default","colorScheme":"ff","sidebarCSS":true,"groupCSS":false,"snapNotify":true,"snapExcludePrivate":false,"snapInterval":0,"snapIntervalUnit":"min","snapLimit":0,"snapLimitUnit":"snap","snapAutoExport":false,"snapAutoExportType":"json","snapAutoExportPath":"Sidebery/snapshot-%Y.%M.%D-%h.%m.%s","snapMdFullTree":false,"hScrollAction":"none","onePanelSwitchPerScroll":false,"wheelAccumulationX":true,"wheelAccumulationY":true,"navSwitchPanelsDelay":128,"scrollThroughTabs":"none","scrollThroughVisibleTabs":true,"scrollThroughTabsSkipDiscarded":true,"scrollThroughTabsExceptOverflow":true,"scrollThroughTabsCyclic":false,"scrollThroughTabsScrollArea":0,"autoMenuMultiSel":true,"multipleMiddleClose":false,"longClickDelay":500,"wheelThreshold":false,"wheelThresholdX":10,"wheelThresholdY":60,"tabDoubleClick":"none","tabsSecondClickActPrev":true,"tabsSecondClickActPrevPanelOnly":false,"shiftSelAct":true,"activateOnMouseUp":false,"tabLongLeftClick":"none","tabLongRightClick":"none","tabMiddleClick":"close","tabMiddleClickCtrl":"discard","tabMiddleClickShift":"duplicate","tabCloseMiddleClick":"close","tabsPanelLeftClickAction":"none","tabsPanelDoubleClickAction":"tab","tabsPanelRightClickAction":"menu","tabsPanelMiddleClickAction":"tab","newTabMiddleClickAction":"new_child","bookmarksLeftClickAction":"open_in_act","bookmarksLeftClickActivate":false,"bookmarksLeftClickPos":"default","bookmarksMidClickAction":"open_in_new","bookmarksMidClickActivate":false,"bookmarksMidClickRemove":false,"bookmarksMidClickPos":"default","historyLeftClickAction":"open_in_act","historyLeftClickActivate":false,"historyLeftClickPos":"default","historyMidClickAction":"open_in_new","historyMidClickActivate":false,"historyMidClickPos":"default","syncName":"FirefoxWin","syncSaveSettings":true,"syncSaveCtxMenu":true,"syncSaveStyles":true,"syncSaveKeybindings":true,"selectActiveTabFirst":true},"sidebar":{"panels":{"I0pRunKuFvZ9":{"type":2,"id":"I0pRunKuFvZ9","name":"Tabs","color":"toolbar","iconSVG":"icon_tabs","iconIMGSrc":"","iconIMG":"","lockedPanel":false,"skipOnSwitching":false,"noEmpty":false,"newTabCtx":"none","dropTabCtx":"none","moveRules":[],"moveExcludedTo":-1,"bookmarksFolderId":-1,"newTabBtns":[],"srcPanelConfig":null}},"nav":["I0pRunKuFvZ9","add_tp","sp-0","settings"]},"sidebarCSS":"/* Dynamic Sidebery (v12024.05.15) by Drannex42 (https://github.com/drannex42/FirefoxSidebar) */\n\n#root.root {--tabs-font: 0.85rem sans-serif;}\n\n#root.root {--tabs-margin: 10px;} /* Centers the tabs on sidebar close */\n#root.root {--tabs-inner-gap: 5px;} /* Modify this to center the icons better */\n\n#root.root {--nav-height-padding: 1px} /* Modify this to reduce or increase the navbars bottom/top margin */\n#root.root {--nav-btn-height: 25px;} /* Modifies the navbar button height */\n#root.root {--nav-margin: 10px;} /* Modifies the navbar button height */\n\n#root.root {--tabs-text-padding-left: 6px;} /* Modify this to change the spacing between the icon and title */\n#root.root {--tabs-margin-bottom: -4px;} /* Modify this to change the spacing between tabs Default: -2px */\n\n/* Minimized Sidebar */\n@media screen and (max-width: 60px) {\n #root {\n --tabs-indent: unset !important;\n }\n\n .container {\n max-width: 60px;\n }\n\n .Tab .title {\n      display: none;\n }\n\n .NavigationBar .nav-item#settings, .NavigationBar .main-items {\n display: none;\n }\n}\n\n/* Navbar */\n\n#root .NavigationBar {\n padding: var(--nav-height-padding) var(--nav-margin);\n padding-top: 8px;\n margin-bottom: 5px !Important;\n\n}\n\n/* Tab Display Settings */\n\n.Tab {\n margin-bottom: var(--tabs-margin-bottom) !important;\n}\n\n.Tab .title {\n padding-left: var(--tabs-text-padding-left);\n}\n\n.Tab .ctx {\nleft: 0px; /* This sets the container indicator border-color to the left, instead of the right */\n}\n\n/* Audio Button Settings */\n\n.Tab[data-audible=\"true\"] .audio, .Tab[data-muted=\"true\"] .audio, .Tab[data-paused=\"true\"] .audio {\nbackground: var(--tabs-normal-bg);\nleft: 11px;\nheight: unset;\nbottom: 7px;\ntop: unset;\n}\n\n.Tab[data-audible=\"true\"] .t-box .title, .Tab[data-muted=\"true\"] .t-box .title, .Tab[data-paused=\"true\"] .t-box .title {\n--audio-btn-offset: 0px !important;\n}\n\n\n/* End Dynamic Sidebery */\n\n/* Tip: Copy & place your modifications to the dynamic tab variables below for easier upgrading\n * Example: #root.root {--tabs-margin-bottom: -2px;}\n*/","ver":"5.2.0"} -------------------------------------------------------------------------------- /userChrome.css: -------------------------------------------------------------------------------- 1 | /* 2 | Title: Drannex's FirefoxSidebar / Vertical Tabs 3 | Description: Vertical tab design for Firefox with dynamic indentation:: 4 | Sideberry and TreeStyleTabs (Legacy) themes available! 5 | Repository URL: https://github.com/drannex/FirefoxSidebar 6 | Version: v2-2025.01.07 7 | */ 8 | 9 | /* 10 | Preferences / Settings :: 11 | Use this file to set your preferences this will save them in one place for easier future updating 12 | ========================================================================= 13 | */ 14 | @import url("./prefs.css"); 15 | 16 | /* 17 | Custom modifications :: 18 | If you have any custom CSS for Firefox, place them in this file. 19 | ========================================================================= 20 | */ 21 | @import url("./custom.css"); 22 | 23 | 24 | /* Sidebar (Core) :: This file is for the sidebar implementation */ 25 | @import url("./extensions/sidebar.css"); 26 | 27 | --------------------------------------------------------------------------------