дзеркало
https://github.com/l0ng-ai/openidea.git
синхронізовано 2026-11-09 03:05:40 +02:00
The main toolbar gear's Theme submenu and Settings › Appearance › Theme preview the theme under the pointer after the same delay as Quick Switch Scheme, and closing without a choice brings the selected theme back. Choosing a theme while it was previewed left the preview flag on, so the start-up theme cache kept the previous theme; `setTheme` now ends the preview. Import Theme from JetBrains IDE… lists one row per theme plugin and installs it without switching the theme, like any theme plugin install. It reads only the newest settings folder of each product, so folders left behind by upgrades don't list their plugins again. Co-authored-by: ldg030201 <[email protected]>
437 рядки
7.3 KiB
CSS
437 рядки
7.3 KiB
CSS
.page {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
min-width: 0;
|
|
height: 100%;
|
|
min-height: 420px;
|
|
}
|
|
.topBar {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
.tabs {
|
|
flex: none;
|
|
border-bottom: 0;
|
|
}
|
|
.tabCount {
|
|
margin-left: 6px;
|
|
color: var(--fg-muted);
|
|
font-size: var(--fs-small);
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.side {
|
|
display: flex;
|
|
flex: none;
|
|
flex-direction: column;
|
|
width: 280px;
|
|
min-height: 0;
|
|
border-right: 1px solid var(--border);
|
|
}
|
|
.search {
|
|
margin: 8px;
|
|
}
|
|
.spacer {
|
|
flex: 1;
|
|
}
|
|
.error {
|
|
color: var(--danger);
|
|
white-space: pre-wrap;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
.body {
|
|
display: flex;
|
|
flex: 1;
|
|
min-height: 0;
|
|
border-radius: var(--radius-small);
|
|
box-shadow: inset 0 0 0 1px var(--border);
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* list */
|
|
.list {
|
|
flex: 1;
|
|
min-height: 0;
|
|
margin: 0;
|
|
padding: 0 0 4px;
|
|
list-style: none;
|
|
overflow: auto;
|
|
}
|
|
.groupHeader {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
height: var(--h-row);
|
|
padding: 0 12px;
|
|
color: var(--fg-muted);
|
|
font-size: var(--fs-small);
|
|
}
|
|
.groupCount {
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.notice {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 6px;
|
|
margin: 0 8px 4px;
|
|
padding: 6px 8px;
|
|
border-radius: var(--radius-small);
|
|
background: var(--bg-control);
|
|
color: var(--fg-secondary);
|
|
font-size: var(--fs-small);
|
|
}
|
|
.notice > :first-child {
|
|
flex: none;
|
|
margin-top: 1px;
|
|
}
|
|
.icon {
|
|
display: inline-flex;
|
|
flex: none;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: var(--radius-small);
|
|
background: var(--bg-control);
|
|
color: var(--fg-secondary);
|
|
}
|
|
.iconLarge {
|
|
width: 56px;
|
|
height: 56px;
|
|
border-radius: var(--radius-popup);
|
|
}
|
|
.rowText {
|
|
display: flex;
|
|
flex: 1;
|
|
flex-direction: column;
|
|
min-width: 0;
|
|
}
|
|
.rowVendor {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.rowDisabled .rowName {
|
|
color: var(--fg-muted);
|
|
}
|
|
.rowCheck {
|
|
flex: none;
|
|
}
|
|
.installedTag {
|
|
flex: none;
|
|
color: var(--fg-muted);
|
|
font-size: var(--fs-small);
|
|
}
|
|
.errorText {
|
|
color: var(--danger);
|
|
}
|
|
.row {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
padding-right: 8px;
|
|
}
|
|
.row:hover {
|
|
background: var(--bg-hover);
|
|
}
|
|
.rowSelected,
|
|
.rowSelected:hover {
|
|
background: var(--bg-selected);
|
|
}
|
|
.rowMain {
|
|
display: flex;
|
|
flex: 1;
|
|
align-items: center;
|
|
gap: 10px;
|
|
min-width: 0;
|
|
min-height: 48px;
|
|
padding: 6px 8px 6px 12px;
|
|
border: 0;
|
|
background: transparent;
|
|
color: var(--fg);
|
|
font: inherit;
|
|
text-align: left;
|
|
}
|
|
.rowMain:focus-visible {
|
|
outline: none;
|
|
background: var(--bg-hover);
|
|
}
|
|
.rowName {
|
|
overflow: hidden;
|
|
color: var(--fg-strong);
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.rowMeta {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
color: var(--fg-muted);
|
|
font-size: var(--fs-small);
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.devTag {
|
|
padding: 0 4px;
|
|
border-radius: var(--radius-small);
|
|
background: var(--bg-control);
|
|
color: var(--warning);
|
|
font-size: var(--fs-tiny);
|
|
line-height: 14px;
|
|
}
|
|
.listEmpty {
|
|
padding: 8px 12px;
|
|
color: var(--fg-muted);
|
|
}
|
|
|
|
/* details */
|
|
.details {
|
|
flex: 1;
|
|
min-width: 0;
|
|
padding: 12px 16px 16px;
|
|
overflow: auto;
|
|
}
|
|
.detailsEmpty {
|
|
flex: 1;
|
|
}
|
|
.header {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
/* In a narrow window the actions go below rather than over the name. */
|
|
flex-wrap: wrap;
|
|
gap: 14px;
|
|
}
|
|
.headerText {
|
|
display: flex;
|
|
flex: 1 1 160px;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
min-width: 0;
|
|
}
|
|
.detailTabs {
|
|
margin-top: 12px;
|
|
}
|
|
.notes {
|
|
margin: 10px 0 0;
|
|
color: var(--fg);
|
|
font: inherit;
|
|
white-space: pre-wrap;
|
|
}
|
|
.titleLine {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
}
|
|
/* Badges are counter pills (`min-width: 16px`): in a narrow window they wrap instead of shrinking under their text. */
|
|
.titleLine > * {
|
|
flex: none;
|
|
white-space: nowrap;
|
|
}
|
|
.title {
|
|
margin: 0;
|
|
color: var(--fg-strong);
|
|
font-size: var(--fs-input-large);
|
|
font-weight: 600;
|
|
}
|
|
.version {
|
|
color: var(--fg-muted);
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.authors {
|
|
color: var(--fg-secondary);
|
|
}
|
|
.headerActions {
|
|
display: flex;
|
|
flex: none;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
.description {
|
|
margin: 10px 0 0;
|
|
max-width: 640px;
|
|
color: var(--fg);
|
|
}
|
|
.details .error {
|
|
margin-top: 10px;
|
|
padding: 6px 8px;
|
|
border-radius: var(--radius-small);
|
|
background: var(--bg-control);
|
|
font-family: var(--font-mono);
|
|
font-size: var(--fs-small);
|
|
}
|
|
.facts {
|
|
display: grid;
|
|
grid-template-columns: max-content minmax(0, 1fr);
|
|
gap: 2px 16px;
|
|
margin: 12px 0 0;
|
|
}
|
|
.facts dt {
|
|
color: var(--fg-muted);
|
|
}
|
|
.facts dd {
|
|
margin: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.mono {
|
|
color: var(--fg-secondary);
|
|
font-family: var(--font-mono);
|
|
font-size: var(--fs-small);
|
|
}
|
|
.muted {
|
|
color: var(--fg-muted);
|
|
}
|
|
.section {
|
|
margin-top: 16px;
|
|
}
|
|
.sectionTitle {
|
|
height: var(--h-row);
|
|
margin: 0;
|
|
color: var(--fg-emphasis);
|
|
font-size: var(--fs-ui);
|
|
font-weight: 500;
|
|
line-height: var(--h-row);
|
|
}
|
|
.items {
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
border-radius: var(--radius-small);
|
|
box-shadow: inset 0 0 0 1px var(--border);
|
|
}
|
|
.item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
min-height: 28px;
|
|
padding: 0 4px 0 10px;
|
|
}
|
|
.item + .item {
|
|
border-top: 1px solid var(--border);
|
|
}
|
|
.itemMain {
|
|
flex: 1;
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
color: var(--fg);
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/* Permission dialog and notices */
|
|
.consent {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
min-width: 0;
|
|
}
|
|
|
|
.consentWarning {
|
|
margin: 0;
|
|
color: var(--fg-warning, var(--fg));
|
|
}
|
|
|
|
.consentRequired {
|
|
width: 16px;
|
|
text-align: center;
|
|
color: var(--fg-muted);
|
|
}
|
|
|
|
.consentNotice {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
justify-content: space-between;
|
|
padding: 8px 10px;
|
|
border: 1px solid var(--border);
|
|
border-radius: 6px;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.settingsPage {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
max-width: 560px;
|
|
}
|
|
|
|
.settingRow {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
|
|
.marketItem {
|
|
list-style: none;
|
|
padding: 4px 8px;
|
|
}
|
|
|
|
.categorySelect {
|
|
width: 100%;
|
|
}
|
|
|
|
.detailsNotice {
|
|
margin: 0 0 12px;
|
|
}
|
|
|
|
.marketOverview {
|
|
padding: 12px 16px;
|
|
overflow: auto;
|
|
}
|
|
|
|
/* Import Theme from IntelliJ IDE */
|
|
.intellijThemes {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
min-width: 0;
|
|
padding: 14px;
|
|
}
|
|
.intellijThemes > p {
|
|
margin: 0;
|
|
}
|
|
/* As tall as its rows (the list sizes them), scrolling past seven. */
|
|
.intellijThemesList {
|
|
max-height: 316px;
|
|
padding: 4px 0;
|
|
border: 1px solid var(--border);
|
|
border-radius: var(--radius-control);
|
|
}
|
|
.intellijThemesStatus {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 8px 10px;
|
|
color: var(--fg-muted);
|
|
}
|
|
.intellijPlugin {
|
|
display: flex;
|
|
flex: 1;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
gap: 2px;
|
|
min-width: 0;
|
|
}
|
|
.intellijPluginHead {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
min-width: 0;
|
|
}
|
|
.intellijPluginThemes {
|
|
overflow: hidden;
|
|
color: var(--fg-muted);
|
|
font-size: var(--fs-small);
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.intellijPluginIde {
|
|
flex-shrink: 0;
|
|
margin-left: auto;
|
|
color: var(--fg-muted);
|
|
font-size: var(--fs-small);
|
|
}
|