diff options
| author | Aargh Rai <aargh.rai+git@gmail.com> | 2026-07-24 17:07:12 +0530 |
|---|---|---|
| committer | Aargh Rai <aargh.rai+git@gmail.com> | 2026-07-24 17:07:40 +0530 |
| commit | 4d4f5f6b1028ff65322a2a783dcf4363ea25389c (patch) | |
| tree | e020f751675e6dda76fdfc11a0801f0d46bd6aa6 | |
| parent | ec9e16502d94555f139c5045897e7f7faab08c47 (diff) | |
when you have when, why use a calender
and a keybind of hide the navbar, is it called a nav bar? idk, hide the
bar via keyboard ig
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | hypr/hyprland/keybinds.conf | 2 | ||||
| -rwxr-xr-x | hypr/wf-recorder/record.sh | 9 | ||||
| -rw-r--r-- | nixos/environment.nix | 1 | ||||
| -rw-r--r-- | quickshell/Calendar.qml | 150 | ||||
| -rw-r--r-- | quickshell/shell.qml | 56 |
6 files changed, 21 insertions, 199 deletions
@@ -94,6 +94,8 @@ IF YOU ARE NOT LEFT HANDED, change this in hypr/hyprland/input.conf:input:left_h |Win + Q|Kill active window| |Win + Shift + L|Sign out| |Win + L|Lock| +|Win + D|DnD/Privacy Mode (No notifications, Wifi & Bluetooth names hidden, No blink reminder)| +|Win + Shift + D|Super DnD Mode (Hide navbar)| |Win + E|Spawn File Explorer (yazi)| |Win + F|Make active window floating| |Win + R|**Spawn App Menu**| diff --git a/hypr/hyprland/keybinds.conf b/hypr/hyprland/keybinds.conf index b7a0245..dda7ddf 100644 --- a/hypr/hyprland/keybinds.conf +++ b/hypr/hyprland/keybinds.conf @@ -9,7 +9,7 @@ bind = $mainMod, L, exec, hyprlock bind = $mainMod, E, exec, $fileManager bind = $mainMod, F, togglefloating, bind = $mainMod, R, global, quickshell:toggleLauncher -bind = $mainMod, C, global, quickshell:toggleCalendar +bind = $mainMod SHIFT, D, global, quickshell:toggleBar bind = $mainMod, D, global, quickshell:toggleDnd bind = $mainMod, P, exec, hyprpicker bind = $mainMod, J, layoutmsg, togglesplit diff --git a/hypr/wf-recorder/record.sh b/hypr/wf-recorder/record.sh index 1c174d5..c828fee 100755 --- a/hypr/wf-recorder/record.sh +++ b/hypr/wf-recorder/record.sh @@ -4,10 +4,15 @@ if pgrep -x wf-recorder > /dev/null then # If recording, stop it - notify-send -h string:wf-recorder:record -t 1000 "Recording Stopped" && pkill wf-recorder + notify-send -h string:wf-recorder:record -t 1000 "Recording Stopped" + pkill wf-recorder else # If not recording, start it mkdir -p ~/Videos mkdir -p ~/Videos/Screencasts/ - notify-send -h string:wf-recorder:record -t 1000 "Recording Started" && wf-recorder -f ~/Videos/Screencasts/$(date '+%H%M%S-%d-%m-%Y').mp4 + notify-send -h string:wf-recorder:record -t 1000 "Recording Started" + wf-recorder \ + -f ~/Videos/Screencasts/$(date '+%H%M%S-%d-%m-%Y').mp4 \ + --audio --audio-device alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor + fi diff --git a/nixos/environment.nix b/nixos/environment.nix index 27182d6..9ab3d7e 100644 --- a/nixos/environment.nix +++ b/nixos/environment.nix @@ -74,6 +74,7 @@ ffmpeg mpv jq + when termshark mitmproxy diff --git a/quickshell/Calendar.qml b/quickshell/Calendar.qml deleted file mode 100644 index 1ad3c15..0000000 --- a/quickshell/Calendar.qml +++ /dev/null @@ -1,150 +0,0 @@ -import QtQuick -import QtQuick.Layouts -import Quickshell -import Quickshell.Io - -Rectangle { - id: calendarRoot - - color: shellRoot.black - antialiasing: true - focus: true - - property bool isVisible: false - property int monthOffset: 0 - - signal requestClose() - Keys.onEscapePressed: { - monthOffset = 0; - requestClose() - } - Keys.onPressed: (event) => { - if (event.key == Qt.Key_Comma) { - monthOffset--; - } else if (event.key == Qt.Key_Period) { - monthOffset++; - } - } - - Column { - anchors.fill: parent - spacing: 1 - Rectangle { - width: parent.width - height: parent.height - color: shellRoot.black - - Column { - anchors.fill: parent - anchors.margins: 5 - spacing: 6 - - RowLayout { - width: parent.width - Text { - text: " <" - font.pixelSize: 20 - font.family: shellRoot.fontFamily - color: shellRoot.white - MouseArea { - anchors.fill: parent - onClicked: monthOffset--; - } - } - Item { Layout.fillWidth: true } - Text { - text: { - const now = new Date() - const monthNames = ["January", "February", "March", "April", "May", "June", - "July", "August", "September", "October", "November", "December"] - let shiftedMonth = now.getMonth() + monthOffset; - let year = now.getFullYear(); - year += Math.floor(shiftedMonth / 12); - shiftedMonth %= 12; - return monthNames[shiftedMonth] + " " + year - } - font.family: shellRoot.fontFamily - font.pixelSize: 20 - font.weight: Font.Medium - color: shellRoot.white - horizontalAlignment: Text.AlignHCenter - } - Item { Layout.fillWidth: true } - Text { - text: "> " - font.pixelSize: 20 - font.family: shellRoot.fontFamily - color: shellRoot.white - MouseArea { - anchors.fill: parent - onClicked: monthOffset++; - } - } - } - Grid { - width: parent.width - columns: 7 - columnSpacing: 1 - rowSpacing: 1 - - Repeater { - model: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"] - - Text { - text: modelData - font.family: shellRoot.fontFamily - font.pixelSize: 15 - font.weight: Font.Medium - color: shellRoot.white - width: 50 - height: 20 - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - } - } - Repeater { - model: 35 - - Rectangle { - width: 60 - height: 60 - - property var now: new Date() - property int currentDay: now.getDate() - property int currentMonth: (now.getMonth() + monthOffset) % 12 - property int currentYear: now.getFullYear() + Math.floor((now.getMonth() + monthOffset) / 12) - - // Calculate what day this cell represents - property var firstDay: new Date(currentYear, currentMonth, 1) - property int startOffset: firstDay.getDay() // 0 = Sunday - property int dayNumber: index - startOffset + 1 - property var lastDay: new Date(currentYear, currentMonth + 1, 0) - property int daysInMonth: lastDay.getDate() - property bool isCurrentDay: dayNumber === currentDay - property bool isValidDay: dayNumber >= 1 && dayNumber <= daysInMonth - - color: { - if (!isValidDay) return "transparent" - if (monthOffset == 0 && isCurrentDay) return shellRoot.green - return shellRoot.gray - } - - Text { - anchors.centerIn: parent - text: parent.isValidDay ? parent.dayNumber : "" - font.family: shellRoot.fontFamily - font.pixelSize: 20 - color: { - if (parent.isValidDay && parent.isCurrentDay) return shellRoot.white - if (!parent.isValidDay) return shellRoot.white - return shellRoot.white - } - font.weight: parent.isValidDay && parent.isCurrentDay ? Font.DemiBold : Font.Normal - } - } - } - } - } - } - } -} diff --git a/quickshell/shell.qml b/quickshell/shell.qml index 3ed0161..2396ea8 100644 --- a/quickshell/shell.qml +++ b/quickshell/shell.qml @@ -25,23 +25,24 @@ ShellRoot { property int fontSize: 18 property bool appLauncherVisible: false + property bool barVisible: true property bool calendarVisible: false property bool dnd: false property bool batteryInfo: false property bool blink: false GlobalShortcut { - id: launcherShortcut - name: "toggleLauncher" + id: barShortcut + name: "toggleBar" onPressed: { - appLauncherVisible = true + barVisible = !barVisible } } GlobalShortcut { - id: calendarShortcut - name: "toggleCalendar" + id: launcherShortcut + name: "toggleLauncher" onPressed: { - calendarVisible = true + appLauncherVisible = !appLauncherVisible } } GlobalShortcut { @@ -56,6 +57,8 @@ ShellRoot { model: Quickshell.screens PanelWindow { id: root + // don't render this if shell.navVisible is false + visible: shellRoot.barVisible property int cpuUsage: 0 property int lastCpuTotal: 0 @@ -95,6 +98,7 @@ ShellRoot { anchors.leftMargin: 10 anchors.rightMargin: 10 + Workspace {} Item { Layout.fillWidth: true } Radio {} @@ -153,46 +157,6 @@ ShellRoot { model: Quickshell.screens PanelWindow { - visible: shellRoot.calendarVisible - - anchors { - top: true - left: true - } - - margins { - top: 5 - left: Screen.width - 435 - 5 - } - - implicitWidth: 435 - implicitHeight: 370 - - color: "transparent" - exclusiveZone: 0 - - WlrLayershell.layer: WlrLayer.Overlay - WlrLayershell.keyboardFocus: WlrKeyboardFocus.OnDemand - - Behavior on height { - NumberAnimation { duration: 200; easing.type: Easing.OutCubic } - } - - Calendar { - anchors.fill: parent - isVisible: shellRoot.calendarVisible - - onRequestClose: { - shellRoot.calendarVisible = false - } - } - } - } - - Variants { - model: Quickshell.screens - - PanelWindow { visible: shellRoot.batteryInfo anchors { |
