/* @settings name: File Tree Alternative Plugin id: file-tree-alternative-plugin settings: # Folder Pane Styles - id: oz-fta-folder-pane-heading title: Folder Pane Styles description: Style settings dedicated for only folder pane type: heading level: 1 collapsed: true - id: oz-fta-folder-font-size title: Folder Pane | Folder Name Font Size description: Set folder pane font size in px type: variable-number default: 14 format: px - id: oz-fta-folder-icon-color title: Folder Pane | Collapse/Expand Icon Color description: Set the color of folder icons type: variable-color format: hex default: '#2d8ff7' - id: oz-fta-folder-indendation-guide-color title: Folder Pane | Indendation Guide Color description: Set the color of indendation guide lines type: variable-color format: hex default: '#ededeb' - id: oz-fta-folder-pane-file-name-color title: Folder Pane | Folder Name Color description: Set the color of names type: variable-color format: hex default: '#' # File Pane Styles - id: oz-fta-file-pane-heading title: File Pane Styles description: Style settings dedicated for only file pane type: heading level: 1 collapsed: true - id: oz-fta-file-font-size title: File Pane | File Name Font Size description: Set file pane font size in px type: variable-number default: 13 format: px - id: oz-fta-file-pane-file-name-color title: File Pane | File Name Color description: Set the color of names type: variable-color format: hex default: '#' - id: oz-fta-file-pane-foldername-color title: File Pane | Header Folder Name Color description: Set the color of folder name in the file pane type: variable-color format: hex default: '#' # All Panes Styles - id: oz-fta-all-panes-heading title: All Panes description: Common style settings for both folder and file panes type: heading level: 1 collapsed: true - id: oz-fta-header-background-color title: All Panes | Header Background Color description: Set the background color of headers in both file and folder panes type: variable-color format: hex default: '#' - id: oz-fta-header-icon-colors title: All Panes | Header Action Icons Color description: Set the color of icons in file and folder panes type: variable-color format: hex alt-format: - id: oz-fta-header-icon-colors-accent-rgb format: rgb default: '#' - id: oz-fta-all-panes-active-text-color title: All Panes | Active File/Folder Name Color description: Set the color of active file and folder name type: variable-color format: hex default: '#' - id: oz-fta-file-pane-active-file-background-color title: File Pane | Active File Background Color description: Set the color of active file background color type: variable-color format: hex default: '#' */ .theme-light, .theme-dark { --oz-fta-folder-font-size: 13px; --oz-fta-file-font-size: 12px; --oz-fta-folder-icon-color: var(--interactive-accent); --oz-fta-folder-indendation-guide-color: var(--text-muted); --oz-fta-header-background-color: var(--background-secondary-alt); --oz-fta-header-icon-colors: var(--text-muted); --oz-fta-file-pane-foldername-color: var(--text-normal); --oz-fta-folder-pane-file-name-color: var(--text-normal); --oz-fta-header-icon-colors-accent-rgb: var(--interactive-accent-hover); --oz-fta-all-panes-active-text-color: var(--text-normal); --oz-fta-file-pane-active-file-background-color: var(--background-secondary-alt); --oz-fta-file-pane-file-name-color: var(--text-muted); } .oz-file-tree-header { color: var(--oz-fta-file-pane-foldername-color); background: var(--oz-fta-header-background-color); margin-top: 3px; font-size: 15px; font-weight: bold; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; align-items: center; width: fit-content; min-width: -webkit-fill-available; min-width: fill-available; height: fit-content; padding: 5px 0px 5px; border-radius: 8px; } .oz-nav-action-button { color: var(--oz-fta-header-icon-colors); display: inline-block; padding: 0px 0px 0px 2px; margin-left: 5px; opacity: 0.5; border-radius: 8px; opacity: 1; } .oz-nav-action-button:hover { opacity: 0.6; } .oz-nav-action-button svg { vertical-align: middle !important; } .oz-input-container { margin-bottom: 3px !important; margin-top: 3px !important; height: 30px; } .oz-input-container input { width: 100%; } .oz-nav-buttons-right-block { text-align: right; display: flex; width: fit-content; height: min-content; } .oz-nav-file-title { color: var(--oz-fta-file-pane-file-name-color); font-size: var(--oz-fta-file-font-size); width: calc(100% - 30px); display: flex; white-space: nowrap; min-width: 100%; cursor: pointer; line-height: 19px; border-radius: 3px; padding: 1px 2px 0px 2px; min-width: 100%; border: 1px solid transparent; } .oz-nav-file-title .oz-nav-file-title-content { width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; display: inline-block; } .oz-nav-file { border-bottom: 1px solid var(--divider-color); } div.oz-nav-file.is-active, div.oz-nav-file.is-active div.oz-nav-file-title, div.oz-nav-file.is-active div.oz-nav-file-title-content { background-color: var(--oz-fta-file-pane-active-file-background-color); color: var(--oz-fta-all-panes-active-text-color); font-weight: bold; } .is-folder-active { color: var(--oz-fta-all-panes-active-text-color) !important; font-weight: bold; } .oz-nav-file-tag { /* @Consider */ color: var(--text-muted); background-color: var(--background-secondary-alt); border-radius: 3px; font-size: 9px; font-weight: 600; letter-spacing: 0.05em; margin: 0px 2px 0px 4px; text-transform: uppercase; align-self: center; padding: 0px 4px 0px 4px; vertical-align: middle !important; line-height: 13px; } div.workspace-leaf-content[data-type='file-tree-view'] > div.view-content { padding: 10px 5px 5px 5px; } .oz-flex-container { display: flex; flex-direction: row; justify-content: space-between; height: min-content; padding: 2px 2px 2px 2px; } .oz-folders-action-items { text-align: center; padding: 3px 2px 0px 2px; } .oz-folders-action-items, .oz-flex-container { background: var(--oz-fta-header-background-color); border: 1px solid var(--oz-fta-header-background-color); margin-bottom: 3px; border-radius: 8px; stroke-width: 2px; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); } .oz-explorer-container { padding-left: 3px !important; padding-right: 3px !important; } .oz-file-tree-files { padding-top: 3px !important; } .drag-entered, .oz-folder-element:hover, .oz-nav-file:hover { background-color: var(--background-secondary-alt); color: var(--text-normal); } .oz-nav-file { margin-left: 3px; padding-right: 3px; } .oz-folder-contents { will-change: transform, opacity, height; margin-left: 6; padding-left: 14px; border-left: 2px solid var(--oz-fta-folder-indendation-guide-color); margin-left: 5px !important; } .oz-folder-toggle { width: 1em; height: 1em; margin-right: 10px; cursor: pointer; vertical-align: middle; } .treeview { position: relative; padding: 0px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; vertical-align: middle; } .oz-folder-type { text-transform: uppercase; font-family: monospace; font-size: 0.6em; vertical-align: middle; display: inline-block; } .oz-folder-name { color: var(--oz-fta-folder-pane-file-name-color); font-size: var(--oz-fta-folder-font-size); vertical-align: middle; display: inline-block; } div.oz-folder-name.is-root-folder { font-size: calc(var(--oz-fta-folder-font-size) + 2px); } .oz-icon-div { display: inline-block; } .oz-folder-line { display: flex; flex-flow: row; white-space: nowrap; min-width: 100%; } .oz-folder-block { display: flex; flex-grow: 1; padding-top: 2px; } .oz-folder-count { margin-left: auto; height: 1.4em; display: flex; justify-content: center; } .oz-folder-element { line-height: 1.4em; padding: 0px 0px 0px 0px; } .oz-folders-tree-wrapper { overflow: hidden; overflow-y: auto; padding-bottom: 5px; padding-left: 8px; height: 100%; } .oz-input-container > input { padding-left: 8px; padding-right: 4px; } .file-tree-container { display: flex; flex-direction: column; height: 100%; max-height: 100%; } .file-tree-plugin-view { height: 100%; } .oz-folder-pane { display: block; width: 100%; overflow-y: auto; height: 50%; resize: vertical; } .oz-file-list-pane { display: block; width: 100%; overflow-y: auto; flex: 1; } .oz-coffee-div { text-align: center; margin-top: 10px; } #file-tree-divider { height: 3.8px; opacity: 0.3; cursor: row-resize; margin-bottom: 5px; border-bottom: 3px solid var(--text-muted); } div#file-tree-divider.active-divider { background-color: var(--interactive-accent); border-bottom: 0.5px solid var(--interactive-accent); } #file-tree-divider:hover { background-color: var(--text-muted); } .file-tree-container-horizontal { display: flex; flex-direction: row; height: 100%; max-width: 100%; } .oz-folder-pane-horizontal { display: block; width: 50%; overflow-y: auto; height: 100%; resize: horizontal; } .oz-file-list-pane-horizontal { display: block; height: 100%; overflow-y: auto; flex: 1; } #file-tree-divider-horizontal { margin-left: 5px; width: 3.8px; opacity: 0.3; cursor: col-resize; margin-right: 3px; border-right: 3px solid var(--text-muted); } div#file-tree-divider-horizontal.active-divider { background-color: var(--interactive-accent); border-bottom: 0.5px solid var(--interactive-accent); } #file-tree-divider-horizontal:hover { background-color: var(--text-muted); } .file-tree-header-fixed { position: sticky; top: 0; padding-left: 4px; padding-right: 4px; z-index: 100; } .file-tree-files-fixed { display: flex; flex-direction: column; } .file-tree-files-fixed-with-search { display: flex; flex-direction: column; } svg.oz-folder-toggle path { fill: var(--oz-fta-folder-icon-color) !important; } /* Solution for React-Icon Center Issue */ .oz-folder-name svg { vertical-align: middle !important; } .oz-nav-file-icon { line-height: 1; display: inline-block; font-weight: normal; font-style: normal; font-variant: normal; margin-right: 2px; padding-bottom: 2.5px; vertical-align: middle; } /* Mobile Adjustments */ .is-mobile .oz-nav-file-title { line-height: 21px; } .is-mobile .oz-flex-container { height: 31px; } .is-mobile .oz-folder-name.is-root-folder { font-size: calc(var(--oz-fta-folder-font-size) + 2.5px); } .is-mobile .oz-folder-name { font-size: var(--oz-fta-folder-font-size); } .is-mobile div.oz-nav-file-title .nav-file-title-content { font-size: calc(var(--oz-fta-file-font-size) + 3px); } .is-mobile .oz-input-container > input { height: 33px; } .is-mobile .oz-nav-action-button svg { transform: scale(1.2); }