diff --git a/.config/hypr/hyprland/keybinds.conf b/.config/hypr/hyprland/keybinds.conf index f0c628dfe..214707ae3 100644 --- a/.config/hypr/hyprland/keybinds.conf +++ b/.config/hypr/hyprland/keybinds.conf @@ -108,16 +108,17 @@ bind = Super+Alt, F, fullscreenstate, 0 3 # Fullscreen spoof bind = Super, P, pin # Pin #/# bind = Super+Alt, Hash,, # Send to workspace # (1, 2, 3,...) -bind = Super+Alt, 1, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 1 # [hidden] -bind = Super+Alt, 2, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 2 # [hidden] -bind = Super+Alt, 3, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 3 # [hidden] -bind = Super+Alt, 4, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 4 # [hidden] -bind = Super+Alt, 5, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 5 # [hidden] -bind = Super+Alt, 6, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 6 # [hidden] -bind = Super+Alt, 7, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 7 # [hidden] -bind = Super+Alt, 8, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 8 # [hidden] -bind = Super+Alt, 9, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 9 # [hidden] -bind = Super+Alt, 0, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 10 # [hidden] +# We use raw keycodes because some keyboard layouts register number keys as different chars. The codes can be verified with `wev` +bind = Super+Alt, code:10, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 1 # [hidden] +bind = Super+Alt, code:11, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 2 # [hidden] +bind = Super+Alt, code:12, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 3 # [hidden] +bind = Super+Alt, code:13, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 4 # [hidden] +bind = Super+Alt, code:14, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 5 # [hidden] +bind = Super+Alt, code:15, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 6 # [hidden] +bind = Super+Alt, code:16, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 7 # [hidden] +bind = Super+Alt, code:17, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 8 # [hidden] +bind = Super+Alt, code:18, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 9 # [hidden] +bind = Super+Alt, code:19, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 10 # [hidden] # #/# bind = Super+Shift, Scroll ↑/↓,, # Send to workspace left/right bind = Super+Shift, mouse_down, movetoworkspace, r-1 # [hidden] @@ -140,16 +141,17 @@ bind = Ctrl+Super, S, togglespecialworkspace, # [hidden] ##! Workspace # Switching #/# bind = Super, Hash,, # Focus workspace # (1, 2, 3,...) -bind = Super, 1, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 1 # [hidden] -bind = Super, 2, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 2 # [hidden] -bind = Super, 3, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 3 # [hidden] -bind = Super, 4, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 4 # [hidden] -bind = Super, 5, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 5 # [hidden] -bind = Super, 6, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 6 # [hidden] -bind = Super, 7, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 7 # [hidden] -bind = Super, 8, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 8 # [hidden] -bind = Super, 9, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 9 # [hidden] -bind = Super, 0, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 10 # [hidden] +# We use raw keycodes because some keyboard layouts register number keys as different chars. The codes can be verified with `wev` +bind = Super, code:10, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 1 # [hidden] +bind = Super, code:11, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 2 # [hidden] +bind = Super, code:12, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 3 # [hidden] +bind = Super, code:13, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 4 # [hidden] +bind = Super, code:14, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 5 # [hidden] +bind = Super, code:15, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 6 # [hidden] +bind = Super, code:16, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 7 # [hidden] +bind = Super, code:17, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 8 # [hidden] +bind = Super, code:18, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 9 # [hidden] +bind = Super, code:19, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 10 # [hidden] #/# bind = Ctrl+Super, ←/→,, # Focus left/right bind = Ctrl+Super, Right, workspace, r+1 # [hidden] diff --git a/.github/workflows/dist-update-notification.yml b/.github/workflows/dist-update-notification.yml index cb16d9ff4..9fc18755f 100644 --- a/.github/workflows/dist-update-notification.yml +++ b/.github/workflows/dist-update-notification.yml @@ -14,6 +14,7 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} DISCUSSION_NUMBER: 2140 + # https://docs.github.com/en/graphql/guides/using-the-graphql-api-for-discussions # https://docs.github.com/en/graphql/reference/mutations#adddiscussioncomment run: | MESSAGE="**Auto notification:**\n" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0be4626d4..1c2c57e35 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,14 +1,14 @@ # Contributing - Please, please, please, make multiple PRs if you have many features/fixes, and don't shove your personal changes along with the PR, including changed defaults -- I can accept features I do not personally want, but in that case I will ask you to make it configurable/optionally loaded -- If you want to start working on something big to contribute, it might be a good idea to ask first to not waste your effort (but if you've already done it for yourself, it doesn't hurt to submit) +- We can accept features that we do not personally want, but in that case we will ask you to make it configurable/optionally loaded. +- If you want to start working on something big to contribute, it might be a good idea to ask first to not waste your effort (but if you've already done it for yourself, it doesn't hurt to submit). # Code details ## Dynamic loading -- If something's not always necessary, especially when guarded by a config option to enable/disable, put it in a `Loader`. One tip with `Loader`s is sometimes you will need to declare positioning properties (like `anchors`) in the `Loader`, not the `sourceComponent` +- If something's not always necessary, especially when guarded by a config option to enable/disable, put it in a `Loader`. One tip with `Loader`s is sometimes you will need to declare positioning properties (like `anchors`) in the `Loader`, not the `sourceComponent`. ## Practical concerns @@ -17,30 +17,33 @@ # Setting up -Assumption: you have an Arch(-based) Linux system +The following instruction assumes that you have an Arch(-based) Linux system. ## Complete -_might not be necessary depending on what you change, but this is recommended_ +_Might not be necessary depending on what you change, but this is recommended._ -- [Install](https://end-4.github.io/dots-hyprland-wiki/en/ii-qs/01setup/) the dotfiles (if you don't wanna replace your stuff completely, do it on a new user) -- Make changes, copy changes to a fork, PR +- [Install](https://ii.clsty.link/en/ii-qs/01setup/) the dotfiles (if you don't wanna replace your stuff completely, do it on a new user). +- Make changes, copy changes to a fork, create PR. ## Partially working shell -_most stuff in the shell will work but not everything_ +_Most stuff in the shell will work but not everything._ -- Install Hyprland and the development version of Quickshell (`yay -S hyprland quickshell-git`) -- Copy `.config/quickshell` folder to your home directory +- Install Hyprland and the development version of Quickshell (`yay -S hyprland quickshell-git`). +- Copy `.config/quickshell` folder to your home directory. ## Extra setup for Quickshell -- Quickshell-specific LSP setup: Run `touch ~/.config/quickshell/ii/.qmlls.ini` for proper LSP support -- Hint for VSCode: Get the official "Qt Qml" extension, go to its settings and change custom exe path to `/usr/bin/qmlls6` +- Quickshell-specific LSP setup: Run `touch ~/.config/quickshell/ii/.qmlls.ini` for proper LSP support. +- Hint for VSCode: Get the official "Qt Qml" extension, go to its settings and change custom exe path to `/usr/bin/qmlls6`. + +## Python +If your changes involves using python package or script, please use the virtual environment created by uv as described in `scriptdata/uv/README.md`. # Running - Launch Hyprland (not the "uwsm-managed" one) - For the shell: - - Open `~/.config/quickshell/ii` in your code editor - - In a terminal run `pkill qs; qs -c ii` to start the shell in the terminal (for logs) + - Open `~/.config/quickshell/ii` in your code editor. + - In a terminal run `pkill qs; qs -c ii` to start the shell in the terminal (for logs). - Make edits in the opened folder. Changes are reloaded live.