base configs

This commit is contained in:
nx-smul
2025-01-17 18:08:55 +06:00
parent 4a173bceb9
commit 272e677bfb
49 changed files with 403 additions and 22461 deletions
-576
View File
@@ -1,576 +0,0 @@
[%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
File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 170 KiB

@@ -1,569 +0,0 @@
[%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
File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 168 KiB

@@ -1,571 +0,0 @@
[%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
File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 168 KiB

-2
View File
@@ -1,2 +0,0 @@
[General]
theme=MaterialAdw
-15
View File
@@ -1,15 +0,0 @@
# 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
-241
View File
@@ -1,241 +0,0 @@
{
"No media": "بدون رسانه",
"Powered by Google": "قدرت گرفته از گوگل",
"Uses gemini-pro.\nNot affiliated, endorsed, or sponsored by Google.\n\nPrivacy: Chat messages aren't linked to your account,\n but will be read by human reviewers to improve the model.": "بکارگیری gemini-pro.بدون وابستگی تأیید شده یا حمایت شده توسط گوگل.\n\nحریم خصوصی: پیام‌های گفتگو به حساب شما مرتبط نیستند،\n اما توسط بازبینی‌کنندگان انسانی برای بهبود مدل خوانده خواهند شد.",
"Precise": "دقیق",
"Balanced": "متعادل",
"Creative": "خلاق",
"Gemini's temperature value.\n Precise = 0\n Balanced = 0.5\n Creative = 1": "مقدار دما در Gemini.\n دقیق = 0\n متعادل = 0.5\n خلاق = 1",
"Enhancements": "بهبودها",
"Tells Gemini:\n- It's a Linux sidebar assistant\n- Be brief and use bullet points": "به Gemini می‌گوید:\n- این یک دستیار نوار کناری لینوکس است\n- مختصر باشید و از فهرست کردن کمک بگیرید",
"Safety": "ایمنی",
"When turned off, tells the API (not the model) \nto not block harmful/explicit content": "زمانی که خاموش باشد، به API (نه مدل) می‌گوید که \nمحتوای مضر/صریح را مسدود نکند",
"History": "پیشینه",
"Saves chat history\nMessages in previous chats won't show automatically, but they are there": "پیشینه گفتگو را نگه‌داری می‌کند\nپیام‌های گفتگو‌های پیشین به‌طور خودکار نمایش داده نمی‌شوند، اما وجود دارند",
"Key stored in:": "کلید نگه‌داری شده در:",
"To update this key, type": "برای به‌روزرسانی این کلید، بنویسید",
"Updated API Key at": "کلید API به‌روزرسانی شده در",
"Currently using": "هم‌اینک بکار گرفته میشود",
"Select ChatGPT-compatible API provider": "انتخاب ارائه‌دهنده API سازگار با ChatGPT",
"Official OpenAI API.\nPricing: Free for the first $5 or 3 months, whichever is less.": "API رسمی OpenAI.\nقیمت‌گذاری: رایگان برای اولین 5 دلار یا 3 ماه، هر کدام که کمتر باشد.",
"Official Ollama API.\nPricing: Free.": "API رسمی Ollama.\nقیمت‌گذاری: رایگان.",
"A unified interface for LLMs": "یک رابط یکپارچه برای LLMها",
"An API from Tornado Softwares\nPricing: Free: 100/day\nRequires you to join their Discord for a key": "API از Tornado Softwares\nقیمت‌گذاری: رایگان: 100 در روز\nنیاز به پیوستن به دیسکورد آنها برای دریافت کلید دارد",
"An API from @zukixa on GitHub.\nNote: Keys are IP-locked so it's buggy sometimes\nPricing: Free: 10/min, 800/day.\nRequires you to join their Discord for a key": "API از @zukixa در گیت‌هاب.\nتوجه: کلیدها قفل IP هستند بنابراین گاهی اوقات باگ دارند\nقیمت‌گذاری: رایگان: 10 در دقیقه، 800 در روز.\nنیاز به پیوستن به دیسکورد آنها برای دریافت کلید دارد",
"Provider shown above": "ارائه‌دهنده در بالا نشان داده شده است",
"Uses gpt-3.5-turbo.\nNot affiliated, endorsed, or sponsored by OpenAI.\n\nPrivacy: OpenAI claims they do not use your data\nwhen you use their API. Idk about others.": "بکارگیری gpt-3.5-turbo.نا وابسته، تأیید شده یا حمایت شده توسط OpenAI.\n\nحریم خصوصی: OpenAI ادعا می‌کند که آنها داده‌های شما را بکار نمی‌گیرند\nزمانی که API آنها را بکار میگیرید. نمی‌دانم درباره دیگران.",
"The model's temperature value.\n Precise = 0\n Balanced = 0.5\n Creative = 1": "مقدار دما در مدل.\n دقیق = 0\n متعادل = 0.5\n خلاق = 1",
"An API key is required\nYou can grab one <u>here</u>, then enter it below": "یک کلید API مورد نیاز است\nشما می‌توانید یکی را <u>اینجا</u> بگیرید، سپس آن را پایین وارد کنید",
"Tells the model:\n- It's a Linux sidebar assistant\n- Be brief and use bullet points": "به مدل می‌گوید:\n- این یک دستیار نوار کناری لینوکس است\n- گزافه‌گو نباشید و نقاط فهرست بکار ببرید",
"Powered by waifu.im + other APIs": "قدرت گرفته از waifu.im + سایر APIها",
"Type tags for a random pic.\nNSFW content will not be returned unless\nyou explicitly request such a tag.\n\nDisclaimer: Not affiliated with the providers\nnor responsible for any of their content.": "برچسب‌ها را برای یک تصویر تصادفی بنویسید.\nمحتوای NSFW بازگردانده نخواهد شد مگر اینکه\nشما به‌طور صریح چنین برچسبی را درخواست کنید.\n\nتوجه: بدون وابستگی ارائه‌دهندگان\nو مسئول هیچ‌یک از محتوای آنها نیست.",
"Tags →": "برچسب‌ها →",
"Invalid command.": "دستور نامعتبر.",
"Anime booru": "انیمه بورو",
"Powered by yande.re and konachan": "قدرت گرفته از yande.re و konachan",
"An image booru. May contain NSFW content.\nWatch your back.\n\nDisclaimer: Not affiliated with the provider\nnor responsible for any of its content.": "یک تصویر بورو. ممکن است محتوای NSFW داشته باشد.\nمواظب باشید.\n\nتوجه: بدون وابستگی به ارائه‌دهنده\nو مسئول هیچ‌یک از محتوای آن نیست.",
"Lewds": "محتوای نامناسب",
"Shows naughty stuff when enabled.\nYa like those? Add this to user_options.js:\n\t'sidebar': {\n\t'image': {\n\t\t'allowNsfw': true,\n\t}\n}": "محتوای نامناسب را زمانی که فعال باشد نشان می‌دهد.\nآیا از اینها خوشتان می‌آید؟ این را به user_options.js اضافه کنید:\n\t'sidebar': {\n\t'image': {\n\t\t'allowNsfw': true,\n\t}\n}",
"Save in folder by tags": "نگه‌داری در پوشه بر اساس برچسب‌ها",
"Saves images in folders by their tags": "تصاویر را در پوشه‌ها بر اساس برچسب‌هایشان نگه‌داری می‌کند",
"Message Gemini...": "پیام به Gemini...",
"Enter Google AI API Key...": "کلید API گوگل AI را وارد کنید...",
"Message the model...": "پیام به مدل...",
"Enter API Key...": "کلید API را وارد کنید...",
"Enter tags": "برچسب‌ها را وارد کنید",
"Quick scripts": "اسکریپت‌های سریع",
"Change screen resolution": "تغییر وضوح صفحه",
"Update packages": "به‌روزرسانی بسته‌ها",
"Trim system generations to 5": "تعداد نسل‌های سامانه را به 5 کاهش دهید",
"Trim home manager generations to 5": "تعداد نسل‌های مدیر خانه را به 5 کاهش دهید",
"Remove orphan packages": "بسته‌های ناکارآمد را پاک کنید",
"Uninstall unused flatpak packages": "بسته‌های فلت‌پک بکار گرفته نشده را پاک کنید",
"<span strikethrough=\"true\">Inaccurate</span> Color picker": "<span strikethrough=\"true\">نادرست</span> انتخاب‌گر رنگ",
"Result": "نتیجه",
"Type to search": "برای جستجو بنویسید",
"illogical-impulse": "illogical-impulse",
"RAM Usage": "کارکرد RAM",
"Swap Usage": "کارکرد Swap",
"CPU Usage": "کارکرد CPU",
"Uptime:": "در حال کار:",
"Screen snip": "برش صفحه",
"Color picker": "انتخاب‌گر رنگ",
"Toggle on-screen keyboard": "کیبورد روی صفحه را فعال/غیرفعال کنید",
"Night Light": "نور شب",
"Color inversion": "وارونگی رنگ",
"Keep system awake": "سامانه را بیدار نگه‌دارید",
"Cloudflare WARP": "Cloudflare WARP",
"Session": "نشست",
"Bluetooth | Right-click to configure": "بلوتوث | برای پیکربندی راست کلیک کنید ",
"Wifi | Right-click to configure": "وای‌فای | برای پیکربندی راست کلیک کنید ",
"Right-click to configure": "برای پیکربندی راست کلیک کنید",
"Unknown": "ناشناخته",
"Reload Environment config": "پیکربندی محیط را دوباره بارگذاری کنید",
"Open Settings": "تنظیمات را باز کنید",
"Notifications": "آگاه‌سازها",
"Audio controls": "کنترل‌های صدا",
"Bluetooth": "بلوتوث",
"Wifi networks": "شبکه‌های وای‌فای",
"Live config": "پیکربندی زنده",
"Silence": "سکوت",
"Clear": "پاک کردن",
"No notifications": "بدون آگاه‌ساز",
"notifications": "آگاه‌سازها",
"Close": "بستن",
"Now": "اینک",
"Yesterday": "دیروز",
"No audio source": "هیچ منبع صوتی",
"Remove device": "پاک‌کردن دستگاه",
"Connected": "متصل",
"Paired": "جفت شده",
"More": "بیشتر",
"Selected": "انتخاب شده",
"Current network": "شبکه کنونی",
"Authentication": "احراز هویت",
"Effects": "جلوه‌ها",
"Transparency": "شفافیت",
"[AGS]\nMake shell elements transparent\nBlur is also recommended if you enable this": "[AGS]\nعناصر شل را شفاف کنید\nهمچنین اگر این را فعال کنید، تاری نیز توصیه می‌شود",
"Blur": "تاری",
"[Hyprland]\nEnable blur on transparent elements\nDoesn't affect performance/power consumption unless you have transparent windows.": "[Hyprland]\nفعال کردن تاری بر روی عناصر شفاف\nبر عملکرد/مصرف برق تأثیر نمی‌گذارد مگر اینکه پنجره‌های شفاف داشته باشید.",
"X-ray": "اشعه ایکس",
"[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) ": "[Hyprland]\nهمه چیز را پشت یک پنجره/لایه به جز پس‌زمینه بر روی سطح تاری آن رندر نکنید\nتوصیه می‌شود برای بهبود عملکرد (اگر از شفافیت/تاری سوءاستفاده نکنید)",
"Size": "اندازه",
"[Hyprland]\nAdjust the blur radius. Generally doesn't affect performance\nHigher = more color spread": "[Hyprland]\nشعاع تاری را تنظیم کنید. به طور کلی بر عملکرد تأثیر نمی‌گذارد\nبیشتر = پخش رنگ بیشتر",
"Passes": "عبور",
"[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.": "[Hyprland] تعداد عبورهای الگوریتم تاری را تنظیم کنید\nعبورهای بیشتر = پخش بیشتر و مصرف برق بیشتر\n4 توصیه می‌شود\n2- عجیب به نظر می‌رسد و 6+ بی‌مزه خواهد بود.",
"Animations": "پویانمایی‌ها",
"[Hyprland] [GTK]\nEnable animations": "[Hyprland] [GTK]\nفعال کردن پویانمایی‌ها",
"Choreography delay": "درنگ در پویایی",
"In milliseconds, the delay between animations of a series": "به میلی‌ثانیه، درنگ بین پویانمایی‌های یک سری",
"Developer": "توسعه‌دهنده",
"Show FPS": "نمایش FPS",
"[Hyprland]\nShow FPS overlay on top-left corner": "[Hyprland]\nنمایش پوشش FPS در گوشه بالا سمت چپ",
"Log to stdout": "ثبت در stdout",
"[Hyprland]\nPrint LOG, ERR, WARN, etc. messages to the console": "[Hyprland]\nپیام‌های LOG، ERR، WARN و دیگر را به کنسول چاپ کنید",
"Damage tracking": "ردیابی آسیب",
"[Hyprland]\nEnable damage tracking\nGenerally, leave it on.\nTurn off only when a shader doesn't work": "[Hyprland]\nفعال کردن ردیابی آسیب\nبه طور کلی، آن را روشن بگذارید.\nفقط زمانی که یک سایه‌زن(شیدر) کار نمی‌کند، خاموش کنید",
"Damage blink": "چشمک آسیب",
"[Hyprland] [Epilepsy warning!]\nShow screen damage flashes": "[Hyprland] [هشدار صرع!]\nنمایش چشمک‌های آسیب صفحه",
"Not all changes are saved": "همه تغییرات نگه‌داری نشده‌اند",
"Mo": "دو",
"Tu": "سه",
"We": "چهار",
"Th": "پنج",
"Fr": "جمعه",
"Sa": "شنبه",
"Su": "یک",
"Calendar": "تقویم",
"To Do": "کارها",
"Unfinished": "مانده",
"Done": "پایان یافته",
"Finished tasks will go here": "کارهای پایان یافته اینجا خواهند بود",
"Nothing here!": "هیچ چیز اینجا نیست!",
"+ New task": "+ کار جدید",
"Add a task...": "افزودن یک کار...",
"Color scheme": "طرح رنگ",
"Options": "گزینه‌ها",
"Dark Mode": "حالت تاریک",
"Ya should go to sleep!": "پاشو برو بخواب!",
"Use Gradience": "بکارگیری رنگ شیب دار(Gradience)",
"Theme GTK apps using accent color\n(drawback: dark/light mode switching requires restart)": "برنامه‌های GTK را با بکارگیری رنگ تأکید پوسته گذاری کنید\n(معایب: تغییر حالت تاریک/روشن نیاز به باز راه‌اندازی دارد)",
"Scheme styles": "سبک‌های طرح",
"Vibrant": "زنده",
"Vibrant+": "زنده+",
"Expressive": "بیانگر",
"Monochrome": "تک‌رنگ",
"Rainbow": "رنگین کمان",
"Fidelity": "وفاداری",
"Fruit Salad": "سالاد میوه",
"Tonal Spot": "نقطه تنال",
"Content": "محتوا",
"Use arrow keys to navigate.\nEnter to select, Esc to cancel.": "برای ناوبری کلیدهای جهت‌دار را بکار ببرید.\nبرای انتخاب Enter و برای رد کردن Esc را بزنید.",
"Lock": "قفل",
"Logout": "خروج",
"Sleep": "خواب",
"Hibernate": "خواب زمستانی",
"Shutdown": "خاموش",
"Reboot": "باز راه‌اندازی",
"Cancel": "رد کردن",
"Cheat sheet": "برگه تقلب",
"Keybinds": "کلیدهای میانبر",
"Periodic table": "جدول تناوبی",
"Essentials for beginners": "اساس برای مبتدیان",
"Make shell elements transparent": "عناصر شل را شفاف کنید",
"Actions": "کنش",
"Window management": "مدیریت پنجره",
"Window arrangement": "چیدمان پنجره",
"Workspace management": "مدیریت فضای کاری",
"Workspace navigation": "ناوبری فضای کاری",
"Widgets": "ابزارک‌ها",
"Media": "رسانه",
"Apps": "برنامه‌ها",
"Neutral": "خنثی",
"Launch foot (terminal)": "اجرای foot (ترمینال)",
"Open app launcher": "باز کردن راه‌انداز برنامه",
"Change wallpaper": "تغییر پس‌زمینه",
"Clipboard history >> clipboard": "پیشینه کلیپ بورد >> کلیپ بورد",
"Pick emoji >> clipboard": "انتخاب ایموجی >> کلیپ بورد",
"Screen snip >> edit": "برش صفحه >> ویرایش",
"Screen snip to text >> clipboard": "برش صفحه به متن >> کلیپ بورد",
"Pick color (Hex) >> clipboard": "انتخاب رنگ (Hex) >> کلیپ بورد",
"Screenshot >> clipboard": "عکس صفحه >> کلیپ بورد",
"Screenshot >> clipboard & file": "عکس صفحه >> کلیپ بورد و فایل",
"Record region (no sound)": "ضبط منطقه (بدون صدا)",
"Record screen (with sound)": "ضبط صفحه (با صدا)",
"Suspend system": "تعلیق سامانه",
"Move focus in direction": "جابه‌جایی تمرکز در جهت",
"Move window": "جابه‌جایی پنجره",
"Resize window": "تغییر اندازه پنجره",
"Close window": "بستن پنجره",
"Pick and kill a window": "انتخاب و بستن یک پنجره",
"Window: move in direction": "پنجره: جابه‌جایی در جهت",
"Window: split ratio +/- 0.1": "پنجره: نسبت تقسیم +/- 0.1",
"Float/unfloat window": "پنجره را شناور/نا شناور کنید",
"Toggle fake fullscreen": "تغییر حالت تمام صفحه ساختگی",
"Toggle fullscreen": "تغییر حالت تمام صفحه",
"Toggle maximization": "تغییر حالت بزرگ‌نمایی",
"Focus workspace # (1, 2, 3, 4, ...)": "تمرکز بر فضای کاری # (1، 2، 3، 4، ...)",
"Workspace: focus left/right": "فضای کاری: تمرکز به چپ/راست",
"Workspace: toggle special": "فضای کاری: تغییر حالت خاص",
"Window: move to workspace # (1, 2, 3, 4, ...)": "پنجره: رفتن به فضای کاری # (1، 2، 3، 4، ...)",
"Window: move to workspace left/right": "پنجره: رفتن به فضای کاری چپ/راست",
"Window: move to workspace special": "پنجره: رفتن به فضای کاری خاص",
"Window: pin (show on all workspaces)": "پنجره: سنجاق (نمایش در همه فضاهای کاری)",
"Restart widgets": "باز راه‌اندازی ابزارک‌ها",
"Cycle bar mode (normal, focus)": "چرخش حالت نوار (عادی، تمرکز)",
"Toggle overview/launcher": "تغییر حالت نمای کلی/راه‌انداز",
"Show cheatsheet": "نمایش برگه تقلب",
"Toggle left sidebar": "تغییر حالت نوار کناری چپ",
"Toggle right sidebar": "تغییر حالت نوار کناری راست",
"Toggle music controls": "تغییر حالت کنترل‌های موسیقی",
"View color scheme and options": "مشاهده طرح رنگ و گزینه‌ها",
"Toggle power menu": "تغییر حالت فهرست قدرت",
"Toggle crosshair": "تغییر حالت نشانه‌گذاری",
"Next track": "ترانه پسین",
"Previous track": "ترانه پیشین",
"Play/pause media": "پخش/مکث رسانه",
"Launch Zed (editor)": "اجرای Zed (ویرایشگر)",
"Launch VSCode (editor)": "اجرای VSCode (ویرایشگر)",
"Launch Nautilus (file manager)": "اجرای Nautilus (مدیر فایل)",
"Launch Firefox (browser)": "اجرای Firefox (مرورگر)",
"Launch GNOME Text Editor": "اجرای ویرایشگر متن GNOME",
"Launch WPS Office": "اجرای WPS Office",
"Launch GNOME Settings": "اجرای تنظیمات GNOME",
"Launch pavucontrol (volume mixer)": "اجرای pavucontrol (میکسر صدا)",
"Launch EasyEffects (equalizer & other audio effects)": "اجرای EasyEffects (اکولایزر و سایر جلوه‌های صوتی)",
"Launch GNOME System monitor": "اجرای مانیتور سامانه GNOME",
"Toggle fallback launcher: anyrun": "بکارگیری راه‌انداز پشتیبان: anyrun",
"Toggle fallback launcher: fuzzel": "بکارگیری راه‌انداز پشتیبان: fuzzel",
"Initialization complete!": "راه‌اندازی کامل شد!",
"Not found": "یافت نشد:",
"Calling API": "در حال تماس با API",
"Downloading image": "در حال دریافت تصویر",
"Finished!": "پایان یافت!",
"Error": "خطا",
"Not found!": "یافت نشد!",
"Go to file url": "رفتن به URL فایل",
"Save image": "نگه‌داری تصویر",
"Hoard": "نگه‌داری",
"Open externally": "باز کردن در",
"You are an assistant on a sidebar of a Wayland Linux desktop. Please always use a casual tone when answering your questions, unless requested otherwise or making writing suggestions. These are the steps you should take to respond to the user's queries:\n1. If it's a writing- or grammar-related question or a sentence in quotation marks, Please point out errors and correct when necessary using underlines, and make the writing more natural where appropriate without making too major changes. If you're given a sentence in quotes but is grammatically correct, explain briefly concepts that are uncommon.\n2. If it's a question about system tasks, give a bash command in a code block with brief explanation.\n3. Otherwise, when asked to summarize information or explaining concepts, you are should use bullet points and headings. For mathematics expressions, you *have to* use LaTeX within a code block with the language set as \"latex\". \nNote: Use casual language, be short, while ensuring the factual correctness of your response. If you are unsure or dont have enough information to provide a confident answer, simply say “I dont know” or “Im not sure.”. \nThanks!": "You are an assistant on a sidebar of a Wayland Linux desktop. Please always use a casual tone when answering your questions, unless requested otherwise or making writing suggestions. These are the steps you should take to respond to the user's queries:\n1. If it's a writing- or grammar-related question or a sentence in quotation marks, Please point out errors and correct when necessary using underlines, and make the writing more natural where appropriate without making too major changes. If you're given a sentence in quotes but is grammatically correct, explain briefly concepts that are uncommon.\n2. If it's a question about system tasks, give a bash command in a code block with brief explanation.\n3. Otherwise, when asked to summarize information or explaining concepts, you are should use bullet points and headings. For mathematics expressions, you *have to* use LaTeX within a code block with the language set as \"latex\". \nNote: Use casual language, be short, while ensuring the factual correctness of your response. If you are unsure or dont have enough information to provide a confident answer, simply say “I dont know” or “Im not sure.”. \nIf user talks to you in Persian and you can also respond in Persian, definitely respond in Persian. Thanks!"
}
@@ -86,20 +86,14 @@ export const BluetoothIndicator = () => Widget.Stack({
transition: 'slide_up_down',
transitionDuration: userOptions.animations.durationSmall,
children: {
'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' }),
'false': Widget.Label({ className: 'txt-norm icon-material', label: 'bluetooth_disabled' }),
'true': Widget.Label({ className: 'txt-norm icon-material', label: 'bluetooth' }),
},
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';
}
}),
setup: (self) => self
.hook(Bluetooth, stack => {
stack.shown = String(Bluetooth.enabled);
})
,
});
const BluetoothDevices = () => Widget.Box({
@@ -164,11 +158,8 @@ const NetworkWifiIndicator = () => Widget.Stack({
transition: 'slide_up_down',
transitionDuration: userOptions.animations.durationSmall,
children: {
'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',
}),
'disabled': Widget.Label({ className: 'txt-norm icon-material', label: 'wifi_off' }),
'disconnected': Widget.Label({ className: 'txt-norm icon-material', label: 'signal_wifi_off' }),
'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' }),
@@ -180,11 +171,10 @@ const NetworkWifiIndicator = () => Widget.Stack({
if (!Network.wifi) {
return;
}
if (!Network.wifi.enabled) {
stack.shown = 'disabled';
} else if (Network.wifi.internet == 'connected') {
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;
}
}),
@@ -60,13 +60,6 @@ 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;
}
// Truncate if offscreen
if (x + w > monitors[monitor].width) w = monitors[monitor].width - x;
if (y + h > monitors[monitor].height) h = monitors[monitor].height - y;
@@ -1,307 +1,130 @@
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';
// 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({
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}`,
])
.then(() => {
updateConfig(option, newValue ? enableValue : disableValue);
extraOnChange(self, newValue);
})
.catch((err) => logError("Error applying change", err));
},
});
execAsync(['hyprctl', 'keyword', option, `${newValue ? enableValue : disableValue}`]).catch(print);
extraOnChange(self, newValue);
}
});
// SpinButton for numeric settings
const HyprlandSpinButton = ({ icon, name, desc = null, option, ...rest }) =>
ConfigSpinButton({
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}`])
.then(() => {
updateConfig(option, newValue);
})
.catch((err) => logError("Error applying change", err));
execAsync(['hyprctl', 'keyword', option, `${newValue}`]).catch(print);
},
...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,
}),
Box({
className: "margin-left-10 margin-right-10",
vertical: true,
children: children,
}),
],
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: [
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 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);
},
}),
],
}),
// 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();
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,
]
});
}
+105 -121
View File
@@ -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,161 +38,145 @@ 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
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"
# 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
done
# 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
}
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|path = \$path|path = $wallpath_png|" "$CACHE_DIR"/user/generated/hypr/hyprlock.conf
# 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
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
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"
}
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)
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 &
@@ -1,56 +0,0 @@
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)
@@ -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
+3 -3
View File
@@ -38,9 +38,9 @@ env_editor_confirm() {
fi
}
NOTIFY=yes
CURSOR=no
FREEZE=yes
NOTIFY=no
CURSOR=
FREEZE=
WAIT=no
SCALE=
HYPRPICKER_PID=-1
-76
View File
@@ -1,76 +0,0 @@
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()
-84
View File
@@ -1,84 +0,0 @@
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()
@@ -1,68 +0,0 @@
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!")
-43
View File
@@ -1,43 +0,0 @@
#!/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
@@ -4,18 +4,6 @@ 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)
@@ -43,4 +31,4 @@ plugin {
}
}
windowrulev2 = bordercolor rgba({{ $primary }}AA) rgba({{ $primary }}77),pinned:1
windowrulev2 = bordercolor rgba({{ $primary }}AA) rgba({{ $primary }}77),pinned:1
@@ -1,97 +1,90 @@
#hyprlock config
$text_color = rgba({{ $term3 }}FF)
$text_key_color = rgba({{ $term1 }}FF)
$text_status_color = rgba({{ $tertiary }}FF)
$base_color = rgba({{ $term0 }}FF)
# $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)
$font_family = Rubik Light
$font_family_clock = Geist Mono 10
$font_family_date = JetBrainsMono Nerd Font 10
$font_family_clock = Rubik Light
$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 =
path = $path # only png supported for now
# color = $color1
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
# 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
position = 0, 20
halign = center
valign = center
}
# Hours
label {
label { # Clock
monitor =
text = cmd[update:1000] echo "<b><big> $(date +"%H") </big></b>"
text = $TIME
shadow_passes = 1
shadow_boost = 0.5
color = $text_color
font_size = 112
font_size = 65
font_family = $font_family_clock
shadow_passes = 3
shadow_size = 4
position = 0, 220
position = 0, 300
halign = center
valign = center
}
# Minutes
label {
label { # Greeting
monitor =
text = cmd[update:1000] echo "<b><big> $(date +"%M") </big></b>"
color = $text_key_color
font_size = 112
font_family = $font_family_clock
shadow_passes = 3
shadow_size = 4
text = hi $USER !!!
shadow_passes = 1
shadow_boost = 0.5
color = $text_color
font_size = 20
font_family = $font_family
position = 0, 80
position = 0, 240
halign = center
valign = center
}
# Today
label {
label { # lock icon
monitor =
text = cmd[update:18000000] echo "<b><big> "$(date +'%A')" </big></b>"
<<<<<<< HEAD
color = rgba(FFFFFF80)
=======
color = rgba({{ $primaryContainer }}FF)
>>>>>>> parent of 1a3fa77... heda hau fixed
font_size = 22
font_family = $font_family_date
text = lock
shadow_passes = 1
shadow_boost = 0.5
color = $text_color
font_size = 21
font_family = $font_material_symbols
position = 0, -20
position = 0, 65
halign = center
valign = center
valign = bottom
}
# Week
label {
label { # "locked" text
monitor =
text = cmd[update:18000000] echo "<b> "$(date +'%d %b')" </b>"
<<<<<<< HEAD
color = rgba(FFFFFF80)
=======
color = rgba({{ $primaryContainer }}FF)
>>>>>>> parent of 1a3fa77... heda hau fixed
font_size = 18
font_family = $font_family_date
text = locked
shadow_passes = 1
shadow_boost = 0.5
color = $text_color
font_size = 14
font_family = $font_family
position = 0, -50
position = 0, 45
halign = center
valign = center
valign = bottom
}
label { # Status
@@ -99,33 +92,11 @@ label { # Status
text = cmd[update:5000] ${XDG_CONFIG_HOME:-$HOME/.config}/hypr/hyprlock/status.sh
shadow_passes = 1
shadow_boost = 0.5
color = $text_status_color
color = $text_color
font_size = 14
font_family = $font_family
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 = <i>Password...</i> # Text rendered in the input box when it's empty.
position = 0, 120
halign = center
valign = bottom
}
position = 30, -30
halign = left
valign = top
}
-18
View File
@@ -1,18 +0,0 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "ES2022",
"lib": [
"ES2022"
],
"allowJs": true,
"checkJs": true,
"strict": true,
"noImplicitAny": false,
"baseUrl": ".",
"typeRoots": [
"./types"
],
"skipLibCheck": true
}
}
-1
View File
@@ -1 +0,0 @@
/usr/share/com.github.Aylur.ags/types
-2
View File
@@ -1,4 +1,2 @@
# You can put extra environment variables here
# https://wiki.hyprland.org/Configuring/Environment-variables/
# env = QT_QPA_PLATFORMTHEME, KDE
-3
View File
@@ -1,5 +1,2 @@
# You can make apps auto-start here
# Relevant Hyprland wiki section: https://wiki.hyprland.org/Configuring/Keywords/#executing
#
+1 -5
View File
@@ -1,6 +1,2 @@
# Put general config stuff here
# 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
# Here's a list of every variable: https://wiki.hyprland.org/Configuring/Variables/
+1 -3
View File
@@ -1,4 +1,2 @@
# You can put your preferred keybinds here
# https://wiki.hyprland.org/Configuring/Binds/
# https://wiki.hyprland.org/Configuring/Binds/
-1
View File
@@ -8,7 +8,6 @@ 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
View File
-1
View File
@@ -11,7 +11,6 @@ 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
+1 -1
View File
@@ -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
+5
View File
@@ -69,7 +69,12 @@ decoration {
rounding = 20
blur {
enabled = true
xray = true
special = false
new_optimizations = true
size = 14
passes = 4
brightness = 1
noise = 0.01
contrast = 1
+1 -3
View File
@@ -76,8 +76,7 @@ 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
@@ -207,7 +206,6 @@ 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
+37 -33
View File
@@ -1,35 +1,38 @@
# 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
windowrulev2 = float, class:^(blueberry.py)$
windowrulev2 = float, title:^(steam)$
windowrulev2 = float, title:^(guifetch)$ # FlafyDev/guifetch
windowrulev2 = tile, class:^(dev.warp.Warp)$
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)(.*)$
# 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
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)(.*)$
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)(.*)$
# Tearing
windowrulev2 = immediate,title:^(.*\.exe)$
windowrulev2 = immediate,class:^(steam_app)
windowrule=immediate,.*\.exe
windowrulev2=immediate,class:(steam_app)
# No shadow for tiled windows
windowrulev2 = noshadow,floating:0
@@ -58,25 +61,26 @@ 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
-70
View File
@@ -1,70 +0,0 @@
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"])
-35
View File
@@ -1,35 +0,0 @@
#!/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}"
-49
View File
@@ -1,49 +0,0 @@
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()
-40
View File
@@ -1,40 +0,0 @@
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)
-32
View File
@@ -1,32 +0,0 @@
[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()
-74
View File
@@ -1,74 +0,0 @@
* {
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;
}
-1
View File
@@ -1 +0,0 @@
@theme "~/.config/rofi/style.rasi"
-180
View File
@@ -1,180 +0,0 @@
/**
*
* 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;
}
+2 -7
View File
@@ -136,19 +136,14 @@
- AGS: [Aylur's config](https://github.com/Aylur/dotfiles), [kotontrion's config](https://github.com/kotontrion/dotfiles)
- EWW: [fufexan's config](https://github.com/fufexan/dotfiles) (he thanks more people there btw)
- AI bots for providing useful examples
- Open source contributors for their software and ricers for their insipration (would be a too long list to put here!)
<div align="center">
<h2>• stonks •</h2>
<h3></h3>
</div>
- Funny useful number: https://github.com/sponsors/end-4
- Funny useless number:
[![Stargazers over time](https://starchart.cc/end-4/dots-hyprland.svg?variant=adaptive)](https://starchart.cc/end-4/dots-hyprland)
- *Jokes aside i do appreciate both*
[![Stargazers over time](https://starchart.cc/end-4/dots-hyprland.svg?background=%230d1117&axis=%23e6edf3&line=%234759e7)](https://starchart.cc/end-4/dots-hyprland)
<div align="center">
<h2>• inspirations •</h2>
@@ -5,21 +5,18 @@ pkgdesc='Illogical Impulse Fonts and Theming Dependencies'
arch=(any)
license=(None)
depends=(
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
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
)
@@ -1,6 +1,6 @@
pkgname=illogical-impulse-microtex-git
_pkgname=MicroTeX
pkgver=r494.0e3707f
pkgver=r492.d87ebec
pkgrel=1
pkgdesc='MicroTeX for illogical-impulse dotfiles.'
#pkgdesc="A dynamic, cross-platform, and embeddable LaTeX rendering library"
@@ -5,10 +5,10 @@ pkgdesc='Illogical Impulse Python Dependencies'
arch=(any)
license=(None)
depends=(
python-build
python-pillow
python-pywal16
python-setuptools-scm
python-wheel
python-webcolors
python-build
python-pillow
python-pywal
python-setuptools-scm
python-wheel
)
@@ -5,10 +5,11 @@ 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
)
@@ -5,14 +5,15 @@ 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
)