Complete KDE and GTK style capture and restore desktop count
This commit is contained in:
parent
714c96682a
commit
09503bf948
15 changed files with 319 additions and 13 deletions
|
|
@ -9,7 +9,7 @@
|
|||

|
||||

|
||||
|
||||
[KDE & apps](#configs) · [Shortcuts](docs/shortcuts.md) · [Packages](#package-sections) · [Setup](docs/setup.md)
|
||||
[KDE styling](docs/kde-style.md) · [Shortcuts](docs/shortcuts.md) · [Packages](#package-sections) · [Setup](docs/setup.md)
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -92,8 +92,9 @@ the default. Kernel choice is independent of bootloader choice.
|
|||
## Configs
|
||||
|
||||
Every config is independently selectable, even when its package section is
|
||||
unchecked—for example, to configure apps already installed. KDE appearance covers colours,
|
||||
fonts, cursor, window decorations and Dolphin styling. Panels, widgets and
|
||||
unchecked—for example, to configure apps already installed. KDE appearance covers
|
||||
colours, fonts, cursor and window decorations, with matching GTK preferences.
|
||||
Dolphin styling has its own checkbox. Panels, widgets and
|
||||
wallpapers are excluded. All portable current shortcut assignments,
|
||||
including disabled defaults, are captured with their launchers and helpers;
|
||||
unused machine-specific activity IDs are omitted.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"kde-style": {
|
||||
"label": "KDE colours, fonts, cursor and decorations",
|
||||
"label": "KDE + GTK colours, fonts, cursor and decorations",
|
||||
"group": "kde",
|
||||
"kde": true
|
||||
},
|
||||
|
|
|
|||
3
configs/kde-shortcuts/kconfig/.config/kwinrc
Normal file
3
configs/kde-shortcuts/kconfig/.config/kwinrc
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[Desktops]
|
||||
Number=1
|
||||
Rows=1
|
||||
84
configs/kde-style/files/.config/gtk-3.0/colors.css
Normal file
84
configs/kde-style/files/.config/gtk-3.0/colors.css
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
@define-color borders_breeze #464251;
|
||||
@define-color content_view_bg_breeze #16131f;
|
||||
@define-color error_color_backdrop_breeze #da4453;
|
||||
@define-color error_color_breeze #da4453;
|
||||
@define-color error_color_insensitive_backdrop_breeze #56222f;
|
||||
@define-color error_color_insensitive_breeze #56222f;
|
||||
@define-color insensitive_base_color_breeze #15121e;
|
||||
@define-color insensitive_base_fg_color_breeze #5b5864;
|
||||
@define-color insensitive_bg_color_breeze #1c1827;
|
||||
@define-color insensitive_borders_breeze #292535;
|
||||
@define-color insensitive_fg_color_breeze #5f5c6a;
|
||||
@define-color insensitive_selected_bg_color_breeze #1c1827;
|
||||
@define-color insensitive_selected_fg_color_breeze #5f5c6a;
|
||||
@define-color insensitive_unfocused_bg_color_breeze #1c1827;
|
||||
@define-color insensitive_unfocused_fg_color_breeze #5f5c6a;
|
||||
@define-color insensitive_unfocused_selected_bg_color_breeze #1c1827;
|
||||
@define-color insensitive_unfocused_selected_fg_color_breeze #5f5c6a;
|
||||
@define-color link_color_breeze #c7c2db;
|
||||
@define-color link_visited_color_breeze #9d8fd9;
|
||||
@define-color success_color_backdrop_breeze #27ae60;
|
||||
@define-color success_color_breeze #27ae60;
|
||||
@define-color success_color_insensitive_backdrop_breeze #1b4633;
|
||||
@define-color success_color_insensitive_breeze #1b4633;
|
||||
@define-color theme_base_color_breeze #16131f;
|
||||
@define-color theme_bg_color_breeze #1d1929;
|
||||
@define-color theme_button_background_backdrop_breeze #262036;
|
||||
@define-color theme_button_background_backdrop_insensitive_breeze #241f33;
|
||||
@define-color theme_button_background_insensitive_breeze #241f33;
|
||||
@define-color theme_button_background_normal_breeze #262036;
|
||||
@define-color theme_button_decoration_focus_backdrop_breeze #6e56af;
|
||||
@define-color theme_button_decoration_focus_backdrop_insensitive_breeze #3c315c;
|
||||
@define-color theme_button_decoration_focus_breeze #6e56af;
|
||||
@define-color theme_button_decoration_focus_insensitive_breeze #3c315c;
|
||||
@define-color theme_button_decoration_hover_backdrop_breeze #6e56af;
|
||||
@define-color theme_button_decoration_hover_backdrop_insensitive_breeze #3c315c;
|
||||
@define-color theme_button_decoration_hover_breeze #6e56af;
|
||||
@define-color theme_button_decoration_hover_insensitive_breeze #3c315c;
|
||||
@define-color theme_button_foreground_active_backdrop_breeze #e8e4f3;
|
||||
@define-color theme_button_foreground_active_backdrop_insensitive_breeze #5f5c6a;
|
||||
@define-color theme_button_foreground_active_breeze #ffffff;
|
||||
@define-color theme_button_foreground_active_insensitive_breeze #5f5c6a;
|
||||
@define-color theme_button_foreground_backdrop_breeze #e8e4f3;
|
||||
@define-color theme_button_foreground_backdrop_insensitive_breeze #656074;
|
||||
@define-color theme_button_foreground_insensitive_breeze #656074;
|
||||
@define-color theme_button_foreground_normal_breeze #e8e4f3;
|
||||
@define-color theme_fg_color_breeze #e8e4f3;
|
||||
@define-color theme_header_background_backdrop_breeze #1d1929;
|
||||
@define-color theme_header_background_breeze #1a1625;
|
||||
@define-color theme_header_background_light_breeze #1d1929;
|
||||
@define-color theme_header_foreground_backdrop_breeze #e8e4f3;
|
||||
@define-color theme_header_foreground_breeze #e8e4f3;
|
||||
@define-color theme_header_foreground_insensitive_backdrop_breeze #e8e4f3;
|
||||
@define-color theme_header_foreground_insensitive_breeze #e8e4f3;
|
||||
@define-color theme_hovering_selected_bg_color_breeze #6e56af;
|
||||
@define-color theme_selected_bg_color_breeze #534183;
|
||||
@define-color theme_selected_fg_color_breeze #ffffff;
|
||||
@define-color theme_text_color_breeze #e8e4f3;
|
||||
@define-color theme_titlebar_background_backdrop_breeze #1d1929;
|
||||
@define-color theme_titlebar_background_breeze #1a1625;
|
||||
@define-color theme_titlebar_background_light_breeze #1d1929;
|
||||
@define-color theme_titlebar_foreground_backdrop_breeze #e8e4f3;
|
||||
@define-color theme_titlebar_foreground_breeze #e8e4f3;
|
||||
@define-color theme_titlebar_foreground_insensitive_backdrop_breeze #e8e4f3;
|
||||
@define-color theme_titlebar_foreground_insensitive_breeze #e8e4f3;
|
||||
@define-color theme_unfocused_base_color_breeze #16131f;
|
||||
@define-color theme_unfocused_bg_color_breeze #1d1929;
|
||||
@define-color theme_unfocused_fg_color_breeze #e8e4f3;
|
||||
@define-color theme_unfocused_selected_bg_color_alt_breeze #2d2447;
|
||||
@define-color theme_unfocused_selected_bg_color_breeze #2d2447;
|
||||
@define-color theme_unfocused_selected_fg_color_breeze #e8e4f3;
|
||||
@define-color theme_unfocused_text_color_breeze #e8e4f3;
|
||||
@define-color theme_unfocused_view_bg_color_breeze #15121e;
|
||||
@define-color theme_unfocused_view_text_color_breeze #5b5864;
|
||||
@define-color theme_view_active_decoration_color_breeze #6e56af;
|
||||
@define-color theme_view_hover_decoration_color_breeze #6e56af;
|
||||
@define-color tooltip_background_breeze #1d1929;
|
||||
@define-color tooltip_border_breeze #464251;
|
||||
@define-color tooltip_text_breeze #e8e4f3;
|
||||
@define-color unfocused_borders_breeze #464251;
|
||||
@define-color unfocused_insensitive_borders_breeze #292535;
|
||||
@define-color warning_color_backdrop_breeze #f67400;
|
||||
@define-color warning_color_breeze #f67400;
|
||||
@define-color warning_color_insensitive_backdrop_breeze #603213;
|
||||
@define-color warning_color_insensitive_breeze #603213;
|
||||
1
configs/kde-style/files/.config/gtk-3.0/gtk.css
Normal file
1
configs/kde-style/files/.config/gtk-3.0/gtk.css
Normal file
|
|
@ -0,0 +1 @@
|
|||
@import 'colors.css';
|
||||
84
configs/kde-style/files/.config/gtk-4.0/colors.css
Normal file
84
configs/kde-style/files/.config/gtk-4.0/colors.css
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
@define-color borders_breeze #464251;
|
||||
@define-color content_view_bg_breeze #16131f;
|
||||
@define-color error_color_backdrop_breeze #da4453;
|
||||
@define-color error_color_breeze #da4453;
|
||||
@define-color error_color_insensitive_backdrop_breeze #56222f;
|
||||
@define-color error_color_insensitive_breeze #56222f;
|
||||
@define-color insensitive_base_color_breeze #15121e;
|
||||
@define-color insensitive_base_fg_color_breeze #5b5864;
|
||||
@define-color insensitive_bg_color_breeze #1c1827;
|
||||
@define-color insensitive_borders_breeze #292535;
|
||||
@define-color insensitive_fg_color_breeze #5f5c6a;
|
||||
@define-color insensitive_selected_bg_color_breeze #1c1827;
|
||||
@define-color insensitive_selected_fg_color_breeze #5f5c6a;
|
||||
@define-color insensitive_unfocused_bg_color_breeze #1c1827;
|
||||
@define-color insensitive_unfocused_fg_color_breeze #5f5c6a;
|
||||
@define-color insensitive_unfocused_selected_bg_color_breeze #1c1827;
|
||||
@define-color insensitive_unfocused_selected_fg_color_breeze #5f5c6a;
|
||||
@define-color link_color_breeze #c7c2db;
|
||||
@define-color link_visited_color_breeze #9d8fd9;
|
||||
@define-color success_color_backdrop_breeze #27ae60;
|
||||
@define-color success_color_breeze #27ae60;
|
||||
@define-color success_color_insensitive_backdrop_breeze #1b4633;
|
||||
@define-color success_color_insensitive_breeze #1b4633;
|
||||
@define-color theme_base_color_breeze #16131f;
|
||||
@define-color theme_bg_color_breeze #1d1929;
|
||||
@define-color theme_button_background_backdrop_breeze #262036;
|
||||
@define-color theme_button_background_backdrop_insensitive_breeze #241f33;
|
||||
@define-color theme_button_background_insensitive_breeze #241f33;
|
||||
@define-color theme_button_background_normal_breeze #262036;
|
||||
@define-color theme_button_decoration_focus_backdrop_breeze #6e56af;
|
||||
@define-color theme_button_decoration_focus_backdrop_insensitive_breeze #3c315c;
|
||||
@define-color theme_button_decoration_focus_breeze #6e56af;
|
||||
@define-color theme_button_decoration_focus_insensitive_breeze #3c315c;
|
||||
@define-color theme_button_decoration_hover_backdrop_breeze #6e56af;
|
||||
@define-color theme_button_decoration_hover_backdrop_insensitive_breeze #3c315c;
|
||||
@define-color theme_button_decoration_hover_breeze #6e56af;
|
||||
@define-color theme_button_decoration_hover_insensitive_breeze #3c315c;
|
||||
@define-color theme_button_foreground_active_backdrop_breeze #e8e4f3;
|
||||
@define-color theme_button_foreground_active_backdrop_insensitive_breeze #5f5c6a;
|
||||
@define-color theme_button_foreground_active_breeze #ffffff;
|
||||
@define-color theme_button_foreground_active_insensitive_breeze #5f5c6a;
|
||||
@define-color theme_button_foreground_backdrop_breeze #e8e4f3;
|
||||
@define-color theme_button_foreground_backdrop_insensitive_breeze #656074;
|
||||
@define-color theme_button_foreground_insensitive_breeze #656074;
|
||||
@define-color theme_button_foreground_normal_breeze #e8e4f3;
|
||||
@define-color theme_fg_color_breeze #e8e4f3;
|
||||
@define-color theme_header_background_backdrop_breeze #1d1929;
|
||||
@define-color theme_header_background_breeze #1a1625;
|
||||
@define-color theme_header_background_light_breeze #1d1929;
|
||||
@define-color theme_header_foreground_backdrop_breeze #e8e4f3;
|
||||
@define-color theme_header_foreground_breeze #e8e4f3;
|
||||
@define-color theme_header_foreground_insensitive_backdrop_breeze #e8e4f3;
|
||||
@define-color theme_header_foreground_insensitive_breeze #e8e4f3;
|
||||
@define-color theme_hovering_selected_bg_color_breeze #6e56af;
|
||||
@define-color theme_selected_bg_color_breeze #534183;
|
||||
@define-color theme_selected_fg_color_breeze #ffffff;
|
||||
@define-color theme_text_color_breeze #e8e4f3;
|
||||
@define-color theme_titlebar_background_backdrop_breeze #1d1929;
|
||||
@define-color theme_titlebar_background_breeze #1a1625;
|
||||
@define-color theme_titlebar_background_light_breeze #1d1929;
|
||||
@define-color theme_titlebar_foreground_backdrop_breeze #e8e4f3;
|
||||
@define-color theme_titlebar_foreground_breeze #e8e4f3;
|
||||
@define-color theme_titlebar_foreground_insensitive_backdrop_breeze #e8e4f3;
|
||||
@define-color theme_titlebar_foreground_insensitive_breeze #e8e4f3;
|
||||
@define-color theme_unfocused_base_color_breeze #16131f;
|
||||
@define-color theme_unfocused_bg_color_breeze #1d1929;
|
||||
@define-color theme_unfocused_fg_color_breeze #e8e4f3;
|
||||
@define-color theme_unfocused_selected_bg_color_alt_breeze #2d2447;
|
||||
@define-color theme_unfocused_selected_bg_color_breeze #2d2447;
|
||||
@define-color theme_unfocused_selected_fg_color_breeze #e8e4f3;
|
||||
@define-color theme_unfocused_text_color_breeze #e8e4f3;
|
||||
@define-color theme_unfocused_view_bg_color_breeze #15121e;
|
||||
@define-color theme_unfocused_view_text_color_breeze #5b5864;
|
||||
@define-color theme_view_active_decoration_color_breeze #6e56af;
|
||||
@define-color theme_view_hover_decoration_color_breeze #6e56af;
|
||||
@define-color tooltip_background_breeze #1d1929;
|
||||
@define-color tooltip_border_breeze #464251;
|
||||
@define-color tooltip_text_breeze #e8e4f3;
|
||||
@define-color unfocused_borders_breeze #464251;
|
||||
@define-color unfocused_insensitive_borders_breeze #292535;
|
||||
@define-color warning_color_backdrop_breeze #f67400;
|
||||
@define-color warning_color_breeze #f67400;
|
||||
@define-color warning_color_insensitive_backdrop_breeze #603213;
|
||||
@define-color warning_color_insensitive_breeze #603213;
|
||||
1
configs/kde-style/files/.config/gtk-4.0/gtk.css
Normal file
1
configs/kde-style/files/.config/gtk-4.0/gtk.css
Normal file
|
|
@ -0,0 +1 @@
|
|||
@import 'colors.css';
|
||||
7
configs/kde-style/kconfig/.config/gtk-3.0/settings.ini
Normal file
7
configs/kde-style/kconfig/.config/gtk-3.0/settings.ini
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
[Settings]
|
||||
gtk-application-prefer-dark-theme=true
|
||||
gtk-cursor-theme-name=Fiw-Qogir
|
||||
gtk-cursor-theme-size=24
|
||||
gtk-font-name=JetBrainsMono Nerd Font Mono, 10
|
||||
gtk-icon-theme-name=breeze-dark
|
||||
gtk-theme-name=Breeze
|
||||
6
configs/kde-style/kconfig/.config/gtk-4.0/settings.ini
Normal file
6
configs/kde-style/kconfig/.config/gtk-4.0/settings.ini
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
[Settings]
|
||||
gtk-application-prefer-dark-theme=true
|
||||
gtk-cursor-theme-name=Fiw-Qogir
|
||||
gtk-cursor-theme-size=24
|
||||
gtk-font-name=JetBrainsMono Nerd Font Mono, 10
|
||||
gtk-icon-theme-name=breeze-dark
|
||||
|
|
@ -135,8 +135,6 @@ ForegroundVisited=157,143,217
|
|||
[General]
|
||||
AccentColor=110,86,175
|
||||
ColorScheme=GentooPurple
|
||||
TerminalApplication=kitty
|
||||
TerminalService=kitty.desktop
|
||||
XftAntialias=true
|
||||
XftHintStyle=hintslight
|
||||
XftSubPixel=rgb
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ italic_font auto
|
|||
bold_italic_font auto
|
||||
font_size 11.0
|
||||
|
||||
linux_display_server wayland
|
||||
linux_display_server auto
|
||||
background_blur 32
|
||||
dynamic_background_opacity yes
|
||||
|
||||
|
|
|
|||
96
docs/kde-style.md
Normal file
96
docs/kde-style.md
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
# KDE styling preset
|
||||
|
||||
Fiw’s current appearance, restored through the optional `kde-style` config.
|
||||
Dolphin, Spectacle, fonts and portable terminal configs have their own
|
||||
checkboxes. The settings below describe the capture; no desktop settings
|
||||
are applied by reading this reference.
|
||||
|
||||
## Appearance
|
||||
|
||||
| Setting | Captured value |
|
||||
|---|---|
|
||||
| Colour scheme | GentooPurple, derived from Breeze Dark |
|
||||
| Accent / focus | `#6E56AF` |
|
||||
| Window background | `#1D1929` |
|
||||
| View background | `#16131F` |
|
||||
| Normal text | `#E8E4F3` |
|
||||
| Selection background | `#534183` |
|
||||
| Icons | Breeze Dark |
|
||||
| KDE look and feel | Breeze Dark |
|
||||
| Cursor | Qogir, bundled under the name Fiw-Qogir |
|
||||
| Window decorations | Utterly-Round-Dark, bundled Aurorae theme |
|
||||
| Border size | No side borders |
|
||||
| Decoration tooltips | Disabled |
|
||||
| Animation duration factor | `0.25` |
|
||||
|
||||
The complete colour groups live in
|
||||
[kdeglobals](../configs/kde-style/kconfig/.config/kdeglobals). Theme and cursor
|
||||
assets are included in the same config, with their original licence notices.
|
||||
Breeze and Aurorae come through the normal Plasma package dependencies.
|
||||
No terminal association is set by the appearance preset.
|
||||
|
||||
## Fonts
|
||||
|
||||
| Use | Family | Size |
|
||||
|---|---|---|
|
||||
| General UI, menus, toolbar and window title | JetBrainsMono Nerd Font Mono | 10 pt |
|
||||
| Fixed-width text | JetBrainsMono Nerd Font Mono | 10 pt |
|
||||
| Small readable text | JetBrainsMono Nerd Font Mono | 8 pt |
|
||||
| Kitty | JetBrainsMono Nerd Font Mono | 11 pt |
|
||||
|
||||
KDE uses antialiasing, slight hinting and RGB subpixel rendering as captured.
|
||||
The separate `fonts` checkbox installs Regular, Bold, Italic and Bold Italic
|
||||
under the user’s font directory; keep it selected to reproduce this typography
|
||||
unless the same family is already installed. Fonts work independently of KDE.
|
||||
|
||||
## GTK styling
|
||||
|
||||
The KDE style checkbox also restores the captured GTK 3 and GTK 4 preferences:
|
||||
|
||||
- Dark preference, Breeze Dark icons and the same 10 pt font.
|
||||
- Fiw-Qogir cursor at size 24.
|
||||
- GTK 3’s Breeze theme preference.
|
||||
- The current `gtk.css` imports and generated purple `colors.css` palette.
|
||||
|
||||
Other settings in each `settings.ini` are preserved. Existing CSS files follow
|
||||
the same conflict, backup and update rules as other configs. Applications use
|
||||
these colours and preferences according to their toolkit’s theme support.
|
||||
|
||||
## Dolphin and Spectacle
|
||||
|
||||
These are individually optional configs.
|
||||
|
||||
| Config | Captured preferences |
|
||||
|---|---|
|
||||
| Dolphin | Menu bar hidden; toolbar with back, forward, up, home, location, search and menu; fixed 22 px Places icons; sidebar/dock state; case-insensitive filename filtering |
|
||||
| Dolphin window rule | 96% active opacity, 92% inactive opacity; applies to Dolphin windows |
|
||||
| Spectacle | Annotation tool selection; release-to-capture disabled |
|
||||
|
||||
The toolbar XML includes the captured app action properties. The sidebar/dock
|
||||
state is Qt’s saved layout; it does not copy tabs, bookmarks or file history.
|
||||
KWin rules merge with other target rules instead of replacing their list.
|
||||
|
||||
## Portable terminal styling
|
||||
|
||||
Fish, Kitty, Neovim and Fastfetch stay separate from KDE settings:
|
||||
|
||||
- **Fish:** aliases, Fastfetch greeting and command completion notifications.
|
||||
- **Kitty:** lavender palette, padding, 50% opacity in the main profile and
|
||||
62% in the brighter profile. Display selection is automatic for Wayland/X11;
|
||||
blur is used where the compositor supports it.
|
||||
- **Neovim:** transparent backgrounds and purple highlights; uses an existing
|
||||
Catppuccin Mocha plugin when available, otherwise the built-in dark theme.
|
||||
- **Fastfetch:** the current tree layout and colours, with its built-in Gentoo logo.
|
||||
|
||||
## Applying the capture
|
||||
|
||||
Select the configs in `./install` and review the preview. They can be restored
|
||||
without selecting package installation groups, for applications already present.
|
||||
For KDE configs, log out of Plasma and apply from a TTY so the session cannot
|
||||
rewrite the files. The installer checks this before making changes.
|
||||
|
||||
Configuration conflicts prompt apply or keep. Replacements receive backups;
|
||||
updates preserve local edits and leave proposed changes in `.new` files.
|
||||
Panels, widgets, wallpaper and output-specific tiling layouts stay local.
|
||||
The [shortcut preset](shortcuts.md) separately restores the captured desktop
|
||||
count and rows, without copying desktop or monitor IDs.
|
||||
|
|
@ -42,8 +42,9 @@ The native Spectacle bindings are unassigned to avoid competing actions.
|
|||
The desktop-move bindings are stored as literal symbols (`!`, `@`, `#`).
|
||||
On a US layout these usually mean Shift+1/2/3; other layouts can differ.
|
||||
The keyboard-layout preset contains US English, Russian and Spanish;
|
||||
`Meta+Alt+Space` cycles through them. Shortcut restoration does not
|
||||
create three virtual desktops or activities on a new installation.
|
||||
`Meta+Alt+Space` cycles through them. The shortcut preset also restores
|
||||
the captured virtual-desktop count and rows. Device IDs are not copied;
|
||||
KWin creates IDs when needed and retains existing target IDs.
|
||||
|
||||
## Captured choices
|
||||
|
||||
|
|
@ -56,6 +57,9 @@ in the default column), Minimize (`Meta+PgDown`), Restore
|
|||
recorded global actions are unassigned. `Meta+1/2/3` are used for
|
||||
desktops, with the corresponding task-manager shortcuts disabled.
|
||||
|
||||
Captured desktop layout: **1 desktop(s), 1 row(s)**.
|
||||
Bindings for desktops 1–3 are retained exactly as configured.
|
||||
|
||||
## All assigned actions
|
||||
|
||||
### Keyboard Layout Switcher
|
||||
|
|
|
|||
|
|
@ -85,7 +85,20 @@ def capture():
|
|||
+ ['[General]', '[Icons]', '[KDE]', '[WM]'])
|
||||
p = REPO / 'configs/kde-style/kconfig/.config/kdeglobals'
|
||||
p.write_text('\n'.join(line for line in p.read_text().splitlines()
|
||||
if not line.startswith(('ColorSchemeHash=', 'LastUsedCustomAccentColor='))) + '\n')
|
||||
if not line.startswith(('ColorSchemeHash=', 'LastUsedCustomAccentColor=',
|
||||
'TerminalApplication=', 'TerminalService='))) + '\n')
|
||||
gtk_keys = ['gtk-theme-name', 'gtk-icon-theme-name', 'gtk-font-name',
|
||||
'gtk-cursor-theme-name', 'gtk-cursor-theme-size',
|
||||
'gtk-application-prefer-dark-theme']
|
||||
for version in ['3.0', '4.0']:
|
||||
for name in ['gtk.css', 'colors.css']:
|
||||
copy('kde-style', f'.config/gtk-{version}/{name}')
|
||||
relative = f'.config/gtk-{version}/settings.ini'
|
||||
kconfig('kde-style', relative, keys={'[Settings]': gtk_keys})
|
||||
dest = REPO / 'configs/kde-style/kconfig' / relative
|
||||
if dest.is_file():
|
||||
dest.write_text(dest.read_text().replace('gtk-cursor-theme-name=Qogir',
|
||||
'gtk-cursor-theme-name=Fiw-Qogir'))
|
||||
kconfig('kde-style', '.config/kcminputrc', keys={'[Mouse]': ['cursorTheme']})
|
||||
kconfig('kde-style', '.config/kwinrc', groups=['[org.kde.kdecoration2]'])
|
||||
kconfig('dolphin', '.config/dolphinrc', groups=['[KFileDialog Settings]', '[MainWindow]'])
|
||||
|
|
@ -98,6 +111,7 @@ def capture():
|
|||
copy('kde-style', '.local/share/color-schemes/GentooPurple.colors')
|
||||
kconfig('kde-shortcuts', '.config/kglobalshortcutsrc')
|
||||
kconfig('kde-shortcuts', '.config/kxkbrc', groups=['[Layout]'])
|
||||
kconfig('kde-shortcuts', '.config/kwinrc', keys={'[Desktops]': ['Number', 'Rows']})
|
||||
for name in ['net.local.kitty.desktop', 'net.local.fiw-shot-region.desktop', 'net.local.fiw-shot-screen.desktop']:
|
||||
copy('kde-shortcuts', '.local/share/applications/' + name,
|
||||
lambda t: t.replace('Exec=' + str(HOME) + '/.local/bin/fiw-shot', 'Exec="{{HOME}}/.local/bin/fiw-shot"'))
|
||||
|
|
@ -108,7 +122,9 @@ def capture():
|
|||
"if type -q fiw-update\n alias update='sudo fiw-update'\nend"))
|
||||
copy('fish', '.config/fish/conf.d/done.fish')
|
||||
for name in ['kitty.conf', 'kitty-main.conf', 'kitty-bright.conf', 'kitty-common.conf']:
|
||||
copy('kitty', '.config/kitty/' + name)
|
||||
copy('kitty', '.config/kitty/' + name,
|
||||
lambda t: re.sub(r'(?m)^linux_display_server\s+wayland\s*$',
|
||||
'linux_display_server auto', t))
|
||||
copy('neovim', '.config/nvim/init.lua')
|
||||
# Keep the layout; the built-in Gentoo logo also works outside Kitty.
|
||||
data = json.loads((HOME / '.config/fastfetch/config.jsonc').read_text())
|
||||
|
|
|
|||
|
|
@ -64,8 +64,9 @@ def generate():
|
|||
'The desktop-move bindings are stored as literal symbols (`!`, `@`, `#`).',
|
||||
'On a US layout these usually mean Shift+1/2/3; other layouts can differ.',
|
||||
'The keyboard-layout preset contains US English, Russian and Spanish;',
|
||||
'`Meta+Alt+Space` cycles through them. Shortcut restoration does not',
|
||||
'create three virtual desktops or activities on a new installation.', '',
|
||||
'`Meta+Alt+Space` cycles through them. The shortcut preset also restores',
|
||||
'the captured virtual-desktop count and rows. Device IDs are not copied;',
|
||||
'KWin creates IDs when needed and retains existing target IDs.', '',
|
||||
'## Captured choices', '']
|
||||
lookup = {(r[0], r[1]): r for r in entries}
|
||||
highlights = [
|
||||
|
|
@ -107,6 +108,10 @@ def generate():
|
|||
for key, owners in duplicates.items():
|
||||
lines.append('- ' + keys([key]) + ': ' + cell('; '.join(owners)))
|
||||
lines.append('')
|
||||
desktop = sections((SOURCE.parent / 'kwinrc').read_text()).get('[Desktops]', {})
|
||||
lines += ['Captured desktop layout: **' + desktop.get('Number', 'unspecified') +
|
||||
' desktop(s), ' + desktop.get('Rows', 'unspecified') + ' row(s)**.',
|
||||
'Bindings for desktops 1–3 are retained exactly as configured.', '']
|
||||
lines += ['## All assigned actions', '']
|
||||
grouped = defaultdict(list)
|
||||
for record in entries:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue