@ -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.] |
||||
@ -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.] |
||||
@ -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.] |
||||
@ -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.] |
||||
@ -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. |
||||
@ -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. |
||||
@ -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) |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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,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 |
||||
@ -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 |
||||
@ -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 |
||||
|
||||
|
||||
|
||||
|
||||
@ -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 |
||||
|
||||
@ -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 |
||||
|
||||
@ -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 & |
||||
@ -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 |
||||
@ -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 |
||||
|
||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 523 B After Width: | Height: | Size: 523 B |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
@ -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; |
||||
} |
||||