diff --git a/.config/hypr/hyprland/keybinds.conf b/.config/hypr/hyprland/keybinds.conf index a24470334..668adaa4f 100644 --- a/.config/hypr/hyprland/keybinds.conf +++ b/.config/hypr/hyprland/keybinds.conf @@ -136,8 +136,6 @@ bind = Ctrl+Super+Shift, Left, movetoworkspace, r-1 # [hidden] bind = Super+Alt, S, movetoworkspacesilent, special # Send to scratchpad bind = Ctrl+Super, S, togglespecialworkspace, # [hidden] -bind = Alt, Tab, cyclenext # [hidden] sus keybind -bind = Alt, Tab, bringactivetotop, # [hidden] bring it to the top ##! Workspace # Switching diff --git a/.config/quickshell/ii/modules/background/Background.qml b/.config/quickshell/ii/modules/background/Background.qml index 28f8028de..f354cf6b9 100644 --- a/.config/quickshell/ii/modules/background/Background.qml +++ b/.config/quickshell/ii/modules/background/Background.qml @@ -178,6 +178,7 @@ Variants { StyledImage { id: wallpaper visible: opacity > 0 && !blurLoader.active + opacity: (status === Image.Ready && !bgRoot.wallpaperIsVideo) ? 1 : 0 cache: false smooth: false // Range = groups that workspaces span on @@ -390,13 +391,13 @@ Variants { id: safetyStatusText shown: bgRoot.wallpaperSafetyTriggered statusIcon: "hide_image" - statusText: qsTr("Wallpaper safety enforced") + statusText: Translation.tr("Wallpaper safety enforced") } ClockStatusText { id: lockStatusText shown: GlobalStates.screenLocked && Config.options.lock.showLockedText statusIcon: "lock" - statusText: qsTr("Locked") + statusText: Translation.tr("Locked") } Item { Layout.fillWidth: bgRoot.textHorizontalAlignment !== Text.AlignRight diff --git a/.config/quickshell/ii/modules/common/widgets/ConfigSpinBox.qml b/.config/quickshell/ii/modules/common/widgets/ConfigSpinBox.qml index 33fb84057..de70529f5 100644 --- a/.config/quickshell/ii/modules/common/widgets/ConfigSpinBox.qml +++ b/.config/quickshell/ii/modules/common/widgets/ConfigSpinBox.qml @@ -19,12 +19,14 @@ RowLayout { spacing: 10 OptionalMaterialSymbol { icon: root.icon + opacity: root.enabled ? 1 : 0.4 } StyledText { id: labelWidget Layout.fillWidth: true text: root.text color: Appearance.colors.colOnSecondaryContainer + opacity: root.enabled ? 1 : 0.4 } } diff --git a/.config/quickshell/ii/modules/common/widgets/ConfigSwitch.qml b/.config/quickshell/ii/modules/common/widgets/ConfigSwitch.qml index 349ee5737..13c43c552 100644 --- a/.config/quickshell/ii/modules/common/widgets/ConfigSwitch.qml +++ b/.config/quickshell/ii/modules/common/widgets/ConfigSwitch.qml @@ -18,6 +18,7 @@ RippleButton { spacing: 10 OptionalMaterialSymbol { icon: root.buttonIcon + opacity: root.enabled ? 1 : 0.4 iconSize: Appearance.font.pixelSize.larger } StyledText { @@ -26,6 +27,7 @@ RippleButton { text: root.text font: root.font color: Appearance.colors.colOnSecondaryContainer + opacity: root.enabled ? 1 : 0.4 } StyledSwitch { id: switchWidget diff --git a/.config/quickshell/ii/modules/common/widgets/StyledSpinBox.qml b/.config/quickshell/ii/modules/common/widgets/StyledSpinBox.qml index c11f241a0..c26efaf73 100644 --- a/.config/quickshell/ii/modules/common/widgets/StyledSpinBox.qml +++ b/.config/quickshell/ii/modules/common/widgets/StyledSpinBox.qml @@ -14,6 +14,8 @@ SpinBox { property real innerButtonRadius: Appearance.rounding.unsharpen editable: true + opacity: root.enabled ? 1 : 0.4 + background: Rectangle { color: Appearance.colors.colLayer2 radius: root.radius diff --git a/.config/quickshell/ii/modules/overview/OverviewWidget.qml b/.config/quickshell/ii/modules/overview/OverviewWidget.qml index 0487c6025..0e850493a 100644 --- a/.config/quickshell/ii/modules/overview/OverviewWidget.qml +++ b/.config/quickshell/ii/modules/overview/OverviewWidget.qml @@ -188,7 +188,7 @@ Item { } } - z: atInitPosition ? (root.windowZ + windowData?.floating) : root.windowDraggingZ + z: Drag.active ? root.windowDraggingZ : (root.windowZ + windowData?.floating) Drag.hotSpot.x: targetWindowWidth / 2 Drag.hotSpot.y: targetWindowHeight / 2 MouseArea { diff --git a/.config/quickshell/ii/modules/settings/GeneralConfig.qml b/.config/quickshell/ii/modules/settings/GeneralConfig.qml index 5ba068f10..fd5fc154d 100644 --- a/.config/quickshell/ii/modules/settings/GeneralConfig.qml +++ b/.config/quickshell/ii/modules/settings/GeneralConfig.qml @@ -15,6 +15,7 @@ ContentPage { title: Translation.tr("Audio") ConfigSwitch { + buttonIcon: "hearing" text: Translation.tr("Earbang protection") checked: Config.options.audio.protection.enable onCheckedChanged: { @@ -25,8 +26,9 @@ ContentPage { } } ConfigRow { - // uniform: true + enabled: Config.options.audio.protection.enable ConfigSpinBox { + icon: "arrow_warm_up" text: Translation.tr("Max allowed increase") value: Config.options.audio.protection.maxAllowedIncrease from: 0 @@ -37,6 +39,7 @@ ContentPage { } } ConfigSpinBox { + icon: "vertical_align_top" text: Translation.tr("Volume limit") value: Config.options.audio.protection.maxAllowed from: 0 @@ -56,6 +59,7 @@ ContentPage { ConfigRow { uniform: true ConfigSpinBox { + icon: "warning" text: Translation.tr("Low warning") value: Config.options.battery.low from: 0 @@ -66,6 +70,7 @@ ContentPage { } } ConfigSpinBox { + icon: "dangerous" text: Translation.tr("Critical warning") value: Config.options.battery.critical from: 0 @@ -77,8 +82,10 @@ ContentPage { } } ConfigRow { - uniform: true + uniform: false + Layout.fillWidth: false ConfigSwitch { + buttonIcon: "pause" text: Translation.tr("Automatic suspend") checked: Config.options.battery.automaticSuspend onCheckedChanged: { @@ -89,7 +96,8 @@ ContentPage { } } ConfigSpinBox { - text: Translation.tr("Suspend at") + enabled: Config.options.battery.automaticSuspend + text: Translation.tr("at") value: Config.options.battery.suspend from: 0 to: 100 diff --git a/.config/quickshell/ii/modules/settings/InterfaceConfig.qml b/.config/quickshell/ii/modules/settings/InterfaceConfig.qml index 76bd43b93..efcc4e69b 100644 --- a/.config/quickshell/ii/modules/settings/InterfaceConfig.qml +++ b/.config/quickshell/ii/modules/settings/InterfaceConfig.qml @@ -13,6 +13,7 @@ ContentPage { title: Translation.tr("Background") ConfigSwitch { + buttonIcon: "nest_clock_farsight_analog" text: Translation.tr("Show clock") checked: Config.options.background.clock.show onCheckedChanged: { @@ -21,6 +22,7 @@ ContentPage { } ConfigSpinBox { + icon: "loupe" text: Translation.tr("Scale (%)") value: Config.options.background.clock.scale * 100 from: 1 @@ -57,6 +59,7 @@ ContentPage { title: Translation.tr("Wallpaper parallax") ConfigSwitch { + buttonIcon: "unfold_more_double" text: Translation.tr("Vertical") checked: Config.options.background.parallax.vertical onCheckedChanged: { @@ -67,6 +70,7 @@ ContentPage { ConfigRow { uniform: true ConfigSwitch { + buttonIcon: "counter_1" text: Translation.tr("Depends on workspace") checked: Config.options.background.parallax.enableWorkspace onCheckedChanged: { @@ -74,6 +78,7 @@ ContentPage { } } ConfigSwitch { + buttonIcon: "side_navigation" text: Translation.tr("Depends on sidebars") checked: Config.options.background.parallax.enableSidebar onCheckedChanged: { @@ -82,6 +87,7 @@ ContentPage { } } ConfigSpinBox { + icon: "loupe" text: Translation.tr("Preferred wallpaper zoom (%)") value: Config.options.background.parallax.workspaceZoom * 100 from: 100 @@ -96,7 +102,7 @@ ContentPage { ContentSection { icon: "point_scan" - title: Translation.tr("Crosshair") + title: Translation.tr("Crosshair overlay") MaterialTextArea { Layout.fillWidth: true @@ -109,6 +115,12 @@ ContentPage { } RowLayout { + StyledText { + Layout.leftMargin: 10 + color: Appearance.colors.colSubtext + font.pixelSize: Appearance.font.pixelSize.smallie + text: Translation.tr("Press Super+G to toggle appearance") + } Item { Layout.fillWidth: true } RippleButtonWithIcon { id: editorButton @@ -130,6 +142,7 @@ ContentPage { title: Translation.tr("Dock") ConfigSwitch { + buttonIcon: "check" text: Translation.tr("Enable") checked: Config.options.dock.enable onCheckedChanged: { @@ -140,6 +153,7 @@ ContentPage { ConfigRow { uniform: true ConfigSwitch { + buttonIcon: "highlight_mouse_cursor" text: Translation.tr("Hover to reveal") checked: Config.options.dock.hoverToReveal onCheckedChanged: { @@ -147,6 +161,7 @@ ContentPage { } } ConfigSwitch { + buttonIcon: "keep" text: Translation.tr("Pinned on startup") checked: Config.options.dock.pinnedOnStartup onCheckedChanged: { @@ -155,6 +170,7 @@ ContentPage { } } ConfigSwitch { + buttonIcon: "colors" text: Translation.tr("Tint app icons") checked: Config.options.dock.monochromeIcons onCheckedChanged: { @@ -168,6 +184,7 @@ ContentPage { title: Translation.tr("Lock screen") ConfigSwitch { + buttonIcon: "account_circle" text: Translation.tr('Launch on startup') checked: Config.options.lock.launchOnStartup onCheckedChanged: { @@ -176,28 +193,38 @@ ContentPage { } ContentSubsection { - title: Translation.tr("Blurred style") + title: Translation.tr("Security") ConfigSwitch { - text: Translation.tr('Enable blur') - checked: Config.options.lock.blur.enable + buttonIcon: "settings_power" + text: Translation.tr('Require password to power off/restart') + checked: Config.options.lock.security.requirePasswordToPower onCheckedChanged: { - Config.options.lock.blur.enable = checked; + Config.options.lock.security.requirePasswordToPower = checked; } - } - - ConfigSpinBox { - text: Translation.tr("Blur: Extra zoom (%)") - value: Config.options.lock.blur.extraZoom * 100 - from: 1 - to: 150 - stepSize: 2 - onValueChanged: { - Config.options.lock.blur.extraZoom = value / 100; + StyledToolTip { + text: Translation.tr("Remember that on most devices one can always hold the power button to force shutdown\nThis only makes it a tiny bit harder for accidents to happen") } } ConfigSwitch { + buttonIcon: "key_vertical" + text: Translation.tr('Also unlock keyring') + checked: Config.options.lock.security.unlockKeyring + onCheckedChanged: { + Config.options.lock.security.unlockKeyring = checked; + } + StyledToolTip { + text: Translation.tr("This is usually safe and needed for your browser and AI sidebar anyway\nMostly useful for those who use lock on startup instead of a display manager that does it (GDM, SDDM, etc.)") + } + } + } + + ContentSubsection { + title: Translation.tr("Style: general") + + ConfigSwitch { + buttonIcon: "center_focus_weak" text: Translation.tr('Center clock') checked: Config.options.lock.centerClock onCheckedChanged: { @@ -206,12 +233,37 @@ ContentPage { } ConfigSwitch { + buttonIcon: "info" text: Translation.tr('Show "Locked" text') checked: Config.options.lock.showLockedText onCheckedChanged: { Config.options.lock.showLockedText = checked; } } + } + ContentSubsection { + title: Translation.tr("Style: Blurred") + + ConfigSwitch { + buttonIcon: "blur_on" + text: Translation.tr('Enable blur') + checked: Config.options.lock.blur.enable + onCheckedChanged: { + Config.options.lock.blur.enable = checked; + } + } + + ConfigSpinBox { + icon: "loupe" + text: Translation.tr("Extra wallpaper zoom (%)") + value: Config.options.lock.blur.extraZoom * 100 + from: 1 + to: 150 + stepSize: 2 + onValueChanged: { + Config.options.lock.blur.extraZoom = value / 100; + } + } } @@ -222,6 +274,7 @@ ContentPage { title: Translation.tr("Notifications") ConfigSpinBox { + icon: "av_timer" text: Translation.tr("Timeout duration (if not defined by notification) (ms)") value: Config.options.notifications.timeout from: 1000 @@ -238,6 +291,7 @@ ContentPage { title: Translation.tr("Sidebars") ConfigSwitch { + buttonIcon: "memory" text: Translation.tr('Keep right sidebar loaded') checked: Config.options.sidebar.keepRightSidebarLoaded onCheckedChanged: { @@ -254,6 +308,7 @@ ContentPage { ConfigRow { uniform: true ConfigSwitch { + buttonIcon: "check" text: Translation.tr("Enable") checked: Config.options.sidebar.cornerOpen.enable onCheckedChanged: { @@ -261,6 +316,7 @@ ContentPage { } } ConfigSwitch { + buttonIcon: "highlight_mouse_cursor" text: Translation.tr("Hover to trigger") checked: Config.options.sidebar.cornerOpen.clickless onCheckedChanged: { @@ -275,6 +331,7 @@ ContentPage { ConfigRow { uniform: true ConfigSwitch { + buttonIcon: "vertical_align_bottom" text: Translation.tr("Place at bottom") checked: Config.options.sidebar.cornerOpen.bottom onCheckedChanged: { @@ -286,6 +343,7 @@ ContentPage { } } ConfigSwitch { + buttonIcon: "unfold_more_double" text: Translation.tr("Value scroll") checked: Config.options.sidebar.cornerOpen.valueScroll onCheckedChanged: { @@ -298,6 +356,7 @@ ContentPage { } } ConfigSwitch { + buttonIcon: "visibility" text: Translation.tr("Visualize region") checked: Config.options.sidebar.cornerOpen.visualize onCheckedChanged: { @@ -306,6 +365,7 @@ ContentPage { } ConfigRow { ConfigSpinBox { + icon: "arrow_range" text: Translation.tr("Region width") value: Config.options.sidebar.cornerOpen.cornerRegionWidth from: 1 @@ -316,6 +376,7 @@ ContentPage { } } ConfigSpinBox { + icon: "height" text: Translation.tr("Region height") value: Config.options.sidebar.cornerOpen.cornerRegionHeight from: 1 @@ -334,6 +395,7 @@ ContentPage { title: Translation.tr("On-screen display") ConfigSpinBox { + icon: "av_timer" text: Translation.tr("Timeout (ms)") value: Config.options.osd.timeout from: 100 @@ -350,6 +412,7 @@ ContentPage { title: Translation.tr("Overview") ConfigSwitch { + buttonIcon: "check" text: Translation.tr("Enable") checked: Config.options.overview.enable onCheckedChanged: { @@ -357,6 +420,7 @@ ContentPage { } } ConfigSpinBox { + icon: "loupe" text: Translation.tr("Scale (%)") value: Config.options.overview.scale * 100 from: 1 @@ -369,6 +433,7 @@ ContentPage { ConfigRow { uniform: true ConfigSpinBox { + icon: "splitscreen_bottom" text: Translation.tr("Rows") value: Config.options.overview.rows from: 1 @@ -379,6 +444,7 @@ ContentPage { } } ConfigSpinBox { + icon: "splitscreen_right" text: Translation.tr("Columns") value: Config.options.overview.columns from: 1 @@ -396,6 +462,7 @@ ContentPage { title: Translation.tr("Screenshot tool") ConfigSwitch { + buttonIcon: "nearby" text: Translation.tr('Show regions of potential interest') checked: Config.options.screenshotTool.showContentRegions onCheckedChanged: { diff --git a/.config/quickshell/ii/modules/settings/QuickConfig.qml b/.config/quickshell/ii/modules/settings/QuickConfig.qml index b14cb085a..66055a5d8 100644 --- a/.config/quickshell/ii/modules/settings/QuickConfig.qml +++ b/.config/quickshell/ii/modules/settings/QuickConfig.qml @@ -221,6 +221,7 @@ ContentPage { } ConfigSwitch { + buttonIcon: "ev_shadow" text: Translation.tr("Transparency") checked: Config.options.appearance.transparency.enable onCheckedChanged: { diff --git a/.config/quickshell/ii/modules/settings/ServicesConfig.qml b/.config/quickshell/ii/modules/settings/ServicesConfig.qml index dc7817cab..e6be25e2a 100644 --- a/.config/quickshell/ii/modules/settings/ServicesConfig.qml +++ b/.config/quickshell/ii/modules/settings/ServicesConfig.qml @@ -47,6 +47,7 @@ ContentPage { title: Translation.tr("Resources") ConfigSpinBox { + icon: "av_timer" text: Translation.tr("Polling interval (ms)") value: Config.options.resources.updateInterval from: 100 diff --git a/.config/quickshell/ii/services/Brightness.qml b/.config/quickshell/ii/services/Brightness.qml index d38bfdcf4..3f9d93767 100644 --- a/.config/quickshell/ii/services/Brightness.qml +++ b/.config/quickshell/ii/services/Brightness.qml @@ -120,7 +120,7 @@ Singleton { function syncBrightness() { const rounded = Math.round(monitor.brightness * monitor.rawMaxBrightness); - setProc.command = isDdc ? ["ddcutil", "-b", busNum, "setvcp", "10", rounded] : ["brightnessctl", "s", rounded, "--quiet"]; + setProc.command = isDdc ? ["ddcutil", "-b", busNum, "setvcp", "10", rounded] : ["brightnessctl", "--class", "backlight", "s", rounded, "--quiet"]; setProc.startDetached(); } diff --git a/.config/quickshell/translations/en_US.json b/.config/quickshell/translations/en_US.json index d5889905c..52b3966b7 100644 --- a/.config/quickshell/translations/en_US.json +++ b/.config/quickshell/translations/en_US.json @@ -123,26 +123,17 @@ "Advanced": "Advanced", "About": "About", "Services": "Services", - "Style": "Style", - "Colors & Wallpaper": "Colors & Wallpaper", "Light": "Light", "Dark": "Dark", - "Material palette": "Material palette", "Fidelity": "Fidelity", "Fruit Salad": "Fruit Salad", - "Alternatively use /dark, /light, /img in the launcher": "Alternatively use /dark, /light, /img in the launcher", - "Fake screen rounding": "Fake screen rounding", "When not fullscreen": "When not fullscreen", "Choose file": "Choose file", "Random SFW Anime wallpaper from Konachan\nImage is saved to ~/Pictures/Wallpapers": "Random SFW Anime wallpaper from Konachan\nImage is saved to ~/Pictures/Wallpapers", "Be patient...": "Be patient...", - "Decorations & Effects": "Decorations & Effects", "Tonal Spot": "Tonal Spot", - "Shell windows": "Shell windows", "Auto": "Auto", - "Wallpaper": "Wallpaper", "Content": "Content", - "Title bar": "Title bar", "Transparency": "Transparency", "Expressive": "Expressive", "Yes": "Yes", @@ -151,7 +142,6 @@ "Might look ass. Unsupported.": "Might look ass. Unsupported.", "Monochrome": "Monochrome", "Random: Konachan": "Random: Konachan", - "Center title": "Center title", "Neutral": "Neutral", "Pick wallpaper image on your system": "Pick wallpaper image on your system", "No": "No", @@ -162,12 +152,10 @@ "Closet": "Closet", "Show next time": "Show next time", "Usage": "Usage", - "Plain rectangle": "Plain rectangle", "Useless buttons": "Useless buttons", "GitHub": "GitHub", "Style & wallpaper": "Style & wallpaper", "Configuration": "Configuration", - "Change any time later with /dark, /light, /img in the launcher": "Change any time later with /dark, /light, /img in the launcher", "Keybinds": "Keybinds", "Float": "Float", "Hug": "Hug", @@ -188,7 +176,6 @@ "Earbang protection": "Earbang protection", "Automatically suspends the system when battery is low": "Automatically suspends the system when battery is low", "Automatic suspend": "Automatic suspend", - "Suspend at": "Suspend at", "Max allowed increase": "Max allowed increase", "Web search": "Web search", "Polling interval (ms)": "Polling interval (ms)", @@ -202,20 +189,16 @@ "Critical warning": "Critical warning", "User agent (for services that require it)": "User agent (for services that require it)", "Such regions could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.": "Such regions could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.", - "Note: turning off can hurt readability": "Note: turning off can hurt readability", "Workspaces shown": "Workspaces shown", "Dark/Light toggle": "Dark/Light toggle", "Dock": "Dock", "Weather": "Weather", "Pinned on startup": "Pinned on startup", - "Tip: Hide icons and always show numbers for\nthe classic illogical-impulse experience": "Tip: Hide icons and always show numbers for\nthe classic illogical-impulse experience", "Always show numbers": "Always show numbers", - "Buttons": "Buttons", "Keyboard toggle": "Keyboard toggle", "Scale (%)": "Scale (%)", "Overview": "Overview", "Rows": "Rows", - "Borderless": "Borderless", "Screenshot tool": "Screenshot tool", "Number show delay when pressing Super (ms)": "Number show delay when pressing Super (ms)", "Timeout (ms)": "Timeout (ms)", @@ -227,7 +210,6 @@ "Mic toggle": "Mic toggle", "Hover to reveal": "Hover to reveal", "Bar": "Bar", - "Show background": "Show background", "Show regions of potential interest": "Show regions of potential interest", "Color picker": "Color picker", "Help & Support": "Help & Support", @@ -374,8 +356,6 @@ "API key is set\nChange with /key YOUR_API_KEY": "API key is set\nChange with /key YOUR_API_KEY", "Resume": "Resume", "Enter password": "Enter password", - "Overall appearance": "Overall appearance", - "Horizontal": "Horizontal", "Config file": "Config file", "Pomodoro": "Pomodoro", "Tint app icons": "Tint app icons", @@ -386,8 +366,6 @@ "To Do:": "To Do:", "**Instructions**: Log into Mistral account, go to Keys on the sidebar, click Create new key": "**Instructions**: Log into Mistral account, go to Keys on the sidebar, click Create new key", "Online | Google's model\nFast, can perform searches for up-to-date information": "Online | Google's model\nFast, can perform searches for up-to-date information", - "Place at the bottom/right": "Place at the bottom/right", - "Bar layout": "Bar layout", "Focus": "Focus", "Conflicts with the shell's system tray implementation": "Conflicts with the shell's system tray implementation", "Shell conflicts killer": "Shell conflicts killer", @@ -395,5 +373,100 @@ "Open the shell config file.\nIf the button doesn't work or doesn't open in your favorite editor,\nyou can manually open ~/.config/illogical-impulse/config.json": "Open the shell config file.\nIf the button doesn't work or doesn't open in your favorite editor,\nyou can manually open ~/.config/illogical-impulse/config.json", "Online | Google's model\nGoogle's state-of-the-art multipurpose model that excels at coding and complex reasoning tasks.": "Online | Google's model\nGoogle's state-of-the-art multipurpose model that excels at coding and complex reasoning tasks.", "EasyEffects | Right-click to configure": "EasyEffects | Right-click to configure", - "Automatically hide": "Automatically hide" -} + "Automatically hide": "Automatically hide", + "Positioning": "Positioning", + "Bar style": "Bar style", + "Connected": "Connected", + "Simple digital": "Simple digital", + "Material cookie": "Material cookie", + "Quick": "Quick", + "Bar position": "Bar position", + "Select the language for the user interface.\n\"Auto\" will use your system's locale.": "Select the language for the user interface.\n\"Auto\" will use your system's locale.", + "Terminal: Harmony (%)": "Terminal: Harmony (%)", + "Pick random from this folder": "Pick random from this folder", + "Not all options are available in this app. You should also check the config file by hitting the \"Config file\" button on the topleft corner or opening %1 manually.": "Not all options are available in this app. You should also check the config file by hitting the \"Config file\" button on the topleft corner or opening %1 manually.", + "Background": "Background", + "Edit directory": "Edit directory", + "Shell command": "Shell command", + "Open editor": "Open editor", + "Utility buttons": "Utility buttons", + "Tip: right-clicking a group\nalso expands it": "Tip: right-clicking a group\nalso expands it", + "Group style": "Group style", + "Terminal: Harmonize threshold": "Terminal: Harmonize threshold", + "Search wallpapers": "Search wallpapers", + "Open network portal": "Open network portal", + "Center clock": "Center clock", + "Cancel wallpaper selection": "Cancel wallpaper selection", + "Line-separated": "Line-separated", + "Region height": "Region height", + "Hit \"/\" to search": "Hit \"/\" to search", + "No active player": "No active player", + "Back": "Back", + "Work safety": "Work safety", + "Remember that on most devices one can always hold the power button to force shutdown\nThis only makes it a tiny bit harder for accidents to happen": "Remember that on most devices one can always hold the power button to force shutdown\nThis only makes it a tiny bit harder for accidents to happen", + "Password": "Password", + "Crosshair code (in Valorant's format)": "Crosshair code (in Valorant's format)", + "Bluetooth devices": "Bluetooth devices", + "Value scroll": "Value scroll", + "Hover to trigger": "Hover to trigger", + "Details": "Details", + "Screen round corner": "Screen round corner", + "Superpaste": "Superpaste", + "Pills": "Pills", + "Random osu! seasonal background\nImage is saved to ~/Pictures/Wallpapers": "Random osu! seasonal background\nImage is saved to ~/Pictures/Wallpapers", + "Extra wallpaper zoom (%)": "Extra wallpaper zoom (%)", + "Random: osu! seasonal": "Random: osu! seasonal", + "When this is off you'll have to click": "When this is off you'll have to click", + "Forget": "Forget", + "Top": "Top", + "Region width": "Region width", + "Enable blur": "Enable blur", + "Press Super+G to toggle appearance": "Press Super+G to toggle appearance", + "Pick a wallpaper": "Pick a wallpaper", + "Make sure your player has MPRIS support\nor try turning off duplicate player filtering": "Make sure your player has MPRIS support\nor try turning off duplicate player filtering", + "Also unlock keyring": "Also unlock keyring", + "Style: general": "Style: general", + "Lock screen": "Lock screen", + "Usage: %1superpaste NUM_OF_ENTRIES[i]\nSupply i when you want images\nExamples:\n%1superpaste 4i for the last 4 images\n%1superpaste 7 for the last 7 entries": "Usage: %1superpaste NUM_OF_ENTRIES[i]\nSupply i when you want images\nExamples:\n%1superpaste 4i for the last 4 images\n%1superpaste 7 for the last 7 entries", + "Security": "Security", + "Make icons pinned by default": "Make icons pinned by default", + "Right": "Right", + "Click to toggle light/dark mode\n(applied when wallpaper is chosen)": "Click to toggle light/dark mode\n(applied when wallpaper is chosen)", + "Math": "Math", + "Language": "Language", + "Place the corners to trigger at the bottom": "Place the corners to trigger at the bottom", + "Use the system file picker instead\nRight-click to make this the default behavior": "Use the system file picker instead\nRight-click to make this the default behavior", + "Visualize region": "Visualize region", + "Auto (System)": "Auto (System)", + "Bar & screen": "Bar & screen", + "Allows you to open sidebars by clicking or hovering screen corners regardless of bar position": "Allows you to open sidebars by clicking or hovering screen corners regardless of bar position", + "Timeout duration (if not defined by notification) (ms)": "Timeout duration (if not defined by notification) (ms)", + "Rect": "Rect", + "Unknown device": "Unknown device", + "Style: Blurred": "Style: Blurred", + "Interface Language": "Interface Language", + "Crosshair overlay": "Crosshair overlay", + "Connect to Wi-Fi": "Connect to Wi-Fi", + "Wallpaper & Colors": "Wallpaper & Colors", + "Terminal: Foreground boost (%)": "Terminal: Foreground boost (%)", + "Show clock": "Show clock", + "General": "General", + "Tip: Close a window with Super+Q": "Tip: Close a window with Super+Q", + "Brightness and volume": "Brightness and volume", + "Clock style": "Clock style", + "Paired": "Paired", + "Change any time later with /dark, /light, /wallpaper in the launcher\nIf the shell's colors aren't changing:\n 1. Open the right sidebar with Super+N\n 2. Click \"Reload Hyprland & Quickshell\" in the top-right corner": "Change any time later with /dark, /light, /wallpaper in the launcher\nIf the shell's colors aren't changing:\n 1. Open the right sidebar with Super+N\n 2. Click \"Reload Hyprland & Quickshell\" in the top-right corner", + "Place at bottom": "Place at bottom", + "Launch on startup": "Launch on startup", + "Corner open": "Corner open", + "Show \"Locked\" text": "Show \"Locked\" text", + "Disconnect": "Disconnect", + "Connect": "Connect", + "at": "at", + "Left": "Left", + "Require password to power off/restart": "Require password to power off/restart", + "This is usually safe and needed for your browser and AI sidebar anyway\nMostly useful for those who use lock on startup instead of a display manager that does it (GDM, SDDM, etc.)": "This is usually safe and needed for your browser and AI sidebar anyway\nMostly useful for those who use lock on startup instead of a display manager that does it (GDM, SDDM, etc.)", + "Bottom": "Bottom", + "Locked": "Locked", + "Wallpaper safety enforced": "Wallpaper safety enforced" +} \ No newline at end of file diff --git a/.config/quickshell/translations/zh_CN.json b/.config/quickshell/translations/zh_CN.json index 419da02e8..432fdd38d 100644 --- a/.config/quickshell/translations/zh_CN.json +++ b/.config/quickshell/translations/zh_CN.json @@ -192,7 +192,6 @@ "Earbang protection": "防爆音保护", "Automatically suspends the system when battery is low": "电池电量低时自动挂起系统", "Automatic suspend": "自动挂起", - "Suspend at": "挂起阈值", "Max allowed increase": "最大允许增幅", "Web search": "网页搜索", "Polling interval (ms)": "轮询间隔(毫秒)", @@ -397,7 +396,6 @@ "Wallpaper & Colors": "壁纸与配色", "Details": "详细信息", "Show clock": "显示时钟", - "Use the system file picker instead": "改用系统文件选择器", "Connected": "已连接", "Open network portal": "打开网络门户", "Bar style": "条栏样式", @@ -438,5 +436,37 @@ "Brightness and volume": "亮度与音量", "Connect to Wi-Fi": "连接到 Wi‑Fi", "Group style": "分组样式", - "Click to toggle light/dark mode (applied when wallpaper is chosen)": "点击切换浅色/深色模式(在选择壁纸时应用)" + "Launch on startup": "启动时锁屏", + "Also unlock keyring": "同时解锁密钥环", + "Tip: Close a window with Super+Q": "提示: 使用 Super+Q 关闭窗口", + "Remember that on most devices one can always hold the power button to force shutdown\nThis only makes it a tiny bit harder for accidents to happen": "请记住,大多数设备仍可以长按电源键进行强制关机\n此选项只会降低误触的可能性而已", + "This is usually safe and needed for your browser and AI sidebar anyway\nMostly useful for those who use lock on startup instead of a display manager that does it (GDM, SDDM, etc.)": "这通常是安全的,并且对浏览器和 AI 侧边栏也是必要的\n主要对那些使用“开机自动锁屏”而不是显示管理器(如 GDM、SDDM 等)执行锁屏的用户有用", + "Show \"Locked\" text": "显示“已锁定”文字", + "at": "在", + "Simple digital": "简洁数字", + "Style: general": "样式:通用", + "Pick random from this folder": "从此文件随机选择", + "Back": "返回", + "Cancel wallpaper selection": "取消壁纸选择", + "Timeout duration (if not defined by notification) (ms)": "延时时间 (若通知内未定义)(毫秒)", + "Enable blur": "启用模糊", + "Material cookie": "Material 曲奇", + "Click to toggle light/dark mode\n(applied when wallpaper is chosen)": "点击来切换浅色/深色模式\n(仅在选择壁纸后生效)", + "Use the system file picker instead\nRight-click to make this the default behavior": "改为使用系统文件选择器\n右键点击可设为默认行为", + "Center clock": "居中时钟", + "Press Super+G to toggle appearance": "按下 Super+G 切换准星显示", + "Lock screen": "锁屏", + "Crosshair code (in Valorant's format)": "准星代码 (瓦罗兰特格式)", + "Random: osu! seasonal": "随机:osu! 季节性壁纸", + "Work safety": "安全模式", + "Require password to power off/restart": "需要密码来关机或重启", + "Random osu! seasonal background\nImage is saved to ~/Pictures/Wallpapers": "随机 osu! 季节性壁纸\n图片会保存到 ~/Pictures/Wallpapers", + "Open editor": "打开编辑器", + "Extra wallpaper zoom (%)": "额外壁纸缩放 (%)", + "Security": "安全", + "Clock style": "时钟样式", + "Style: Blurred": "样式:模糊", + "Crosshair overlay": "射击准星叠加", + "Locked": "已锁定", + "Wallpaper safety enforced": "已启用壁纸安全模式" } \ No newline at end of file diff --git a/dist-nix/install-deps.sh b/dist-nix/install-deps.sh index c46510c8d..410b4ff27 100644 --- a/dist-nix/install-deps.sh +++ b/dist-nix/install-deps.sh @@ -15,9 +15,8 @@ # 1. install nix via [DeterminateSystems/nix-installer](https://github.com/DeterminateSystems/nix-installer). # 2. Enable nix (probably in `.zshrc` or `~/.config/fish`). # 3. Ensure the experimental feature, Nix Flake, is enabled. -# 3. Sync (copy) `./dist-nix/iiqs-hm/` folder to `~/.config/iiqs-hm/` using `rsync`. -# 4. Use something like `home-manager switch --flake .#iiqs` to install the dependencies. -# 5. Install screen lock using system package manager of the current distro. +# 3. cd to `iiqs-hm` and use something like `home-manager switch --flake .#iiqs` to install the dependencies. +# 4. Install screen lock using system package manager of the current distro. # Note that this script must be idempotent. # # TODO: diff --git a/install.sh b/install.sh index bfddd6903..e9e72779d 100755 --- a/install.sh +++ b/install.sh @@ -11,7 +11,9 @@ set -e ##################################################################################### # 0. Before we start -source ./scriptdata/step/0.install-greeting.sh +if [[ "${SKIP_ALLGREETING}" != true ]]; then + source ./scriptdata/step/0.install-greeting.sh +fi ##################################################################################### if [[ "${SKIP_ALLDEPS}" != true ]]; then printf "${STY_CYAN}[$0]: 1. Install dependencies\n${STY_RESET}" diff --git a/scriptdata/lib/options.sh b/scriptdata/lib/options.sh index 36c5a804c..0cc278553 100644 --- a/scriptdata/lib/options.sh +++ b/scriptdata/lib/options.sh @@ -12,6 +12,7 @@ If no option is specified, run default install process. -h, --help Print this help message and exit -f, --force (Dangerous) Force mode without any confirm -c, --clean Clean the build cache first + --skip-allgreeting Skip the whole process greeting --skip-alldeps Skip the whole process installing dependency --skip-allsetups Skip the whole process setting up permissions/services etc --skip-allfiles Skip the whole process copying configuration files @@ -33,7 +34,7 @@ cleancache(){ # `man getopt` to see more para=$(getopt \ -o hfk:cs \ - -l help,force,fontset:,clean,skip-alldeps,skip-allsetups,skip-allfiles,skip-sysupdate,skip-fish,skip-hyprland,skip-plasmaintg,skip-miscconf,via-nix \ + -l help,force,fontset:,clean,skip-allgreeting,skip-alldeps,skip-allsetups,skip-allfiles,skip-sysupdate,skip-fish,skip-hyprland,skip-plasmaintg,skip-miscconf,via-nix \ -n "$0" -- "$@") [ $? != 0 ] && echo "$0: Error when getopt, please recheck parameters." && exit 1 ##################################################################################### @@ -58,6 +59,7 @@ while true ; do -c|--clean) shift;; ## Ones without parameter -f|--force) ask=false;shift;; + --skip-allgreeting) SKIP_ALLGREETING=true;shift;; --skip-alldeps) SKIP_ALLDEPS=true;shift;; --skip-allsetups) SKIP_ALLSETUPS=true;shift;; --skip-allfiles) SKIP_ALLFILES=true;shift;; diff --git a/scriptdata/step/3.install-files.sh b/scriptdata/step/3.install-files.sh index ac0639567..84682d9b9 100644 --- a/scriptdata/step/3.install-files.sh +++ b/scriptdata/step/3.install-files.sh @@ -65,10 +65,15 @@ case $SKIP_FISH in esac # For Hyprland +declare -a arg_excludes=() +arg_excludes+=(--exclude '/custom') +arg_excludes+=(--exclude '/hyprlock.conf') +arg_excludes+=(--exclude '/hypridle.conf') +arg_excludes+=(--exclude '/hyprland.conf') case $SKIP_HYPRLAND in true) sleep 0;; *) - v rsync -av --delete --exclude '/custom' --exclude '/hyprlock.conf' --exclude '/hypridle.conf' --exclude '/hyprland.conf' .config/hypr/ "$XDG_CONFIG_HOME"/hypr/ + v rsync -av --delete "${arg_excludes[@]}" .config/hypr/ "$XDG_CONFIG_HOME"/hypr/ t="$XDG_CONFIG_HOME/hypr/hyprland.conf" if [ -f $t ];then echo -e "${STY_BLUE}[$0]: \"$t\" already exists.${STY_RESET}" @@ -109,6 +114,7 @@ case $SKIP_HYPRLAND in fi ;; esac +declare -a arg_excludes=() # some foldes (eg. .local/bin) should be processed separately to avoid `--delete' for rsync,