diff --git a/.config/Kvantum/Colloid/Colloid.kvconfig b/.config/Kvantum/Colloid/Colloid.kvconfig new file mode 100644 index 000000000..1294ba409 --- /dev/null +++ b/.config/Kvantum/Colloid/Colloid.kvconfig @@ -0,0 +1,576 @@ +[%General] +author=Vince Liuice, based on KvAdapta by Tsu Jan +comment=An uncomplicated theme inspired by the Materia GTK theme +x11drag=none +alt_mnemonic=true +left_tabs=false +attach_active_tab=false +mirror_doc_tabs=true +group_toolbar_buttons=false +toolbar_item_spacing=0 +toolbar_interior_spacing=2 +spread_progressbar=true +composite=false +menu_shadow_depth=6 +spread_menuitems=false +tooltip_shadow_depth=7 +splitter_width=1 +scroll_width=9 +scroll_arrows=false +scroll_min_extent=60 +slider_width=2 +slider_handle_width=23 +slider_handle_length=22 +tickless_slider_handle_size=22 +center_toolbar_handle=true +check_size=24 +textless_progressbar=false +progressbar_thickness=2 +menubar_mouse_tracking=true +toolbutton_style=1 +double_click=false +translucent_windows=false +blurring=false +popup_blurring=false +vertical_spin_indicators=false +spin_button_width=24 +fill_rubberband=false +merge_menubar_with_toolbar=true +small_icon_size=16 +large_icon_size=32 +button_icon_size=16 +toolbar_icon_size=16 +combo_as_lineedit=true +animate_states=true +button_contents_shift=false +combo_menu=true +hide_combo_checkboxes=true +combo_focus_rect=false +groupbox_top_label=true +inline_spin_indicators=true +joined_inactive_tabs=false +layout_spacing=3 +layout_margin=3 +scrollbar_in_view=true +transient_scrollbar=true +transient_groove=false +submenu_overlap=0 +tooltip_delay=0 +tree_branch_line=false +no_window_pattern=false +opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam +reduce_window_opacity=0 +respect_DE=true +scrollable_menu=false +submenu_delay=150 +no_inactiveness=false +reduce_menu_opacity=0 +click_behavior=2 +contrast=1.00 +dialog_button_layout=0 +intensity=1.00 +saturation=1.00 +shadowless_popup=false +drag_from_buttons=false +menu_blur_radius=0 +tooltip_blur_radius=0 + +[GeneralColors] +window.color=#F5F5F5 +base.color=#ffffff +alt.base.color=#f8f8f8 +button.color=#f2f2f2 +light.color=#ffffff +mid.light.color=#f0f0f0 +dark.color=#c8c8c8 +mid.color=#e1e1e1 +highlight.color=#3c84f7 +inactive.highlight.color=#3c84f7 +text.color=#444444 +window.text.color=#444444 +button.text.color=#444444 +disabled.text.color=#44444474 +tooltip.text.color=#444444 +highlight.text.color=#333333 +link.color=#0057AE +link.visited.color=#E040FB +progress.indicator.text.color=#444444 + +[Hacks] +transparent_ktitle_label=true +transparent_dolphin_view=true +transparent_pcmanfm_sidepane=true +blur_translucent=false +transparent_menutitle=true +respect_darkness=true +kcapacitybar_as_progressbar=true +force_size_grip=true +iconless_pushbutton=false +iconless_menu=false +disabled_icon_opacity=100 +lxqtmainmenu_iconsize=16 +normal_default_pushbutton=true +single_top_toolbar=true +tint_on_mouseover=0 +transparent_pcmanfm_view=true +no_selection_tint=true +transparent_arrow_button=true +middle_click_scroll=false +opaque_colors=false +kinetic_scrolling=false +scroll_jump_workaround=true +centered_forms=false +noninteger_translucency=false +style_vertical_toolbars=false +blur_only_active_window=true + +[PanelButtonCommand] +frame=true +frame.element=button +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +interior=true +interior.element=button +indicator.size=8 +text.normal.color=#444444 +text.focus.color=#444444 +text.press.color=#333333 +text.toggle.color=white +highlight.text.color=white +text.shadow=0 +text.margin=4 +text.iconspacing=4 +indicator.element=arrow +frame.expansion=0 + +[PanelButtonTool] +inherits=PanelButtonCommand +text.normal.color=#444444 +text.focus.color=#444444 +text.press.color=#333333 +text.toggle.color=white +text.disabled.color=#44444474 +text.bold=false +indicator.element=arrow +indicator.size=8 +frame.expansion=0 + +[ToolbarButton] +frame=true +frame.element=tbutton +interior.element=tbutton +frame.top=14 +frame.bottom=14 +frame.left=14 +frame.right=14 +indicator.element=tarrow +text.normal.color=#444444 +text.focus.color=#444444 +text.press.color=#333333 +text.toggle.color=#333333 +text.disabled.color=#44444474 +text.bold=false +frame.expansion=28 + +[Dock] +inherits=PanelButtonCommand +interior.element=dock +frame.element=dock +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +text.normal.color=#444444 + +[DockTitle] +inherits=PanelButtonCommand +frame=false +interior=false +text.normal.color=#444444 +text.focus.color=#444444 +text.bold=false + +[IndicatorSpinBox] +inherits=PanelButtonCommand +frame=true +interior=true +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +indicator.element=spin +indicator.size=8 +text.normal.color=#444444 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 + +[RadioButton] +inherits=PanelButtonCommand +frame=false +interior.element=radio +text.normal.color=#444444 +text.focus.color=#444444 +text.press.color=#333333 +text.toggle.color=#333333 +min_width=+0.3font +min_height=+0.3font + +[CheckBox] +inherits=PanelButtonCommand +frame=false +interior.element=checkbox +text.normal.color=#444444 +text.focus.color=#444444 +text.press.color=#333333 +text.toggle.color=#333333 +min_width=+0.3font +min_height=+0.3font + +[Focus] +inherits=PanelButtonCommand +frame=true +frame.element=focus +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +frame.patternsize=14 + +[GenericFrame] +inherits=PanelButtonCommand +frame=true +interior=false +frame.element=common +interior.element=common +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 + +[LineEdit] +inherits=PanelButtonCommand +frame.element=lineedit +interior.element=lineedit +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 + +[ToolbarLineEdit] +frame.element=lineedit +interior.element=lineedit + +[DropDownButton] +inherits=PanelButtonCommand +indicator.element=arrow-down + +[IndicatorArrow] +indicator.element=arrow +indicator.size=8 + +[ToolboxTab] +inherits=PanelButtonCommand +text.normal.color=#444444 +text.press.color=#333333 +text.focus.color=#444444 + +[Tab] +inherits=PanelButtonCommand +interior.element=tab +text.margin.left=8 +text.margin.right=8 +text.margin.top=0 +text.margin.bottom=0 +frame.element=tab +indicator.element=tab +indicator.size=22 +frame.top=8 +frame.bottom=8 +frame.left=8 +frame.right=8 +text.normal.color=#444444 +text.focus.color=#444444 +text.press.color=#333333 +text.toggle.color=#333333 +frame.expansion=0 +text.bold=false + +[TabFrame] +inherits=PanelButtonCommand +frame.element=tabframe +interior.element=tabframe +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 + +[TreeExpander] +inherits=PanelButtonCommand +indicator.size=8 +indicator.element=tree + +[HeaderSection] +inherits=PanelButtonCommand +interior.element=header +frame.element=header +frame.top=0 +frame.bottom=1 +frame.left=1 +frame.right=1 +text.normal.color=#444444 +text.focus.color=#444444 +text.press.color=#333333 +text.toggle.color=#333333 +frame.expansion=0 + +[SizeGrip] +indicator.element=resize-grip + +[Toolbar] +inherits=PanelButtonCommand +indicator.element=toolbar +indicator.size=5 +text.margin=0 +interior.element=menubar +frame.element=menubar +text.normal.color=#444444 +text.focus.color=#444444 +text.press.color=#333333 +text.toggle.color=#333333 +frame.left=6 +frame.right=6 +frame.top=0 +frame.bottom=1 +frame.expansion=0 + +[Slider] +inherits=PanelButtonCommand +frame.element=slider +focusFrame=true +interior.element=slider +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 + +[SliderCursor] +inherits=PanelButtonCommand +frame=false +interior.element=slidercursor + +[Progressbar] +inherits=PanelButtonCommand +frame.element=progress +interior.element=progress +text.margin=0 +text.normal.color=#444444 +text.focus.color=#444444 +text.press.color=#333333 +text.toggle.color=#333333 +text.bold=false +frame.expansion=8 + +[ProgressbarContents] +inherits=PanelButtonCommand +frame=true +frame.element=progress-pattern +interior.element=progress-pattern + +[ItemView] +inherits=PanelButtonCommand +text.margin=0 +frame.element=itemview +interior.element=itemview +frame.top=4 +frame.bottom=4 +frame.left=4 +frame.right=4 +text.margin.top=0 +text.margin.bottom=0 +text.margin.left=8 +text.margin.right=8 +text.normal.color=#444444 +text.focus.color=#444444 +text.press.color=#333333 +text.toggle.color=#333333 +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[Splitter] +interior.element=splitter +frame=false +indicator.size=0 + +[Scrollbar] +inherits=PanelButtonCommand +indicator.element=arrow +indicator.size=12 + +[ScrollbarSlider] +inherits=PanelButtonCommand +frame.element=scrollbarslider +interior=false +frame.left=5 +frame.right=5 +frame.top=5 +frame.bottom=5 +indicator.element=grip +indicator.size=12 + +[ScrollbarGroove] +inherits=PanelButtonCommand +interior=false +frame=false + +[Menu] +inherits=PanelButtonCommand +frame.top=10 +frame.bottom=10 +frame.left=10 +frame.right=10 +frame.element=menu +interior.element=menu +text.normal.color=#444444 +text.shadow=false +frame.expansion=0 +text.bold=false + +[MenuItem] +inherits=PanelButtonCommand +frame=true +frame.element=menuitem +interior.element=menuitem +indicator.element=menuitem +text.normal.color=#444444 +text.focus.color=#333333 +text.margin.top=0 +text.margin.bottom=0 +text.margin.left=6 +text.margin.right=6 +frame.top=4 +frame.bottom=4 +frame.left=4 +frame.right=4 +text.bold=false +frame.expansion=0 + +[MenuBar] +inherits=PanelButtonCommand +frame.element=menubar +interior.element=menubar +frame.bottom=0 +text.normal.color=#444444 +text.focus.color=#444444 +text.press.color=#333333 +text.toggle.color=#333333 +frame.expansion=0 +text.bold=false + +[MenuBarItem] +inherits=PanelButtonCommand +interior=true +interior.element=menubaritem +frame.element=menubaritem +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.left=4 +text.margin.right=4 +text.margin.top=0 +text.margin.bottom=0 +text.normal.color=#444444 +text.focus.color=#444444 +text.press.color=#333333 +text.toggle.color=#333333 +text.bold=false +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[TitleBar] +inherits=PanelButtonCommand +frame=false +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +interior.element=titlebar +indicator.size=16 +indicator.element=mdi +text.normal.color=#444444 +text.focus.color=#444444 +text.bold=false +text.italic=true +frame.expansion=0 + +[ComboBox] +inherits=PanelButtonCommand +frame.element=combo +interior.element=combo +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +text.normal.color=#444444 +text.focus.color=#424242 +text.press.color=#424242 +text.toggle.color=#424242 + +[GroupBox] +inherits=GenericFrame +frame=false +text.shadow=0 +text.margin=0 +text.normal.color=#444444 +text.focus.color=#333333 +text.bold=false +frame.expansion=0 + +[TabBarFrame] +inherits=GenericFrame +frame=false +interior=false + +[ToolTip] +inherits=GenericFrame +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +interior=true +text.shadow=0 +text.margin=6 +interior.element=tooltip +frame.element=tooltip +text.normal.color=#444444 +text.focus.color=#333333 +text.press.color=#333333 +text.toggle.color=#333333 +frame.expansion=6 + +[StatusBar] +inherits=GenericFrame +frame=false +interior=false + +[Window] +interior=true +interior.element=window +frame=true +frame.element=window +frame.bottom=10 +frame.top=10 diff --git a/.config/Kvantum/Colloid/Colloid.svg b/.config/Kvantum/Colloid/Colloid.svg new file mode 100644 index 000000000..98572ccb7 --- /dev/null +++ b/.config/Kvantum/Colloid/Colloid.svg @@ -0,0 +1,6276 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.config/Kvantum/Colloid/ColloidDark.kvconfig b/.config/Kvantum/Colloid/ColloidDark.kvconfig new file mode 100644 index 000000000..61493df5a --- /dev/null +++ b/.config/Kvantum/Colloid/ColloidDark.kvconfig @@ -0,0 +1,569 @@ +[%General] +author=Vince Liuice, based on KvAdapta by Tsu Jan +comment=An uncomplicated theme inspired by the Materia GTK theme +x11drag=none +alt_mnemonic=true +left_tabs=false +attach_active_tab=false +mirror_doc_tabs=true +group_toolbar_buttons=false +toolbar_item_spacing=0 +toolbar_interior_spacing=2 +spread_progressbar=true +composite=false +menu_shadow_depth=6 +spread_menuitems=false +tooltip_shadow_depth=7 +splitter_width=1 +scroll_width=9 +scroll_arrows=false +scroll_min_extent=60 +slider_width=2 +slider_handle_width=23 +slider_handle_length=22 +tickless_slider_handle_size=22 +center_toolbar_handle=true +check_size=24 +textless_progressbar=false +progressbar_thickness=2 +menubar_mouse_tracking=true +toolbutton_style=1 +double_click=false +translucent_windows=false +blurring=false +popup_blurring=false +vertical_spin_indicators=false +spin_button_width=24 +fill_rubberband=false +merge_menubar_with_toolbar=true +small_icon_size=16 +large_icon_size=32 +button_icon_size=16 +toolbar_icon_size=16 +combo_as_lineedit=true +animate_states=true +button_contents_shift=false +combo_menu=true +hide_combo_checkboxes=true +combo_focus_rect=false +groupbox_top_label=true +inline_spin_indicators=true +joined_inactive_tabs=false +layout_spacing=3 +layout_margin=3 +scrollbar_in_view=true +transient_scrollbar=true +transient_groove=false +submenu_overlap=0 +tooltip_delay=0 +tree_branch_line=false +no_window_pattern=false +opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam +reduce_window_opacity=0 +respect_DE=true +scrollable_menu=false +submenu_delay=150 +no_inactiveness=false +reduce_menu_opacity=0 +click_behavior=2 +contrast=1.00 +dialog_button_layout=0 +intensity=1.00 +saturation=1.00 +shadowless_popup=false +drag_from_buttons=false +menu_blur_radius=0 +tooltip_blur_radius=0 + +[GeneralColors] +window.color=#2c2c2c +base.color=#2c2c2c +alt.base.color=#2e2e2e +button.color=#4d4d4d +light.color=#535353 +mid.light.color=#474747 +dark.color=#282828 +mid.color=#323232 +highlight.color=#5b9bf8 +inactive.highlight.color=#5b9bf8 +text.color=#dfdfdf +window.text.color=#dfdfdf +button.text.color=#dfdfdf +disabled.text.color=#696969 +tooltip.text.color=#efefef +highlight.text.color=#ffffff +link.color=#0057AE +link.visited.color=#E040FB +progress.indicator.text.color=#dfdfdf + +[Hacks] +transparent_ktitle_label=true +transparent_dolphin_view=true +transparent_pcmanfm_sidepane=true +blur_translucent=false +transparent_menutitle=true +respect_darkness=true +kcapacitybar_as_progressbar=true +force_size_grip=true +iconless_pushbutton=false +iconless_menu=false +disabled_icon_opacity=100 +lxqtmainmenu_iconsize=16 +normal_default_pushbutton=true +single_top_toolbar=true +tint_on_mouseover=0 +transparent_pcmanfm_view=true +no_selection_tint=true +transparent_arrow_button=true +middle_click_scroll=false +opaque_colors=false +kinetic_scrolling=false +scroll_jump_workaround=true +centered_forms=false +noninteger_translucency=false +style_vertical_toolbars=false +blur_only_active_window=true + +[PanelButtonCommand] +frame=true +frame.element=button +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +interior=true +interior.element=button +indicator.size=8 +text.normal.color=#dfdfdf +text.focus.color=white +text.press.color=white +text.toggle.color=#ffffff +text.shadow=0 +text.margin=4 +text.iconspacing=4 +indicator.element=arrow +frame.expansion=0 + +[PanelButtonTool] +inherits=PanelButtonCommand +text.normal.color=#dfdfdf +text.focus.color=white +text.press.color=white +text.toggle.color=#ffffff +text.bold=false +indicator.element=arrow +indicator.size=8 +frame.expansion=0 + +[ToolbarButton] +frame=true +frame.element=tbutton +interior.element=tbutton +frame.top=16 +frame.bottom=16 +frame.left=16 +frame.right=16 +indicator.element=tarrow +text.normal.color=#dfdfdf +text.focus.color=white +text.press.color=white +text.toggle.color=white +text.bold=false +frame.expansion=32 + +[Dock] +inherits=PanelButtonCommand +interior.element=dock +frame.element=dock +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +text.normal.color=#dfdfdf + +[DockTitle] +inherits=PanelButtonCommand +frame=false +interior=false +text.normal.color=#dfdfdf +text.focus.color=white +text.bold=false + +[IndicatorSpinBox] +inherits=PanelButtonCommand +frame=true +interior=true +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +indicator.element=spin +indicator.size=8 +text.normal.color=#dfdfdf +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 + +[RadioButton] +inherits=PanelButtonCommand +frame=false +interior.element=radio +text.normal.color=#dfdfdf +text.focus.color=white +min_width=+0.3font +min_height=+0.3font + +[CheckBox] +inherits=PanelButtonCommand +frame=false +interior.element=checkbox +text.normal.color=#dfdfdf +text.focus.color=white +min_width=+0.3font +min_height=+0.3font + +[Focus] +inherits=PanelButtonCommand +frame=true +frame.element=focus +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +frame.patternsize=14 + +[GenericFrame] +inherits=PanelButtonCommand +frame=true +interior=false +frame.element=common +interior.element=common +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 + +[LineEdit] +inherits=PanelButtonCommand +frame.element=lineedit +interior.element=lineedit +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 + +[ToolbarLineEdit] +frame.element=lineedit +interior.element=lineedit + +[DropDownButton] +inherits=PanelButtonCommand +indicator.element=arrow-down + +[IndicatorArrow] +indicator.element=arrow +indicator.size=8 + +[ToolboxTab] +inherits=PanelButtonCommand +text.normal.color=#dfdfdf +text.press.color=#dfdfdf +text.focus.color=white + +[Tab] +inherits=PanelButtonCommand +interior.element=tab +text.margin.left=8 +text.margin.right=8 +text.margin.top=0 +text.margin.bottom=0 +frame.element=tab +indicator.element=tab +indicator.size=22 +frame.top=8 +frame.bottom=8 +frame.left=8 +frame.right=8 +text.normal.color=#dfdfdf +text.focus.color=#dfdfdf +text.press.color=white +text.toggle.color=white +frame.expansion=0 +text.bold=false + +[TabFrame] +inherits=PanelButtonCommand +frame.element=tabframe +interior.element=tabframe +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 + +[TreeExpander] +inherits=PanelButtonCommand +indicator.size=8 +indicator.element=tree + +[HeaderSection] +inherits=PanelButtonCommand +interior.element=header +frame.element=header +frame.top=0 +frame.bottom=1 +frame.left=1 +frame.right=1 +text.normal.color=#dfdfdf +text.focus.color=white +text.press.color=white +text.toggle.color=white +frame.expansion=0 + +[SizeGrip] +indicator.element=resize-grip + +[Toolbar] +inherits=PanelButtonCommand +indicator.element=toolbar +indicator.size=5 +text.margin=0 +interior.element=menubar +frame.element=menubar +text.normal.color=#dfdfdf +text.focus.color=white +text.press.color=#dfdfdf +text.toggle.color=white +frame.left=6 +frame.right=6 +frame.top=0 +frame.bottom=1 +frame.expansion=0 + +[Slider] +inherits=PanelButtonCommand +frame.element=slider +focusFrame=true +interior.element=slider +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 + +[SliderCursor] +inherits=PanelButtonCommand +frame=false +interior.element=slidercursor + +[Progressbar] +inherits=PanelButtonCommand +frame.element=progress +interior.element=progress +text.margin=0 +text.normal.color=#dfdfdf +text.focus.color=#dfdfdf +text.press.color=#dfdfdf +text.toggle.color=#dfdfdf +text.bold=false +frame.expansion=8 + +[ProgressbarContents] +inherits=PanelButtonCommand +frame=true +frame.element=progress-pattern +interior.element=progress-pattern + +[ItemView] +inherits=PanelButtonCommand +text.margin=0 +frame.element=itemview +interior.element=itemview +frame.top=4 +frame.bottom=4 +frame.left=4 +frame.right=4 +text.margin.top=0 +text.margin.bottom=0 +text.margin.left=8 +text.margin.right=8 +text.normal.color=#dfdfdf +text.focus.color=#dfdfdf +text.press.color=#ffffff +text.toggle.color=#ffffff +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[Splitter] +interior.element=splitter +frame=false +indicator.size=0 + +[Scrollbar] +inherits=PanelButtonCommand +indicator.element=arrow +indicator.size=12 + +[ScrollbarSlider] +inherits=PanelButtonCommand +frame.element=scrollbarslider +interior=false +frame.left=5 +frame.right=5 +frame.top=5 +frame.bottom=5 +indicator.element=grip +indicator.size=12 + +[ScrollbarGroove] +inherits=PanelButtonCommand +interior=false +frame=false + +[Menu] +inherits=PanelButtonCommand +frame.top=10 +frame.bottom=10 +frame.left=10 +frame.right=10 +frame.element=menu +interior.element=menu +text.normal.color=#dfdfdf +text.shadow=false +frame.expansion=0 +text.bold=false + +[MenuItem] +inherits=PanelButtonCommand +frame=true +frame.element=menuitem +interior.element=menuitem +indicator.element=menuitem +text.normal.color=#dfdfdf +text.focus.color=#ffffff +text.margin.top=0 +text.margin.bottom=0 +text.margin.left=6 +text.margin.right=6 +frame.top=4 +frame.bottom=4 +frame.left=4 +frame.right=4 +text.bold=false +frame.expansion=0 + +[MenuBar] +inherits=PanelButtonCommand +frame.element=menubar +interior.element=menubar +frame.bottom=0 +text.normal.color=#dfdfdf +text.focus.color=#ffffff +text.press.color=#ffffff +text.toggle.color=#ffffff +frame.expansion=0 +text.bold=false + +[MenuBarItem] +inherits=PanelButtonCommand +interior=true +interior.element=menubaritem +frame.element=menubaritem +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.left=4 +text.margin.right=4 +text.margin.top=0 +text.margin.bottom=0 +text.normal.color=#dfdfdf +text.focus.color=#ffffff +text.press.color=#ffffff +text.toggle.color=#ffffff +text.bold=false +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[TitleBar] +inherits=PanelButtonCommand +frame=false +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +interior.element=titlebar +indicator.size=16 +indicator.element=mdi +text.normal.color=#787878 +text.focus.color=#dfdfdf +text.bold=false +text.italic=true +frame.expansion=0 + +[ComboBox] +inherits=PanelButtonCommand +frame.element=combo +interior.element=combo +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +text.focus.color=white +text.press.color=#dfdfdf +text.toggle.color=white + +[GroupBox] +inherits=GenericFrame +frame=false +text.shadow=0 +text.margin=0 +text.normal.color=#dfdfdf +text.focus.color=white +text.bold=false +frame.expansion=0 + +[TabBarFrame] +inherits=GenericFrame +frame=false +frame.element=tabBarFrame +interior=false +frame.top=0 +frame.bottom=0 +frame.left=0 +frame.right=0 + +[ToolTip] +inherits=GenericFrame +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +interior=true +text.shadow=0 +text.margin=6 +interior.element=tooltip +frame.element=tooltip +frame.expansion=6 + +[StatusBar] +inherits=GenericFrame +frame=false +interior=false + +[Window] +interior=true +interior.element=window +frame=true +frame.element=window +frame.bottom=10 +frame.top=10 diff --git a/.config/Kvantum/Colloid/ColloidDark.svg b/.config/Kvantum/Colloid/ColloidDark.svg new file mode 100644 index 000000000..7f1a7b9b2 --- /dev/null +++ b/.config/Kvantum/Colloid/ColloidDark.svg @@ -0,0 +1,6359 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.config/Kvantum/MaterialAdw/MaterialAdw.kvconfig b/.config/Kvantum/MaterialAdw/MaterialAdw.kvconfig new file mode 100644 index 000000000..85264e0d2 --- /dev/null +++ b/.config/Kvantum/MaterialAdw/MaterialAdw.kvconfig @@ -0,0 +1,571 @@ +[%General] +author=Vince Liuice, based on KvAdapta by Tsu Jan +comment=An uncomplicated theme inspired by the Materia GTK theme +x11drag=none +alt_mnemonic=true +left_tabs=false +attach_active_tab=false +mirror_doc_tabs=true +group_toolbar_buttons=false +toolbar_item_spacing=0 +toolbar_interior_spacing=2 +spread_progressbar=true +composite=false +menu_shadow_depth=6 +spread_menuitems=false +tooltip_shadow_depth=7 +splitter_width=1 +scroll_width=9 +scroll_arrows=false +scroll_min_extent=60 +slider_width=2 +slider_handle_width=23 +slider_handle_length=22 +tickless_slider_handle_size=22 +center_toolbar_handle=true +check_size=24 +textless_progressbar=false +progressbar_thickness=2 +menubar_mouse_tracking=true +toolbutton_style=1 +double_click=false +translucent_windows=false +blurring=false +popup_blurring=false +vertical_spin_indicators=false +spin_button_width=24 +fill_rubberband=false +merge_menubar_with_toolbar=true +small_icon_size=16 +large_icon_size=32 +button_icon_size=16 +toolbar_icon_size=16 +combo_as_lineedit=true +animate_states=true +button_contents_shift=false +combo_menu=true +hide_combo_checkboxes=true +combo_focus_rect=false +groupbox_top_label=true +inline_spin_indicators=true +joined_inactive_tabs=false +layout_spacing=3 +layout_margin=3 +scrollbar_in_view=true +transient_scrollbar=true +transient_groove=false +submenu_overlap=0 +tooltip_delay=0 +tree_branch_line=false +no_window_pattern=false +opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,VirtualBoxVM,trojita,dragon,digikam,lyx +reduce_window_opacity=0 +respect_DE=true +scrollable_menu=false +submenu_delay=150 +no_inactiveness=false +reduce_menu_opacity=0 +click_behavior=2 +contrast=1.00 +dialog_button_layout=0 +intensity=1.00 +saturation=1.00 +shadowless_popup=false +drag_from_buttons=false +menu_blur_radius=0 +tooltip_blur_radius=0 + +[GeneralColors] +window.color=#0F1416 +base.color=#0F1416 +alt.base.color=#0F1416 +button.color=#1B2022 +light.color=#171C1E +mid.light.color=#1B2022 +dark.color=#303638 +mid.color=#252B2D +highlight.color=#84D2E7 +inactive.highlight.color=#84D2E7 +text.color=#DEE3E5 +window.text.color=#DEE3E5 +button.text.color=#DEE3E5 +disabled.text.color=#DEE3E5 +tooltip.text.color=#DEE3E5 +highlight.text.color=#DEE3E5 +link.color=#BFC4EB +link.visited.color=#DDE1FF +progress.indicator.text.color=#DEE3E5 + +[Hacks] +transparent_ktitle_label=true +transparent_dolphin_view=true +transparent_pcmanfm_sidepane=true +blur_translucent=false +transparent_menutitle=true +respect_darkness=true +kcapacitybar_as_progressbar=true +force_size_grip=true +iconless_pushbutton=false +iconless_menu=false +disabled_icon_opacity=100 +lxqtmainmenu_iconsize=16 +normal_default_pushbutton=true +single_top_toolbar=true +tint_on_mouseover=0 +transparent_pcmanfm_view=true +no_selection_tint=true +transparent_arrow_button=true +middle_click_scroll=false +opaque_colors=false +kinetic_scrolling=false +scroll_jump_workaround=true +centered_forms=false +noninteger_translucency=false +style_vertical_toolbars=false +blur_only_active_window=true + +[PanelButtonCommand] +frame=true +frame.element=button +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +interior=true +interior.element=button +indicator.size=8 +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.press.color=white +text.toggle.color=#ffffff +text.shadow=0 +text.margin=4 +text.iconspacing=4 +indicator.element=arrow +frame.expansion=0 + +[PanelButtonTool] +inherits=PanelButtonCommand +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.press.color=white +text.toggle.color=#ffffff +text.bold=false +indicator.element=arrow +indicator.size=8 +frame.expansion=0 + +[ToolbarButton] +frame=true +frame.element=tbutton +interior.element=tbutton +frame.top=16 +frame.bottom=16 +frame.left=16 +frame.right=16 +indicator.element=tarrow +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.press.color=white +text.toggle.color=white +text.bold=false +frame.expansion=32 + +[Dock] +inherits=PanelButtonCommand +interior.element=dock +frame.element=dock +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +text.normal.color=#DEE3E5 + +[DockTitle] +inherits=PanelButtonCommand +frame=false +interior=false +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.bold=false + +[IndicatorSpinBox] +inherits=PanelButtonCommand +frame=true +interior=true +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +indicator.element=spin +indicator.size=8 +text.normal.color=#DEE3E5 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 + +[RadioButton] +inherits=PanelButtonCommand +frame=false +interior.element=radio +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +min_width=+0.3font +min_height=+0.3font + +[CheckBox] +inherits=PanelButtonCommand +frame=false +interior.element=checkbox +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +min_width=+0.3font +min_height=+0.3font + +[Focus] +inherits=PanelButtonCommand +frame=true +frame.element=focus +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +frame.patternsize=14 + +[GenericFrame] +inherits=PanelButtonCommand +frame=true +interior=false +frame.element=common +interior.element=common +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 + +[LineEdit] +inherits=PanelButtonCommand +frame.element=lineedit +interior.element=lineedit +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 + +[ToolbarLineEdit] +frame.element=lineedit +interior.element=lineedit + +[DropDownButton] +inherits=PanelButtonCommand +indicator.element=arrow-down + +[IndicatorArrow] +indicator.element=arrow +indicator.size=8 + +[ToolboxTab] +inherits=PanelButtonCommand +text.normal.color=#DEE3E5 +text.press.color=#dfdfdf +text.focus.color=#DEE3E5 + +[Tab] +inherits=PanelButtonCommand +interior.element=tab +text.margin.left=8 +text.margin.right=8 +text.margin.top=0 +text.margin.bottom=0 +frame.element=tab +indicator.element=tab +indicator.size=22 +frame.top=8 +frame.bottom=8 +frame.left=8 +frame.right=8 +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.press.color=white +text.toggle.color=white +frame.expansion=0 +text.bold=false + +[TabFrame] +inherits=PanelButtonCommand +frame.element=tabframe +interior.element=tabframe +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 + +[TreeExpander] +inherits=PanelButtonCommand +indicator.size=8 +indicator.element=tree + +[HeaderSection] +inherits=PanelButtonCommand +interior.element=header +frame.element=header +frame.top=0 +frame.bottom=1 +frame.left=1 +frame.right=1 +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.press.color=white +text.toggle.color=white +frame.expansion=0 + +[SizeGrip] +indicator.element=resize-grip + +[Toolbar] +inherits=PanelButtonCommand +indicator.element=toolbar +indicator.size=5 +text.margin=0 +interior.element=menubar +frame.element=menubar +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.press.color=#dfdfdf +text.toggle.color=white +frame.left=6 +frame.right=6 +frame.top=0 +frame.bottom=1 +frame.expansion=0 + +[Slider] +inherits=PanelButtonCommand +frame.element=slider +focusFrame=true +interior.element=slider +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 + +[SliderCursor] +inherits=PanelButtonCommand +frame=false +interior.element=slidercursor + +[Progressbar] +inherits=PanelButtonCommand +frame.element=progress +interior.element=progress +text.margin=0 +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.press.color=#dfdfdf +text.toggle.color=#dfdfdf +text.bold=false +frame.expansion=8 + +[ProgressbarContents] +inherits=PanelButtonCommand +frame=true +frame.element=progress-pattern +interior.element=progress-pattern + +[ItemView] +inherits=PanelButtonCommand +text.margin=0 +frame.element=itemview +interior.element=itemview +frame.top=4 +frame.bottom=4 +frame.left=4 +frame.right=4 +text.margin.top=0 +text.margin.bottom=0 +text.margin.left=8 +text.margin.right=8 +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.press.color=#ffffff +text.toggle.color=#ffffff +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[Splitter] +interior.element=splitter +frame=false +indicator.size=0 + +[Scrollbar] +inherits=PanelButtonCommand +indicator.element=arrow +indicator.size=12 + +[ScrollbarSlider] +inherits=PanelButtonCommand +frame.element=scrollbarslider +interior=false +frame.left=5 +frame.right=5 +frame.top=5 +frame.bottom=5 +indicator.element=grip +indicator.size=12 + +[ScrollbarGroove] +inherits=PanelButtonCommand +interior=false +frame=false + +[Menu] +inherits=PanelButtonCommand +frame.top=10 +frame.bottom=10 +frame.left=10 +frame.right=10 +frame.element=menu +interior.element=menu +text.normal.color=#DEE3E5 +text.shadow=false +frame.expansion=0 +text.bold=false + +[MenuItem] +inherits=PanelButtonCommand +frame=true +frame.element=menuitem +interior.element=menuitem +indicator.element=menuitem +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.margin.top=0 +text.margin.bottom=0 +text.margin.left=6 +text.margin.right=6 +frame.top=4 +frame.bottom=4 +frame.left=4 +frame.right=4 +text.bold=false +frame.expansion=0 + +[MenuBar] +inherits=PanelButtonCommand +frame.element=menubar +interior.element=menubar +frame.bottom=0 +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.press.color=#ffffff +text.toggle.color=#ffffff +frame.expansion=0 +text.bold=false + +[MenuBarItem] +inherits=PanelButtonCommand +interior=true +interior.element=menubaritem +frame.element=menubaritem +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.left=4 +text.margin.right=4 +text.margin.top=0 +text.margin.bottom=0 +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.press.color=#ffffff +text.toggle.color=#ffffff +text.bold=false +min_width=+0.3font +min_height=+0.3font +frame.expansion=0 + +[TitleBar] +inherits=PanelButtonCommand +frame=false +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +interior.element=titlebar +indicator.size=16 +indicator.element=mdi +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.bold=false +text.italic=true +frame.expansion=0 + +[ComboBox] +inherits=PanelButtonCommand +frame.element=combo +interior.element=combo +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=2 +text.margin.right=2 +text.focus.color=#DEE3E5 +text.press.color=#dfdfdf +text.toggle.color=white + +[GroupBox] +inherits=GenericFrame +frame=false +text.shadow=0 +text.margin=0 +text.normal.color=#DEE3E5 +text.focus.color=#DEE3E5 +text.bold=false +frame.expansion=0 + +[TabBarFrame] +inherits=GenericFrame +frame=false +frame.element=tabBarFrame +interior=false +frame.top=0 +frame.bottom=0 +frame.left=0 +frame.right=0 + +[ToolTip] +inherits=GenericFrame +frame.top=6 +frame.bottom=6 +frame.left=6 +frame.right=6 +interior=true +text.shadow=0 +text.margin=6 +interior.element=tooltip +frame.element=tooltip +frame.expansion=6 + +[StatusBar] +inherits=GenericFrame +frame=false +interior=false + +[Window] +interior=true +interior.element=window +frame=true +frame.element=window +frame.bottom=10 +frame.top=10 + +text.disabled.color=#0F1416 diff --git a/.config/Kvantum/MaterialAdw/MaterialAdw.svg b/.config/Kvantum/MaterialAdw/MaterialAdw.svg new file mode 100644 index 000000000..11c94b4bf --- /dev/null +++ b/.config/Kvantum/MaterialAdw/MaterialAdw.svg @@ -0,0 +1,6359 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.config/Kvantum/kvantum.kvconfig b/.config/Kvantum/kvantum.kvconfig new file mode 100644 index 000000000..893dc5fe9 --- /dev/null +++ b/.config/Kvantum/kvantum.kvconfig @@ -0,0 +1,2 @@ +[General] +theme=MaterialAdw diff --git a/.config/ags/README.md b/.config/ags/README.md new file mode 100644 index 000000000..71563ed7a --- /dev/null +++ b/.config/ags/README.md @@ -0,0 +1,15 @@ + +# Starter Config + +if suggestions don't work, first make sure +you have TypeScript LSP working in your editor + +if you do not want typechecking only suggestions + +```json +// tsconfig.json +"checkJs": false +``` + +types are symlinked to: +/usr/share/com.github.Aylur.ags/types diff --git a/.config/ags/modules/.commonwidgets/statusicons.js b/.config/ags/modules/.commonwidgets/statusicons.js index eacc444fd..11b4e1769 100644 --- a/.config/ags/modules/.commonwidgets/statusicons.js +++ b/.config/ags/modules/.commonwidgets/statusicons.js @@ -86,14 +86,20 @@ export const BluetoothIndicator = () => Widget.Stack({ transition: 'slide_up_down', transitionDuration: userOptions.animations.durationSmall, children: { - 'false': Widget.Label({ className: 'txt-norm icon-material', label: 'bluetooth_disabled' }), - 'true': Widget.Label({ className: 'txt-norm icon-material', label: 'bluetooth' }), + 'disabled': Widget.Label({ className: 'txt-norm icon-material', label: 'bluetooth_disabled' }), + 'enabled': Widget.Label({ className: 'txt-norm icon-material', label: 'bluetooth' }), + 'connected': Widget.Label({ className: 'txt-norm icon-material', label: 'bluetooth_connected' }), }, - setup: (self) => self - .hook(Bluetooth, stack => { - stack.shown = String(Bluetooth.enabled); - }) - , + setup: (self) => + self.hook(Bluetooth, (stack) => { + if (!Bluetooth.enabled) { + stack.shown = 'disabled'; + } else if (Bluetooth.connected_devices.length === 0) { + stack.shown = 'enabled'; + } else if (Bluetooth.connected_devices.length > 0) { + stack.shown = 'connected'; + } + }), }); const BluetoothDevices = () => Widget.Box({ @@ -158,8 +164,11 @@ const NetworkWifiIndicator = () => Widget.Stack({ transition: 'slide_up_down', transitionDuration: userOptions.animations.durationSmall, children: { - 'disabled': Widget.Label({ className: 'txt-norm icon-material', label: 'wifi_off' }), - 'disconnected': Widget.Label({ className: 'txt-norm icon-material', label: 'signal_wifi_off' }), + 'disabled': Widget.Label({ className: 'txt-norm icon-material', label: 'signal_wifi_off' }), + 'disconnected': Widget.Label({ + className: 'txt-norm icon-material', + label: 'signal_wifi_statusbar_not_connected', + }), 'connecting': Widget.Label({ className: 'txt-norm icon-material', label: 'settings_ethernet' }), '0': Widget.Label({ className: 'txt-norm icon-material', label: 'signal_wifi_0_bar' }), '1': Widget.Label({ className: 'txt-norm icon-material', label: 'network_wifi_1_bar' }), @@ -171,10 +180,11 @@ const NetworkWifiIndicator = () => Widget.Stack({ if (!Network.wifi) { return; } - if (Network.wifi.internet == 'connected') { + if (!Network.wifi.enabled) { + stack.shown = 'disabled'; + } else if (Network.wifi.internet == 'connected') { stack.shown = String(Math.ceil(Network.wifi.strength / 25)); - } - else if (["disconnected", "connecting"].includes(Network.wifi.internet)) { + } else if (['disconnected', 'connecting'].includes(Network.wifi.internet)) { stack.shown = Network.wifi.internet; } }), diff --git a/.config/ags/modules/overview/overview_hyprland.js b/.config/ags/modules/overview/overview_hyprland.js index ebbe07f4e..253d188da 100644 --- a/.config/ags/modules/overview/overview_hyprland.js +++ b/.config/ags/modules/overview/overview_hyprland.js @@ -60,7 +60,10 @@ export default (overviewMonitor = 0) => { else if (x < 0) { w = x + w; x = 0; } if (y + h <= 0) x += (Math.floor(y / monitors[monitor].height) * monitors[monitor].height); else if (y < 0) { h = y + h; y = 0; } +<<<<<<< HEAD // Prevents throwing an error when multiple monitors are plugged in but only one is enabled (#1047) +======= +>>>>>>> 1996008 (heda fix) if (monitors.length - 1 < monitor) { monitor = monitors.length - 1; } diff --git a/.config/ags/modules/sideright/centermodules/configure.js b/.config/ags/modules/sideright/centermodules/configure.js index f78608aa2..be71706c7 100644 --- a/.config/ags/modules/sideright/centermodules/configure.js +++ b/.config/ags/modules/sideright/centermodules/configure.js @@ -1,130 +1,307 @@ const { GLib } = imports.gi; -import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js'; -import Widget from 'resource:///com/github/Aylur/ags/widget.js'; -import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; +import Hyprland from "resource:///com/github/Aylur/ags/service/hyprland.js"; +import Widget from "resource:///com/github/Aylur/ags/widget.js"; +import * as Utils from "resource:///com/github/Aylur/ags/utils.js"; const { Box, Button, Icon, Label, Scrollable, Slider, Stack } = Widget; const { execAsync, exec } = Utils; -import { MaterialIcon } from '../../.commonwidgets/materialicon.js'; -import { setupCursorHover } from '../../.widgetutils/cursorhover.js'; -import { ConfigGap, ConfigSpinButton, ConfigToggle } from '../../.commonwidgets/configwidgets.js'; +import { MaterialIcon } from "../../.commonwidgets/materialicon.js"; +import { setupCursorHover } from "../../.widgetutils/cursorhover.js"; +import { + ConfigGap, + ConfigSpinButton, + ConfigToggle, +} from "../../.commonwidgets/configwidgets.js"; -const HyprlandToggle = ({ icon, name, desc = null, option, enableValue = 1, disableValue = 0, extraOnChange = () => { } }) => ConfigToggle({ +// Hyprland config file path +const configFile = GLib.get_home_dir() + "/.config/hypr/hyprland/HyprAGS.conf"; + +// Ensure the config file exists +function ensureConfigFileExists() { + if (!GLib.file_test(configFile, GLib.FileTest.EXISTS)) { + execAsync(["touch", configFile]).catch((err) => + logError("Error creating config file", err), + ); + } +} + +// Helper to update the config file +function updateConfig(option, value) { + execAsync([ + "bash", + "-c", + ` + if grep -q "^${option} =" ${configFile}; then + sed -i "s/^${option} = .*/${option} = ${value}/" ${configFile} + else + echo "${option} = ${value}" >> ${configFile} + fi + `, + ]).catch((err) => logError("Failed to update config", err)); +} + +// Toggles for Hyprland settings +const HyprlandToggle = ({ + icon, + name, + desc = null, + option, + enableValue = 1, + disableValue = 0, + extraOnChange = () => {}, +}) => + ConfigToggle({ icon: icon, name: name, desc: desc, initValue: JSON.parse(exec(`hyprctl getoption -j ${option}`))["int"] != 0, onChange: (self, newValue) => { - execAsync(['hyprctl', 'keyword', option, `${newValue ? enableValue : disableValue}`]).catch(print); - extraOnChange(self, newValue); - } -}); + execAsync([ + "hyprctl", + "keyword", + option, + `${newValue ? enableValue : disableValue}`, + ]) + .then(() => { + updateConfig(option, newValue ? enableValue : disableValue); + extraOnChange(self, newValue); + }) + .catch((err) => logError("Error applying change", err)); + }, + }); -const HyprlandSpinButton = ({ icon, name, desc = null, option, ...rest }) => ConfigSpinButton({ +// SpinButton for numeric settings +const HyprlandSpinButton = ({ icon, name, desc = null, option, ...rest }) => + ConfigSpinButton({ icon: icon, name: name, desc: desc, - initValue: Number(JSON.parse(exec(`hyprctl getoption -j ${option}`))["int"]), + initValue: Number( + JSON.parse(exec(`hyprctl getoption -j ${option}`))["int"], + ), onChange: (self, newValue) => { - execAsync(['hyprctl', 'keyword', option, `${newValue}`]).catch(print); + execAsync(["hyprctl", "keyword", option, `${newValue}`]) + .then(() => { + updateConfig(option, newValue); + }) + .catch((err) => logError("Error applying change", err)); }, ...rest, -}); + }); -const Subcategory = (children) => Box({ - className: 'margin-left-20', +const Subcategory = (children) => + Box({ + className: "margin-left-20", vertical: true, children: children, -}) + }); export default (props) => { - const ConfigSection = ({ name, children }) => Box({ - vertical: true, - className: 'spacing-v-5', - children: [ - Label({ - hpack: 'center', - className: 'txt txt-large margin-left-10', - label: name, + const ConfigSection = ({ name, children }) => + Box({ + vertical: true, + className: "spacing-v-5", + children: [ + Label({ + hpack: "center", + className: "txt txt-large margin-left-10", + label: name, + }), + Box({ + className: "margin-left-10 margin-right-10", + vertical: true, + children: children, + }), + ], + }); + + const mainContent = Scrollable({ + vexpand: true, + child: Box({ + vertical: true, + className: "spacing-v-10", + children: [ + // Roundings Section + ConfigSection({ + name: getString("Window"), + children: [ + HyprlandSpinButton({ + icon: "crop_square", + name: getString("Window Roundings"), + desc: getString( + "[Hyprland]\nAdjust the window corner roundings.", + ), + option: "decoration:rounding", + minValue: 0, + maxValue: 50, + step: 1, + onChange: (self, newValue) => { + updateConfig("decoration:rounding", newValue); + }, }), - Box({ - className: 'margin-left-10 margin-right-10', - vertical: true, - children: children, - }) - ] - }) - const mainContent = Scrollable({ - vexpand: true, - child: Box({ - vertical: true, - className: 'spacing-v-10', - children: [ - ConfigSection({ - name: getString('Effects'), children: [ - ConfigToggle({ - icon: 'border_clear', - name: getString('Transparency'), - desc: getString('[AGS]\nMake shell elements transparent\nBlur is also recommended if you enable this'), - initValue: exec(`bash -c "sed -n \'2p\' ${GLib.get_user_state_dir()}/ags/user/colormode.txt"`) == "transparent", - onChange: (self, newValue) => { - const transparency = newValue == 0 ? "opaque" : "transparent"; - console.log(transparency); - execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_state_dir()}/ags/user && sed -i "2s/.*/${transparency}/" ${GLib.get_user_state_dir()}/ags/user/colormode.txt`]) - .then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchcolor.sh`])) - .catch(print); - }, - }), - HyprlandToggle({ icon: 'blur_on', name: getString('Blur'), desc: getString("[Hyprland]\nEnable blur on transparent elements\nDoesn't affect performance/power consumption unless you have transparent windows."), option: "decoration:blur:enabled" }), - Subcategory([ - HyprlandToggle({ icon: 'stack_off', name: getString('X-ray'), desc: getString("[Hyprland]\nMake everything behind a window/layer except the wallpaper not rendered on its blurred surface\nRecommended to improve performance (if you don't abuse transparency/blur) "), option: "decoration:blur:xray" }), - HyprlandSpinButton({ icon: 'target', name: getString('Size'), desc: getString('[Hyprland]\nAdjust the blur radius. Generally doesn\'t affect performance\nHigher = more color spread'), option: 'decoration:blur:size', minValue: 1, maxValue: 1000 }), - HyprlandSpinButton({ icon: 'repeat', name: getString('Passes'), desc: getString('[Hyprland] Adjust the number of runs of the blur algorithm\nMore passes = more spread and power consumption\n4 is recommended\n2- would look weird and 6+ would look lame.'), option: 'decoration:blur:passes', minValue: 1, maxValue: 10 }), - ]), - ConfigGap({}), - HyprlandToggle({ - icon: 'animation', name: getString('Animations'), desc: getString('[Hyprland] [GTK]\nEnable animations'), option: 'animations:enabled', - extraOnChange: (self, newValue) => execAsync(['gsettings', 'set', 'org.gnome.desktop.interface', 'enable-animations', `${newValue}`]) - }), - Subcategory([ - ConfigSpinButton({ - icon: 'clear_all', - name: getString('Choreography delay'), - desc: getString('In milliseconds, the delay between animations of a series'), - initValue: userOptions.animations.choreographyDelay, - step: 10, minValue: 0, maxValue: 1000, - onChange: (self, newValue) => { - userOptions.animations.choreographyDelay = newValue - }, - }) - ]), - ] - }), - ConfigSection({ - name: getString('Developer'), children: [ - HyprlandToggle({ icon: 'speed', name: getString('Show FPS'), desc: getString("[Hyprland]\nShow FPS overlay on top-left corner"), option: "debug:overlay" }), - HyprlandToggle({ icon: 'sort', name: getString('Log to stdout'), desc: getString("[Hyprland]\nPrint LOG, ERR, WARN, etc. messages to the console"), option: "debug:enable_stdout_logs" }), - HyprlandToggle({ icon: 'motion_sensor_active', name: getString('Damage tracking'), desc: getString("[Hyprland]\nEnable damage tracking\nGenerally, leave it on.\nTurn off only when a shader doesn't work"), option: "debug:damage_tracking", enableValue: 2 }), - HyprlandToggle({ icon: 'destruction', name: getString('Damage blink'), desc: getString("[Hyprland] [Epilepsy warning!]\nShow screen damage flashes"), option: "debug:damage_blink" }), - ] - }), - ] - }) - }); - const footNote = Box({ - homogeneous: true, - children: [Label({ - hpack: 'center', - className: 'txt txt-italic txt-subtext margin-5', - label: getString('Not all changes are saved'), - })] - }) - return Box({ - ...props, - className: 'spacing-v-5', - vertical: true, - children: [ - mainContent, - footNote, - ] - }); -} + ], + }), + // Effects Section + ConfigSection({ + name: getString("Effects"), + children: [ + ConfigToggle({ + icon: "border_clear", + name: getString("Transparency"), + desc: getString( + "[AGS]\nMake shell elements transparent\nBlur is also recommended if you enable this", + ), + initValue: + exec( + `bash -c "sed -n '2p' ${GLib.get_user_state_dir()}/ags/user/colormode.txt"`, + ) == "transparent", + onChange: (self, newValue) => { + const transparency = newValue == 0 ? "opaque" : "transparent"; + execAsync([ + `bash`, + `-c`, + `mkdir -p ${GLib.get_user_state_dir()}/ags/user && sed -i "2s/.*/${transparency}/" ${GLib.get_user_state_dir()}/ags/user/colormode.txt`, + ]) + .then( + execAsync([ + "bash", + "-c", + `${App.configDir}/scripts/color_generation/switchcolor.sh`, + ]), + ) + .then(() => { + if (newValue) { + updateConfig("decoration:active_opacity", 0.85); + updateConfig("decoration:inactive_opacity", 0.85); + } else { + updateConfig("decoration:active_opacity", 1); + updateConfig("decoration:inactive_opacity", 1); + } + }) + .catch(print); + }, + }), + HyprlandToggle({ + icon: "blur_on", + name: getString("Blur"), + desc: getString( + "[Hyprland]\nEnable blur on transparent elements.", + ), + option: "decoration:blur:enabled", + }), + Subcategory([ + HyprlandSpinButton({ + icon: "target", + name: getString("Blur Size"), + desc: getString("[Hyprland]\nAdjust the blur radius."), + option: "decoration:blur:size", + minValue: 1, + maxValue: 1000, + }), + HyprlandSpinButton({ + icon: "repeat", + name: getString("Blur Passes"), + desc: getString( + "[Hyprland]\nAdjust the number of passes for blur.", + ), + option: "decoration:blur:passes", + minValue: 1, + maxValue: 10, + }), + ]), + HyprlandToggle({ + icon: "auto_fix_high", + name: getString("Blur Special"), + desc: getString("[Hyprland]\nEnable special blur effects."), + option: "decoration:blur:special", + }), + ConfigGap({}), + HyprlandToggle({ + icon: "animation", + name: getString("Animations"), + desc: getString("[Hyprland] [GTK]\nEnable animations"), + option: "animations:enabled", + extraOnChange: (self, newValue) => + execAsync([ + "gsettings", + "set", + "org.gnome.desktop.interface", + "enable-animations", + `${newValue}`, + ]), + }), + Subcategory([ + ConfigSpinButton({ + icon: "clear_all", + name: getString("Choreography delay"), + desc: getString( + "In milliseconds, the delay between animations of a series", + ), + initValue: userOptions.animations.choreographyDelay, + step: 10, + minValue: 0, + maxValue: 1000, + onChange: (self, newValue) => { + userOptions.animations.choreographyDelay = newValue; + }, + }), + ]), + ], + }), + // Developer Section + ConfigSection({ + name: getString("Developer"), + children: [ + HyprlandToggle({ + icon: "speed", + name: getString("Show FPS"), + desc: getString( + "[Hyprland]\nShow FPS overlay on top-left corner.", + ), + option: "debug:overlay", + }), + HyprlandToggle({ + icon: "sort", + name: getString("Log to stdout"), + desc: getString("[Hyprland]\nPrint log messages to console."), + option: "debug:enable_stdout_logs", + }), + HyprlandToggle({ + icon: "motion_sensor_active", + name: getString("Damage Tracking"), + desc: getString("[Hyprland]\nEnable damage tracking."), + option: "debug:damage_tracking", + enableValue: 2, + }), + HyprlandToggle({ + icon: "destruction", + name: getString("Damage Blink"), + desc: getString("[Hyprland]\nShow screen damage flashes."), + option: "debug:damage_blink", + }), + ], + }), + ], + }), + }); + + const footNote = Box({ + homogeneous: true, + children: [ + Label({ + hpack: "center", + className: "txt txt-italic txt-subtext margin-5", + label: getString("Not all changes are saved"), + }), + ], + }); + + return Box({ + ...props, + className: "spacing-v-5", + vertical: true, + children: [mainContent, footNote], + }); +}; + +// Ensure the config file exists before applying changes +ensureConfigFileExists(); diff --git a/.config/ags/scripts/color_generation/applycolor.sh b/.config/ags/scripts/color_generation/applycolor.sh index db056d436..b5fcebbf0 100755 --- a/.config/ags/scripts/color_generation/applycolor.sh +++ b/.config/ags/scripts/color_generation/applycolor.sh @@ -10,7 +10,7 @@ STATE_DIR="$XDG_STATE_HOME/ags" term_alpha=100 #Set this to < 100 make all your terminals transparent # sleep 0 # idk i wanted some delay or colors dont get applied properly if [ ! -d "$CACHE_DIR"/user/generated ]; then - mkdir -p "$CACHE_DIR"/user/generated + mkdir -p "$CACHE_DIR"/user/generated fi cd "$CONFIG_DIR" || exit @@ -19,9 +19,9 @@ colorstrings='' colorlist=() colorvalues=() -# wallpath=$(swww query | head -1 | awk -F 'image: ' '{print $2}') -# wallpath_png="$CACHE_DIR/user/generated/hypr/lockscreen.png" -# convert "$wallpath" "$wallpath_png" +wallpath=$(swww query | head -1 | awk -F 'image: ' '{print $2}') +wallpath_png="$CACHE_DIR/user/generated/hypr/lockscreen.png" +convert "$wallpath" "$wallpath_png" # wallpath_png=$(echo "$wallpath_png" | sed 's/\//\\\//g') # wallpath_png=$(sed 's/\//\\\\\//g' <<< "$wallpath_png") @@ -38,145 +38,161 @@ transparentize() { } get_light_dark() { - lightdark="" - if [ ! -f "$STATE_DIR/user/colormode.txt" ]; then - echo "" > "$STATE_DIR/user/colormode.txt" - else - lightdark=$(sed -n '1p' "$STATE_DIR/user/colormode.txt") - fi - echo "$lightdark" + lightdark="" + if [ ! -f "$STATE_DIR/user/colormode.txt" ]; then + echo "" >"$STATE_DIR/user/colormode.txt" + else + lightdark=$(sed -n '1p' "$STATE_DIR/user/colormode.txt") + fi + echo "$lightdark" } apply_fuzzel() { - # Check if scripts/templates/fuzzel/fuzzel.ini exists - if [ ! -f "scripts/templates/fuzzel/fuzzel.ini" ]; then - echo "Template file not found for Fuzzel. Skipping that." - return - fi - # Copy template - mkdir -p "$CACHE_DIR"/user/generated/fuzzel - cp "scripts/templates/fuzzel/fuzzel.ini" "$CACHE_DIR"/user/generated/fuzzel/fuzzel.ini - # Apply colors - for i in "${!colorlist[@]}"; do - sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/fuzzel/fuzzel.ini - done + # Check if scripts/templates/fuzzel/fuzzel.ini exists + if [ ! -f "scripts/templates/fuzzel/fuzzel.ini" ]; then + echo "Template file not found for Fuzzel. Skipping that." + return + fi + # Copy template + mkdir -p "$CACHE_DIR"/user/generated/fuzzel + cp "scripts/templates/fuzzel/fuzzel.ini" "$CACHE_DIR"/user/generated/fuzzel/fuzzel.ini + # Apply colors + for i in "${!colorlist[@]}"; do + sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/fuzzel/fuzzel.ini + done - cp "$CACHE_DIR"/user/generated/fuzzel/fuzzel.ini "$XDG_CONFIG_HOME"/fuzzel/fuzzel.ini + cp "$CACHE_DIR"/user/generated/fuzzel/fuzzel.ini "$XDG_CONFIG_HOME"/fuzzel/fuzzel.ini } apply_term() { - # Check if terminal escape sequence template exists - if [ ! -f "scripts/templates/terminal/sequences.txt" ]; then - echo "Template file not found for Terminal. Skipping that." - return + # Check if terminal escape sequence template exists + if [ ! -f "scripts/templates/terminal/sequences.txt" ]; then + echo "Template file not found for Terminal. Skipping that." + return + fi + # Copy template + mkdir -p "$CACHE_DIR"/user/generated/terminal + cp "scripts/templates/terminal/sequences.txt" "$CACHE_DIR"/user/generated/terminal/sequences.txt + # Apply colors + for i in "${!colorlist[@]}"; do + sed -i "s/${colorlist[$i]} #/${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/terminal/sequences.txt + done + + sed -i "s/\$alpha/$term_alpha/g" "$CACHE_DIR/user/generated/terminal/sequences.txt" + + for file in /dev/pts/*; do + if [[ $file =~ ^/dev/pts/[0-9]+$ ]]; then + cat "$CACHE_DIR"/user/generated/terminal/sequences.txt >"$file" fi - # Copy template - mkdir -p "$CACHE_DIR"/user/generated/terminal - cp "scripts/templates/terminal/sequences.txt" "$CACHE_DIR"/user/generated/terminal/sequences.txt - # Apply colors - for i in "${!colorlist[@]}"; do - sed -i "s/${colorlist[$i]} #/${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/terminal/sequences.txt - done - - sed -i "s/\$alpha/$term_alpha/g" "$CACHE_DIR/user/generated/terminal/sequences.txt" - - for file in /dev/pts/*; do - if [[ $file =~ ^/dev/pts/[0-9]+$ ]]; then - cat "$CACHE_DIR"/user/generated/terminal/sequences.txt > "$file" - fi - done + done } apply_hyprland() { - # Check if scripts/templates/hypr/hyprland/colors.conf exists - if [ ! -f "scripts/templates/hypr/hyprland/colors.conf" ]; then - echo "Template file not found for Hyprland colors. Skipping that." - return - fi - # Copy template - mkdir -p "$CACHE_DIR"/user/generated/hypr/hyprland - cp "scripts/templates/hypr/hyprland/colors.conf" "$CACHE_DIR"/user/generated/hypr/hyprland/colors.conf - # Apply colors - for i in "${!colorlist[@]}"; do - sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/hypr/hyprland/colors.conf - done + # Check if scripts/templates/hypr/hyprland/colors.conf exists + if [ ! -f "scripts/templates/hypr/hyprland/colors.conf" ]; then + echo "Template file not found for Hyprland colors. Skipping that." + return + fi + # Copy template + mkdir -p "$CACHE_DIR"/user/generated/hypr/hyprland + cp "scripts/templates/hypr/hyprland/colors.conf" "$CACHE_DIR"/user/generated/hypr/hyprland/colors.conf + # Apply colors + for i in "${!colorlist[@]}"; do + sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/hypr/hyprland/colors.conf + done - cp "$CACHE_DIR"/user/generated/hypr/hyprland/colors.conf "$XDG_CONFIG_HOME"/hypr/hyprland/colors.conf + cp "$CACHE_DIR"/user/generated/hypr/hyprland/colors.conf "$XDG_CONFIG_HOME"/hypr/hyprland/colors.conf } apply_hyprlock() { - # Check if scripts/templates/hypr/hyprlock.conf exists - if [ ! -f "scripts/templates/hypr/hyprlock.conf" ]; then - echo "Template file not found for hyprlock. Skipping that." - return - fi - # Copy template - mkdir -p "$CACHE_DIR"/user/generated/hypr/ - cp "scripts/templates/hypr/hyprlock.conf" "$CACHE_DIR"/user/generated/hypr/hyprlock.conf - # Apply colors - # sed -i "s/{{ SWWW_WALL }}/${wallpath_png}/g" "$CACHE_DIR"/user/generated/hypr/hyprlock.conf - for i in "${!colorlist[@]}"; do - sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/hypr/hyprlock.conf - done + # Check if scripts/templates/hypr/hyprlock.conf exists + if [ ! -f "scripts/templates/hypr/hyprlock.conf" ]; then + echo "Template file not found for hyprlock. Skipping that." + return + fi + # Copy template + mkdir -p "$CACHE_DIR"/user/generated/hypr/ + cp "scripts/templates/hypr/hyprlock.conf" "$CACHE_DIR"/user/generated/hypr/hyprlock.conf + # Apply colors + sed -i "s|path = \$path|path = $wallpath_png|" "$CACHE_DIR"/user/generated/hypr/hyprlock.conf - cp "$CACHE_DIR"/user/generated/hypr/hyprlock.conf "$XDG_CONFIG_HOME"/hypr/hyprlock.conf + for i in "${!colorlist[@]}"; do + sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/hypr/hyprlock.conf + done + + cp "$CACHE_DIR"/user/generated/hypr/hyprlock.conf "$XDG_CONFIG_HOME"/hypr/hyprlock.conf } apply_lightdark() { - lightdark=$(get_light_dark) - if [ "$lightdark" = "light" ]; then - gsettings set org.gnome.desktop.interface color-scheme 'prefer-light' - else - gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' - fi + lightdark=$(get_light_dark) + if [ "$lightdark" = "light" ]; then + gsettings set org.gnome.desktop.interface color-scheme 'prefer-light' + else + gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' + fi } apply_gtk() { # Using gradience-cli - usegradience=$(sed -n '4p' "$STATE_DIR/user/colormode.txt") - if [[ "$usegradience" = "nogradience" ]]; then - rm "$XDG_CONFIG_HOME/gtk-3.0/gtk.css" - rm "$XDG_CONFIG_HOME/gtk-4.0/gtk.css" - return - fi + usegradience=$(sed -n '4p' "$STATE_DIR/user/colormode.txt") + if [[ "$usegradience" = "nogradience" ]]; then + rm "$XDG_CONFIG_HOME/gtk-3.0/gtk.css" + rm "$XDG_CONFIG_HOME/gtk-4.0/gtk.css" + return + fi - # Copy template - mkdir -p "$CACHE_DIR"/user/generated/gradience - cp "scripts/templates/gradience/preset.json" "$CACHE_DIR"/user/generated/gradience/preset.json + # Copy template + mkdir -p "$CACHE_DIR"/user/generated/gradience + cp "scripts/templates/gradience/preset.json" "$CACHE_DIR"/user/generated/gradience/preset.json - # Apply colors - for i in "${!colorlist[@]}"; do - sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]}/g" "$CACHE_DIR"/user/generated/gradience/preset.json - done + # Apply colors + for i in "${!colorlist[@]}"; do + sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]}/g" "$CACHE_DIR"/user/generated/gradience/preset.json + done - mkdir -p "$XDG_CONFIG_HOME/presets" # create gradience presets folder - gradience-cli apply -p "$CACHE_DIR"/user/generated/gradience/preset.json --gtk both + mkdir -p "$XDG_CONFIG_HOME/presets" # create gradience presets folder + gradience-cli apply -p "$CACHE_DIR"/user/generated/gradience/preset.json --gtk both - # And set GTK theme manually as Gradience defaults to light adw-gtk3 - # (which is unreadable when broken when you use dark mode) - lightdark=$(get_light_dark) - if [ "$lightdark" = "light" ]; then - gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3' - else - gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3-dark - fi + # And set GTK theme manually as Gradience defaults to light adw-gtk3 + # (which is unreadable when broken when you use dark mode) + lightdark=$(get_light_dark) + if [ "$lightdark" = "light" ]; then + gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3' + else + gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3-dark + fi } apply_ags() { - ags run-js "handleStyles(false);" - ags run-js 'openColorScheme.value = true; Utils.timeout(2000, () => openColorScheme.value = false);' + ags run-js "handleStyles(false);" + ags run-js 'openColorScheme.value = true; Utils.timeout(2000, () => openColorScheme.value = false);' } +apply_pywal() { + # generate pywal colors + mkdir -p "$CACHE_DIR"/user/generated/pywal + python "$CONFIG_DIR/scripts/color_generation/gen_materialwal.py" # generate wal colors + wal -n -f "$CACHE_DIR/user/generated/pywal/pywal.json" --cols16 # apply pywal + # apply other scripts + sh "$XDG_CONFIG_HOME/pywal/gen-pywal" +} -colornames=$(cat $STATE_DIR/scss/_material.scss | cut -d: -f1) -colorstrings=$(cat $STATE_DIR/scss/_material.scss | cut -d: -f2 | cut -d ' ' -f2 | cut -d ";" -f1) +apply_qt() { + sh "$CONFIG_DIR/scripts/kvantum/materialQT.sh" # generate kvantum theme + python "$CONFIG_DIR/scripts/kvantum/changeAwdColors.py" # apply config colors +} + +colornames=$(cat "$STATE_DIR"/scss/_material.scss | cut -d: -f1) +colorstrings=$(cat "$STATE_DIR"/scss/_material.scss | cut -d: -f2 | cut -d ' ' -f2 | cut -d ";" -f1) IFS=$'\n' -colorlist=( $colornames ) # Array of color names -colorvalues=( $colorstrings ) # Array of color values +colorlist=($colornames) # Array of color names +colorvalues=($colorstrings) # Array of color values apply_ags & apply_hyprland & apply_hyprlock & apply_lightdark & apply_gtk & +apply_qt & +apply_pywal & apply_fuzzel & apply_term & diff --git a/.config/ags/scripts/color_generation/gen_materialwal.py b/.config/ags/scripts/color_generation/gen_materialwal.py new file mode 100644 index 000000000..69d7fdfc6 --- /dev/null +++ b/.config/ags/scripts/color_generation/gen_materialwal.py @@ -0,0 +1,56 @@ +import json +import re +import os +import argparse + +def parse_scss_file(file_path): + scss_colors = {} + with open(file_path, 'r') as file: + for line in file: + match = re.match(r'\$(\w+):\s*(#[0-9A-Fa-f]{6});', line) + if match: + scss_colors[match.group(1)] = match.group(2) + return scss_colors + +def scss_to_pywal(scss_file, output_file='pywal_colors.json'): + scss_colors = parse_scss_file(scss_file) + + pywal_colors = { + "special": { + "background": scss_colors["background"], + "foreground": scss_colors["onBackground"], + "cursor": scss_colors["onBackground"] + }, + "colors": { + "color0": scss_colors["term0"], + "color1": scss_colors["term1"], + "color2": scss_colors["term2"], + "color3": scss_colors["term3"], + "color4": scss_colors["term4"], + "color5": scss_colors["term5"], + "color6": scss_colors["term6"], + "color7": scss_colors["term7"], + "color8": scss_colors["term8"], + "color9": scss_colors["term9"], + "color10": scss_colors["term10"], + "color11": scss_colors["term11"], + "color12": scss_colors["term12"], + "color13": scss_colors["term13"], + "color14": scss_colors["term14"], + "color15": scss_colors["term15"] + } + } + + # Write the Pywal colors to a JSON file + with open(output_file, 'w') as file: + json.dump(pywal_colors, file, indent=4) + + print(f"Pywal colors have been saved to {output_file}") + +if __name__ == "__main__": + # Hardcode the file paths + scss_file = os.path.expanduser('~/.local/state/ags/scss/_material.scss') + output_file = os.path.expanduser('~/.cache/ags/user/generated/pywal/pywal.json') + + scss_to_pywal(scss_file, output_file) + diff --git a/.config/ags/scripts/color_generation/switchwall.sh b/.config/ags/scripts/color_generation/switchwall.sh index e2d68cab0..3c3101e25 100755 --- a/.config/ags/scripts/color_generation/switchwall.sh +++ b/.config/ags/scripts/color_generation/switchwall.sh @@ -4,36 +4,36 @@ XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" CONFIG_DIR="$XDG_CONFIG_HOME/ags" switch() { - imgpath=$1 - read scale screenx screeny screensizey < <(hyprctl monitors -j | jq '.[] | select(.focused) | .scale, .x, .y, .height' | xargs) - cursorposx=$(hyprctl cursorpos -j | jq '.x' 2>/dev/null) || cursorposx=960 - cursorposx=$(bc <<< "scale=0; ($cursorposx - $screenx) * $scale / 1") - cursorposy=$(hyprctl cursorpos -j | jq '.y' 2>/dev/null) || cursorposy=540 - cursorposy=$(bc <<< "scale=0; ($cursorposy - $screeny) * $scale / 1") - cursorposy_inverted=$((screensizey - cursorposy)) + imgpath=$1 + read scale screenx screeny screensizey < <(hyprctl monitors -j | jq '.[] | select(.focused) | .scale, .x, .y, .height' | xargs) + cursorposx=$(hyprctl cursorpos -j | jq '.x' 2>/dev/null) || cursorposx=960 + cursorposx=$(bc <<<"scale=0; ($cursorposx - $screenx) * $scale / 1") + cursorposy=$(hyprctl cursorpos -j | jq '.y' 2>/dev/null) || cursorposy=540 + cursorposy=$(bc <<<"scale=0; ($cursorposy - $screeny) * $scale / 1") + cursorposy_inverted=$((screensizey - cursorposy)) - if [ "$imgpath" == '' ]; then - echo 'Aborted' - exit 0 - fi + if [ "$imgpath" == '' ]; then + echo 'Aborted' + exit 0 + fi - # ags run-js "wallpaper.set('')" - # sleep 0.1 && ags run-js "wallpaper.set('${imgpath}')" & - swww img "$imgpath" --transition-step 100 --transition-fps 120 \ - --transition-type grow --transition-angle 30 --transition-duration 1 \ - --transition-pos "$cursorposx, $cursorposy_inverted" + # ags run-js "wallpaper.set('')" + # sleep 0.1 && ags run-js "wallpaper.set('${imgpath}')" & + swww img "$imgpath" --transition-step 100 --transition-fps 120 \ + --transition-type grow --transition-angle 30 --transition-duration 1 \ + --transition-pos "$cursorposx, $cursorposy_inverted" } if [ "$1" == "--noswitch" ]; then - imgpath=$(swww query | awk -F 'image: ' '{print $2}') - # imgpath=$(ags run-js 'wallpaper.get(0)') + imgpath=$(swww query | awk -F 'image: ' '{print $2}') + # imgpath=$(ags run-js 'wallpaper.get(0)') elif [[ "$1" ]]; then - switch "$1" + switch "$1" else - # Select and set image (hyprland) + # Select and set image (hyprland) - cd "$(xdg-user-dir PICTURES)" || return 1 - switch "$(yad --width 1200 --height 800 --file --add-preview --large-preview --title='Choose wallpaper')" + cd "$(xdg-user-dir PICTURES)" || return 1 + switch "$(yad --width 1200 --height 800 --file --add-preview --large-preview --title='Choose wallpaper')" fi # Generate colors for ags n stuff diff --git a/.config/ags/scripts/grimblast.sh b/.config/ags/scripts/grimblast.sh index a5602f24d..6cbab2ec2 100755 --- a/.config/ags/scripts/grimblast.sh +++ b/.config/ags/scripts/grimblast.sh @@ -38,9 +38,9 @@ env_editor_confirm() { fi } -NOTIFY=no -CURSOR= -FREEZE= +NOTIFY=yes +CURSOR=no +FREEZE=yes WAIT=no SCALE= HYPRPICKER_PID=-1 diff --git a/.config/ags/scripts/kvantum/adwsvg.py b/.config/ags/scripts/kvantum/adwsvg.py new file mode 100644 index 000000000..df40a92fe --- /dev/null +++ b/.config/ags/scripts/kvantum/adwsvg.py @@ -0,0 +1,76 @@ +import re +import os + +def read_scss(file_path): + """Reads an SCSS file and returns a dictionary of color variables.""" + colors = {} + with open(file_path, 'r') as file: + for line in file: + match = re.match(r'\$(\w+):\s*(#[0-9A-Fa-f]{6});', line.strip()) + if match: + variable_name, color = match.groups() + colors[variable_name] = color + return colors + +def update_svg_colors(svg_path, old_to_new_colors, output_path): + """ + Updates the colors in an SVG file based on the provided color map. + + :param svg_path: Path to the SVG file. + :param old_to_new_colors: Dictionary mapping old colors to new colors. + :param output_path: Path to save the updated SVG file. + """ + # Read the SVG content + with open(svg_path, 'r') as file: + svg_content = file.read() + + # Replace old colors with new colors + for old_color, new_color in old_to_new_colors.items(): + svg_content = re.sub(old_color, new_color, svg_content, flags=re.IGNORECASE) + + # Write the updated SVG content to the output file + with open(output_path, 'w') as file: + file.write(svg_content) + + print(f"SVG colors have been updated and saved to {output_path}!") + +def main(): + scss_file = os.path.expanduser('~/.local/state/ags/scss/_material.scss') # Hardcoded path to the SCSS file + svg_path = os.path.expanduser('~/.config/Kvantum/Colloid/Colloid.svg') # Hardcoded path to the input SVG file + output_path = os.path.expanduser('~/.config/Kvantum/MaterialAdw/MaterialAdw.svg') # Hardcoded path to the output SVG file + + # Read colors from the SCSS file + color_data = read_scss(scss_file) + + # Specify the old colors and map them to new colors from the SCSS file + old_to_new_colors = { + #'#cccccc': color_data['surfaceDim'], # Map old SVG color to new SCSS color + #'#666666': color_data['surfaceDim'], + '#3c84f7': color_data['primary'], + #'#5a5a5a': color_data['neutral_paletteKeyColor'], + '#000000': color_data['shadow'], + '#f04a50': color_data['error'], + '#4285f4': color_data['primaryFixedDim'], + '#f2f2f2': color_data['background'], + #'#dfdfdf': color_data['surfaceContainerLow'], + '#ffffff': color_data['background'], + '#1e1e1e': color_data['onPrimaryFixed'], + #'#b6b6b6': color_data['surfaceContainer'], + '#333': color_data['inverseSurface'], + '#212121': color_data['onSecondaryFixed'], + '#5b9bf8': color_data['secondaryContainer'], + '#26272a': color_data['term7'], + #'#b3b3b3': color_data['surfaceBright'], + #'#b74aff': color_data['tertiary'], + #'#989898': color_data['surfaceContainerHighest'], + #'#c1c1c1': color_data['surfaceContainerHigh'], + '#444444': color_data['onBackground'], + '#333333': color_data['onPrimaryFixed'], + } + + # Update the SVG colors + update_svg_colors(svg_path, old_to_new_colors, output_path) + +if __name__ == "__main__": + main() + diff --git a/.config/ags/scripts/kvantum/adwsvgDark.py b/.config/ags/scripts/kvantum/adwsvgDark.py new file mode 100644 index 000000000..7eccf7ea6 --- /dev/null +++ b/.config/ags/scripts/kvantum/adwsvgDark.py @@ -0,0 +1,84 @@ +import re +import os + +def read_scss(file_path): + """Reads an SCSS file and returns a dictionary of color variables.""" + colors = {} + with open(file_path, 'r') as file: + for line in file: + match = re.match(r'\$(\w+):\s*(#[0-9A-Fa-f]{6});', line.strip()) + if match: + variable_name, color = match.groups() + colors[variable_name] = color + return colors + +def update_svg_colors(svg_path, old_to_new_colors, output_path): + """ + Updates the colors in an SVG file based on the provided color map. + + :param svg_path: Path to the SVG file. + :param old_to_new_colors: Dictionary mapping old colors to new colors. + :param output_path: Path to save the updated SVG file. + """ + # Read the SVG content + with open(svg_path, 'r') as file: + svg_content = file.read() + + # Replace old colors with new colors + for old_color, new_color in old_to_new_colors.items(): + svg_content = re.sub(old_color, new_color, svg_content, flags=re.IGNORECASE) + + # Write the updated SVG content to the output file + with open(output_path, 'w') as file: + file.write(svg_content) + + print(f"SVG colors have been updated and saved to {output_path}!") + +def main(): + scss_file = os.path.expanduser('~/.local/state/ags/scss/_material.scss') # Hardcoded path to the SCSS file + svg_path = os.path.expanduser('~/.config/Kvantum/Colloid/ColloidDark.svg') # Hardcoded path to the input SVG file + output_path = os.path.expanduser('~/.config/Kvantum/MaterialAdw/MaterialAdw.svg') # Hardcoded path to the output SVG file + + # Read colors from the SCSS file + color_data = read_scss(scss_file) + + # Specify the old colors and map them to new colors from the SCSS file + old_to_new_colors = { + #'#525252': color_data['surfaceDim'], # Map old SVG color to new SCSS color + #'#666666': color_data['surfaceDim'], + '#31363b': color_data['background'], + #'#eff0f1': color_data['neutral_paletteKeyColor'], + '#000000': color_data['shadow'], + '#5b9bf8': color_data['primary'], + '#93cee9': color_data['onSecondaryContainer'], + '#3daee9': color_data['secondary'], + #'#fff': color_data['term10'], + #'#5a5a5a': color_data['surfaceVariant'], + #'#acb1bc': color_data['onPrimaryFixed'], + '#ffffff': color_data['term11'], + '#5a616e': color_data['surfaceVariant'], + '#f04a50': color_data['error'], + '#4285f4': color_data['secondary'], + '#242424': color_data['background'], + '#2c2c2c': color_data['background'], + #'#dfdfdf': color_data['onSurfaceVariant'], + #'#646464': color_data['surfaceContainerHighest'], + #'#989898': color_data['surfaceContainerHigh'], + #'#c1c1c1': color_data['primaryFixedDim'], + '#1e1e1e': color_data['background'], + '#3c3c3c': color_data['background'], + '#26272a': color_data['surfaceBright'], + '#000000': color_data['shadow'], + '#b74aff': color_data['tertiary'], + #'#b6b6b6': color_data['onSurfaceVariant'], + '#1a1a1a': color_data['background'], + '#333': color_data['term0'], + '#212121': color_data['background'], + } + + # Update the SVG colors + update_svg_colors(svg_path, old_to_new_colors, output_path) + +if __name__ == "__main__": + main() + diff --git a/.config/ags/scripts/kvantum/changeAwdColors.py b/.config/ags/scripts/kvantum/changeAwdColors.py new file mode 100644 index 000000000..812a36526 --- /dev/null +++ b/.config/ags/scripts/kvantum/changeAwdColors.py @@ -0,0 +1,68 @@ +import re +import os + +def get_colors_from_scss(scss_file): + colors = {} + with open(scss_file, 'r') as file: + for line in file: + match = re.match(r'\$(\w+):\s*(#[0-9A-Fa-f]{6});', line) + if match: + colors[match.group(1)] = match.group(2) + return colors + +def update_config_colors(config_file, colors, mappings): + with open(config_file, 'r') as file: + config_content = file.read() + + for key, variable in mappings.items(): + if variable in colors: + color = colors[variable] + pattern = rf'({key}=)#?\w+\b' + new_line = f'\\1{color}' + if re.search(pattern, config_content): + config_content = re.sub(pattern, new_line, config_content) + else: + config_content += f"\n{key}={color}" + + with open(config_file, 'w') as file: + file.write(config_content) + +if __name__ == "__main__": + scss_file = os.path.expanduser('~/.local/state/ags/scss/_material.scss') + config_file = os.path.expanduser('~/.config/Kvantum/MaterialAdw/MaterialAdw.kvconfig') # Replace with the actual path to your config file + + # Define your mappings here + mappings = { + 'window.color': 'background', + 'base.color': 'background', + 'alt.base.color': 'background', + 'button.color': 'surfaceContainer', + 'light.color': 'surfaceContainerLow', + 'mid.light.color': 'surfaceContainer', + 'dark.color': 'surfaceContainerHighest', + 'mid.color': 'surfaceContainerHigh', + 'highlight.color': 'primary', + 'inactive.highlight.color': 'primary', + 'text.color': 'onBackground', + 'window.text.color': 'onBackground', + 'button.text.color': 'onBackground', + 'disabled.text.color': 'onBackground', + 'tooltip.text.color': 'onBackground', + 'highlight.text.color': 'onSurface', + 'link.color': 'tertiary', + 'link.visited.color': 'tertiaryFixed', + 'progress.indicator.text.color': 'onBackground', + 'text.normal.color': 'onBackground', + 'text.focus.color': 'onBackground', + 'text.press.color': 'onsecondarycontainer', + 'text.toggle.color': 'onsecondarycontainer', + 'text.disabled.color': 'surfaceDim', + + + # Add more mappings as needed + } + + colors = get_colors_from_scss(scss_file) + update_config_colors(config_file, colors, mappings) + print("Config colors updated successfully!") + diff --git a/.config/ags/scripts/kvantum/materialQT.sh b/.config/ags/scripts/kvantum/materialQT.sh new file mode 100755 index 000000000..7495fad37 --- /dev/null +++ b/.config/ags/scripts/kvantum/materialQT.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" +XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}" +XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}" +CONFIG_DIR="$XDG_CONFIG_HOME/ags" +CACHE_DIR="$XDG_CACHE_HOME/ags" +STATE_DIR="$XDG_STATE_HOME/ags" + +get_light_dark() { + lightdark="" + if [ ! -f "$STATE_DIR/user/colormode.txt" ]; then + echo "" >"$STATE_DIR/user/colormode.txt" + else + lightdark=$(sed -n '1p' "$STATE_DIR/user/colormode.txt") + fi + echo "$lightdark" +} + +apply_qt() { + # Check if the theme exists + FOLDER_PATH="$XDG_CONFIG_HOME/Kvantum/Colloid/" + + if [ ! -d "$FOLDER_PATH" ]; then + # Send a notification + notify-send "Colloid-kde theme required" " The folder '$FOLDER_PATH' does not exist." + exit 1 # Exit the function if the folder does not exist + fi + + lightdark=$(get_light_dark) + if [ "$lightdark" = "light" ]; then + # apply ligght colors + cp "$XDG_CONFIG_HOME/Kvantum/Colloid/Colloid.kvconfig" "$XDG_CONFIG_HOME/Kvantum/MaterialAdw/MaterialAdw.kvconfig" + python "$CONFIG_DIR/scripts/kvantum/adwsvg.py" + + else + #apply dark colors + cp "$XDG_CONFIG_HOME/Kvantum/Colloid/ColloidDark.kvconfig" "$XDG_CONFIG_HOME/Kvantum/MaterialAdw/MaterialAdw.kvconfig" + python "$CONFIG_DIR/scripts/kvantum/adwsvgDark.py" + fi +} + +apply_qt diff --git a/.config/ags/scripts/templates/hypr/hyprland/colors.conf b/.config/ags/scripts/templates/hypr/hyprland/colors.conf index 8c0689f31..63df3a53e 100644 --- a/.config/ags/scripts/templates/hypr/hyprland/colors.conf +++ b/.config/ags/scripts/templates/hypr/hyprland/colors.conf @@ -4,6 +4,18 @@ general { col.active_border = rgba({{ $onSurface }}39) col.inactive_border = rgba({{ $outline }}30) } +group { + col.border_active = rgba({{ $onSurface }}39) + col.border_inactive = rgba({{ $outline }}30) + + groupbar { + col.active = rgba({{ $background }}FF) + col.inactive = rgba({{ $outline }}50) + scrolling = true + font_size = 11 + text_color = rgba({{ $onBackground }}FF) + } +} misc { background_color = rgba({{ $surface }}FF) @@ -31,4 +43,4 @@ plugin { } } -windowrulev2 = bordercolor rgba({{ $primary }}AA) rgba({{ $primary }}77),pinned:1 \ No newline at end of file +windowrulev2 = bordercolor rgba({{ $primary }}AA) rgba({{ $primary }}77),pinned:1 diff --git a/.config/ags/scripts/templates/hypr/hyprlock.conf b/.config/ags/scripts/templates/hypr/hyprlock.conf index d3de5d80c..ea8092cab 100644 --- a/.config/ags/scripts/templates/hypr/hyprlock.conf +++ b/.config/ags/scripts/templates/hypr/hyprlock.conf @@ -1,90 +1,97 @@ -# $text_color = rgba({{ $onBackground }}FF) -# $entry_background_color = rgba({{ $background }}11) -# $entry_border_color = rgba({{ $outline }}55) -# $entry_color = rgba({{ $onSurfaceVariant }}FF) -$text_color = rgba(FFFFFFFF) -$entry_background_color = rgba(33333311) -$entry_border_color = rgba(3B3B3B55) -$entry_color = rgba(FFFFFFFF) +#hyprlock config + +$text_color = rgba({{ $term3 }}FF) +$text_key_color = rgba({{ $term1 }}FF) +$text_status_color = rgba({{ $tertiary }}FF) +$base_color = rgba({{ $term0 }}FF) + $font_family = Rubik Light -$font_family_clock = Rubik Light +$font_family_clock = Geist Mono 10 +$font_family_date = JetBrainsMono Nerd Font 10 $font_material_symbols = Material Symbols Rounded +general { + #hide cursor + hide_cursor = true +} + background { - # color = rgba({{ $surfaceContainerLowest }}FF) - color = rgba(000000FF) - # path = {{ SWWW_WALL }} - # path = screenshot - # blur_size = 5 - # blur_passes = 4 -} -input-field { monitor = - size = 250, 50 - outline_thickness = 2 - dots_size = 0.1 - dots_spacing = 0.3 - outer_color = $entry_border_color - inner_color = $entry_background_color - font_color = $entry_color - # fade_on_empty = true + path = $path # only png supported for now + # color = $color1 - position = 0, 20 - halign = center - valign = center + # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations + blur_size = 4 + blur_passes = 3 # 0 disables blurring + noise = 0.0117 + contrast = 1.3000 # Vibrant!!! + brightness = 0.8000 + vibrancy = 0.2100 + vibrancy_darkness = 0.0 } -label { # Clock +# Hours +label { monitor = - text = $TIME - shadow_passes = 1 - shadow_boost = 0.5 + text = cmd[update:1000] echo " $(date +"%H") " color = $text_color - font_size = 65 + font_size = 112 font_family = $font_family_clock + shadow_passes = 3 + shadow_size = 4 - position = 0, 300 + position = 0, 220 halign = center valign = center } -label { # Greeting - monitor = - text = hi $USER !!! - shadow_passes = 1 - shadow_boost = 0.5 - color = $text_color - font_size = 20 - font_family = $font_family - position = 0, 240 +# Minutes +label { + monitor = + text = cmd[update:1000] echo " $(date +"%M") " + color = $text_key_color + font_size = 112 + font_family = $font_family_clock + shadow_passes = 3 + shadow_size = 4 + + position = 0, 80 halign = center valign = center } -label { # lock icon - monitor = - text = lock - shadow_passes = 1 - shadow_boost = 0.5 - color = $text_color - font_size = 21 - font_family = $font_material_symbols - position = 0, 65 +# Today +label { + monitor = + text = cmd[update:18000000] echo " "$(date +'%A')" " +<<<<<<< HEAD + color = rgba(FFFFFF80) +======= + color = rgba({{ $primaryContainer }}FF) +>>>>>>> parent of 1a3fa77... heda hau fixed + font_size = 22 + font_family = $font_family_date + + position = 0, -20 halign = center - valign = bottom + valign = center } -label { # "locked" text - monitor = - text = locked - shadow_passes = 1 - shadow_boost = 0.5 - color = $text_color - font_size = 14 - font_family = $font_family - position = 0, 45 +# Week +label { + monitor = + text = cmd[update:18000000] echo " "$(date +'%d %b')" " +<<<<<<< HEAD + color = rgba(FFFFFF80) +======= + color = rgba({{ $primaryContainer }}FF) +>>>>>>> parent of 1a3fa77... heda hau fixed + font_size = 18 + font_family = $font_family_date + + position = 0, -50 halign = center - valign = bottom + valign = center } label { # Status @@ -92,11 +99,33 @@ label { # Status text = cmd[update:5000] ${XDG_CONFIG_HOME:-$HOME/.config}/hypr/hyprlock/status.sh shadow_passes = 1 shadow_boost = 0.5 - color = $text_color + color = $text_status_color font_size = 14 font_family = $font_family - position = 30, -30 - halign = left - valign = top -} \ No newline at end of file + position = -30, 30 + halign = right + valign = bottom +} + +input-field { + monitor = + size = 230, 50 + outline_thickness = 1 + + dots_size = 0.24 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.64 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + # dots_rouding = 1 + + rounding = 28 + outer_color = $text_key_color + inner_color = $base_color + font_color = $text_color + fade_on_empty = true + placeholder_text = Password... # Text rendered in the input box when it's empty. + + position = 0, 120 + halign = center + valign = bottom +} diff --git a/.config/ags/tsconfig.json b/.config/ags/tsconfig.json new file mode 100644 index 000000000..f03f2d126 --- /dev/null +++ b/.config/ags/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ES2022", + "lib": [ + "ES2022" + ], + "allowJs": true, + "checkJs": true, + "strict": true, + "noImplicitAny": false, + "baseUrl": ".", + "typeRoots": [ + "./types" + ], + "skipLibCheck": true + } +} \ No newline at end of file diff --git a/.config/ags/types b/.config/ags/types new file mode 120000 index 000000000..a8e3f0415 --- /dev/null +++ b/.config/ags/types @@ -0,0 +1 @@ +/usr/share/com.github.Aylur.ags/types \ No newline at end of file diff --git a/.config/hypr/custom/env.conf b/.config/hypr/custom/env.conf index fcd59ec86..a1578d249 100644 --- a/.config/hypr/custom/env.conf +++ b/.config/hypr/custom/env.conf @@ -1,2 +1,4 @@ # You can put extra environment variables here # https://wiki.hyprland.org/Configuring/Environment-variables/ +# env = QT_QPA_PLATFORMTHEME, KDE + diff --git a/.config/hypr/custom/execs.conf b/.config/hypr/custom/execs.conf index cae4ef6c5..d00791718 100644 --- a/.config/hypr/custom/execs.conf +++ b/.config/hypr/custom/execs.conf @@ -1,2 +1,5 @@ # You can make apps auto-start here # Relevant Hyprland wiki section: https://wiki.hyprland.org/Configuring/Keywords/#executing +# + + diff --git a/.config/hypr/custom/general.conf b/.config/hypr/custom/general.conf index ded706ae7..a72e78e13 100644 --- a/.config/hypr/custom/general.conf +++ b/.config/hypr/custom/general.conf @@ -1,2 +1,6 @@ # Put general config stuff here -# Here's a list of every variable: https://wiki.hyprland.org/Configuring/Variables/ \ No newline at end of file +# Here's a list of every variable: https://wiki.hyprland.org/Configuring/Variables/ +# Generated by nwg-displays on 2024-10-19 at 17:38:39. Do not edit manually. + +# Put soruces here + diff --git a/.config/hypr/custom/keybinds.conf b/.config/hypr/custom/keybinds.conf index f34545cef..3906428db 100644 --- a/.config/hypr/custom/keybinds.conf +++ b/.config/hypr/custom/keybinds.conf @@ -1,2 +1,4 @@ # You can put your preferred keybinds here -# https://wiki.hyprland.org/Configuring/Binds/ \ No newline at end of file +# https://wiki.hyprland.org/Configuring/Binds/ + + diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index aa7c076c8..f61a907b6 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -8,6 +8,7 @@ source=~/.config/hypr/hyprland/general.conf source=~/.config/hypr/hyprland/rules.conf source=~/.config/hypr/hyprland/colors.conf source=~/.config/hypr/hyprland/keybinds.conf +source=~/.config/hypr/hyprland/HyprAGS.conf # Custom source=~/.config/hypr/custom/env.conf diff --git a/.config/hypr/hyprland/HyprAGS.conf b/.config/hypr/hyprland/HyprAGS.conf new file mode 100644 index 000000000..e69de29bb diff --git a/.config/hypr/hyprland/env.conf b/.config/hypr/hyprland/env.conf index ec654432e..6374e0131 100644 --- a/.config/hypr/hyprland/env.conf +++ b/.config/hypr/hyprland/env.conf @@ -11,6 +11,7 @@ env = INPUT_METHOD, fcitx # ############ Themes ############# env = QT_QPA_PLATFORM, wayland env = QT_QPA_PLATFORMTHEME, qt5ct +env = QT_QPA_PLATFORMTHEME, qt6ct # env = QT_STYLE_OVERRIDE,kvantum # env = WLR_NO_HARDWARE_CURSORS, 1 diff --git a/.config/hypr/hyprland/execs.conf b/.config/hypr/hyprland/execs.conf index 8a9b4c011..5a583df05 100644 --- a/.config/hypr/hyprland/execs.conf +++ b/.config/hypr/hyprland/execs.conf @@ -1,6 +1,6 @@ # Bar, wallpaper exec-once = swww-daemon --format xrgb -exec-once = /usr/lib/geoclue-2.0/demos/agent & gammastep +exec-once = /usr/lib/geoclue-2.0/demos/agent & # gammastep exec-once = ags & # Input method diff --git a/.config/hypr/hyprland/general.conf b/.config/hypr/hyprland/general.conf index 15aa9a6ba..ad5a83c95 100644 --- a/.config/hypr/hyprland/general.conf +++ b/.config/hypr/hyprland/general.conf @@ -69,12 +69,7 @@ decoration { rounding = 20 blur { - enabled = true - xray = true - special = false new_optimizations = true - size = 14 - passes = 4 brightness = 1 noise = 0.01 contrast = 1 diff --git a/.config/hypr/hyprland/keybinds.conf b/.config/hypr/hyprland/keybinds.conf index c6b3c286d..567d3511b 100644 --- a/.config/hypr/hyprland/keybinds.conf +++ b/.config/hypr/hyprland/keybinds.conf @@ -76,7 +76,8 @@ bind = Super+Alt, Space, togglefloating, bind = Super+Alt, F, fullscreenstate, 0 3 # Toggle fake fullscreen bind = Super, F, fullscreen, 0 bind = Super, D, fullscreen, 1 - +bind = Super, J, togglesplit, # dwindle +bind = Super, G, togglegroup, # togglegroup #! ##! Workspace navigation # Switching @@ -206,6 +207,7 @@ bind = Ctrl+Super+Shift, V, exec, easyeffects # Launch EasyEffects (equalizer & bind = Ctrl+Shift, Escape, exec, gnome-system-monitor # Launch GNOME System monitor bind = Ctrl+Super, Slash, exec, pkill anyrun || anyrun # Toggle fallback launcher: anyrun bind = Super+Alt, Slash, exec, pkill anyrun || fuzzel # Toggle fallback launcher: fuzzel +bind = Super+Shift, A, exec, pkill rofi || rofi -show drun # toggle rofi # Cursed stuff ## Make window not amogus large diff --git a/.config/hypr/hyprland/rules.conf b/.config/hypr/hyprland/rules.conf index 0fc000894..c71721142 100644 --- a/.config/hypr/hyprland/rules.conf +++ b/.config/hypr/hyprland/rules.conf @@ -1,38 +1,35 @@ +# You can put custom rules here +# Window/layer rules: https://wiki.hyprland.org/Configuring/Window-Rules/ +# Workspace rules: https://wiki.hyprland.org/Configuring/Workspace-Rules/ +# # ######## Window rules ######## -windowrule = noblur,.* +# windowrule = noblur,.* # windowrule = opacity 0.89 override 0.89 override, .* # Applies transparency to EVERY WINDOW -windowrule = float, ^(blueberry.py)$ -windowrule = float, ^(steam)$ -windowrule = float, ^(guifetch)$ # FlafyDev/guifetch -windowrulev2 = tile, class:(dev.warp.Warp) -windowrulev2 = float, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ -windowrule = center, title:^(Open File)(.*)$ -windowrule = center, title:^(Select a File)(.*)$ -windowrule = center, title:^(Choose wallpaper)(.*)$ -windowrule = center, title:^(Open Folder)(.*)$ -windowrule = center, title:^(Save As)(.*)$ -windowrule = center, title:^(Library)(.*)$ -windowrule = center, title:^(File Upload)(.*)$ +windowrulev2 = float, class:^(blueberry.py)$ +windowrulev2 = float, title:^(steam)$ +windowrulev2 = float, title:^(guifetch)$ # FlafyDev/guifetch +windowrulev2 = tile, class:^(dev.warp.Warp)$ + # Picture-in-Picture windowrulev2 = keepaspectratio, title:^(Picture(-| )in(-| )[Pp]icture)$ -windowrulev2 = move 73% 72%,title:^(Picture(-| )in(-| )[Pp]icture)$ +windowrulev2 = move 73% 72%,title:^(Picture(-| )in(-| )[Pp]icture)$ windowrulev2 = size 25%, title:^(Picture(-| )in(-| )[Pp]icture)$ windowrulev2 = float, title:^(Picture(-| )in(-| )[Pp]icture)$ windowrulev2 = pin, title:^(Picture(-| )in(-| )[Pp]icture)$ # Dialogs -windowrule=float,title:^(Open File)(.*)$ -windowrule=float,title:^(Select a File)(.*)$ -windowrule=float,title:^(Choose wallpaper)(.*)$ -windowrule=float,title:^(Open Folder)(.*)$ -windowrule=float,title:^(Save As)(.*)$ -windowrule=float,title:^(Library)(.*)$ -windowrule=float,title:^(File Upload)(.*)$ +windowrulev2 = float,title:^(Open File)(.*)$ +windowrulev2 = float,title:^(Select a File)(.*)$ +windowrulev2 = float,title:^(Choose wallpaper)(.*)$ +windowrulev2 = float,title:^(Open Folder)(.*)$ +windowrulev2 = float,title:^(Save As)(.*)$ +windowrulev2 = float,title:^(Library)(.*)$ +windowrulev2 = float,title:^(File Upload)(.*)$ # Tearing -windowrule=immediate,.*\.exe -windowrulev2=immediate,class:(steam_app) +windowrulev2 = immediate,title:^(.*\.exe)$ +windowrulev2 = immediate,class:^(steam_app) # No shadow for tiled windows windowrulev2 = noshadow,floating:0 @@ -61,26 +58,25 @@ layerrule = ignorealpha 0.69, notifications # ags layerrule = animation slide left, sideleft.* layerrule = animation slide right, sideright.* -layerrule = blur, session +layerrule = blur, session.* -layerrule = blur, bar -layerrule = ignorealpha 0.6, bar +layerrule = blur, bar.* +layerrule = ignorealpha 0.6, bar.* layerrule = blur, corner.* layerrule = ignorealpha 0.6, corner.* -layerrule = blur, dock -layerrule = ignorealpha 0.6, dock +layerrule = blur, dock.* +layerrule = ignorealpha 0.6, dock.* layerrule = blur, indicator.* layerrule = ignorealpha 0.6, indicator.* -layerrule = blur, overview -layerrule = ignorealpha 0.6, overview -layerrule = blur, cheatsheet -layerrule = ignorealpha 0.6, cheatsheet +layerrule = blur, overview.* +layerrule = ignorealpha 0.6, overview.* +layerrule = blur, cheatsheet.* +layerrule = ignorealpha 0.6, cheatsheet.* layerrule = blur, sideright layerrule = ignorealpha 0.6, sideright layerrule = blur, sideleft layerrule = ignorealpha 0.6, sideleft -layerrule = blur, indicator* -layerrule = ignorealpha 0.6, indicator* -layerrule = blur, osk -layerrule = ignorealpha 0.6, osk - +layerrule = blur, indicator.* +layerrule = ignorealpha 0.6, indicator.* +layerrule = blur, osk.* +layerrule = ignorealpha 0.6, osk.* diff --git a/.config/pywal/colors-folders.py b/.config/pywal/colors-folders.py new file mode 100644 index 000000000..f588d134e --- /dev/null +++ b/.config/pywal/colors-folders.py @@ -0,0 +1,70 @@ +import webcolors +import subprocess +import os + +color_path = os.path.expanduser("~/.cache/wal/colors") + + +# Define the mapping of your desired colors +color_map = { + "black": "#4F4F4F", + "blue": "#5294E2", + "bluegrey": "#607D8B", + "breeze": "#57B8EC", + "brown": "#AE8E6C", + "carmine": "#A30002", + "cyan": "#00BCD4", + "darkcyan": "#36858E", + "deeporange": "#EB6637", + "green": "#87B158", + "grey": "#8E8E8E", + "indigo": "#5C6BC0", + "magenta": "#CA71E0", + "nordic": "#81A1C1", + "orange": "#EE923A", + "palebrown": "#D1BFAE", + "paleorange": "#EECA8F", + "pink": "#F16293", + "red": "#E25252", + "teal": "#16A085", + "violet": "#7E57C2", + "white": "#E5E5E5", + "adwaita": "#93C0EA", + "yellow": "#F9BD30", +} + +# Convert color_map to RGB tuples +color_map_rgb = { + name: webcolors.hex_to_rgb(hex_code) for name, hex_code in color_map.items() +} + + +def closest_color(requested_color): + min_colors = {} + for name, rgb in color_map_rgb.items(): + rd = (rgb[0] - requested_color[0]) ** 2 + gd = (rgb[1] - requested_color[1]) ** 2 + bd = (rgb[2] - requested_color[2]) ** 2 + min_colors[(rd + gd + bd)] = name + return min_colors[min(min_colors.keys())] + + +def get_color_name(hex_color): + requested_color = webcolors.hex_to_rgb(hex_color) + closest_name = closest_color(requested_color) + return closest_name + + +# Read hex codes from .cache/wal/colors file +with open(color_path, "r") as file: + hex_codes = [line.strip() for line in file] + +# Get the nearest color name for each hex code +color_names = [get_color_name(hex_code) for hex_code in hex_codes] + +# Get the name of the 4th color +color_name = color_names[2] +print(f"The 4th color is closest to: {color_name}") + +# Execute the papirus-folders command with the closest color name +subprocess.run(["papirus-folders", "-C", color_name, "--theme", "Papirus-Dark"]) diff --git a/.config/pywal/gen-pywal b/.config/pywal/gen-pywal new file mode 100755 index 000000000..a2f8a7dc0 --- /dev/null +++ b/.config/pywal/gen-pywal @@ -0,0 +1,35 @@ +#!/bin/bash + +# Define formatting variables +GREEN='\033[1;32m' +NC='\033[0m' # No Color +GLYPH='󰏘' + +# Execute other commands + +# echo -e "\n${GREEN}${GLYPH} Running colors-foot.py ${NC}" +# python ~/.config/hypr/scripts/colors-foot.py + +echo -e "\n${GREEN}${GLYPH} Running colors-folders.py (for papirus colored folders).${NC}" +python ~/.config/pywal/colors-folders.py + +echo -e "\n${GREEN}${GLYPH} Generating rofi colors ${NC}" +python ~/.config/pywal/rofi-colors.py + +# echo -e "\n${GREEN}${GLYPH} Generating sddm colors ${NC}" +# ~/.config/pywal/sddm-pywal + +# echo -e "\n${GREEN}${GLYPH} Generating Ghostty terminal colors ${NC}" +# python ~/.config/pywal/ghosttyPywal.py + +echo -e "\n${GREEN}${GLYPH} changing spotiify theme (text) ${NC}" +pywal-spicetify text +# spicetify apply + +echo -e "\n${GREEN}${GLYPH} Running walogram (for telegram) ${NC}" +walogram -s + +echo -e "\n${GREEN}${GLYPH} Running pywal-discord (for discord) ${NC}" +pywal-discord + +echo -e "\n${GREEN}${GLYPH} Script execution completed.${NC}" diff --git a/.config/pywal/ghosttyPywal.py b/.config/pywal/ghosttyPywal.py new file mode 100644 index 000000000..8dcc1b9e9 --- /dev/null +++ b/.config/pywal/ghosttyPywal.py @@ -0,0 +1,49 @@ +import yaml +import os + +def read_yaml(file_path): + """Reads a YAML file and returns its content.""" + with open(file_path, 'r') as file: + data = yaml.safe_load(file) + return data + +def format_colors(colors): + """Formats the colors into the required output style.""" + output = [] + + # Format palette colors + for index, (color_key, color_value) in enumerate(colors['colors'].items()): + output.append(f"palette = {index}={color_value}") + + # Format special colors + output.append(f"background = {colors['special']['background'][1:]}") + output.append(f"foreground = {colors['special']['foreground'][1:]}") + output.append(f"cursor-color = {colors['special']['cursor'][1:]}") + output.append(f"selection-background = {colors['special']['background'][1:]}") + output.append(f"selection-foreground = {colors['special']['foreground'][1:]}") + + return output + +def write_config(config_path, formatted_colors): + """Writes the formatted colors to the configuration file.""" + with open(config_path, 'w') as config_file: + for line in formatted_colors: + config_file.write(line + '\n') + print("Colors have been generated and saved to the configuration file!") + +def main(): + yaml_file = os.path.expanduser('~/.cache/wal/colors.yml') # Replace with the path to your YAML file + config_file = os.path.expanduser('~/.config/ghostty/colors') # Replace with the path to your terminal configuration file + + # Read colors from the YAML file + colors = read_yaml(yaml_file) + + # Format colors + formatted_colors = format_colors(colors) + + # Write the formatted colors to the terminal configuration file + write_config(config_file, formatted_colors) + +if __name__ == "__main__": + main() + diff --git a/.config/pywal/rofi-colors.py b/.config/pywal/rofi-colors.py new file mode 100644 index 000000000..d7a603dee --- /dev/null +++ b/.config/pywal/rofi-colors.py @@ -0,0 +1,40 @@ +import re +import os + +# Define the input SCSS file and output Rasi file +input_file = os.path.expanduser('~/.local/state/ags/scss/_material.scss') +output_file = os.path.expanduser('~/.config/rofi/colors.rasi') + +def convert_scss_to_rasi(input_file, output_file): + # Read the SCSS file + with open(input_file, 'r') as file: + scss_content = file.read() + + # Remove specific SCSS variables + variables_to_remove = [ + r'\$darkmode:.*;\n', + r'\$transparent:.*;\n', + r'\$primary_paletteKeyColor:.*;\n', + r'\$secondary_paletteKeyColor:.*;\n', + r'\$tertiary_paletteKeyColor:.*;\n', + r'\$neutral_paletteKeyColor:.*;\n', + r'\$neutral_variant_paletteKeyColor:.*;\n' + ] + for var in variables_to_remove: + scss_content = re.sub(var, '', scss_content) + + # Convert remaining SCSS variables to Rasi format + rasi_content = re.sub(r'\$(\w+):\s*(.*);', r' \1: \2;', scss_content) + + # Add the Rasi header and footer with spaces around content + rasi_content = '* {\n\n' + rasi_content + '\n\n}' + + # Write the Rasi content to a file + with open(output_file, 'w') as file: + file.write(rasi_content) + + print(f"Conversion complete! Check the '{output_file}' file.") + +if __name__ == "__main__": + convert_scss_to_rasi(input_file, output_file) + diff --git a/.config/qt6ct/qt6ct.conf b/.config/qt6ct/qt6ct.conf new file mode 100644 index 000000000..2a63fb6c7 --- /dev/null +++ b/.config/qt6ct/qt6ct.conf @@ -0,0 +1,32 @@ +[Appearance] +color_scheme_path=/usr/share/qt6ct/colors/ia_ora.conf +custom_palette=false +icon_theme=Papirus +standard_dialogs=default +style=kvantum + +[Fonts] +fixed="JetBrainsMono Nerd Font,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" +general="Rubik,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=General, AnimateMenu, AnimateCombo, AnimateTooltip, AnimateToolBox +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=@Invalid() +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[SettingsWindow] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x3\xb2\0\0\x3\xfd\0\0\0\0\0\0\0\0\0\0\x3\xbf\0\0\x4\v\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x3\xb2\0\0\x3\xfd) + +[Troubleshooting] +force_raster_widgets=1 +ignored_applications=@Invalid() diff --git a/.config/rofi/colors.rasi b/.config/rofi/colors.rasi new file mode 100644 index 000000000..94f5040e4 --- /dev/null +++ b/.config/rofi/colors.rasi @@ -0,0 +1,74 @@ +* { + + background: #0F1416; + onBackground: #DEE3E5; + surface: #0F1416; + surfaceDim: #0F1416; + surfaceBright: #343A3C; + surfaceContainerLowest: #090F11; + surfaceContainerLow: #171C1E; + surfaceContainer: #1B2022; + surfaceContainerHigh: #252B2D; + surfaceContainerHighest: #303638; + onSurface: #DEE3E5; + surfaceVariant: #3F484B; + onSurfaceVariant: #BFC8CB; + inverseSurface: #DEE3E5; + inverseOnSurface: #2C3133; + outline: #899295; + outlineVariant: #3F484B; + shadow: #000000; + scrim: #000000; + surfaceTint: #84D2E7; + primary: #84D2E7; + onPrimary: #003640; + primaryContainer: #004E5C; + onPrimaryContainer: #ACEDFF; + inversePrimary: #00687A; + secondary: #B2CBD2; + onSecondary: #1D343A; + secondaryContainer: #334A51; + onSecondaryContainer: #CEE7EF; + tertiary: #BFC4EB; + onTertiary: #282F4D; + tertiaryContainer: #898FB3; + onTertiaryContainer: #000000; + error: #FFB4AB; + onError: #690005; + errorContainer: #93000A; + onErrorContainer: #FFDAD6; + primaryFixed: #ACEDFF; + primaryFixedDim: #84D2E7; + onPrimaryFixed: #001F26; + onPrimaryFixedVariant: #004E5C; + secondaryFixed: #CEE7EF; + secondaryFixedDim: #B2CBD2; + onSecondaryFixed: #061F24; + onSecondaryFixedVariant: #334A51; + tertiaryFixed: #DDE1FF; + tertiaryFixedDim: #BFC4EB; + onTertiaryFixed: #131937; + onTertiaryFixedVariant: #3F4565; + success: #B5CCBA; + onSuccess: #213528; + successContainer: #374B3E; + onSuccessContainer: #D1E9D6; + term0: #151B1E; + term1: #8383FF; + term2: #63DEDC; + term3: #75FCDD; + term4: #78B4C2; + term5: #7AAEEA; + term6: #81D7DE; + term7: #CCDBD5; + term8: #B1BCB5; + term9: #BCB9FF; + term10: #F5FFFE; + term11: #FFFFFF; + term12: #BEE3E8; + term13: #C8DAFF; + term14: #ECFEFF; + term15: #CBE7F0; + + +} \ No newline at end of file diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi new file mode 100644 index 000000000..2258dd26d --- /dev/null +++ b/.config/rofi/config.rasi @@ -0,0 +1 @@ +@theme "~/.config/rofi/style.rasi" diff --git a/.config/rofi/style.rasi b/.config/rofi/style.rasi new file mode 100644 index 000000000..b187c9d3a --- /dev/null +++ b/.config/rofi/style.rasi @@ -0,0 +1,180 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/* Import Pywal colors */ +@import "~/.config/rofi/colors.rasi" + + +* { + font: "Iosevka 15"; + width: 800; + height: 500; + actve: @active-background; + urgent: @urgent-background; +} +/*****----- Configuration -----*****/ +configuration { + modi: "drun,window"; + show-icons: true; + icon-theme: "Papirus"; + display-drun: " 󱓞 "; + drun-display-format: "{name}"; +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @secondary; + background-color: @background; + cursor: "default"; + border: 2px; + border-color: @onSecondary; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @onSecondary; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px; + border: 2px solid; + border-radius: 12px; + border-color: @onSecondary; + background-color: @secondaryContainer; + text-color: @secondary; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search apps ..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @primary; + background-color: transparent; + text-color: @onBackground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @secondary; + border-radius: 0px; + background-color: @primary; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 12px; + border-color: @onSecondaryContainer; + background-color: transparent; + text-color: @onBackground; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @onBackground; +} +element selected.normal { + background-color: @primary; + text-color: @onPrimary; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 40px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 12px; + border-color: @onErrorContainer; + background-color: @onError; + text-color: @error; +} +textbox { + background-color: @onPrimary; + text-color: @onBackground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/arch-packages/illogical-impulse-fonts-themes/PKGBUILD b/arch-packages/illogical-impulse-fonts-themes/PKGBUILD index fa60526ab..c1a460b03 100644 --- a/arch-packages/illogical-impulse-fonts-themes/PKGBUILD +++ b/arch-packages/illogical-impulse-fonts-themes/PKGBUILD @@ -5,18 +5,21 @@ pkgdesc='Illogical Impulse Fonts and Theming Dependencies' arch=(any) license=(None) depends=( - adw-gtk-theme-git - qt5ct - qt5-wayland - fontconfig - ttf-readex-pro - ttf-jetbrains-mono-nerd - ttf-material-symbols-variable-git - ttf-space-mono-nerd - ttf-rubik-vf - ttf-gabarito-git - fish - foot - starship + adw-gtk-theme-git + qt5ct + qt5-wayland + qt6ct + kvantum + kvantum-qt5 + papirus-folders + fontconfig + ttf-readex-pro + ttf-jetbrains-mono-nerd + ttf-material-symbols-variable-git + ttf-space-mono-nerd + ttf-rubik-vf + ttf-gabarito-git + fish + foot + starship ) - diff --git a/arch-packages/illogical-impulse-microtex-git/PKGBUILD b/arch-packages/illogical-impulse-microtex-git/PKGBUILD index ecb0894cb..811b6c8e5 100644 --- a/arch-packages/illogical-impulse-microtex-git/PKGBUILD +++ b/arch-packages/illogical-impulse-microtex-git/PKGBUILD @@ -1,6 +1,6 @@ pkgname=illogical-impulse-microtex-git _pkgname=MicroTeX -pkgver=r492.d87ebec +pkgver=r494.0e3707f pkgrel=1 pkgdesc='MicroTeX for illogical-impulse dotfiles.' #pkgdesc="A dynamic, cross-platform, and embeddable LaTeX rendering library" diff --git a/arch-packages/illogical-impulse-python/PKGBUILD b/arch-packages/illogical-impulse-python/PKGBUILD index 801e2829b..5cfd736a8 100644 --- a/arch-packages/illogical-impulse-python/PKGBUILD +++ b/arch-packages/illogical-impulse-python/PKGBUILD @@ -5,10 +5,10 @@ pkgdesc='Illogical Impulse Python Dependencies' arch=(any) license=(None) depends=( - python-build - python-pillow - python-pywal - python-setuptools-scm - python-wheel + python-build + python-pillow + python-pywal16 + python-setuptools-scm + python-wheel + python-webcolors ) - diff --git a/arch-packages/illogical-impulse-screencapture/PKGBUILD b/arch-packages/illogical-impulse-screencapture/PKGBUILD index ab5911fb9..2298dfa3b 100644 --- a/arch-packages/illogical-impulse-screencapture/PKGBUILD +++ b/arch-packages/illogical-impulse-screencapture/PKGBUILD @@ -5,11 +5,10 @@ pkgdesc='Illogical Impulse Screenshot and Recording Dependencies' arch=(any) license=(None) depends=( - swappy - wf-recorder - grim - tesseract - tesseract-data-eng - slurp + swappy + wf-recorder + grim + tesseract + tesseract-data-eng + slurp ) - diff --git a/arch-packages/illogical-impulse-widgets/PKGBUILD b/arch-packages/illogical-impulse-widgets/PKGBUILD index 3265e74d0..adfca6b54 100644 --- a/arch-packages/illogical-impulse-widgets/PKGBUILD +++ b/arch-packages/illogical-impulse-widgets/PKGBUILD @@ -5,15 +5,14 @@ pkgdesc='Illogical Impulse Widget Dependencies' arch=(any) license=(None) depends=( - dart-sass - python-pywayland - python-psutil - hypridle-git - hyprutils-git - hyprlock-git - wlogout - wl-clipboard - hyprpicker-git - anyrun-git + dart-sass + python-pywayland + python-psutil + hypridle-git + hyprutils-git + hyprlock-git + wlogout + wl-clipboard + hyprpicker-git + anyrun-git ) -