Browse Source

Merge pull request #106 from JaKooLit/development

Development to Main for v2.2.2 Changes
pull/107/head
Ja.KooLit 2 years ago committed by GitHub
parent
commit
2c070b5bfb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 46
      .github/ISSUE_TEMPLATE/bug_report.md
  2. 38
      .github/ISSUE_TEMPLATE/custom.md
  3. 24
      .github/ISSUE_TEMPLATE/documentation_update.md
  4. 28
      .github/ISSUE_TEMPLATE/feature_request.md
  5. 43
      .github/PULL_REQUEST_TEMPLATE.md
  6. 149
      COMMIT_MESSAGE_GUIDELINES.md
  7. 70
      CONTRIBUTING.md
  8. 2
      README.md
  9. 370
      config/dunst/dunstrc
  10. 9
      config/hypr/UserConfigs/00-Readme
  11. 6
      config/hypr/UserConfigs/ENVariables.conf
  12. 0
      config/hypr/UserConfigs/LaptopDisplay.conf
  13. 9
      config/hypr/UserConfigs/Laptops.conf
  14. 4
      config/hypr/UserConfigs/Monitors.conf
  15. 12
      config/hypr/UserConfigs/Startup_Apps.conf
  16. 29
      config/hypr/UserConfigs/UserKeybinds.conf
  17. 150
      config/hypr/UserConfigs/UserSettings.conf
  18. 0
      config/hypr/UserConfigs/WindowRules.conf
  19. 1
      config/hypr/UserScripts/00-Readme
  20. 0
      config/hypr/UserScripts/RainbowBorders.sh
  21. 0
      config/hypr/UserScripts/Sunset.sh
  22. 0
      config/hypr/UserScripts/Weather.py
  23. 0
      config/hypr/UserScripts/Weather.sh
  24. 0
      config/hypr/UserScripts/ZshChangeTheme.sh
  25. 59
      config/hypr/configs/Keybinds.conf
  26. 143
      config/hypr/configs/Settings.conf
  27. 21
      config/hypr/hyprland.conf
  28. 31
      config/hypr/initial-boot.sh
  29. 16
      config/hypr/scripts/AirplaneMode.sh
  30. 4
      config/hypr/scripts/Brightness.sh
  31. 4
      config/hypr/scripts/BrightnessKbd.sh
  32. 6
      config/hypr/scripts/ChangeBlur.sh
  33. 6
      config/hypr/scripts/ChangeLayout.sh
  34. 22
      config/hypr/scripts/DarkLight.sh
  35. 6
      config/hypr/scripts/GameMode.sh
  36. 12
      config/hypr/scripts/KeyHints.sh
  37. 10
      config/hypr/scripts/MediaCtrl.sh
  38. 24
      config/hypr/scripts/PywalDunst.sh
  39. 33
      config/hypr/scripts/QuickEdit.sh
  40. 30
      config/hypr/scripts/Refresh.sh
  41. 24
      config/hypr/scripts/RefreshNoWaybar.sh
  42. 6
      config/hypr/scripts/RofiBeats.sh
  43. 50
      config/hypr/scripts/ScreenShot.sh
  44. 6
      config/hypr/scripts/SwitchKeyboardLayout.sh
  45. 50
      config/hypr/scripts/TouchPad.sh
  46. 16
      config/hypr/scripts/Volume.sh
  47. 0
      config/hypr/v2.2.2
  48. 7
      config/kitty/kitty.conf
  49. 2
      config/rofi/config-compact.rasi
  50. 2
      config/rofi/resolution/1080p/config-compact.rasi
  51. 2
      config/rofi/resolution/1440p/config-compact.rasi
  52. 100
      config/swaync/config.json
  53. 0
      config/swaync/icons/backup.png
  54. 0
      config/swaync/icons/battery-quarter-solid.svg
  55. 0
      config/swaync/icons/battery-status.png
  56. 0
      config/swaync/icons/brightness-100.png
  57. 0
      config/swaync/icons/brightness-20.png
  58. 0
      config/swaync/icons/brightness-40.png
  59. 0
      config/swaync/icons/brightness-60.png
  60. 0
      config/swaync/icons/brightness-80.png
  61. 0
      config/swaync/icons/dropper.png
  62. 0
      config/swaync/icons/microphone-mute.png
  63. 0
      config/swaync/icons/microphone.png
  64. 0
      config/swaync/icons/music.png
  65. 0
      config/swaync/icons/palette.png
  66. 0
      config/swaync/icons/picture.png
  67. 0
      config/swaync/icons/timer.png
  68. 0
      config/swaync/icons/uptime.png
  69. 0
      config/swaync/icons/volume-high.png
  70. 0
      config/swaync/icons/volume-low.png
  71. 0
      config/swaync/icons/volume-mid.png
  72. 0
      config/swaync/icons/volume-mute.png
  73. 0
      config/swaync/icons/vpn.png
  74. 0
      config/swaync/images/bell.png
  75. 349
      config/swaync/style.css
  76. 3
      config/waybar/configs/[BOT & Left] SouthWest
  77. 3
      config/waybar/configs/[BOT & Right] SouthEast
  78. 1
      config/waybar/configs/[BOT] Camellia
  79. 2
      config/waybar/configs/[BOT] Chrysanthemum
  80. 1
      config/waybar/configs/[BOT] Default
  81. 2
      config/waybar/configs/[BOT] Gardenia
  82. 3
      config/waybar/configs/[BOT] Peony
  83. 4
      config/waybar/configs/[BOT] Sleek
  84. 2
      config/waybar/configs/[Left] WestWing
  85. 2
      config/waybar/configs/[Right] EastWing
  86. 1
      config/waybar/configs/[TOP & BOT] SummitSplit
  87. 15
      config/waybar/configs/[TOP & Left] NorthWest
  88. 1
      config/waybar/configs/[TOP & Right] NorthEast
  89. 3
      config/waybar/configs/[TOP] Camellia
  90. 2
      config/waybar/configs/[TOP] Chrysanthemum
  91. 1
      config/waybar/configs/[TOP] Default
  92. 1
      config/waybar/configs/[TOP] Default Laptop
  93. 2
      config/waybar/configs/[TOP] Gardenia
  94. 1
      config/waybar/configs/[TOP] Minimal - Long
  95. 1
      config/waybar/configs/[TOP] Minimal - Short
  96. 2
      config/waybar/configs/[TOP] Peony
  97. 13
      config/waybar/configs/[TOP] Sleek
  98. 28
      config/waybar/modules
  99. 5
      config/waybar/style/Catppuccin-Latte.css
  100. 3
      config/waybar/style/Catppuccin-Mocha.css
  101. Some files were not shown because too many files have changed in this diff Show More

46
.github/ISSUE_TEMPLATE/bug_report.md

@ -0,0 +1,46 @@
---
name: Bug report
about: Create a report to help us improve
title: "[Bug]: Short description of the issue"
labels: "Something isn't working"
---
## Bug Report
### Description
[Provide a clear and concise description of the bug.]
### Steps to Reproduce
1. [First Step]
2. [Second Step]
3. [and so on...]
### Expected Behavior
[What did you expect to happen?]
### Actual Behavior
[What actually happened?]
### Screenshots
[If applicable, add screenshots to help explain your problem.]
### Environment
[Please add any other relevant information about the bug and remove the unnecessary lines.]
e.g.,
- Linux Distro: [e.g., ArchLinux, Debian, Fedora 39, OpenSuse]
- Linux Version, output of `uname -a`:
- Hyprland Version, output of `hyprctl version`:
- Installation Environment: [e.g., On The Main Hardware, On A Virtual Machine]
- Other info: [e.g., Display Resolution, Resolution, etc]
### Additional Information
[Add any other information about the problem here. For example, you might include the error message, any recent changes that you made to the project, or any other relevant details.]

38
.github/ISSUE_TEMPLATE/custom.md

@ -0,0 +1,38 @@
---
name: Custom template
about: Use this template to submit a custom issue
title: "[Custom]: Short description of the issue"
labels: "custom"
---
## Custom Template
### Description
[Provide a clear and concise description of the issue or request.]
### Steps to Reproduce (if applicable)
1. [First Step]
2. [Second Step]
3. [and so on...]
### Expected Behavior
[What did you expect to happen?]
### Actual Behavior
[What actually happened?]
### Screenshots (if applicable)
[If applicable, add screenshots to help explain your problem.]
### Proposed Solution (if applicable)
[If you have a specific solution in mind, describe it here. If not, you can skip this section.]
### Additional Information
[Add any other information about the issue or request here. For example, you might include links to similar features in other projects, or screenshots or diagrams to help explain your idea.]

24
.github/ISSUE_TEMPLATE/documentation_update.md

@ -0,0 +1,24 @@
---
name: Documentation update
about: Propose a change to the project documentation
title: "[Docs]: Short description of the change"
labels: "documentation update"
---
## Documentation Update
### Description
[Provide a clear and concise description of the documentation update you'd like to see made.]
### Current Documentation
[Provide a link to the current documentation or describe where it can be found.]
### Proposed Documentation
[Provide a clear and concise description of the updated documentation that you'd like to see added.]
### Additional Information
[Add any other information about the documentation update here. For example, you might include links to similar documentation in other projects, or screenshots or diagrams to help explain your idea.]

28
.github/ISSUE_TEMPLATE/feature_request.md

@ -0,0 +1,28 @@
---
name: Feature request
about: Suggest a feature for this project
title: "[Feature Request]: Short description of the feature"
labels: "enhancement, needs triage, feature request"
---
## Feature Request
### Description
[Provide a clear and concise description of the feature you'd like to see added.]
### Use Case
[Describe how this feature would be useful to you or to other users of the project.]
### Proposed Solution
[If you have a specific solution in mind, describe it here. If not, you can skip this section.]
### Alternatives
[Are there any alternative solutions or workarounds that you've considered? If so, describe them here.]
### Additional Information
[Add any other information about the feature request here. For example, you might include links to similar features in other projects, or screenshots or diagrams to help explain your idea.]

43
.github/PULL_REQUEST_TEMPLATE.md

@ -0,0 +1,43 @@
# Pull Request
## Description
Please read these instructions and remove unnecessary text.
- Try to include a summary of the changes and which issue is fixed.
- Also include relevant motivation and context (if applicable).
- List any dependencies that are required for this change. (e.g., packages or other PRs)
- Provide a link if there is an issue related to this pull request. e.g., Fixes # (issue)
- Please add Reviewers, Assignees, Labels, Projects, and Milestones to the PR. (if applicable)
## Type of change
Please put an `x` in the boxes that apply:
- [ ] **Bug fix** (non-breaking change which fixes an issue)
- [ ] **New feature** (non-breaking change which adds functionality)
- [ ] **Breaking change** (fix or feature that would cause existing functionality to not work as expected)
- [ ] **Documentation update** (non-breaking change; modified files are limited to the documentations)
- [ ] **Technical debt** (a code change that does not fix a bug or add a feature but makes something clearer for devs)
- [ ] **Other** (provide details below)
## Checklist
Please put an `x` in the boxes that apply:
- [ ] I have read the [CONTRIBUTING](https://github.com/JaKooLit/Hyprland-Dots/blob/main/CONTRIBUTING.md) document.
- [ ] My code follows the code style of this project.
- [ ] My commit message follows the [commit guidelines](https://github.com/JaKooLit/Hyprland-Dots/blob/main/CONTRIBUTING.md#git-commit-messages).
- [ ] My change requires a change to the documentation.
- [ ] I want to add something in Hyprland-Dots wiki.
- [ ] I have added tests to cover my changes.
- [ ] I have tested my code locally and it works as expected.
- [ ] All new and existing tests passed.
## Screenshots
(if appropriate)
## Additional context
Add any other context about the problem here.

149
COMMIT_MESSAGE_GUIDELINES.md

@ -0,0 +1,149 @@
# Commit Message Guidelines
A good commit message should be descriptive and provide context about the changes made. This makes it easier to understand and review the changes in the future.
Here are some guidelines for writing descriptive commit messages:
- Start with a short summary of the changes made in the commit.
- Use imperative mood for the summary, as if you're giving a command. For example, "Add feature" instead of "Added feature".
- Provide additional details in the commit message body, if necessary. This could include the reason for the change, the impact of the change, or any dependencies that were introduced or removed.
- Keep the message within 72 characters per line to ensure that it's easy to read in Git log output.
Examples of good commit messages:
- "Add authentication feature for user login"
- "Fix bug causing application to crash on startup"
- "Update documentation for API endpoints"
Remember, writing descriptive commit messages can save time and frustration in the future, and help others understand the changes made to the codebase.
## Commit Message Types
Here's a more comprehensive list of commit types that you can use:
`feat`: Adding a new feature to the project
```markdown
feat: Add multi-image upload support
```
`fix`: Fixing a bug or issue in the project
```markdown
fix: Fix bug causing application to crash on startup
```
`docs`: Updating documentation in the project
```markdown
docs: Update documentation for API endpoints
```
`style`: Making cosmetic or style changes to the project (such as changing colors or formatting code)
```markdown
style: Update colors and formatting
```
`refactor`: Making code changes that don't affect the behavior of the project, but improve its quality or maintainability
```markdown
refactor: Remove unused code
```
`test`: Adding or modifying tests for the project
```markdown
test: Add tests for new feature
```
`chore`: Making changes to the project that don't fit into any other category, such as updating dependencies or configuring the build system
```markdown
chore: Update dependencies
```
`perf`: Improving performance of the project
```markdown
perf: Improve performance of image processing
```
`security`: Addressing security issues in the project
```markdown
security: Update dependencies to address security issues
```
`merge`: Merging branches in the project
```markdown
merge: Merge branch 'feature/branch-name' into develop
```
`revert`: Reverting a previous commit
```markdown
revert: Revert "Add feature"
```
`build`: Making changes to the build system or dependencies of the project
```markdown
build: Update dependencies
```
`ci`: Making changes to the continuous integration (CI) system for the project
```markdown
ci: Update CI configuration
```
`config`: Making changes to configuration files for the project
```markdown
config: Update configuration files
```
`deploy`: Making changes to the deployment process for the project
```markdown
deploy: Update deployment scripts
```
`init`: Creating or initializing a new repository or project
```markdown
init: Initialize project
```
`move`: Moving files or directories within the project
```markdown
move: Move files to new directory
```
`rename`: Renaming files or directories within the project
```markdown
rename: Rename files
```
`remove`: Removing files or directories from the project
```markdown
remove: Remove files
```
`update`: Updating code, dependencies, or other components of the project
```markdown
update: Update code
```
These are just some examples, and you can create your own custom commit types as well. However, it's important to use them consistently and write clear, descriptive commit messages to make it easy for others to understand the changes you've made.
**Important:** If you are planning to use a custom commit message type other than the ones listed above, make sure to add it to this list so that others can understand it as well. Create a pull request to add it to this file.

70
CONTRIBUTING.md

@ -0,0 +1,70 @@
# Contributing to Community Standards
Thank you for your interest in contributing to Community Standards! We welcome any contributions, including bug fixes, feature enhancements, documentation improvements, and other general improvements.
## Getting Started
1. Fork the branch development repository to your GitHub account. This will create a copy of this repository in your account. You can make changes to this copy without affecting the original repository.
- For fork this repository, click the **Fork** button in the top right corner of this page or click [here](https://github.com/JaKooLit/Hyprland-Dots/fork).
- Make sure to uncheck the Copy the `main` branch only. This will copy the development branch and other branches (if any)
2. Clone your forked repository to your local machine.
- Use the following command to clone your forked repository to your local machine.
```bash
git clone --depth=1 -b development https://github.com/JaKooLit/Hyprland-Dots.git
```
3. Create a new branch for your changes.
- For example, to create a new branch named `your-branch-name`, use the following command.
```bash
git checkout -b your-branch-name
```
4. Make your changes and commit them with a descriptive commit message.
- For example, to commit your changes, use the following command and make sure to follow the [commit message guidelines](https://github.com/JaKooLit/Hyprland-Dots/blob/main/COMMIT_MESSAGE_GUIDELINES.md).
```bash
git commit -m "feat: add a new feature"
```
5. Push your changes to your forked repository.
- For example, to push your changes to your forked repository, use the following command.
```bash
git push origin your-branch-name
```
6. Submit a **pull request** to the development branch repository.
- For example, to create a pull request, use the following steps.
1. Go to your forked repository.
2. Click the **Compare & pull request** button next to your `your-branch-name` branch.
3. Add a title and description for your pull request.
4. Click **Create pull request** and remember to add the relevant labels with using the [pull request template](https://github.com/JaKooLit/Hyprland-Dots/blob/templates/.github/PULL_REQUEST_TEMPLATE.md).
## Guidelines
- Follow the code style of the project.
- Update the **documentation** if necessary.
- Add tests if applicable.
- Make sure all tests pass before submitting your changes.
- Keep your pull request focused and avoid including unrelated changes.
- Remeber to follow the given files before submitting your changes.
- [bug_report.md](https://github.com/JaKooLit/Hyprland-Dots/blob/main/.github/ISSUE_TEMPLATE/bug_report.md) - Use this template to create a report to help us improve.
- [feature_request.md](https://github.com/JaKooLit/Hyprland-Dots/blob/main/.github/ISSUE_TEMPLATE/feature_request.md) - Use this template to suggest a feature for this project.
- [documentation_update.md](https://github.com/JaKooLit/Hyprland-Dots/blob/main/.github/ISSUE_TEMPLATE/documentation_update.md) - Use this template to propose a change to the documentation.
- [custom.md](https://github.comJaKooLit/Hyprland-Dots/blob/main/.github/ISSUE_TEMPLATE/custom.md) - Use this template to submit a custom issue.
- [PULL_REQUEST_TEMPLATE.md](https://github.com/JaKooLit/Hyprland-Dots/blob/main/.github/PULL_REQUEST_TEMPLATE.md) - Use this template to submit a pull request.
- [COMMIT_MESSAGE_GUIDELINES.md](https://github.com/JaKooLit/Hyprland-Dots/blob/main/COMMIT_MESSAGE_GUIDELINES.md) - Read this file to learn about the commit message guidelines.
- [CONTRIBUTING.md](https://github.com/JaKooLit/Hyprland-Dots/blob/main/CONTRIBUTING.md) - Read this file to learn about the contributing guidelines.
- [LICENSE](https://github.com/JaKooLit/Hyprland-Dots/blob/main/LICENSE) - Read this file to learn about the license.
- [README.md](https://github.com/JaKooLit/Hyprland-Dots/blob/main/README.md) - Read this file to learn about the project.
## Contact
If you have any questions, feel free to contact via [GitHub Discussions](https://github.com/JaKooLit/Hyprland-Dots/discussions) or [Through Discord Server](https://discord.gg/V2SJ92vbEN)

2
README.md

@ -44,7 +44,7 @@ https://github.com/JaKooLit/Hyprland-Dots/assets/85185940/4bebe592-ca43-4962-9b5
- [`MORE INFO HERE`](https://github.com/JaKooLit/Hyprland-Dots/wiki/Install_Update)
> [!Note]
> The auto copy script will create backups of intended folders to be copied. However, still a good idea to manually backup just incase script failed to backup!
- ~/.config (btop cava dunst hypr kitty rofi swappy swaylock waybar wlogout) - These are folders to be copied.
- ~/.config (btop cava hypr kitty rofi swappy swaylock swaync waybar wlogout) - These are folders to be copied.
- ~/Pictures/wallpapers - Will be backed up
- clone this repo by using git. Change directory, make executable and run the script
```bash

370
config/dunst/dunstrc

@ -1,370 +0,0 @@
[global]
### Display ###
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = mouse
width = (250, 350)
height = 250
origin = top-center
offset = 10x10
notification_limit = 9
progress_bar_corner_radius = 4
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = no
# The transparency of the window. Range: [0; 100]. [x11 only]
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.).
#transparency = 100
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 2
# Padding between text and separator.
padding = 8
# Horizontal padding.
horizontal_padding = 8
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 2
# Defines color of the frame around the notification window.
frame_color = "#17474D"
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = auto
# Sort messages by urgency.
sort = yes
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
# A client can set the 'transient' hint to bypass this. See the rules
# section for how to disable this if necessary
idle_threshold = 120
### Text ###
font = Fira Code Medium 13
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<b>%s</b>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = center
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# When word_wrap is set to no, specify where to make an ellipsis in long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Stack together notifications with the same content
stack_duplicates = true
# Hide the count of stacked notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
### Icons ###
# Align icons left/right/off
icon_position = left
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 32
# Paths to default icons.
#icon_path = /usr/share/icons/candy-icons/apps/scalable:/usr/share/icons/candy-icons/devices/scalable/
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/rofi -dmenu -p dunst
# Browser for opening urls in context menu.
browser = /usr/bin/firefox -new-tab
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius = 12
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
### mouse
# Defines action of mouse event
# Possible values are:
# * none: Don't do anything.
# * do_action: If the notification has exactly one action, or one is marked as default,
# invoke it. If there are multiple and no default, open the context menu.
# * close_current: Close current notification.
# * close_all: Close all notifications.
mouse_left_click = do_action
mouse_middle_click = close_all
mouse_right_click = close_current
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#00000095"
foreground = "#fafafa"
frame_color = "#17474D"
timeout = 2
# Icon for notifications with low urgency, uncomment to enable
icon = $HOME/.config/dunst/images/bell.png
[urgency_normal]
background = "#00000095"
foreground = "#fafafa"
frame_color = "#17474D"
timeout = 5
# Icon for notifications with normal urgency, uncomment to enable
icon = $HOME/.config/dunst/images/bell.png
[urgency_critical]
background = "#00000095"
foreground = "#fafafa"
frame_color = "#17474D"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
icon = $HOME/.config/dunst/images/bell.png
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
#
# Messages can be matched by
# appname (discouraged, see desktop_entry)
# body
# category
# desktop_entry
# icon
# match_transient
# msg_urgency
# stack_tag
# summary
#
# and you can override the
# foreground
# format
# frame_color
# fullscreen
# new_icon
# set_stack_tag
# set_transient
# timeout
# urgency
#
# Shell-like globbing will get expanded.
#
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
# GLib based applications export their desktop-entry name. In comparison to the appname,
# the desktop-entry won't get localized.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
# Disable the transient hint so that idle_threshold cannot be bypassed from the
# client
#[transient_disable]
# match_transient = yes
# set_transient = no
#
# Make the handling of transient notifications more strict by making them not
# be placed in history.
#[transient_history_ignore]
# match_transient = yes
# history_ignore = yes
# fullscreen values
# show: show the notifications, regardless if there is a fullscreen window opened
# delay: displays the new notification, if there is no fullscreen window active
# If the notification is already drawn, it won't get undrawn.
# pushback: same as delay, but when switching into fullscreen, the notification will get
# withdrawn from screen again and will get delayed like a new notification
#[fullscreen_delay_everything]
# fullscreen = delay
#[fullscreen_show_critical]
# msg_urgency = critical
# fullscreen = show
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[skip-display]
# # This notification will not be displayed, but will be included in the history
# summary = "foobar"
# skip_display = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
#[stack-volumes]
# appname = "some_volume_notifiers"
# set_stack_tag = "volume"
#
# vim: ft=cfg

9
config/hypr/UserConfigs/00-Readme

@ -0,0 +1,9 @@
Hyprland-Dots v2.2.2
1.) Suggest not to rename files in this folder. As this is connected and being sourced from hyprland.conf in ~/.config/hypr
2.) This folder, along with UserScripts folder will NOT be touch during update.
3.) However, if hyprland has a big change in settings, i.e., blur section is moved into another group, you should managed the change.
I will update the Hyprland-Dots wiki for guidance. Make sure to check out changelogs as well

6
config/hypr/configs/ENVariables.conf → config/hypr/UserConfigs/ENVariables.conf

@ -20,9 +20,9 @@ env = MOZ_ENABLE_WAYLAND,1
# NVIDIA
# This is from Hyprland Wiki. As a start, WLR_NO_HARDWARE_CURSORS 1 will be activated if nvidia gpu detected
#env = WLR_NO_HARDWARE_CURSORS,1
#env = LIBVA_DRIVER_NAME,nvidia
#env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = WLR_NO_HARDWARE_CURSORS,1
env = LIBVA_DRIVER_NAME,nvidia
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
#env = GBM_BACKEND,nvidia-drm
#env = __NV_PRIME_RENDER_OFFLOAD,1

0
config/hypr/configs/LaptopDisplay.conf → config/hypr/UserConfigs/LaptopDisplay.conf

9
config/hypr/configs/Laptops.conf → config/hypr/UserConfigs/Laptops.conf

@ -2,7 +2,9 @@
# See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings
# These configs are mostly for laptops. This is addemdum to Keybinds.conf
$configs = $HOME/.config/hypr/configs
$UserConfigs = $HOME/.config/hypr/UserConfigs
$mainMod = SUPER
$scriptsDir = $HOME/.config/hypr/scripts
@ -20,6 +22,7 @@ bind = $mainMod, F6, exec, $scriptsDir/ScreenShot.sh --now # Fullscreen
bind = $mainMod SHIFT, F6, exec, $scriptsDir/ScreenShot.sh --area
bind = $mainMod CTRL, F6, exec, $scriptsDir/ScreenShot.sh --in5 # Screenshot in 5 secs
bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # Screenshot in 10 secs
bind = ALT, F6, exec, $scriptsDir/ScreenShot.sh --active # Screenshot active window
# Below are useful when you are connecting your laptop in external display
# Suggest you edit below for your laptop display
@ -37,9 +40,9 @@ bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # Screenshot in
# NOTE: Display for laptop are being generated into LaptopDisplay.conf
# This part is to be use if you do not want your main laptop monitor to wake up during say wallpaper change etc
#bindl = , switch:off:Lid Switch,exec,echo "monitor = eDP-1, preferred, auto, 1" > $configs/LaptopDisplay.conf
#bindl = , switch:on:Lid Switch,exec,echo "monitor = eDP-1, disable" > $configs/LaptopDisplay.conf
#bindl = , switch:off:Lid Switch,exec,echo "monitor = eDP-1, preferred, auto, 1" > $UserConfigs/LaptopDisplay.conf
#bindl = , switch:on:Lid Switch,exec,echo "monitor = eDP-1, disable" > $UserConfigs/LaptopDisplay.conf
# for laptop-lid action (to erase the last entry)
#exec-once = echo "eDP-1, preferred, auto, 1" > $HOME/.config/hypr/configs/LaptopDisplay.conf
#exec-once = echo "eDP-1, preferred, auto, 1" > $HOME/.config/hypr/UserConfigs/LaptopDisplay.conf
##############################################################################

4
config/hypr/configs/Monitors.conf → config/hypr/UserConfigs/Monitors.conf

@ -5,10 +5,6 @@
# https://wiki.hyprland.org/Configuring/Monitors/
# Configure your Display resolution, offset, scale and Monitors here, use `hyprctl monitors` to get the info.
#Could help when scaling and not pixelating
xwayland {
force_zero_scaling = true
}
# Monitors
monitor=,preferred,auto,1

12
config/hypr/configs/Execs.conf → config/hypr/UserConfigs/Startup_Apps.conf

@ -2,12 +2,11 @@
#Commands & Apps to be executed at launch
$scriptsDir = $HOME/.config/hypr/scripts
$UserscriptsDir = $HOME/.config/hypr/UserScripts
$lock = $scriptsDir/LockScreen.sh
$SwwwRandom = $scriptsDir/WallpaperRandom.sh
$WallpaperPath = $HOME/Pictures/wallpapers
# Initial boot script to start Pywal and Set wallpaper. This line and corresponding script can be safely deleted once logged in
exec-once = $HOME/.config/hypr/initial-boot.sh
# wallpaper stuff / More wallpaper options below
exec-once = swww query || swww init
@ -22,17 +21,18 @@ exec-once = $scriptsDir/Polkit.sh
# starup apps
exec-once = waybar &
exec-once = dunst &
#exec-once = blueman-applet &
exec-once = nm-applet --indicator &
exec-once = swaync &
#exec-once = blueman-applet &
#exec-once = rog-control-center &
#clipboard manager
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
# Rainbow borders
exec-once = $scriptsDir/RainbowBorders.sh
exec-once = $UserscriptsDir/RainbowBorders.sh
# sway-idle with lock only
exec-once = swayidle -w timeout 900 '$lock'
@ -51,4 +51,4 @@ exec-once = swayidle -w timeout 900 '$lock'
#exec-once = $scriptsDir/PortalHyprland.sh
# wlsunset - for automatic gamma adjustment. Default is 1900 to 0700 (7pm to 7am). Edit Sunset.sh accordingly
# exec-once = $scriptsDir/Sunset.sh
# exec-once = $UserScriptsDir/Sunset.sh

29
config/hypr/UserConfigs/UserKeybinds.conf

@ -0,0 +1,29 @@
## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# This is where you put your own keybinds. Be Mindful to check as well ~/.config/hypr/configs/Keybinds.conf to avoid conflict
# if you think I should replace the Pre-defined Keybinds in ~/.config/hypr/configs/Keybinds.conf , submit an issue or let me know in DC and present me a valid reason as to why, such as conflicting with global shortcuts, etc etc
# See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables
# See also Laptops.conf for laptops keybinds
$mainMod = SUPER
$files = thunar
$term = kitty
$scriptsDir = $HOME/.config/hypr/scripts
$UserScripts = $HOME/.config/hypr/UserScripts
# rofi App launcher
bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window
bind = $mainMod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window
bind = $mainMod, Return, exec, $term # Launch terminal
bind = $mainMod, T, exec, $files
# User Added Keybinds
bind = $mainMod SHIFT, O, exec, $UserScripts/ZshChangeTheme.sh # Change oh-my-zsh theme
# For passthrough keyboard into a VM
# bind = $mainMod ALT, P, submap, passthru
#submap = passthru
# to unbind
#bind = $mainMod ALT, P, submap, reset
#submap = reset

150
config/hypr/UserConfigs/UserSettings.conf

@ -0,0 +1,150 @@
## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# User Settings
# This is where you put your own settings as this will not be touched during update
## refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables
# Sourcing colors generated by pywal
source = $HOME/.cache/wal/colors-hyprland
# blurls = waybar
# blurls = rofi
dwindle {
pseudotile = yes
preserve_split = yes
special_scale_factor = 0.8
}
master {
new_is_master=1
new_on_top=1
mfact = 0.5
}
general {
sensitivity=1.00
apply_sens_to_raw=1
gaps_in = 4
gaps_out = 8
border_size = 2
resize_on_border = true
col.active_border = $color0 $color2 $color4 $color6 $color8 90deg
col.inactive_border = $backgroundCol
layout = master
}
group {
col.border_active = $color15
groupbar {
col.active = $color0
}
}
decoration {
rounding = 8
active_opacity = 1.0
inactive_opacity = 0.9
fullscreen_opacity = 1.0
dim_inactive = true
dim_strength = 0.1
drop_shadow=true
shadow_range=6
shadow_render_power = 1
col.shadow = $color2
col.shadow_inactive = 0x50000000
blur {
enabled = true
size = 5
passes = 2
ignore_opacity = true
new_optimizations = true
}
}
animations {
enabled = yes
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
bezier = linear, 0.0, 0.0, 1.0, 1.0
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = slow, 0, 0.85, 0.3, 1
bezier = overshot, 0.7, 0.6, 0.1, 1.1
bezier = bounce, 1.1, 1.6, 0.1, 0.85
bezier = sligshot, 1, -1, 0.15, 1.25
bezier = nice, 0, 6.9, 0.5, -4.20
animation = windowsIn, 1, 5, slow, popin
animation = windowsOut, 1, 5, winOut, popin
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 10, linear
animation = borderangle, 1, 180, linear, loop #used by rainbow borders and rotating colors
animation = fade, 1, 5, overshot
animation = workspaces, 1, 5, wind
animation = windows, 1, 5, bounce, popin
}
input {
kb_layout=us
kb_variant=
kb_model=
kb_options=grp:alt_shift_toggle
kb_rules=
repeat_rate=50
repeat_delay=300
numlock_by_default=1
left_handed=0
follow_mouse=1
float_switch_override_focus=0
touchpad {
disable_while_typing=1
natural_scroll=0
clickfinger_behavior=0
middle_button_emulation=1
tap-to-click=1
drag_lock=0
}
}
gestures {
workspace_swipe=1
workspace_swipe_fingers=3
workspace_swipe_distance=400
workspace_swipe_invert=1
workspace_swipe_min_speed_to_force=30
workspace_swipe_cancel_ratio=0.5
workspace_swipe_create_new=1
workspace_swipe_forever=1
}
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
mouse_move_enables_dpms = true
#vrr = 0
enable_swallow = true
no_direct_scanout = true #for fullscreen games
focus_on_activate = false
swallow_regex = ^(kitty)$
#disable_autoreload = true
}
binds {
workspace_back_and_forth=1
allow_workspace_cycles=1
pass_mouse_when_bound=0
}
#Could help when scaling and not pixelating
xwayland {
force_zero_scaling = true
}

0
config/hypr/configs/WindowRules.conf → config/hypr/UserConfigs/WindowRules.conf

1
config/hypr/UserScripts/00-Readme

@ -0,0 +1 @@
a) Place your new scripts here. If you need to edit a script from main script (~/.config/hypr/scripts), copy it on this folder, and edit. Make sure to update as well the keybinds in ~/.config/hypr/UserConfigs folder if any script is attached to it

0
config/hypr/scripts/RainbowBorders.sh → config/hypr/UserScripts/RainbowBorders.sh

0
config/hypr/scripts/Sunset.sh → config/hypr/UserScripts/Sunset.sh

0
config/hypr/scripts/Weather.py → config/hypr/UserScripts/Weather.py

0
config/hypr/scripts/Weather.sh → config/hypr/UserScripts/Weather.sh

0
config/hypr/scripts/ZshChangeTheme.sh → config/hypr/UserScripts/ZshChangeTheme.sh

59
config/hypr/configs/Keybinds.conf

@ -1,30 +1,20 @@
## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# Default Keybinds
# See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables
# See also Laptops.conf for laptops keybinds
$mainMod = SUPER
$files = thunar
$browser = firefox
$term = kitty
$scriptsDir = $HOME/.config/hypr/scripts
# rofi App launcher
bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run
bind = $mainMod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run
bind = $mainMod, Return, exec, $term # Launch terminal
bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0
bind = $mainMod SHIFT, Q, closewindow,
bind = $mainMod SHIFT, F, togglefloating,
bind = $mainMod ALT, F, exec, hyprctl dispatch workspaceopt allfloat
bind = $mainMod, F, fullscreen
bind = $mainMod, Q, killactive,
bind = $mainMod, T, exec, $files
bind = CTRL ALT, L, exec, $scriptsDir/LockScreen.sh
bind = CTRL ALT, P, exec, $scriptsDir/Wlogout.sh
# FEATURES / EXTRAS
bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, dunst, rofi
bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi
bind = $mainMod CTRL, S, exec, $scriptsDir/RofiBeats.sh # online music
bind = $mainMod ALT, E, exec, $scriptsDir/RofiEmoji.sh # emoji
bind = $mainMod, H, exec, $scriptsDir/KeyHints.sh # Small help file
@ -34,9 +24,7 @@ bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh # animations ON/OFF
bind = $mainMod ALT, K, exec, $scriptsDir/SwitchKeyboardLayout.sh # Switch Keyboard Layout
bind = $mainMod, Space, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout
bind = $mainMod ALT, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager
# MISC (Miscellaneous Keybinds)
bind = $mainMod SHIFT, O, exec, $scriptsDir/ZshChangeTheme.sh # Change oh-my-zsh theme
bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC panel
# Wallpaper related keybinds
bind = $mainMod, W, exec, $scriptsDir/WallpaperSelect.sh # Select wallpaper to apply
@ -59,7 +47,7 @@ bind = $mainMod SHIFT, M, exec, hyprctl dispatch splitratio -0.3
# group
bind = $mainMod, G, togglegroup
bind = ALT, tab, changegroupactive # change focus to another window
bind = ALT, tab, changegroupactive #change focus to another window
# Special Keys / Hot Keys
bind = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc #volume up
@ -77,23 +65,23 @@ bind = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt
bind = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv
bind = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop
# Resize (vim style)
binde = $mainMod SHIFT, H, resizeactive,-50 0
binde = $mainMod SHIFT, L, resizeactive,50 0
binde = $mainMod SHIFT, K, resizeactive,0 -50
binde = $mainMod SHIFT, J, resizeactive,0 50
# Screenshot keybindings NOTE: You may need to press Fn key as well
bind = $mainMod, Print, exec, $scriptsDir/ScreenShot.sh --now
bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area
bind = $mainMod CTRL, Print, exec, $scriptsDir/ScreenShot.sh --in5 #screenshot in 5 secs
bind = $mainMod ALT, Print, exec, $scriptsDir/ScreenShot.sh --in10 #screenshot in 10 secs
bind = ALT, Print, exec, $scriptsDir/ScreenShot.sh --active #screenshot in 10 secs
# screenshot with swappy (another screenshot tool)
bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | swappy -f -
# Resize windows
binde = $mainMod SHIFT, left, resizeactive,-50 0
binde = $mainMod SHIFT, right, resizeactive,50 0
binde = $mainMod SHIFT, up, resizeactive,0 -50
binde = $mainMod SHIFT, down, resizeactive,0 50
# Move (vim style)
bind = $mainMod CTRL, H, movewindow, l
bind = $mainMod CTRL, L, movewindow, r
bind = $mainMod CTRL, K, movewindow, u
bind = $mainMod CTRL, J, movewindow, d
# Move windows
bind = $mainMod CTRL, left, movewindow, l
bind = $mainMod CTRL, right, movewindow, r
bind = $mainMod CTRL, up, movewindow, u
@ -162,20 +150,3 @@ bind = $mainMod, comma, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Screenshot keybindings NOTE: You may need to press Fn key as well
bind = $mainMod, Print, exec, $scriptsDir/ScreenShot.sh --now
bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area
bind = $mainMod CTRL, Print, exec, $scriptsDir/ScreenShot.sh --in5 #screenshot in 5 secs
bind = $mainMod ALT, Print, exec, $scriptsDir/ScreenShot.sh --in10 #screenshot in 10 secs
# screenshot with swappy (another screenshot tool)
bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | swappy -f -
# If you are using Ja's Hyprland dots as Host and wants to passthrough keyboard into a VM
#bind = $mainMod ALT, P, submap, passthru
#submap = passthru
# to unbind
#bind = $mainMod ALT, P, submap, reset
#submap = reset

143
config/hypr/configs/Settings.conf

@ -1,143 +1,8 @@
## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
## refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables
# Sourcing colors generated by pywal
source = $HOME/.cache/wal/colors-hyprland
# blurls = waybar
# blurls = rofi
dwindle {
pseudotile = yes
preserve_split = yes
special_scale_factor = 0.8
}
master {
new_is_master=1
new_on_top=1
mfact = 0.5
}
general {
sensitivity=1.00
apply_sens_to_raw=1
gaps_in = 4
gaps_out = 8
border_size = 2
resize_on_border = true
col.active_border = $color0 $color2 $color4 $color6 $color8 45deg
col.inactive_border = $backgroundCol
layout = master
}
group {
col.border_active = $color15
groupbar {
col.active = $color0
}
}
decoration {
rounding = 8
active_opacity = 1.0
inactive_opacity = 0.9
fullscreen_opacity = 1.0
# Default Settings. avoid changing this file as during update, this will be replaced
dim_inactive = true
dim_strength = 0.1
drop_shadow=true
shadow_range=6
shadow_render_power = 1
col.shadow = $color2
col.shadow_inactive = 0x50000000
blur {
enabled = true
size = 5
passes = 2
ignore_opacity = true
new_optimizations = true
}
}
animations {
enabled = yes
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
bezier = linear, 0.0, 0.0, 1.0, 1.0
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = slow, 0, 0.85, 0.3, 1
bezier = overshot, 0.7, 0.6, 0.1, 1.1
bezier = bounce, 1.1, 1.6, 0.1, 0.85
bezier = sligshot, 1, -1, 0.15, 1.25
bezier = nice, 0, 6.9, 0.5, -4.20
animation = windowsIn, 1, 5, slow, popin
animation = windowsOut, 1, 5, winOut, popin
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 10, linear
animation = borderangle, 1, 100, linear, loop
animation = fade, 1, 5, overshot
animation = workspaces, 1, 5, wind
animation = windows, 1, 5, bounce, popin
}
input {
kb_layout=us
kb_variant=
kb_model=
kb_options=grp:alt_shift_toggle
kb_rules=
repeat_rate=50
repeat_delay=300
numlock_by_default=1
left_handed=0
follow_mouse=1
float_switch_override_focus=0
touchpad {
disable_while_typing=1
natural_scroll=0
clickfinger_behavior=0
middle_button_emulation=1
tap-to-click=1
drag_lock=0
}
}
gestures {
workspace_swipe=1
workspace_swipe_fingers=3
workspace_swipe_distance=400
workspace_swipe_invert=1
workspace_swipe_min_speed_to_force=30
workspace_swipe_cancel_ratio=0.5
workspace_swipe_create_new=1
workspace_swipe_forever=1
}
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
mouse_move_enables_dpms = true
#vrr = 0
enable_swallow = true
no_direct_scanout = true #for fullscreen games
focus_on_activate = false
swallow_regex = ^(kitty)$
#disable_autoreload = true
}
## refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables
binds {
workspace_back_and_forth=1
allow_workspace_cycles=1
pass_mouse_when_bound=0
}
# Initial boot script enable to apply initial wallpapers, theming, new settings etc.
exec-once = $HOME/.config/hypr/initial-boot.sh

21
config/hypr/hyprland.conf

@ -1,17 +1,22 @@
# Sourcing external config files
###### Default Configs
$configs = $HOME/.config/hypr/configs
source=$configs/ENVariables.conf
source=$configs/Execs.conf
source=$configs/Keybinds.conf
source=$configs/Laptops.conf
source=$configs/LaptopDisplay.conf
source=$configs/Monitors.conf
source=$configs/WindowRules.conf
source=$configs/Settings.conf
source=$configs/Keybinds.conf
#### User Configs
$UserConfigs = $HOME/.config/hypr/UserConfigs
source= $UserConfigs/Startup_Apps.conf
source= $UserConfigs/ENVariables.conf
source= $UserConfigs/UserKeybinds.conf
source= $UserConfigs/UserSettings.conf
source= $UserConfigs/Monitors.conf
source= $UserConfigs/Laptops.conf
source= $UserConfigs/LaptopDisplay.conf
source= $UserConfigs/WindowRules.conf

31
config/hypr/initial-boot.sh

@ -1,9 +1,9 @@
#!/bin/bash
# A bash script designed to run only once dotfiles installed
# THIS SCRIPT CAN BE DELETED ONCE SUCCESSFULLY BOOTED!! And also, edit ~/.config/hypr/configs/Execs.conf
# THIS SCRIPT CAN BE DELETED ONCE SUCCESSFULLY BOOTED!! And also, edit ~/.config/hypr/configs/Settings.conf
# not necessary to do since this script is only designed to run only once as long as the marker exists
# However, I do highly suggest not to touch it since again, as long as the marker exist, script wont run
# Variables
scriptsDir=$HOME/.config/hypr/scripts
@ -17,16 +17,16 @@ effect="--transition-bezier .43,1.19,1,.4 --transition-fps 30 --transition-type
# Check if a marker file exists.
if [ ! -f ~/.config/hypr/.initial_startup_done ]; then
# Initialize pywal
#printf " Initializing pywal........\n\n"
wal -i $wallpaper -s -t
# Initialize pywal and wallpaper
if [ -f "$wallpaper" ]; then
wal -i $wallpaper -s -t > /dev/null
swww init && $swww $wallpaper $effect
"$scriptsDir/PywalSwww.sh" > /dev/null 2>&1 &
fi
# Initial symlink for Pywal Dark and Light for Rofi Themes
ln -sf "$HOME/.cache/wal/colors-rofi-dark.rasi" "$HOME/.config/rofi/pywal-color/pywal-theme.rasi"
ln -sf "$HOME/.cache/wal/colors-rofi-dark.rasi" "$HOME/.config/rofi/pywal-color/pywal-theme.rasi" > /dev/null 2>&1 &
# Initial scripts to load in order to have a proper wallpaper waybar and pywal themes
swww init && $swww "$wallpaper" $effect
# initiate GTK dark mode and apply icon and cursor theme
gsettings set org.gnome.desktop.interface color-scheme prefer-dark > /dev/null 2>&1 &
gsettings set org.gnome.desktop.interface gtk-theme Tokyonight-Dark-BL-LB > /dev/null 2>&1 &
@ -41,11 +41,12 @@ if [ ! -f ~/.config/hypr/.initial_startup_done ]; then
"$scriptsDir/SwitchKeyboardLayout.sh" > /dev/null 2>&1 &
# Initial waybar style
ln -sf "$waybar_style" "$HOME/.config/waybar/style.css"
# Refreshing waybar, dunst, rofi etc.
"$scriptsDir/PywalSwww.sh" > /dev/null 2>&1 &
"$scriptsDir/Refresh.sh" > /dev/null 2>&1 &
if [ -f "$waybar_style" ]; then
ln -sf "$waybar_style" "$HOME/.config/waybar/style.css"
# Refreshing waybar, swaync, rofi etc.
"$scriptsDir/Refresh.sh" > /dev/null 2>&1 &
fi
# Create a marker file to indicate that the script has been executed.
touch ~/.config/hypr/.initial_startup_done

16
config/hypr/scripts/AirplaneMode.sh

@ -1,12 +1,14 @@
#!/bin/bash
dunst_notif="$HOME/.config/dunst/images/bell.png"
notif="$HOME/.config/swaync/images/bell.png"
wifi="$(nmcli r wifi | awk 'FNR = 2 {print $1}')"
if [ "$wifi" == "enabled" ]; then
rfkill block all &
dunstify -u normal -i "$dunst_notif" -t 1000 'airplane mode: active'
# Check if any wireless device is blocked
wifi_blocked=$(rfkill list wifi | grep -o "Soft blocked: yes")
if [ -n "$wifi_blocked" ]; then
rfkill unblock wifi
notify-send -u low -i "$notif" 'Airplane mode: OFF'
else
rfkill unblock all &
dunstify -u normal -i "$dunst_notif" -t 1000 'airplane mode: inactive'
rfkill block wifi
notify-send -u low -i "$notif" 'Airplane mode: ON'
fi

4
config/hypr/scripts/Brightness.sh

@ -1,6 +1,6 @@
#!/bin/bash
iDIR="$HOME/.config/dunst/icons"
iDIR="$HOME/.config/swaync/icons"
notification_timeout=1000
# Get brightness
@ -26,7 +26,7 @@ get_icon() {
# Notify
notify_user() {
dunstify -h string:x-dunst-stack-tag:brightness_notif -h int:value:$current -u low -i "$icon" "Brightness : $current%"
notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -u low -i "$icon" "Brightness : $current%"
}
# Change brightness

4
config/hypr/scripts/BrightnessKbd.sh

@ -1,6 +1,6 @@
#!/bin/bash
iDIR="$HOME/.config/dunst/icons"
iDIR="$HOME/.config/swaync/icons"
# Get keyboard brightness
get_kbd_backlight() {
@ -24,7 +24,7 @@ get_icon() {
}
# Notify
notify_user() {
dunstify -h string:x-dunst-stack-tag:brightness_notif -h int:value:$current -u low -i "$icon" "Keyboard Brightness : $current%"
notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -u low -i "$icon" "Keyboard Brightness : $current%"
}
# Change brightness

6
config/hypr/scripts/ChangeBlur.sh

@ -1,15 +1,15 @@
#!/bin/bash
dunst_notif="$HOME/.config/dunst/images/bell.png"
notif="$HOME/.config/swaync/images/bell.png"
STATE=$(hyprctl -j getoption decoration:blur:passes | jq ".int")
if [ "${STATE}" == "2" ]; then
hyprctl keyword decoration:blur:size 2
hyprctl keyword decoration:blur:passes 1
dunstify -u low -i "$dunst_notif" "Less blur"
notify-send -e -u low -i "$notif" "Less blur"
else
hyprctl keyword decoration:blur:size 5
hyprctl keyword decoration:blur:passes 2
dunstify -u low -i "$dunst_notif" "Normal blur"
notify-send -e -u low -i "$notif" "Normal blur"
fi

6
config/hypr/scripts/ChangeLayout.sh

@ -1,6 +1,6 @@
#!/bin/bash
dunst_notif="$HOME/.config/dunst/images/bell.png"
notif="$HOME/.config/swaync/images/bell.png"
LAYOUT=$(hyprctl -j getoption general:layout | jq '.str' | sed 's/"//g')
@ -12,7 +12,7 @@ case $LAYOUT in
hyprctl keyword bind SUPER,J,cyclenext
hyprctl keyword bind SUPER,K,cyclenext,prev
hyprctl keyword bind SUPER,O,togglesplit
dunstify -u low -i "$dunst_notif" "Dwindle Layout"
notify-send -e -u low -i "$notif" "Dwindle Layout"
;;
"dwindle")
hyprctl keyword general:layout master
@ -21,7 +21,7 @@ case $LAYOUT in
hyprctl keyword unbind SUPER,O
hyprctl keyword bind SUPER,J,layoutmsg,cyclenext
hyprctl keyword bind SUPER,K,layoutmsg,cycleprev
dunstify -u low -i "$dunst_notif" "Master Layout"
notify-send -e -u low -i "$notif" "Master Layout"
;;
*) ;;

22
config/hypr/scripts/DarkLight.sh

@ -1,13 +1,13 @@
#!/bin/bash
#set -x
set -x
# Paths
wallpaper_base_path="$HOME/Pictures/wallpapers/Dynamic-Wallpapers"
dark_wallpapers="$wallpaper_base_path/Dark"
light_wallpapers="$wallpaper_base_path/Light"
hypr_config_path="$HOME/.config/hypr"
dunst_config="$HOME/.config/dunst"
swaync_style="$HOME/.config/swaync/style.css"
SCRIPTSDIR="$HOME/.config/hypr/scripts"
dunst_notif="$HOME/.config/dunst/images/bell.png"
notif="$HOME/.config/swaync/images/bell.png"
dark_rofi_pywal="$HOME/.cache/wal/colors-rofi-dark.rasi"
light_rofi_pywal="$HOME/.cache/wal/colors-rofi-light.rasi"
@ -38,7 +38,7 @@ update_theme_mode() {
# Function to notify user
notify_user() {
dunstify -u low -i "$dunst_notif" "Switching to $1 mode"
notify-send -u low -i "$notif" "Switching to $1 mode"
}
# Function to set Waybar style
@ -61,13 +61,14 @@ set_waybar_style() {
set_waybar_style "$next_mode"
notify_user "$next_mode"
# Change background for dunst
# swaync color change
if [ "$next_mode" = "Dark" ]; then
sed -i '/background = /s/.*/ background = "#00000095"/' "${dunst_config}/dunstrc"
sed -i '/foreground = /s/.*/ foreground = "#fafafa"/' "${dunst_config}/dunstrc"
sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(0, 0, 0, 0.8);/' "${swaync_style}"
sed -i '/@define-color noti-bg-alt/s/#.*;/#111111;/' "${swaync_style}"
else
sed -i '/background = /s/.*/ background = "#ffffff99"/' "${dunst_config}/dunstrc"
sed -i '/foreground = /s/.*/ foreground = "#00000095"/' "${dunst_config}/dunstrc"
sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(255, 255, 255, 0.9);/' "${swaync_style}"
sed -i '/@define-color noti-bg-alt/s/#.*;/#F0F0F0;/' "${swaync_style}"
fi
# Set Dynamic Wallpaper for Dark or Light Mode
@ -186,8 +187,7 @@ sleep 1
${SCRIPTSDIR}/Refresh.sh
# Display notifications for theme and icon changes
dunstify -u normal -i "$dunst_notif" "Themes are set to $selected_theme"
dunstify -u normal -i "$dunst_notif" "Icon themes set to $selected_icon"
notify-send -u normal -i "$notif" "Themes in $next_mode Mode"
exit 0

6
config/hypr/scripts/GameMode.sh

@ -1,6 +1,6 @@
#!/bin/bash
dunst_notif="$HOME/.config/dunst/images/bell.png"
notif="$HOME/.config/swaync/images/bell.png"
SCRIPTSDIR="$HOME/.config/hypr/scripts"
@ -15,7 +15,7 @@ if [ "$HYPRGAMEMODE" = 1 ] ; then
keyword general:border_size 1;\
keyword decoration:rounding 0"
swww kill
dunstify -u low -i "$dunst_notif" "gamemode enabled. All animations off"
notify-send -e -u low -i "$notif" "gamemode enabled. All animations off"
exit
else
swww init && swww img "$HOME/.config/rofi/.current_wallpaper"
@ -23,7 +23,7 @@ else
${SCRIPTSDIR}/PywalSwww.sh
sleep 0.5
${SCRIPTSDIR}/Refresh.sh
dunstify -u normal -i "$dunst_notif" "gamemode disabled. All animations normal"
notify-send -e -u normal -i "$notif" "gamemode disabled. All animations normal"
exit
fi
hyprctl reload

12
config/hypr/scripts/KeyHints.sh

@ -34,7 +34,6 @@ yad --width=$dynamic_width --height=$dynamic_height \
--column=Key: \
--column=Description: \
--column=Command: \
--timeout=60 \
--timeout-indicator=bottom \
"ESC" "close this app" "" "=" "SUPER KEY (Windows Key)" "(SUPER KEY)" \
" enter" "Terminal" "(kitty)" \
@ -45,13 +44,15 @@ yad --width=$dynamic_width --height=$dynamic_height \
" Alt V" "Clipboard Manager" "(cliphist)" \
" W" "Choose wallpaper" "(swww)" \
"CTRL ALT W" "Random wallpaper" "(swww)" \
" CTRL B" "Choose waybar styles" "(waybar styles)" \
" B" "Hide/UnHide Waybar" "waybar" \
" CTRL B" "Choose waybar styles" "(waybar styles)" \
" ALT B" "Choose waybar layout" "(waybar layout)" \
" ALT R" "Reload Waybar Dunst Rofi" "" \
" ALT R" "Reload Waybar swaync Rofi" "CHECK NOTIFICATION FIRST!!!" \
" SHIFT N" "Launch Notification Panel" "swaync Notification Center" \
" Print" "screenshot" "(grim)" \
" Shift Print" "screenshot region" "(grim + slurp)" \
" Shift S" "screenshot region" "(swappy)" \
"ALT Print" "Screenshot active window" "active window only" \
"CTRL ALT P" "power-menu" "(wlogout)" \
"CTRL ALT L" "screen lock" "(swaylock)" \
"CTRL ALT Del" "Hyprland Exit" "(SAVE YOUR WORK!!!)" \
@ -64,8 +65,7 @@ yad --width=$dynamic_width --height=$dynamic_height \
" H" "Launch this app" "" \
" E" "View or EDIT Keybinds, Settings, Monitor" "" \
"" "" "" \
"" "More tips on Hyprland-Dots github wiki page" ""\
"" "" "" \
"" "" "This window will auto-close in 60 secs" ""\
"More tips:" "https://github.com/JaKooLit/Hyprland-Dots/wiki" ""\

10
config/hypr/scripts/MediaCtrl.sh

@ -1,6 +1,6 @@
#!/bin/bash
music_icon="$HOME/.config/dunst/icons/music.png"
music_icon="$HOME/.config/swaync/icons/music.png"
# Play the next track
play_next() {
@ -23,18 +23,18 @@ toggle_play_pause() {
# Stop playback
stop_playback() {
playerctl stop
dunstify -r 123 -i "$music_icon" "Playback Stopped"
notify-send -e -u low -i "$music_icon" "Playback Stopped"
}
# Display Dunst notification with song information
# Display notification with song information
show_music_notification() {
status=$(playerctl status)
if [[ "$status" == "Playing" ]]; then
song_title=$(playerctl metadata title)
song_artist=$(playerctl metadata artist)
dunstify -r 123 -i "$music_icon" "Now Playing:" "$song_title\nby $song_artist"
notify-send -e -u low -i "$music_icon" "Now Playing:" "$song_title\nby $song_artist"
elif [[ "$status" == "Paused" ]]; then
dunstify -r 123 -i "$music_icon" "Playback Paused"
notify-send -e -u low -i "$music_icon" "Playback Paused"
fi
}

24
config/hypr/scripts/PywalDunst.sh

@ -1,24 +0,0 @@
#!/bin/sh
# -lf/nf/cf color
# Defines the foreground color for low, normal and critical notifications respectively.
#
# -lb/nb/cb color
# Defines the background color for low, normal and critical notifications respectively.
#
# -lfr/nfr/cfr color
# Defines the frame color for low, normal and critical notifications respectively.
[ -f "$HOME/.cache/wal/colors.sh" ] && . "$HOME/.cache/wal/colors.sh"
pkill dunst
DUNST_FILE=~/.config/dunst/dunstrc
# update dunst based on pywal colors.
#sed -i '/background = /s/.*/ background = "$color0"/' $DUNST_FILE
#sed -i '/foreground = /s/.*/ foreground = "'$color7'"/' $DUNST_FILE
sed -i '/frame_color = /s/.*/ frame_color = "'$color2'"/' $DUNST_FILE
sleep 0.3
dunst -config ~/.config/dunst/dunstrc > /dev/null 2>&1 &

33
config/hypr/scripts/QuickEdit.sh

@ -1,40 +1,49 @@
#!/bin/bash
hyprDir="$HOME/.config/hypr/configs"
defaultDir="$HOME/.config/hypr/configs"
userDir="$HOME/.config/hypr/UserConfigs"
menu(){
printf "1. view Env-variables\n"
printf "2. view Rules\n"
printf "3. view Execs (startup)\n"
printf "4. view KeyBinds\n"
printf "2. view Window-Rules\n"
printf "3. view Startup_Apps\n"
printf "4. view User-Keybinds\n"
printf "5. view Monitors\n"
printf "6. view Laptop-Keybinds\n"
printf "7. view Hyprland-Settings\n"
printf "7. view User-Settings\n"
printf "8. view Default-Settings\n"
printf "9. view Default-Keybinds\n"
}
main() {
choice=$(menu | rofi -dmenu -config ~/.config/rofi/config-compact.rasi | cut -d. -f1)
case $choice in
1)
kitty -e nano "$hyprDir/ENVariables.conf"
kitty -e nano "$userDir/ENVariables.conf"
;;
2)
kitty -e nano "$hyprDir/WindowRules.conf"
kitty -e nano "$userDir/WindowRules.conf"
;;
3)
kitty -e nano "$hyprDir/Execs.conf"
kitty -e nano "$userDir/Startup_Apps.conf"
;;
4)
kitty -e nano "$hyprDir/Keybinds.conf"
kitty -e nano "$userDir/UserKeybinds.conf"
;;
5)
kitty -e nano "$hyprDir/Monitors.conf"
kitty -e nano "$userDir/Monitors.conf"
;;
6)
kitty -e nano "$hyprDir/Laptops.conf"
kitty -e nano "$userDir/Laptops.conf"
;;
7)
kitty -e nano "$hyprDir/Settings.conf"
kitty -e nano "$userDir/UserSettings.conf"
;;
8)
kitty -e nano "$defaultDir/Settings.conf"
;;
9)
kitty -e nano "$defaultDir/Keybinds.conf"
;;
*)
;;

30
config/hypr/scripts/Refresh.sh

@ -1,26 +1,40 @@
#!/usr/bin/env bash
SCRIPTSDIR=$HOME/.config/hypr/scripts
UserSCRIPTSDIR=$HOME/.config/hypr/UserScripts
# Define file_exists function
file_exists() {
if [ -e "$1" ]; then
return 0 # File exists
else
return 1 # File does not exist
fi
}
# Kill already running processes
_ps=(waybar rofi)
_ps=(waybar rofi swaync)
for _prs in "${_ps[@]}"; do
if pidof "${_prs}" >/dev/null; then
pkill "${_prs}"
fi
done
sleep 0.1
sleep 0.3
# Relaunch waybar
waybar &
sleep 0.1
# Relaunch dunst with pywal-borders
${SCRIPTSDIR}/PywalDunst.sh &
# relaunch swaync
sleep 0.5
swaync > /dev/null 2>&1 &
# Relaunching rainbow borders
# Relaunching rainbow borders if the script exists
sleep 1
${SCRIPTSDIR}/RainbowBorders.sh &
if file_exists "${UserSCRIPTSDIR}/RainbowBorders.sh"; then
${UserSCRIPTSDIR}/RainbowBorders.sh &
fi
# for cava-pywal (note, need to manually restart cava once wallpaper changes)
ln -sf "$HOME/.cache/wal/cava-colors" "$HOME/.config/cava/config" || true
ln -sf "$HOME/.cache/wal/cava-colors" "$HOME/.config/cava/config" || true
exit 0

24
config/hypr/scripts/RefreshNoWaybar.sh

@ -5,6 +5,16 @@
# Modified inorder to refresh rofi background, Pywal
SCRIPTSDIR=$HOME/.config/hypr/scripts
UserSCRIPTSDIR=$HOME/.config/hypr/UserScripts
# Define file_exists function
file_exists() {
if [ -e "$1" ]; then
return 0 # File exists
else
return 1 # File does not exist
fi
}
# Kill already running processes
_ps=(rofi)
@ -17,13 +27,13 @@ done
# Pywal refresh
${SCRIPTSDIR}/PywalSwww.sh &
sleep 0.5
# Relaunch dunst with pywal-borders
${SCRIPTSDIR}/PywalDunst.sh &
# Relaunching rainbow borders
# Relaunching rainbow borders if the script exists
sleep 1
${SCRIPTSDIR}/RainbowBorders.sh &
if file_exists "${UserSCRIPTSDIR}/RainbowBorders.sh"; then
${UserSCRIPTSDIR}/RainbowBorders.sh &
fi
# for cava-pywal (note, need to manually restart cava once wallpaper changes)
ln -sf "$HOME/.cache/wal/cava-colors" "$HOME/.config/cava/config" || true
ln -sf "$HOME/.cache/wal/cava-colors" "$HOME/.config/cava/config" || true
exit 0

6
config/hypr/scripts/RofiBeats.sh

@ -1,7 +1,7 @@
#!/bin/bash
# Directory for icons
iDIR="$HOME/.config/dunst/icons"
iDIR="$HOME/.config/swaync/icons"
# Note: You can add more options below with the following format:
# ["TITLE"]="link"
@ -21,7 +21,7 @@ declare -A menu_options=(
# Function for displaying notifications
notification() {
dunstify -u normal -i "$iDIR/music.png" "Playing now: $@"
notify-send -u normal -i "$iDIR/music.png" "Playing now: $@"
}
# Main function
@ -45,4 +45,4 @@ main() {
}
# Check if an online music process is running and send a notification, otherwise run the main function
pkill -f http && dunstify -u low -i "$iDIR/music.png" "Online Music stopped" || main
pkill -f http && notify-send -u low -i "$iDIR/music.png" "Online Music stopped" || main

50
config/hypr/scripts/ScreenShot.sh

@ -1,27 +1,40 @@
#!/bin/bash
iDIR="$HOME/.config/dunst/icons"
iDIR="$HOME/.config/swaync/icons"
notify_cmd_shot="notify-send -h string:x-canonical-private-synchronous:shot-notify -u low -i ${iDIR}/picture.png"
time=$(date +%Y-%m-%d-%H-%M-%S)
time=$(date "+%d-%b_%H-%M-%S")
dir="$(xdg-user-dir)/Pictures/Screenshots"
file="Screenshot_${time}_${RANDOM}.png"
active_window_class=$(hyprctl -j activewindow | jq -r '(.class)')
active_window_file="Screenshot_${time}_${active_window_class}.png"
active_window_path="${dir}/${active_window_file}"
# notify and view screenshot
notify_cmd_shot="dunstify -h string:x-canonical-private-synchronous:shot-notify -u low -i ${iDIR}/picture.png"
notify_view() {
${notify_cmd_shot} "Copied to clipboard."
## viewnior ${dir}/"$file"
if [[ -e "$dir/$file" ]]; then
${notify_cmd_shot} "Screenshot Saved."
else
${notify_cmd_shot} "Screenshot Deleted."
fi
if [[ "$1" == "active" ]]; then
if [[ -e "${active_window_path}" ]]; then
${notify_cmd_shot} "Screenshot of '${active_window_class}' Saved."
else
${notify_cmd_shot} "Screenshot of '${active_window_class}' not Saved"
fi
else
local check_file="$dir/$file"
if [[ -e "$check_file" ]]; then
${notify_cmd_shot} "Screenshot Saved."
else
${notify_cmd_shot} "Screenshot NOT Saved."
fi
fi
}
# countdown
countdown() {
for sec in $(seq $1 -1 1); do
dunstify -h string:x-canonical-private-synchronous:shot-notify -t 1000 -i "$iDIR"/timer.png "Taking shot in : $sec"
notify-send -h string:x-canonical-private-synchronous:shot-notify -t 1000 -i "$iDIR"/timer.png "Taking shot in : $sec"
sleep 1
done
}
@ -59,6 +72,17 @@ shotarea() {
notify_view
}
shotactive() {
active_window_class=$(hyprctl -j activewindow | jq -r '(.class)')
active_window_file="Screenshot_${time}_${active_window_class}.png"
active_window_path="${dir}/${active_window_file}"
hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | grim -g - "${active_window_path}"
sleep 1
notify_view "active"
}
if [[ ! -d "$dir" ]]; then
mkdir -p "$dir"
fi
@ -73,8 +97,10 @@ elif [[ "$1" == "--win" ]]; then
shotwin
elif [[ "$1" == "--area" ]]; then
shotarea
elif [[ "$1" == "--active" ]]; then
shotactive
else
echo -e "Available Options : --now --in5 --in10 --win --area"
echo -e "Available Options : --now --in5 --in10 --win --area --active"
fi
exit 0

6
config/hypr/scripts/SwitchKeyboardLayout.sh

@ -1,8 +1,8 @@
#!/usr/bin/env bash
layout_f="$HOME/.cache/kb_layout"
settings_file="$HOME/.config/hypr/configs/Settings.conf"
dunst_notif="$HOME/.config/dunst/images/bell.png"
settings_file="$HOME/.config/hypr/UserConfigs/UserSettings.conf"
notif="$HOME/.config/swaync/images/bell.png"
# Check if ~/.cache/kb_layout exists and create it with a default layout from Settings.conf if not found
if [ ! -f "$layout_f" ]; then
@ -40,4 +40,4 @@ hyprctl keyword input:kb_layout "$new_layout"
echo "$new_layout" > "$layout_f"
# Notification for the new keyboard layout
dunstify -u low -i "$dunst_notif" "Keyboard layout set to $new_layout"
notify-send -u low -i "$notif" "new KB_Layout: $new_layout"

50
config/hypr/scripts/TouchPad.sh

@ -1,38 +1,22 @@
#!/bin/bash
dunst_notif="$HOME/.config/dunst/images/bell.png"
# NOTE: find the right device using hyprctl devices
HYPRLAND_DEVICE="asue1209:00-04f3:319f-touchpad"
if [ -z "$XDG_RUNTIME_DIR" ]; then
export XDG_RUNTIME_DIR=/run/user/$(id -u)
fi
export STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status"
enable_touchpad() {
printf "true" > "$STATUS_FILE"
dunstify -u low -i "$dunst_notif" "Enabling Touchpad"
hyprctl keyword "device:$HYPRLAND_DEVICE:enabled" true
}
disable_touchpad() {
printf "false" > "$STATUS_FILE"
dunstify -u low -i "$dunst_notif" "Disabling Touchpad"
HYPRLAND_DEVICE="asue1209:00-04f3:319f-touchpad"
notif="$HOME/.config/swaync/images/bell.png"
XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/run/user/$(id -u)}
STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status"
toggle_touchpad() {
if [ ! -f "$STATUS_FILE" ] || [ "$(cat "$STATUS_FILE")" = "false" ]; then
echo "true" > "$STATUS_FILE"
action="enabled"
else
echo "false" > "$STATUS_FILE"
action="disabled"
fi
hyprctl keyword "device:$HYPRLAND_DEVICE:enabled" false
notify-send -u low -i "$notif" "Touchpad $action"
hyprctl keyword "device:$HYPRLAND_DEVICE:enabled" "$(cat "$STATUS_FILE")"
}
if ! [ -f "$STATUS_FILE" ]; then
enable_touchpad
else
if [ $(cat "$STATUS_FILE") = "true" ]; then
disable_touchpad
elif [ $(cat "$STATUS_FILE") = "false" ]; then
enable_touchpad
fi
fi
toggle_touchpad

16
config/hypr/scripts/Volume.sh

@ -1,6 +1,6 @@
#!/bin/bash
iDIR="$HOME/.config/dunst/icons"
iDIR="$HOME/.config/swaync/icons"
# Get Volume
get_volume() {
@ -29,9 +29,9 @@ get_icon() {
# Notify
notify_user() {
if [[ "$(get_volume)" == "Muted" ]]; then
dunstify -h string:x-dunst-stack-tag:volume_notif -u low -i "$(get_icon)" "Volume: Muted"
notify-send -e -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" "Volume: Muted"
else
dunstify -h int:value:"$(get_volume | sed 's/%//')" -h string:x-dunst-stack-tag:volume_notif -u low -i "$(get_icon)" "Volume: $(get_volume)"
notify-send -e -h int:value:"$(get_volume | sed 's/%//')" -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" "Volume: $(get_volume)"
fi
}
@ -54,18 +54,18 @@ dec_volume() {
# Toggle Mute
toggle_mute() {
if [ "$(pamixer --get-mute)" == "false" ]; then
pamixer -m && dunstify -u low -i "$iDIR/volume-mute.png" "Volume Switched OFF"
pamixer -m && notify-send -e -u low -i "$iDIR/volume-mute.png" "Volume Switched OFF"
elif [ "$(pamixer --get-mute)" == "true" ]; then
pamixer -u && dunstify -u low -i "$(get_icon)" "Volume Switched ON"
pamixer -u && notify-send -e -u low -i "$(get_icon)" "Volume Switched ON"
fi
}
# Toggle Mic
toggle_mic() {
if [ "$(pamixer --default-source --get-mute)" == "false" ]; then
pamixer --default-source -m && dunstify -u low -i "$iDIR/microphone-mute.png" "Microphone Switched OFF"
pamixer --default-source -m && notify-send -e -u low -i "$iDIR/microphone-mute.png" "Microphone Switched OFF"
elif [ "$(pamixer --default-source --get-mute)" == "true" ]; then
pamixer -u --default-source u && dunstify -u low -i "$iDIR/microphone.png" "Microphone Switched ON"
pamixer -u --default-source u && notify-send -e -u low -i "$iDIR/microphone.png" "Microphone Switched ON"
fi
}
# Get Mic Icon
@ -92,7 +92,7 @@ get_mic_volume() {
notify_mic_user() {
volume=$(get_mic_volume)
icon=$(get_mic_icon)
dunstify -h int:value:"$volume" -h "string:x-dunst-stack-tag:volume_notif" -u low -i "$icon" "Mic-Level: $volume"
notify-send -e -h int:value:"$volume" -h "string:x-canonical-private-synchronous:volume_notif" -u low -i "$icon" "Mic-Level: $volume"
}
# Increase MIC Volume

0
config/hypr/v2.2.1 → config/hypr/v2.2.2

7
config/kitty/kitty.conf

@ -1,7 +1,7 @@
#include ~/.cache/wal/colors-kitty.conf
font_family Fira Code SemiBold
font_size 12.0
font_size 13.0
bold_font auto
italic_font auto
bold_italic_font auto
@ -10,4 +10,7 @@ background_opacity 0.7
confirm_os_window_close 0
enable_audio_bell no
enable_audio_bell no
selection_foreground #000000
selection_background #F5FBFF

2
config/rofi/config-compact.rasi

@ -115,7 +115,7 @@ listview {
spacing: 4px;
dynamic: true;
cycle: true;
scrollbar: false;
scrollbar: true;
layout: vertical;
reverse: false;
fixed-height: true;

2
config/rofi/resolution/1080p/config-compact.rasi

@ -115,7 +115,7 @@ listview {
spacing: 4px;
dynamic: true;
cycle: true;
scrollbar: false;
scrollbar: true;
layout: vertical;
reverse: false;
fixed-height: true;

2
config/rofi/resolution/1440p/config-compact.rasi

@ -115,7 +115,7 @@ listview {
spacing: 4px;
dynamic: true;
cycle: true;
scrollbar: false;
scrollbar: true;
layout: vertical;
reverse: false;
fixed-height: true;

100
config/swaync/config.json

@ -0,0 +1,100 @@
{
"$schema": "/etc/xdg/swaync/configSchema.json",
"positionX": "center",
"positionY": "top",
"layer": "overlay",
"control-center-layer": "top",
"layer-shell": true,
"cssPriority": "application",
"control-center-margin-top": 5,
"control-center-margin-bottom": 0,
"control-center-margin-right": 0,
"control-center-margin-left": 0,
"notification-2fa-action": true,
"notification-inline-replies": false,
"notification-icon-size": 24,
"notification-body-image-height": 100,
"notification-body-image-width": 200,
"timeout": 6,
"timeout-low": 3,
"timeout-critical": 0,
"fit-to-screen": false,
"control-center-width": 350,
"control-center-height": 720,
"notification-window-width": 400,
"keyboard-shortcuts": true,
"image-visibility": "when available",
"transition-time": 200,
"hide-on-clear": false,
"hide-on-action": true,
"script-fail-notify": true,
"widgets": [
"dnd",
"buttons-grid",
"mpris",
"volume",
"backlight",
"title",
"notifications"
],
"widget-config": {
"title": {
"text": "Notifications",
"clear-all-button": true,
"button-text": "Clear"
},
"dnd": {
"text": "Do Not Disturb"
},
"label": {
"max-lines": 1,
"text": "Notification"
},
"mpris": {
"image-size": 10,
"image-radius": 0
},
"volume": {
"label": "󰕾"
},
"backlight": {
"label": "󰃟"
},
"buttons-grid": {
"actions": [
{
"label": "󰐥",
"command": "systemctl poweroff"
},
{
"label": "󰜉",
"command": "systemctl reboot"
},
{
"label": "󰌾",
"command": "~/.config/hypr/scripts/LockScreen.sh"
},
{
"label": "󰍃",
"command": "hyprctl dispatch exit"
},
{
"label": "󰀝",
"command": "~/.config/hypr/scripts/AirplaneMode.sh"
},
{
"label": "󰕾",
"command": "pactl set-sink-mute @DEFAULT_SINK@ toggle"
},
{
"label": "󰍬",
"command": "pactl set-source-mute @DEFAULT_SOURCE@ toggle"
},
{
"label": "󰂯",
"command": "blueman-manager"
}
]
}
}
}

0
config/dunst/icons/backup.png → config/swaync/icons/backup.png

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

0
config/dunst/icons/battery-quarter-solid.svg → config/swaync/icons/battery-quarter-solid.svg

Before

Width:  |  Height:  |  Size: 523 B

After

Width:  |  Height:  |  Size: 523 B

0
config/dunst/icons/battery-status.png → config/swaync/icons/battery-status.png

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

0
config/dunst/icons/brightness-100.png → config/swaync/icons/brightness-100.png

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

0
config/dunst/icons/brightness-20.png → config/swaync/icons/brightness-20.png

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

0
config/dunst/icons/brightness-40.png → config/swaync/icons/brightness-40.png

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

0
config/dunst/icons/brightness-60.png → config/swaync/icons/brightness-60.png

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

0
config/dunst/icons/brightness-80.png → config/swaync/icons/brightness-80.png

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

0
config/dunst/icons/dropper.png → config/swaync/icons/dropper.png

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

0
config/dunst/icons/microphone-mute.png → config/swaync/icons/microphone-mute.png

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

0
config/dunst/icons/microphone.png → config/swaync/icons/microphone.png

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

0
config/dunst/icons/music.png → config/swaync/icons/music.png

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

0
config/dunst/icons/palette.png → config/swaync/icons/palette.png

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

0
config/dunst/icons/picture.png → config/swaync/icons/picture.png

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

0
config/dunst/icons/timer.png → config/swaync/icons/timer.png

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

0
config/dunst/icons/uptime.png → config/swaync/icons/uptime.png

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

0
config/dunst/icons/volume-high.png → config/swaync/icons/volume-high.png

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

0
config/dunst/icons/volume-low.png → config/swaync/icons/volume-low.png

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

0
config/dunst/icons/volume-mid.png → config/swaync/icons/volume-mid.png

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

0
config/dunst/icons/volume-mute.png → config/swaync/icons/volume-mute.png

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

0
config/dunst/icons/vpn.png → config/swaync/icons/vpn.png

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

0
config/dunst/images/bell.png → config/swaync/images/bell.png

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

349
config/swaync/style.css

@ -0,0 +1,349 @@
/* ----------- 💫 https://github.com/JaKooLit 💫 -------- */
@import '../../.cache/wal/colors-waybar.css';
@define-color noti-border-color @color2;
@define-color noti-bg rgba(0, 0, 0, 0.8);
@define-color noti-bg-alt #111111;
@define-color noti-bg-hover @color2;
@define-color text-color @color2;
@define-color text-color-alt @color7;
@define-color text-color-disabled rgba(150, 150, 150, 0.8);
* {
font-family: FiraCode;
font-weight: Bolder;
}
.control-center .notification-row:focus,
.control-center .notification-row:hover {
opacity: 1;
background: @noti-bg;
border-radius: 10px
}
.notification-row {
outline: none;
margin: 0px;
}
.notification {
border-radius: 10px;
}
.notification-content{
color: @text-color;
background: @noti-bg;
padding: 3px 10px 3px 6px;
border-radius: 10px;
border: 2px solid @noti-border-color;
margin: 0px;
}
.notification-default-action {
margin: 0;
padding: 0;
border-radius: 10px;
}
.close-button {
background: #f7768e;
color: @noti-bg;
text-shadow: none;
padding: 0;
border-radius: 10px;
margin-top: 5px;
margin-right: 5px;
}
.close-button:hover {
box-shadow: none;
background: #f7768e;
transition: all .15s ease-in-out;
border: none
}
.notification-action {
border: 2px solid @noti-border-color;
border-top: none;
border-radius: 10px;
}
.notification-default-action:hover,
.notification-action:hover {
color: @text-color;
background: @color1
}
.notification-default-action {
border-radius: 10px;
margin: 5px;
}
.notification-default-action:not(:only-child) {
border-bottom-left-radius: 7px;
border-bottom-right-radius: 7px
}
.notification-action:first-child {
border-bottom-left-radius: 10px;
background: #1b1b2b
}
.notification-action:last-child {
border-bottom-right-radius: 10px;
background: #1b1b2b
}
.inline-reply {
margin-top: 8px
}
.inline-reply-entry {
background: @noti-bg;
color: @text-color;
caret-color: @text-color;
border: 1px solid @noti-border-color;
border-radius: 10px
}
.inline-reply-button {
font-size: 0.5rem;
margin-left: 4px;
background: @noti-bg;
border: 1px solid @noti-border-color;
border-radius: 10px;
color: @text-color
}
.inline-reply-button:disabled {
background: initial;
color: @text-color-disabled;
border: 1px solid transparent
}
.inline-reply-button:hover {
background: @noti-bg-hover
}
.body-image {
margin-top: 6px;
color: @text-color-alt;
border-radius: 10px
}
.summary {
font-size: 1rem;
font-weight: 200;
background: transparent;
color: @text-color-alt;
text-shadow: none
}
.time {
font-size: 1rem;
font-weight: 200;
background: transparent;
color: @text-color;
text-shadow: none;
margin-right: 18px
}
.body {
font-size: 1rem;
font-weight: 200;
background: transparent;
color: @text-color;
text-shadow: none
}
.control-center {
background: @noti-bg;
border: 2px solid @noti-border-color;
border-radius: 10px;
}
.control-center-list {
background: transparent
}
.control-center-list-placeholder {
opacity: 0.5
}
.floating-notifications {
background: transparent;
}
.blank-window {
background: alpha(black, 0.1)
}
.widget-title {
color: @noti-border-color;
background: @noti-bg-alt;
padding: 3px 6px;
margin: 5px;
font-size: 1rem;
border-radius: 10px;
}
.widget-title>button {
font-size: 0.75rem;
color: @text-color;
border-radius: 10px;
background: transparent;
border: 0.5px solid @noti-border-color;
}
.widget-title>button:hover {
background: #f7768e;
color: @noti-border-color;
}
.widget-dnd {
background: @noti-bg-alt;
padding: 3px 6px;
margin: 5px;
border-radius: 10px;
font-size: 1rem;
color: @noti-border-color;
}
.widget-dnd>switch {
border-radius: 10px;
/* border: 1px solid #7aa2f7; */
background: @noti-border-color;
}
.widget-dnd>switch:checked {
background: #f7768e;
border: 1px solid #f7768e;
}
.widget-dnd>switch slider {
background: @noti-bg;
border-radius: 10px
}
.widget-dnd>switch:checked slider {
background: @noti-bg;
border-radius: 10px
}
.widget-label {
margin: 5px;
}
.widget-label>label {
font-size: 1rem;
color: @text-color;
}
.widget-mpris {
color: @text-color;
background: @noti-bg-alt;
padding: 3px 6px;
margin: 5px;
border-radius: 10px;
}
.widget-mpris > box > button {
border-radius: 10px;
}
.widget-mpris-player {
padding: 3px 6px;
margin: 5px;
}
.widget-mpris-title {
font-weight: 100;
font-size: 1rem
}
.widget-mpris-subtitle {
font-size: 0.75rem
}
.widget-buttons-grid {
font-size: large;
color: @noti-border-color;
padding: 2px;
margin: 5px;
border-radius: 10px;
background: @noti-bg-alt;
}
.widget-buttons-grid>flowbox>flowboxchild>button {
margin: 1px;
background: @noti-bg;
border-radius: 10px;
color: @text-color
}
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
background: rgba(122, 162, 247, 0.1);
color: @text-color-alt
}
.widget-menubar>box>.menu-button-bar>button {
border: none;
background: transparent
}
.topbar-buttons>button {
border: none;
background: transparent
}
.widget-volume {
background: @noti-bg-alt;
padding: 2px;
margin: 10px 10px 5px 10px;
border-radius: 10px;
font-size: x-large;
color: @text-color
}
.widget-volume>box>button {
background: #7aa2f7;
border: none
}
.per-app-volume {
background-color: @noti-bg;
padding: 4px 8px 8px;
margin: 0 8px 8px;
border-radius: 10px;
color: @text-color
}
.widget-backlight {
background: @noti-bg-alt;
padding: 5px;
margin: 10px 10px 5px 10px;
border-radius: 10px;
font-size: x-large;
color: @text-color
}
.low {
background: @text-color;
padding: 0px;
border-radius: 10px;
}
.normal {
background: @text-color;
padding: 0px;
border-radius: 10px;
}
.critical {
background: red;
padding: 0px;
border-radius: 10px;
}

3
config/waybar/configs/[BOT & Left] SouthWest

@ -67,7 +67,8 @@
],
"modules-right": [
"mpris",
"mpris",
"custom/swaync",
"tray",
"custom/light_dark",
],

3
config/waybar/configs/[BOT & Right] SouthEast

@ -67,7 +67,8 @@
],
"modules-right": [
"mpris",
"mpris",
"custom/swaync",
"tray",
"custom/light_dark",
],

1
config/waybar/configs/[BOT] Camellia

@ -24,6 +24,7 @@
"hyprland/workspaces#cam",
"custom/separator#line",
"mpris",
"custom/swaync",
"tray#cam",
"wlr/taskbar"],

2
config/waybar/configs/[BOT] Chrysanthemum

@ -17,7 +17,7 @@
"margin-left": 5,
"margin-right": 5,
"modules-left": ["clock#gar", "mpris", "tray"],
"modules-left": ["clock#gar", "mpris", "custom/swaync", "tray"],
"modules-center": ["hyprland/workspaces"],

1
config/waybar/configs/[BOT] Default

@ -45,6 +45,7 @@
"modules-right": [
"network#speed",
"custom/separator#dot-line",
"custom/swaync",
"tray",
"mpris",
"custom/separator#dot-line",

2
config/waybar/configs/[BOT] Gardenia

@ -20,7 +20,7 @@
"margin-bottom": 5,
"width": 768,
"modules-left": ["clock#gar", "mpris", "tray"],
"modules-left": ["clock#gar", "mpris", "custom/swaync", "tray"],
"modules-center": ["hyprland/workspaces#kanji"],

3
config/waybar/configs/[BOT] Peony

@ -32,7 +32,8 @@
"custom/separator#blank",
"temperature",
"custom/separator#blank",
"network#peony"],
"network#peony",
"custom/swaync"],
//M O D U L E S //

4
config/waybar/configs/[BOT] Sleek

@ -24,10 +24,10 @@
"modules-right": [
"tray",
"custom/swaync",
"pulseaudio",
"clock",
"custom/power"
"custom/power"
],

2
config/waybar/configs/[Left] WestWing

@ -27,7 +27,7 @@
"modules-right": [
"mpris",
"tray",
//"network",
"custom/swaync",
"backlight#vertical",
"pulseaudio#microphone_vertical",
"pulseaudio#vertical",

2
config/waybar/configs/[Right] EastWing

@ -27,7 +27,7 @@
"modules-right": [
"mpris",
"tray",
//"network",
"custom/swaync",
"backlight#vertical",
"pulseaudio#microphone_vertical",
"pulseaudio#vertical",

1
config/waybar/configs/[TOP & BOT] SummitSplit

@ -68,6 +68,7 @@
"modules-right": [
"hyprland/window",
"tray",
"custom/swaync",
"mpris",
"keyboard-state",
"pulseaudio",

15
config/waybar/configs/[TOP & Left] NorthWest

@ -18,25 +18,25 @@
"margin-right": 8,
"modules-left": [
"custom/menu",
"custom/menu",
"custom/separator#blank_2",
"group/motherboard",
],
"modules-center": [
//"hyprland/window",
"hyprland/workspaces#pacman",
//"hyprland/window",
"hyprland/workspaces#pacman",
],
"modules-right": [
"network",
"bluetooth",
"network",
"bluetooth",
"custom/weather",
"custom/separator#blank_2",
"group/audio",
"custom/separator#blank_2",
"keyboard-state",
"custom/power",
"keyboard-state",
"custom/power",
],
},
@ -64,6 +64,7 @@
"modules-right": [
"mpris",
"custom/swaync",
"tray",
"custom/light_dark",
],

1
config/waybar/configs/[TOP & Right] NorthEast

@ -65,6 +65,7 @@
"modules-right": [
"mpris",
"custom/swaync",
"tray",
"custom/light_dark",
],

3
config/waybar/configs/[TOP] Camellia

@ -23,7 +23,8 @@
"modules-left": [
"hyprland/workspaces#cam",
"custom/separator#line",
"mpris",
"mpris",
"custom/swaync",
"tray#cam",
"wlr/taskbar"
],

2
config/waybar/configs/[TOP] Chrysanthemum

@ -18,7 +18,7 @@
"margin-right": 5,
"margin-top": 0,
"modules-left": ["clock#gar", "mpris", "tray"],
"modules-left": ["clock#gar", "mpris", "tray", "custom/swaync"],
"modules-center": ["hyprland/workspaces"],

1
config/waybar/configs/[TOP] Default

@ -45,6 +45,7 @@
"modules-right": [
"network#speed",
"custom/separator#dot-line",
"custom/swaync",
"tray",
"mpris",
"custom/separator#dot-line",

1
config/waybar/configs/[TOP] Default Laptop

@ -45,6 +45,7 @@
"modules-right": [
"network#speed",
"custom/separator#dot-line",
"custom/swaync",
"tray",
"mpris",
"custom/separator#dot-line",

2
config/waybar/configs/[TOP] Gardenia

@ -19,7 +19,7 @@
//"margin-bottom": 5,
"width": 768,
"modules-left": ["clock#gar", "mpris", "tray"],
"modules-left": ["clock#gar", "mpris", "tray", "custom/swaync"],
"modules-center": ["hyprland/workspaces#kanji"],

1
config/waybar/configs/[TOP] Minimal - Long

@ -22,6 +22,7 @@
"hyprland/workspaces#pacman",
"custom/separator#blank_2",
"mpris",
"custom/swaync",
"tray",
],
"modules-center": [

1
config/waybar/configs/[TOP] Minimal - Short

@ -21,6 +21,7 @@
"modules-right": [
"custom/menu",
"tray",
"custom/swaync",
"mpris",
"network",
"bluetooth",

2
config/waybar/configs/[TOP] Peony

@ -19,7 +19,7 @@
//"margin-bottom": 5,
"width": 1444,
"modules-left": ["hyprland/workspaces#roman", "mpris", "tray#peony"],
"modules-left": ["hyprland/workspaces#roman", "mpris", "custom/swaync", "tray#peony"],
"modules-center": ["clock#peony"],

13
config/waybar/configs/[TOP] Sleek

@ -13,7 +13,8 @@
"modules-left": [
"custom/menu",
"custom/separator#blank_2",
"mpris",
"clock",
"custom/separator#blank_2",
"hyprland/window"
],
@ -22,11 +23,15 @@
],
"modules-right": [
"custom/swaync",
"custom/separator#blank",
"tray",
"custom/separator#blank",
"mpris",
"custom/separator#blank",
"pulseaudio",
"clock",
"custom/power"
"custom/separator#blank",
"custom/power",
],

28
config/waybar/modules

@ -526,7 +526,7 @@
"exec": "echo ; echo 󱓟 app launcher",
"interval" : 86400, // once every day
"tooltip": true,
"on-click": "pkill rofi || rofi -show drun -modi run,drun,filebrowser",
"on-click": "pkill rofi || rofi -show drun -modi run,drun,filebrowser,window",
"on-click-middle": "~/.config/hypr/scripts/WallpaperSelect.sh",
"on-click-right": "~/.config/hypr/scripts/WaybarLayout.sh",
},
@ -544,6 +544,27 @@
"on-scroll-down": "~/.config/hypr/scripts/Volume.sh --dec",
"smooth-scrolling-threshold": 1,
},
"custom/swaync": {
"tooltip":true,
"format": "{icon} {}",
"format-icons": {
"notification": "<span foreground='red'><sup></sup></span>",
"none": "",
"dnd-notification": "<span foreground='red'><sup></sup></span>",
"dnd-none": "",
"inhibited-notification": "<span foreground='red'><sup></sup></span>",
"inhibited-none": "",
"dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
"dnd-inhibited-none": ""
},
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"on-click": "sleep 0.1 && swaync-client -t -sw",
"on-click-right": "swaync-client -d -sw",
"escape": true,
},
"custom/power": {
"format": "⏻ ",
@ -569,8 +590,8 @@
"format-alt-click": "click",
"interval": 3600,
"return-type": "json",
"exec": "~/.config/hypr/scripts/Weather.sh",
//"exec": "~/.config/hypr/scripts/Weather.py",
"exec": "~/.config/hypr/UserScripts/Weather.sh",
//"exec": "~/.config/hypr/UserScripts/Weather.py",
"exec-if": "ping wttr.in -c1",
"tooltip" : true,
},
@ -715,7 +736,6 @@
"tooltip": true,
},
}

5
config/waybar/style/Catppuccin-Latte.css

@ -75,6 +75,7 @@ window#waybar.hidden {
#custom-lock,
#custom-menu,
#custom-power,
#custom-speaker,
#custom-power_vertical,
#custom-updater,
#custom-weather,
@ -123,6 +124,10 @@ window#waybar.hidden {
box-shadow: inset 0 -3px transparent;
}
#bluetooth {
color: @blue;
}
#clock {
color: @yellow;
}

3
config/waybar/style/Catppuccin-Mocha.css

@ -82,7 +82,7 @@ window#waybar.hidden {
#custom-menu,
#custom-power_vertical,
#custom-power,
#custom-speaker,
#custom-swaync,
#custom-updater,
#custom-weather,
#custom-weather.clearNight,
@ -105,6 +105,7 @@ window#waybar.hidden {
color: @blue;
}
#bluetooth,
#backlight {
color: @blue;
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save