OOKNET                             [ /  search the index  ]  
──────────────────────────────────────────────────────────────────────────────────────
══════════════════════════════════════════════════════════════════════════════════════
OOKNET   [ /  search  ]  
────────────────────────────────────────────────
════════════════════════════════════════════════
 
 
main @ 427 LINES
 
[ HISTORY ]  [ UP ]
 

{
  pkgs,
  ook,
  lib,
  ...
}: let
  inherit (ook) color;
  mkKvconig = text: lib.generators.toINI {} text;
  kvantumSVG = import ./gruv.nix {inherit color;};

  theme = "KvHozen";
in {
  imports = [
    ./kdeglobals.nix
  ];

  qt = {
    enable = true;
    platformTheme.name = "qtct";
    style = {
      name = "kvantum";
    };
  };

  xdg.configFile = {
    "Kvantum/kvantum.kvconfig".text = mkKvconig {
      General = {inherit theme;};
      #Applications."${theme}" = "org.kde.dolphin, dolphin-emu, faster-project-plu
s";
    };
    "Kvantum/KvHozen/KvHozen.svg".text = kvantumSVG;
    "Kvantum/KvHozen/KvHozen.kvconfig".text = mkKvconig {
      # docs: <https://github.com/tsujan/Kvantum/blob/master/Kvantum/doc/Theme-Con
fig>
      "%General" = {
        author = "ooks";
        comment = "Hozen theme using Hozen color scheme";

        # Window/Widget Behavior
        respect_DE = true;
        x11drag = "menubar_and_primary_toolbar";
        alt_mnemonic = true;
        click_behavior = 0;
        double_click = false;
        inline_spin_indicators = true;
        vertical_spin_indicators = false;
        spin_button_width = 16;
        combo_as_lineedit = true;
        combo_menu = true;
        hide_combo_checkboxes = true;
        combo_focus_rect = true;
        groupbox_top_label = true;
        button_contents_shift = false;
        fill_rubberband = false;
        merge_menubar_with_toolbar = true;
        toolbutton_style = 1;

        # compositing & effects
        composite = true;
        translucent_windows = true;
        reduce_window_opacity = 10;
        reduce_menu_opacity = 0;
        blurring = false;
        popup_blurring = true;
        menu_blur_radius = 5;
        tooltip_blur_radius = 5;
        contrast = 1.00;
        intensity = 1.00;
        saturation = 1.00;

        # animations & visual feedback
        animate_states = false;
        no_inactiveness = false;
        no_window_pattern = false;

        # menu configuration
        menubar_mouse_tracking = true;
        menu_shadow_depth = 7;
        tooltip_shadow_depth = 6;
        spread_menuitems = true;
        submenu_overlap = 0;
        spread_progressbar = true;

        # scrollbars & sliders
        scroll_width = 8;
        scroll_min_extent = 36;
        scrollbar_in_view = false;
        transient_scrollbar = true;
        transient_groove = false;
        slider_width = 4;
        slider_handle_width = 18;
        slider_handle_length = 18;

        # layout & sizing
        layout_spacing = 2;
        layout_margin = 4;
        small_icon_size = 16;
        large_icon_size = 32;
        button_icon_size = 16;
        toolbar_icon_size = 16;

        # widget specific
        check_size = 16;
        tooltip_delay = -1;
        tree_branch_line = true;
        progressbar_thickness = 8;
      };

      # color configuration
      GeneralColors = {
        # Base Colors
        "window.color" = "#${color.layout.menu}";
        "inactive.window.color" = "#${color.layout.menu}";
        "base.color" = "#${color.layout.body}";
        "inactive.base.color" = "#${color.layout.body}";
        "alt.base.color" = "#${color.layout.body}";
        "button.color" = "#${color.layout.menu}";
        "light.color" = "#${color.secondary.base}";
        "mid.light.color" = "#${color.secondary.soft1}";
        "dark.color" = "#${color.secondary.hard1}";
        "mid.color" = "#${color.secondary.base}";

        # Highlight Colors
        "highlight.color" = "#${color.primary.base}";
        "inactive.highlight.color" = "#${color.primary.soft1}";

        # Text Colors
        "text.color" = "#${color.typography.text}";
        "inactive.text.color" = "#${color.typography.subtext}";
        "window.text.color" = "#${color.typography.text}";
        "inactive.window.text.color" = "#${color.typography.subtext}";
        "button.text.color" = "#${color.typography.text}";
        "disabled.text.color" = "#${color.typography.subtext}";
        "tooltip.text.color" = "#${color.typography.text}";
        "highlight.text.color" = "#${color.typography.contrast-text}";
        "link.color" = "#${color.blue.base}";
        "link.visited.color" = "#${color.purple.base}";
        "progress.indicator.text.color" = "#${color.typography.text}";
        "progress.inactive.indicator.text.color" = "#${color.typography.subtext}";
      };

      # Widget-Specific Configurations
      Hacks = {
        transparent_dolphin_view = false;
        blur_konsole = true;
        transparent_ktitle_label = true;
        transparent_menutitle = true;
        respect_darkness = true;
        force_size_grip = false;
        iconless_pushbutton = true;
        iconless_menu = false;
        disabled_icon_opacity = 100;
        normal_default_pushbutton = true;
        tint_on_mouseover = 0;
        blur_translucent = true;
        kinetic_scrolling = false;
        middle_click_scroll = false;
        no_selection_tint = false;
      };

      # Button Configuration
      PanelButtonCommand = {
        frame = true;
        "frame.element" = "button";
        "frame.expanded" = true;
        interior = true;
        "interior.element" = "button";
        "indicator.size" = 8;
        "text.normal.color" = "#${color.typography.text}";
        "text.focus.color" = "#${color.typography.text}";
        "text.press.color" = "#${color.typography.text}";
        "text.toggle.color" = "#${color.typography.text}";
        "text.shadow" = false;
        "text.margin" = 1;
        "text.iconspacing" = 4;
        "frame.expansion" = 6;
      };

      PanelButtonTool = {
        inherits = "PanelButtonCommand";
      };

      # Window Frames
      GenericFrame = {
        inherits = "PanelButtonCommand";
        frame = true;
        "frame.element" = "common";
        interior = false;
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
      };

      # menu configuration
      Menu = {
        inherits = "PanelButtonCommand";
        "frame.element" = "menu";
        "interior.element" = "menu";
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
      };

      MenuItem = {
        inherits = "PanelButtonCommand";
        frame = true;
        interior = true;
        "interior.element" = "menuitem";
        "indicator.size" = 8;
        "text.focus.color" = "#${color.typography.text}";
        "text.press.color" = "#${color.typography.text}";
      };

      MenuBarItem = {
        inherits = "PanelButtonCommand";
        "interior.element" = "menubaritem";
        frame = false;
        "text.margin.top" = 3;
        "text.margin.bottom" = 3;
        "text.margin.left" = 5;
        "text.margin.right" = 5;
      };

      MenuBar = {
        inherits = "PanelButtonCommand";
        "frame.element" = "menubar";
        "interior.element" = "menubar";
        "frame.bottom" = 0;
        "text.normal.color" = "#${color.typography.text}";
      };

      # Scrollbars
      ScrollbarSlider = {
        inherits = "PanelButtonCommand";
        frame = true;
        interior = false;
        "frame.element" = "scrollbarslider";
        "indicator.element" = "grip";
        "indicator.size" = 13;
        "frame.left" = 6;
        "frame.right" = 6;
        "frame.top" = 6;
        "frame.bottom" = 6;
      };

      ScrollbarGroove = {
        inherits = "PanelButtonCommand";
        interior = false;
        frame = false;
      };

      # Sliders
      Slider = {
        inherits = "PanelButtonCommand";
        frame = false;
        "interior.element" = "slider";
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
      };

      SliderCursor = {
        inherits = "PanelButtonCommand";
        frame = false;
        "interior.element" = "slidercursor";
      };

      # Progress Bars
      Progressbar = {
        inherits = "PanelButtonCommand";
        "frame.element" = "progress";
        "interior.element" = "progress";
        "text.margin" = 0;
        "text.normal.color" = "#${color.typography.text}";
        "text.focus.color" = "#${color.typography.text}";
        "text.press.color" = "#${color.typography.contrast-text}";
        "text.toggle.color" = "#${color.typography.contrast-text}";
      };

      ProgressbarContents = {
        inherits = "PanelButtonCommand";
        frame = true;
        "frame.element" = "progress-pattern";
        "interior.element" = "progress-pattern";
      };

      # Tabs
      TabBarFrame = {
        inherits = "GenericFrame";
        frame = true;
        "frame.element" = "tabBarFrame";
        interior = false;
        "frame.top" = 4;
        "frame.bottom" = 4;
        "frame.left" = 4;
        "frame.right" = 4;
      };

      TabFrame = {
        inherits = "PanelButtonCommand";
        "frame.element" = "tabframe";
        "interior.element" = "tabframe";
      };

      Tab = {
        inherits = "PanelButtonCommand";
        "interior.element" = "tab";
        "frame.element" = "tab";
        "frame.top" = 2;
        "frame.bottom" = 2;
        "frame.left" = 2;
        "frame.right" = 2;
        "text.margin.left" = 8;
        "text.margin.right" = 8;
        "text.margin.top" = 2;
        "text.margin.bottom" = 2;
      };

      # Line Edits
      LineEdit = {
        inherits = "PanelButtonCommand";
        "frame.element" = "lineedit";
        "interior.element" = "lineedit";
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
        "text.margin.top" = 2;
        "text.margin.bottom" = 2;
        "text.margin.left" = 2;
        "text.margin.right" = 2;
      };

      # Combo Boxes
      ComboBox = {
        inherits = "PanelButtonCommand";
        "frame.element" = "combo";
        "interior.element" = "combo";
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
        "text.margin.top" = 2;
        "text.margin.bottom" = 2;
        "text.margin.left" = 2;
        "text.margin.right" = 2;
        "indicator.element" = "carrow";
      };

      # Spinboxes
      SpinBox = {
        inherits = "ComboBox";
        "frame.element" = "spinbox";
        "interior.element" = "spinbox";
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
        "indicator.element" = "arrow";
        "indicator.size" = 8;
      };

      # Group Boxes
      GroupBox = {
        inherits = "GenericFrame";
        frame = true;
        "frame.element" = "group";
        interior = false;
        "frame.top" = 4;
        "frame.bottom" = 4;
        "frame.left" = 4;
        "frame.right" = 4;
      };

      # tooltips
      ToolTip = {
        inherits = "PanelButtonCommand";
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
        interior = true;
        "text.shadow" = false;
        "text.margin" = 0;
        "frame.element" = "tooltip";
        "interior.element" = "tooltip";
        "frame.expansion" = 0;
      };

      # window decorations
      Window = {
        interior = true;
        "interior.element" = "window";
        "frame.element" = "window";
        "frame.top" = 0;
        "frame.bottom" = 0;
        "frame.left" = 0;
        "frame.right" = 0;
      };

      Dialog = {
        inherits = "Window";
      };
    };
  };
  home.packages = with pkgs; [
    qt5.qtwayland
    kdePackages.qtwayland
    kdePackages.qqc2-desktop-style
    kdePackages.qttools
    qt6Packages.qt6gtk2
    qt6.qtwayland

    libsForQt5.qtstyleplugins
    qt6Packages.qt6gtk2
    libsForQt5.qt5ct
    kdePackages.qt6ct

    #libsForQt5.breeze-qt5
    #kdePackages.breeze-icons
    # kvantum libraries
    libsForQt5.qtstyleplugin-kvantum
    qt6Packages.qtstyleplugin-kvantum
  ];
}

{
  pkgs,
  ook,
  lib,
  ...
}: let
  inherit (ook) color;
  mkKvconig = text: lib.generators.toINI {} 
text;
  kvantumSVG = import ./gruv.nix {inherit co
lor;};

  theme = "KvHozen";
in {
  imports = [
    ./kdeglobals.nix
  ];

  qt = {
    enable = true;
    platformTheme.name = "qtct";
    style = {
      name = "kvantum";
    };
  };

  xdg.configFile = {
    "Kvantum/kvantum.kvconfig".text = mkKvco
nig {
      General = {inherit theme;};
      #Applications."${theme}" = "org.kde.do
lphin, dolphin-emu, faster-project-plus";
    };
    "Kvantum/KvHozen/KvHozen.svg".text = kva
ntumSVG;
    "Kvantum/KvHozen/KvHozen.kvconfig".text 
= mkKvconig {
      # docs: <https://github.com/tsujan/Kva
ntum/blob/master/Kvantum/doc/Theme-Config>
      "%General" = {
        author = "ooks";
        comment = "Hozen theme using Hozen c
olor scheme";

        # Window/Widget Behavior
        respect_DE = true;
        x11drag = "menubar_and_primary_toolb
ar";
        alt_mnemonic = true;
        click_behavior = 0;
        double_click = false;
        inline_spin_indicators = true;
        vertical_spin_indicators = false;
        spin_button_width = 16;
        combo_as_lineedit = true;
        combo_menu = true;
        hide_combo_checkboxes = true;
        combo_focus_rect = true;
        groupbox_top_label = true;
        button_contents_shift = false;
        fill_rubberband = false;
        merge_menubar_with_toolbar = true;
        toolbutton_style = 1;

        # compositing & effects
        composite = true;
        translucent_windows = true;
        reduce_window_opacity = 10;
        reduce_menu_opacity = 0;
        blurring = false;
        popup_blurring = true;
        menu_blur_radius = 5;
        tooltip_blur_radius = 5;
        contrast = 1.00;
        intensity = 1.00;
        saturation = 1.00;

        # animations & visual feedback
        animate_states = false;
        no_inactiveness = false;
        no_window_pattern = false;

        # menu configuration
        menubar_mouse_tracking = true;
        menu_shadow_depth = 7;
        tooltip_shadow_depth = 6;
        spread_menuitems = true;
        submenu_overlap = 0;
        spread_progressbar = true;

        # scrollbars & sliders
        scroll_width = 8;
        scroll_min_extent = 36;
        scrollbar_in_view = false;
        transient_scrollbar = true;
        transient_groove = false;
        slider_width = 4;
        slider_handle_width = 18;
        slider_handle_length = 18;

        # layout & sizing
        layout_spacing = 2;
        layout_margin = 4;
        small_icon_size = 16;
        large_icon_size = 32;
        button_icon_size = 16;
        toolbar_icon_size = 16;

        # widget specific
        check_size = 16;
        tooltip_delay = -1;
        tree_branch_line = true;
        progressbar_thickness = 8;
      };

      # color configuration
      GeneralColors = {
        # Base Colors
        "window.color" = "#${color.layout.me
nu}";
        "inactive.window.color" = "#${color.
layout.menu}";
        "base.color" = "#${color.layout.body
}";
        "inactive.base.color" = "#${color.la
yout.body}";
        "alt.base.color" = "#${color.layout.
body}";
        "button.color" = "#${color.layout.me
nu}";
        "light.color" = "#${color.secondary.
base}";
        "mid.light.color" = "#${color.second
ary.soft1}";
        "dark.color" = "#${color.secondary.h
ard1}";
        "mid.color" = "#${color.secondary.ba
se}";

        # Highlight Colors
        "highlight.color" = "#${color.primar
y.base}";
        "inactive.highlight.color" = "#${col
or.primary.soft1}";

        # Text Colors
        "text.color" = "#${color.typography.
text}";
        "inactive.text.color" = "#${color.ty
pography.subtext}";
        "window.text.color" = "#${color.typo
graphy.text}";
        "inactive.window.text.color" = "#${c
olor.typography.subtext}";
        "button.text.color" = "#${color.typo
graphy.text}";
        "disabled.text.color" = "#${color.ty
pography.subtext}";
        "tooltip.text.color" = "#${color.typ
ography.text}";
        "highlight.text.color" = "#${color.t
ypography.contrast-text}";
        "link.color" = "#${color.blue.base}"
;
        "link.visited.color" = "#${color.pur
ple.base}";
        "progress.indicator.text.color" = "#
${color.typography.text}";
        "progress.inactive.indicator.text.co
lor" = "#${color.typography.subtext}";
      };

      # Widget-Specific Configurations
      Hacks = {
        transparent_dolphin_view = false;
        blur_konsole = true;
        transparent_ktitle_label = true;
        transparent_menutitle = true;
        respect_darkness = true;
        force_size_grip = false;
        iconless_pushbutton = true;
        iconless_menu = false;
        disabled_icon_opacity = 100;
        normal_default_pushbutton = true;
        tint_on_mouseover = 0;
        blur_translucent = true;
        kinetic_scrolling = false;
        middle_click_scroll = false;
        no_selection_tint = false;
      };

      # Button Configuration
      PanelButtonCommand = {
        frame = true;
        "frame.element" = "button";
        "frame.expanded" = true;
        interior = true;
        "interior.element" = "button";
        "indicator.size" = 8;
        "text.normal.color" = "#${color.typo
graphy.text}";
        "text.focus.color" = "#${color.typog
raphy.text}";
        "text.press.color" = "#${color.typog
raphy.text}";
        "text.toggle.color" = "#${color.typo
graphy.text}";
        "text.shadow" = false;
        "text.margin" = 1;
        "text.iconspacing" = 4;
        "frame.expansion" = 6;
      };

      PanelButtonTool = {
        inherits = "PanelButtonCommand";
      };

      # Window Frames
      GenericFrame = {
        inherits = "PanelButtonCommand";
        frame = true;
        "frame.element" = "common";
        interior = false;
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
      };

      # menu configuration
      Menu = {
        inherits = "PanelButtonCommand";
        "frame.element" = "menu";
        "interior.element" = "menu";
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
      };

      MenuItem = {
        inherits = "PanelButtonCommand";
        frame = true;
        interior = true;
        "interior.element" = "menuitem";
        "indicator.size" = 8;
        "text.focus.color" = "#${color.typog
raphy.text}";
        "text.press.color" = "#${color.typog
raphy.text}";
      };

      MenuBarItem = {
        inherits = "PanelButtonCommand";
        "interior.element" = "menubaritem";
        frame = false;
        "text.margin.top" = 3;
        "text.margin.bottom" = 3;
        "text.margin.left" = 5;
        "text.margin.right" = 5;
      };

      MenuBar = {
        inherits = "PanelButtonCommand";
        "frame.element" = "menubar";
        "interior.element" = "menubar";
        "frame.bottom" = 0;
        "text.normal.color" = "#${color.typo
graphy.text}";
      };

      # Scrollbars
      ScrollbarSlider = {
        inherits = "PanelButtonCommand";
        frame = true;
        interior = false;
        "frame.element" = "scrollbarslider";
        "indicator.element" = "grip";
        "indicator.size" = 13;
        "frame.left" = 6;
        "frame.right" = 6;
        "frame.top" = 6;
        "frame.bottom" = 6;
      };

      ScrollbarGroove = {
        inherits = "PanelButtonCommand";
        interior = false;
        frame = false;
      };

      # Sliders
      Slider = {
        inherits = "PanelButtonCommand";
        frame = false;
        "interior.element" = "slider";
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
      };

      SliderCursor = {
        inherits = "PanelButtonCommand";
        frame = false;
        "interior.element" = "slidercursor";
      };

      # Progress Bars
      Progressbar = {
        inherits = "PanelButtonCommand";
        "frame.element" = "progress";
        "interior.element" = "progress";
        "text.margin" = 0;
        "text.normal.color" = "#${color.typo
graphy.text}";
        "text.focus.color" = "#${color.typog
raphy.text}";
        "text.press.color" = "#${color.typog
raphy.contrast-text}";
        "text.toggle.color" = "#${color.typo
graphy.contrast-text}";
      };

      ProgressbarContents = {
        inherits = "PanelButtonCommand";
        frame = true;
        "frame.element" = "progress-pattern"
;
        "interior.element" = "progress-patte
rn";
      };

      # Tabs
      TabBarFrame = {
        inherits = "GenericFrame";
        frame = true;
        "frame.element" = "tabBarFrame";
        interior = false;
        "frame.top" = 4;
        "frame.bottom" = 4;
        "frame.left" = 4;
        "frame.right" = 4;
      };

      TabFrame = {
        inherits = "PanelButtonCommand";
        "frame.element" = "tabframe";
        "interior.element" = "tabframe";
      };

      Tab = {
        inherits = "PanelButtonCommand";
        "interior.element" = "tab";
        "frame.element" = "tab";
        "frame.top" = 2;
        "frame.bottom" = 2;
        "frame.left" = 2;
        "frame.right" = 2;
        "text.margin.left" = 8;
        "text.margin.right" = 8;
        "text.margin.top" = 2;
        "text.margin.bottom" = 2;
      };

      # Line Edits
      LineEdit = {
        inherits = "PanelButtonCommand";
        "frame.element" = "lineedit";
        "interior.element" = "lineedit";
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
        "text.margin.top" = 2;
        "text.margin.bottom" = 2;
        "text.margin.left" = 2;
        "text.margin.right" = 2;
      };

      # Combo Boxes
      ComboBox = {
        inherits = "PanelButtonCommand";
        "frame.element" = "combo";
        "interior.element" = "combo";
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
        "text.margin.top" = 2;
        "text.margin.bottom" = 2;
        "text.margin.left" = 2;
        "text.margin.right" = 2;
        "indicator.element" = "carrow";
      };

      # Spinboxes
      SpinBox = {
        inherits = "ComboBox";
        "frame.element" = "spinbox";
        "interior.element" = "spinbox";
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
        "indicator.element" = "arrow";
        "indicator.size" = 8;
      };

      # Group Boxes
      GroupBox = {
        inherits = "GenericFrame";
        frame = true;
        "frame.element" = "group";
        interior = false;
        "frame.top" = 4;
        "frame.bottom" = 4;
        "frame.left" = 4;
        "frame.right" = 4;
      };

      # tooltips
      ToolTip = {
        inherits = "PanelButtonCommand";
        "frame.top" = 3;
        "frame.bottom" = 3;
        "frame.left" = 3;
        "frame.right" = 3;
        interior = true;
        "text.shadow" = false;
        "text.margin" = 0;
        "frame.element" = "tooltip";
        "interior.element" = "tooltip";
        "frame.expansion" = 0;
      };

      # window decorations
      Window = {
        interior = true;
        "interior.element" = "window";
        "frame.element" = "window";
        "frame.top" = 0;
        "frame.bottom" = 0;
        "frame.left" = 0;
        "frame.right" = 0;
      };

      Dialog = {
        inherits = "Window";
      };
    };
  };
  home.packages = with pkgs; [
    qt5.qtwayland
    kdePackages.qtwayland
    kdePackages.qqc2-desktop-style
    kdePackages.qttools
    qt6Packages.qt6gtk2
    qt6.qtwayland

    libsForQt5.qtstyleplugins
    qt6Packages.qt6gtk2
    libsForQt5.qt5ct
    kdePackages.qt6ct

    #libsForQt5.breeze-qt5
    #kdePackages.breeze-icons
    # kvantum libraries
    libsForQt5.qtstyleplugin-kvantum
    qt6Packages.qtstyleplugin-kvantum
  ];
}
 
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET