Compare commits
9 Commits
5714f8612c
...
linux
| Author | SHA1 | Date | |
|---|---|---|---|
| 2fb3eb1f52 | |||
| 28441df095 | |||
| 2670f63d20 | |||
| 34b5a37e8a | |||
| 7256aef51f | |||
| 05499d1bf7 | |||
| c0a61cf814 | |||
| 88c24e8d37 | |||
| df5b4cd922 |
1
.config/ClickUp/Preferences
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"partition":{"per_host_zoom_levels":{"17930316523213634392":{"app.clickup.com":2.0}}},"spellcheck":{"dictionaries":["en-US","de-DE"],"dictionary":""}}
|
||||||
@ -46,7 +46,7 @@
|
|||||||
},
|
},
|
||||||
// ------------------ 2. FILE MANAGEMENT -----------------
|
// ------------------ 2. FILE MANAGEMENT -----------------
|
||||||
{
|
{
|
||||||
"key": "ctrl+a f",
|
"key": "ctrl+e",
|
||||||
"command": "workbench.files.action.focusFilesExplorer"
|
"command": "workbench.files.action.focusFilesExplorer"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -65,11 +65,6 @@
|
|||||||
"command": "editor.action.rename",
|
"command": "editor.action.rename",
|
||||||
"when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
|
"when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "shift+ctrl+i",
|
|
||||||
"command": "editor.action.peekImplementation",
|
|
||||||
"when": "editorHasImplementationProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "shift+ctrl+d",
|
"key": "shift+ctrl+d",
|
||||||
"command": "editor.action.revealDefinition",
|
"command": "editor.action.revealDefinition",
|
||||||
@ -232,4 +227,174 @@
|
|||||||
"key": "ctrl+a",
|
"key": "ctrl+a",
|
||||||
"command": "-editor.action.selectAll"
|
"command": "-editor.action.selectAll"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+w",
|
||||||
|
"command": "-toggleSearchEditorWholeWord",
|
||||||
|
"when": "inSearchEditor && searchInputBoxFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+w",
|
||||||
|
"command": "-workbench.action.terminal.toggleFindWholeWord",
|
||||||
|
"when": "terminalFindVisible && terminalHasBeenCreated || terminalFindVisible && terminalProcessSupported"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+w",
|
||||||
|
"command": "-toggleFindWholeWord",
|
||||||
|
"when": "editorFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+w",
|
||||||
|
"command": "-toggleSearchWholeWord",
|
||||||
|
"when": "searchViewletFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+w",
|
||||||
|
"command": "editor.emmet.action.wrapWithAbbreviation",
|
||||||
|
"when": "editorFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+i",
|
||||||
|
"command": "-workbench.action.toggleDevTools",
|
||||||
|
"when": "isDevelopment"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+i",
|
||||||
|
"command": "-notebook.formatCell",
|
||||||
|
"when": "editorHasDocumentFormattingProvider && editorTextFocus && inCompositeEditor && notebookEditable && !editorReadonly && activeEditor == 'workbench.editor.notebook'"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+i",
|
||||||
|
"command": "-editor.action.formatDocument",
|
||||||
|
"when": "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+i",
|
||||||
|
"command": "-editor.action.formatDocument.none",
|
||||||
|
"when": "editorTextFocus && !editorHasDocumentFormattingProvider && !editorReadonly"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+i",
|
||||||
|
"command": "-notebook.format",
|
||||||
|
"when": "notebookEditable && !editorTextFocus && activeEditor == 'workbench.editor.notebook'"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+[Comma] ctrl+shift+i",
|
||||||
|
"command": "-testing.toggleInlineCoverage"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+alt+i",
|
||||||
|
"command": "-workbench.action.chat.open",
|
||||||
|
"when": "chatPanelParticipantRegistered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+i",
|
||||||
|
"command": "workbench.action.chat.openInEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+k e",
|
||||||
|
"command": "-workbench.files.action.focusOpenEditorsView",
|
||||||
|
"when": "workbench.explorer.openEditorsView.active"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+e",
|
||||||
|
"command": "-workbench.action.quickOpen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+e",
|
||||||
|
"command": "-thunder-client.change-env",
|
||||||
|
"when": "activeWebviewPanelId == 'tc.env-view' || activeWebviewPanelId == 'tc.request-view' || activeWebviewPanelId == 'tc.runcol-view'"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+e",
|
||||||
|
"command": "-editor.action.toggleScreenReaderAccessibilityMode",
|
||||||
|
"when": "accessibilityHelpIsShown"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+r",
|
||||||
|
"command": "renameFile",
|
||||||
|
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "f2",
|
||||||
|
"command": "-renameFile",
|
||||||
|
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+l",
|
||||||
|
"command": "-notebook.centerActiveCell",
|
||||||
|
"when": "notebookEditorFocused"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+h",
|
||||||
|
"command": "-workbench.action.replaceInFiles"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+h",
|
||||||
|
"command": "references-view.showCallHierarchy",
|
||||||
|
"when": "editorHasCallHierarchyProvider"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+c",
|
||||||
|
"command": "workbench.files.action.collapseExplorerFolders",
|
||||||
|
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !inputFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+p",
|
||||||
|
"command": "goto-folder.find-folder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+alt+m",
|
||||||
|
"command": "-goto-folder.find-folder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+p",
|
||||||
|
"command": "-togglePreserveCase",
|
||||||
|
"when": "editorFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+p",
|
||||||
|
"command": "-toggleSearchPreserveCase",
|
||||||
|
"when": "searchViewletFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+p",
|
||||||
|
"command": "-keybindings.editor.toggleSortByPrecedence",
|
||||||
|
"when": "inKeybindings"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+g",
|
||||||
|
"command": "-workbench.action.terminal.openDetectedLink",
|
||||||
|
"when": "accessibleViewIsShown && terminalHasBeenCreated && accessibleViewCurrentProviderId == 'terminal'"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+g",
|
||||||
|
"command": "-workbench.view.scm",
|
||||||
|
"when": "workbench.scm.active"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+alt+g",
|
||||||
|
"command": "-workbench.action.terminal.sendSequence",
|
||||||
|
"when": "terminalFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+g",
|
||||||
|
"command": "-workbench.action.terminal.goToRecentDirectory",
|
||||||
|
"when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+g",
|
||||||
|
"command": "workbench.action.gotoLine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+g",
|
||||||
|
"command": "-workbench.action.gotoLine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+g",
|
||||||
|
"command": "relative-goto.goto"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+g",
|
||||||
|
"command": "-relative-goto.goto"
|
||||||
|
},
|
||||||
]
|
]
|
||||||
@ -27,6 +27,11 @@
|
|||||||
"**/.ammonite": true
|
"**/.ammonite": true
|
||||||
},
|
},
|
||||||
//
|
//
|
||||||
|
// File associations with languages
|
||||||
|
"files.associations": {
|
||||||
|
"*.pgpass" : "yaml",
|
||||||
|
},
|
||||||
|
//
|
||||||
// Settings Sync
|
// Settings Sync
|
||||||
"settingsSync.ignoredSettings": [
|
"settingsSync.ignoredSettings": [
|
||||||
"sshfs.configs",
|
"sshfs.configs",
|
||||||
@ -92,7 +97,7 @@
|
|||||||
"emmet.showAbbreviationSuggestions": false,
|
"emmet.showAbbreviationSuggestions": false,
|
||||||
"editor.linkedEditing": true,
|
"editor.linkedEditing": true,
|
||||||
"editor.codeActionsOnSave": {
|
"editor.codeActionsOnSave": {
|
||||||
"source.organizeImports": "always"
|
// "source.organizeImports": "always"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//
|
//
|
||||||
@ -112,4 +117,10 @@
|
|||||||
"emmet.showExpandedAbbreviation": "never",
|
"emmet.showExpandedAbbreviation": "never",
|
||||||
"git.openRepositoryInParentFolders": "never",
|
"git.openRepositoryInParentFolders": "never",
|
||||||
"editor.selectionClipboard": false,
|
"editor.selectionClipboard": false,
|
||||||
|
"git.blame.editorDecoration.enabled": true,
|
||||||
|
"python.analysis.typeCheckingMode": "basic",
|
||||||
|
"workbench.editor.empty.hint": "hidden",
|
||||||
|
"python.defaultInterpreterPath": "/home/paul/.pyenv/versions/3.12.5/envs/wasteside-tools",
|
||||||
|
"editor.lineNumbers": "relative",
|
||||||
|
"github.copilot.nextEditSuggestions.enabled": true,
|
||||||
}
|
}
|
||||||
@ -47,7 +47,8 @@ bindings = [
|
|||||||
|
|
||||||
[keyboard]
|
[keyboard]
|
||||||
bindings = [
|
bindings = [
|
||||||
{ key = "Back", mods = "Control", chars = "\u001b\u007f"}
|
{ key = "Back", mods = "Control", chars = "\u001b\u007f"},
|
||||||
|
{ key = "N", mods = "Control", action = "SpawnNewInstance" }
|
||||||
]
|
]
|
||||||
|
|
||||||
[scrolling]
|
[scrolling]
|
||||||
|
|||||||
2
.config/code-flags.conf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
--enable-features=UseOzonePlatform
|
||||||
|
--ozone-platform=wayland
|
||||||
1
.config/dunst/default.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#fff" d="M18.75 9v.704c0 .845.24 1.671.692 2.374l1.108 1.723c1.011 1.574.239 3.713-1.52 4.21a25.8 25.8 0 0 1-14.06 0c-1.759-.497-2.531-2.636-1.52-4.21l1.108-1.723a4.4 4.4 0 0 0 .693-2.374V9c0-3.866 3.022-7 6.749-7s6.75 3.134 6.75 7" opacity="0.5"/><path fill="#fff" d="M7.243 18.545a5.002 5.002 0 0 0 9.513 0c-3.145.59-6.367.59-9.513 0"/></svg>
|
||||||
|
After Width: | Height: | Size: 439 B |
@ -1,128 +1,442 @@
|
|||||||
|
# See dunst(5) for all configuration options
|
||||||
|
|
||||||
[global]
|
[global]
|
||||||
|
|
||||||
### Display ###
|
### Display ###
|
||||||
|
|
||||||
# Display notifications on monitor with mouse focus
|
# Which monitor should the notifications be displayed on.
|
||||||
follow = mouse
|
monitor = DP-2
|
||||||
# Set {width}x{height} and {x_pos}+{y_pos}
|
|
||||||
geometry = "300x30-5+60"
|
# Display notification on focused monitor. Possible modes are:
|
||||||
# Show number of hidden notifications
|
# 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
|
||||||
|
|
||||||
|
### Geometry ###
|
||||||
|
|
||||||
|
# dynamic width from 0 to 300
|
||||||
|
# width = (0, 300)
|
||||||
|
# constant width of 300
|
||||||
|
width = (150, 500)
|
||||||
|
|
||||||
|
# The maximum height of a single notification, excluding the frame.
|
||||||
|
height = (50, 300)
|
||||||
|
|
||||||
|
# Position the notification in the top right corner
|
||||||
|
origin = top-center
|
||||||
|
|
||||||
|
# Offset from the origin
|
||||||
|
offset = (0, 28)
|
||||||
|
|
||||||
|
# Scale factor. It is auto-detected if value is 0.
|
||||||
|
scale = 0
|
||||||
|
|
||||||
|
# Maximum number of notification (0 means no limit)
|
||||||
|
notification_limit = 0
|
||||||
|
|
||||||
|
### Progress bar ###
|
||||||
|
|
||||||
|
# Turn on the progress bar. It appears when a progress hint is passed with
|
||||||
|
# for example dunstify -h int:value:12
|
||||||
|
progress_bar = true
|
||||||
|
|
||||||
|
# Set the progress bar height. This includes the frame, so make sure
|
||||||
|
# it's at least twice as big as the frame width.
|
||||||
|
progress_bar_height = 5
|
||||||
|
|
||||||
|
# Set the frame width of the progress bar
|
||||||
|
progress_bar_frame_width = 0
|
||||||
|
|
||||||
|
# Set the minimum width for the progress bar
|
||||||
|
progress_bar_min_width = 150
|
||||||
|
|
||||||
|
# Set the maximum width for the progress bar
|
||||||
|
progress_bar_max_width = 350
|
||||||
|
|
||||||
|
|
||||||
|
# Show how many messages are currently hidden (because of
|
||||||
|
# notification_limit).
|
||||||
indicate_hidden = yes
|
indicate_hidden = yes
|
||||||
# Shrink window if smaller than width
|
|
||||||
shrink = no
|
# The transparency of the window. Range: [0; 100].
|
||||||
# Set transparency of notifications
|
# This option will only work if a compositing window manager is
|
||||||
|
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
|
||||||
transparency = 0
|
transparency = 0
|
||||||
# Height of whole notification
|
|
||||||
notification_height = 0
|
# Draw a line of "separator_height" pixel height between two
|
||||||
# Height of seperators
|
# notifications.
|
||||||
separator_height = 2
|
# Set to 0 to disable.
|
||||||
# Text and seperator padding
|
separator_height = 1
|
||||||
padding = 8
|
|
||||||
# Horizontal padding
|
# Padding between text and separator.
|
||||||
|
padding = 10
|
||||||
|
|
||||||
|
# Horizontal padding.
|
||||||
horizontal_padding = 8
|
horizontal_padding = 8
|
||||||
# Width of frame around window
|
|
||||||
frame_width = 1
|
# Padding between text and icon.
|
||||||
# Color of frame around window
|
text_icon_padding = 10
|
||||||
frame_color = "#595959"
|
|
||||||
# Sort messages by urgency
|
# 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 = "#727072"
|
||||||
|
|
||||||
|
# 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 = "#44475a"
|
||||||
|
|
||||||
|
# Sort messages by urgency.
|
||||||
sort = yes
|
sort = yes
|
||||||
# Idle seconds
|
|
||||||
idle_threshold = 0
|
# 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 ###
|
### Text ###
|
||||||
|
|
||||||
# Set font of notifications
|
font = Fira Sans 10
|
||||||
font = Iosevka 10
|
|
||||||
# Spacing between lines
|
# The spacing between lines. If the height is smaller than the
|
||||||
line-height = 0
|
# font height, it will get raised to the font height.
|
||||||
# Markup parsing
|
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
|
||||||
|
# <https://docs.gtk.org/Pango/pango_markup.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
|
markup = full
|
||||||
# Message format:
|
|
||||||
# %a - appname
|
# The format of the message. Possible variables are:
|
||||||
# %s - summary
|
# %a appname
|
||||||
# %b - body
|
# %s summary
|
||||||
# %i - iconname (with path)
|
# %b body
|
||||||
# %I - iconname (without path)
|
# %i iconname (including its path)
|
||||||
# %p - progress value (if set)
|
# %I iconname (without its path)
|
||||||
# %n - progress value no extra characters
|
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||||
# %% - literal %
|
# %n progress value if set without any extra characters
|
||||||
format = "<b>%a</b>\n<i>%s</i>\n%b"
|
# %% Literal %
|
||||||
# Align message text horizontally
|
# Markup is allowed
|
||||||
alignment = center
|
format = "<b>%s</b>\n%b"
|
||||||
# Align message text vertically
|
|
||||||
|
# Alignment of message text.
|
||||||
|
# Possible values are "left", "center" and "right".
|
||||||
|
alignment = left
|
||||||
|
|
||||||
|
# Vertical alignment of message text and icon.
|
||||||
|
# Possible values are "top", "center" and "bottom".
|
||||||
vertical_alignment = center
|
vertical_alignment = center
|
||||||
# Show age of message if message is older than x seconds
|
|
||||||
show_age_threshold = -1
|
# Show age of message if message is older than show_age_threshold
|
||||||
# Split notifications into multiple lines
|
# seconds.
|
||||||
word_wrap = no
|
# Set to -1 to disable.
|
||||||
# If message too long, add ellipsize to...
|
show_age_threshold = 60
|
||||||
|
|
||||||
|
# Specify where to make an ellipsis in long lines.
|
||||||
|
# Possible values are "start", "middle" and "end".
|
||||||
ellipsize = middle
|
ellipsize = middle
|
||||||
# Ignore newlines in notifications
|
|
||||||
|
# Ignore newlines '\n' in notifications.
|
||||||
ignore_newline = no
|
ignore_newline = no
|
||||||
# Stack duplicate notifications
|
|
||||||
|
# Stack together notifications with the same content
|
||||||
stack_duplicates = true
|
stack_duplicates = true
|
||||||
# Hide number of duplicate notifications
|
|
||||||
|
# Hide the count of stacked notifications with the same content
|
||||||
hide_duplicate_count = true
|
hide_duplicate_count = true
|
||||||
# Show indicatiors for urls and actions
|
|
||||||
|
# Display indicators for URLs (U) and actions (A).
|
||||||
show_indicators = no
|
show_indicators = no
|
||||||
|
|
||||||
### Icons ###
|
### Icons ###
|
||||||
|
|
||||||
# Disable icons
|
# Align icons left/right/off
|
||||||
icon_position = off
|
icon_position = left
|
||||||
|
|
||||||
|
# Scale small icons up to this size, set to 0 to disable. Helpful
|
||||||
|
# for e.g. small files or high-dpi screens. In case of conflict,
|
||||||
|
# max_icon_size takes precedence over this.
|
||||||
|
min_icon_size = 0
|
||||||
|
|
||||||
|
# Scale larger icons down to this size, set to 0 to disable
|
||||||
|
max_icon_size = 50
|
||||||
|
|
||||||
|
# Paths to default icons.
|
||||||
|
icon_path = /usr/share/icons/Adwaita/16x16/mimetypes/:/usr/share/icons/Papirus-Dark/16x16/actions/
|
||||||
|
|
||||||
|
default_icon = "/home/paul/.config/dunst/default.svg"
|
||||||
|
|
||||||
### History ###
|
### History ###
|
||||||
|
|
||||||
# Length of 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
|
history_length = 20
|
||||||
|
|
||||||
### Misc ###
|
### Misc/Advanced ###
|
||||||
|
dmenu = /usr/bin/tofi
|
||||||
# Dmenu path
|
|
||||||
dmenu = /usr/bin/dmenu -p dunst:
|
# Browser for opening urls in context menu.
|
||||||
# Browser
|
browser = /usr/bin/xdg-open
|
||||||
browser = /usr/bin/firefox -new-tab
|
|
||||||
# Always run scripts
|
# Always run rule-defined scripts, even if the notification is suppressed
|
||||||
always_run_script = true
|
always_run_script = true
|
||||||
# Title of notification
|
|
||||||
|
# Define the title of the windows spawned by dunst
|
||||||
title = Dunst
|
title = Dunst
|
||||||
# Notification class
|
|
||||||
|
# Define the class of the windows spawned by dunst
|
||||||
class = Dunst
|
class = Dunst
|
||||||
# Print notification on startup
|
|
||||||
startup_notification = false
|
# Define the corner radius of the notification window
|
||||||
# Dunst verbosity
|
# in pixel size. If the radius is 0, you have no rounded
|
||||||
verbosity = mesg
|
# corners.
|
||||||
# Corner radius of dunst
|
# The radius will be automatically lowered if it exceeds half of the
|
||||||
corner_radius = 15
|
# notification height to avoid clipping text and/or icons.
|
||||||
# Ignore dbus closeNotification message
|
corner_radius = 10
|
||||||
|
|
||||||
|
# Ignore the dbus closeNotification message.
|
||||||
|
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||||
|
# parameter, an application may close the notification sent before the
|
||||||
|
# user defined timeout.
|
||||||
ignore_dbusclose = false
|
ignore_dbusclose = false
|
||||||
|
|
||||||
### Mouse ###
|
### Wayland ###
|
||||||
|
# These settings are Wayland-specific. They have no effect when using X11
|
||||||
|
|
||||||
# Left click
|
# Uncomment this if you want to let notications appear under fullscreen
|
||||||
mouse_left_click = close_current
|
# applications (default: overlay)
|
||||||
# Middle click
|
# layer = top
|
||||||
mouse_middle_click = do_action
|
|
||||||
# Right click
|
|
||||||
mouse_right_click = do_action
|
|
||||||
|
|
||||||
[shortcuts]
|
# Set this to true to use X11 output on Wayland.
|
||||||
|
force_xwayland = false
|
||||||
|
|
||||||
# Close one notification
|
### Legacy
|
||||||
close = ctrl+space
|
|
||||||
# Close all notifications
|
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||||
close_all = ctrl+shift+space
|
# 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 list of actions for each mouse event
|
||||||
|
# Possible values are:
|
||||||
|
# * none: Don't do anything.
|
||||||
|
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
||||||
|
# such action, open the context menu.
|
||||||
|
# * open_url: If the notification has exactly one url, open it. If there are multiple
|
||||||
|
# ones, open the context menu.
|
||||||
|
# * close_current: Close current notification.
|
||||||
|
# * close_all: Close all notifications.
|
||||||
|
# * context: Open context menu for the notification.
|
||||||
|
# * context_all: Open context menu for all notifications.
|
||||||
|
# These values can be strung together for each mouse event, and
|
||||||
|
# will be executed in sequence.
|
||||||
|
mouse_left_click = do_action
|
||||||
|
mouse_middle_click = do_action, close_current
|
||||||
|
mouse_right_click = close_all
|
||||||
|
|
||||||
|
# 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]
|
||||||
|
background = "#2D2A2E"
|
||||||
|
foreground = "#f8f8f2"
|
||||||
|
frame_color = "#727072"
|
||||||
|
timeout = 5
|
||||||
|
# Icon for notifications with low urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
[urgency_normal]
|
[urgency_normal]
|
||||||
|
background = "#2D2A2E"
|
||||||
# Normal urgency notifications
|
foreground = "#f8f8f2"
|
||||||
background = "#202632"
|
frame_color = "#727072"
|
||||||
foreground = "#ffffff"
|
timeout = 10
|
||||||
timeout = 5
|
# Icon for notifications with normal urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
[urgency_critical]
|
[urgency_critical]
|
||||||
|
background = "#2D2A2E"
|
||||||
|
foreground = "#f8f8f2"
|
||||||
|
frame_color = "#ff5555"
|
||||||
|
timeout = 0
|
||||||
|
# Icon for notifications with critical urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
# High urgency notifications
|
[spotify]
|
||||||
background = "#ffffff"
|
appname = "Spotify"
|
||||||
foreground = "#db0101"
|
frame_color = "#1ED760"
|
||||||
timeout = 0
|
format = "Now Playing\n<b>%s</b>\n%b"
|
||||||
|
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# background
|
||||||
|
# foreground
|
||||||
|
# format
|
||||||
|
# frame_color
|
||||||
|
# fullscreen
|
||||||
|
# new_icon
|
||||||
|
# set_stack_tag
|
||||||
|
# set_transient
|
||||||
|
# set_category
|
||||||
|
# timeout
|
||||||
|
# urgency
|
||||||
|
# skip_display
|
||||||
|
# history_ignore
|
||||||
|
# action_name
|
||||||
|
# word_wrap
|
||||||
|
# ellipsize
|
||||||
|
# alignment
|
||||||
|
#
|
||||||
|
# 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: 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"
|
||||||
|
# skip_display = true
|
||||||
|
|
||||||
|
#[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
|
||||||
|
|||||||
2
.config/electron-flags.conf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
--enable-features=UseOzonePlatform
|
||||||
|
--ozone-platform=wayland
|
||||||
20
.config/fontconfig/conf.d/20-no-embedded.conf
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
||||||
|
<fontconfig>
|
||||||
|
<match target="font">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>Calibri</string>
|
||||||
|
</test>
|
||||||
|
<edit name="embeddedbitmap">
|
||||||
|
<bool>false</bool>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
<match target="font">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>Aptos</string>
|
||||||
|
</test>
|
||||||
|
<edit name="embeddedbitmap">
|
||||||
|
<bool>false</bool>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
</fontconfig>
|
||||||
@ -18,6 +18,7 @@
|
|||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
monitor=DP-2,3440x1440@144,auto,auto
|
monitor=DP-2,3440x1440@144,auto,auto
|
||||||
monitor=DP-3,1920x1080,-1080x-550,1,transform,1
|
monitor=DP-3,1920x1080,-1080x-550,1,transform,1
|
||||||
|
monitor=HDMI-A-1,3440x1440@144,auto,auto
|
||||||
|
|
||||||
|
|
||||||
###################
|
###################
|
||||||
@ -40,18 +41,31 @@ $browser = firefox
|
|||||||
# Or execute your favorite apps at launch like this:
|
# Or execute your favorite apps at launch like this:
|
||||||
|
|
||||||
exec-once = hyprpaper
|
exec-once = hyprpaper
|
||||||
exec-once = waybar
|
exec-once = hypridle
|
||||||
exec-once = systemctl --user start hyprpolkitagent
|
exec-once = systemctl --user start hyprpolkitagent
|
||||||
exec-once = dunst
|
exec-once = dunst
|
||||||
exec-once = wl-paste --type text --watch cliphist store # Stores only text data
|
exec-once = wl-paste --type text --watch cliphist store # Stores only text data
|
||||||
|
exec-once = waybar
|
||||||
|
|
||||||
|
# Open programs on special workspaces
|
||||||
exec-once = [ workspace special:term silent] $terminal
|
exec-once = [ workspace special:term silent] $terminal
|
||||||
exec-once = [ workspace special:browser silent] $browser -url "https://web.whatsapp.com"
|
exec-once = [ workspace special:browser silent] $browser "https://web.whatsapp.com" "https://mail.google.com/mail/u/0/\##inbox/\##wasteside\##container-wasteside"
|
||||||
exec-once = [ workspace special:music silent] spotify
|
exec-once = [ workspace special:browser silent] gnome-calendar
|
||||||
|
exec-once = [ workspace special:music silent] $terminal -e spotify_player
|
||||||
|
exec-once = [ workspace special:todo silent] clickup
|
||||||
|
exec-once = [ workspace special:files silent] $fileManager
|
||||||
|
exec-once = [ workspace special:files silent] localsend
|
||||||
|
|
||||||
# Script to make bitwarden firefox extension windows launch in floating mode
|
# Script to make bitwarden firefox extension windows launch in floating mode
|
||||||
exec-once = ~/.config/hypr/scripts/float-bitwarden.sh
|
exec-once = ~/.config/hypr/scripts/float-bitwarden.sh
|
||||||
|
|
||||||
|
# Makes sure ratbag is running
|
||||||
|
exec-once = ratbagctl list
|
||||||
|
|
||||||
|
# Plugins
|
||||||
|
exec-once = hyprpm enable Hyprspace
|
||||||
|
exec-once = hyprpm reload
|
||||||
|
|
||||||
#############################
|
#############################
|
||||||
### ENVIRONMENT VARIABLES ###
|
### ENVIRONMENT VARIABLES ###
|
||||||
#############################
|
#############################
|
||||||
@ -64,6 +78,7 @@ env = LIBVA_DRIVER_NAME,nvidia
|
|||||||
env = XDG_SESSION_TYPE,wayland
|
env = XDG_SESSION_TYPE,wayland
|
||||||
env = GBM_BACKEND,nvidia-drm
|
env = GBM_BACKEND,nvidia-drm
|
||||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
|
env = HYPRSHOT_DIR,/home/paul/screenshots
|
||||||
|
|
||||||
cursor {
|
cursor {
|
||||||
no_hardware_cursors = true
|
no_hardware_cursors = true
|
||||||
@ -104,10 +119,13 @@ decoration {
|
|||||||
active_opacity = 1.0
|
active_opacity = 1.0
|
||||||
inactive_opacity = 1.0
|
inactive_opacity = 1.0
|
||||||
|
|
||||||
drop_shadow = true
|
dim_special = 0.9
|
||||||
shadow_range = 4
|
|
||||||
shadow_render_power = 3
|
# Deprecated v0.45 ?
|
||||||
col.shadow = rgba(1a1a1aee)
|
# drop_shadow = true
|
||||||
|
# shadow_range = 4
|
||||||
|
# shadow_render_power = 3
|
||||||
|
# col.shadow = rgba(1a1a1aee)
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||||
blur {
|
blur {
|
||||||
@ -133,6 +151,7 @@ animations {
|
|||||||
animation = borderangle, 1, 8, default
|
animation = borderangle, 1, 8, default
|
||||||
animation = fade, 1, 7, default
|
animation = fade, 1, 7, default
|
||||||
animation = workspaces, 1, 6, default
|
animation = workspaces, 1, 6, default
|
||||||
|
animation = specialWorkspaceIn, 1, 2, default
|
||||||
}
|
}
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
@ -148,8 +167,8 @@ master {
|
|||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||||
misc {
|
misc {
|
||||||
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -176,7 +195,7 @@ input {
|
|||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||||
gestures {
|
gestures {
|
||||||
workspace_swipe = false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Example per-device config
|
# Example per-device config
|
||||||
@ -204,15 +223,20 @@ bind = $mainMod, B, exec, $browser
|
|||||||
bind = $mainMod, Return, exec, tofi-drun | xargs hyprctl dispatch exec --
|
bind = $mainMod, Return, exec, tofi-drun | xargs hyprctl dispatch exec --
|
||||||
bind = $mainMod, Q, killactive,
|
bind = $mainMod, Q, killactive,
|
||||||
bind = $mainMod, F, fullscreen,
|
bind = $mainMod, F, fullscreen,
|
||||||
bind = $mainMod, M, exit,
|
bind = $mainMod, M, splitratio, exact 0.6,
|
||||||
|
bind = $mainMod, mouse_down, splitratio, 0.1
|
||||||
|
bind = $mainMod, mouse_up, splitratio, -0.1
|
||||||
bind = $mainMod, E, exec, $fileManager
|
bind = $mainMod, E, exec, $fileManager
|
||||||
bind = SUPER, V, exec, cliphist list | tofi | cliphist decode | wl-copy
|
bind = $mainMod, V, exec, cliphist list | tofi | cliphist decode | wl-copy
|
||||||
bind = $mainMod, X, togglefloating,
|
bind = $mainMod, X, togglefloating,
|
||||||
bind = $mainMod, P, exec, bash -c ~/.config/hypr/presets/'$(ls ~/.config/hypr/presets | tofi)' # profile presets
|
bind = $mainMod, P, pin, active
|
||||||
bind = $mainMod, J, togglesplit, # dwindle
|
bind = $mainMod, J, togglesplit, # dwindle
|
||||||
bind = $mainMod SHIFT, S, exec, hyprshot -m region
|
bind = $mainMod SHIFT, S, exec, hyprshot -m region
|
||||||
bind = $mainMod, PRINT, exec, hyprshot -m window
|
bind = $mainMod, PRINT, exec, hyprshot -m window
|
||||||
bind = $mainMod SHIFT, B, exec, pkill waybar & hyprctl dispatch exec waybar
|
bind = $mainMod SHIFT, B, exec, pkill waybar & hyprctl dispatch exec waybar
|
||||||
|
bind = $mainMod SHIFT, C, exec, hyprpicker | wl-copy
|
||||||
|
# bind = $mainMod, TAB, overview:toggle
|
||||||
|
bind = $mainMod, END, exec, wlogout -b 6 -L 1100 -R 1100 -T 650 -B 650
|
||||||
|
|
||||||
# Move focus with mainMod + arrow keys
|
# Move focus with mainMod + arrow keys
|
||||||
bind = $mainMod, left, movefocus, l
|
bind = $mainMod, left, movefocus, l
|
||||||
@ -235,7 +259,6 @@ bind = $mainMod, 5, workspace, 5
|
|||||||
bind = $mainMod, 6, workspace, 6
|
bind = $mainMod, 6, workspace, 6
|
||||||
bind = $mainMod, 7, workspace, 7
|
bind = $mainMod, 7, workspace, 7
|
||||||
bind = $mainMod, 8, workspace, 8
|
bind = $mainMod, 8, workspace, 8
|
||||||
bind = $mainMod, 9, workspace, 9
|
|
||||||
|
|
||||||
# Switch workspaces of secondary monitor with mainMod + [F1-9]
|
# Switch workspaces of secondary monitor with mainMod + [F1-9]
|
||||||
bind = $mainMod, F1, workspace, 11
|
bind = $mainMod, F1, workspace, 11
|
||||||
@ -246,7 +269,6 @@ bind = $mainMod, F5, workspace, 15
|
|||||||
bind = $mainMod, F6, workspace, 16
|
bind = $mainMod, F6, workspace, 16
|
||||||
bind = $mainMod, F7, workspace, 17
|
bind = $mainMod, F7, workspace, 17
|
||||||
bind = $mainMod, F8, workspace, 18
|
bind = $mainMod, F8, workspace, 18
|
||||||
bind = $mainMod, F9, workspace, 19
|
|
||||||
|
|
||||||
# Move active window to a workspace with mainMod + SHIFT + [1-9] (primary monitor)
|
# Move active window to a workspace with mainMod + SHIFT + [1-9] (primary monitor)
|
||||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
@ -256,8 +278,6 @@ bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
|||||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
|
||||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
|
||||||
|
|
||||||
# Move active window to a workspace with mainMod + SHIFT + [F1-F9] (secondary monitor)
|
# Move active window to a workspace with mainMod + SHIFT + [F1-F9] (secondary monitor)
|
||||||
bind = $mainMod SHIFT, F1, movetoworkspace, 11
|
bind = $mainMod SHIFT, F1, movetoworkspace, 11
|
||||||
@ -267,20 +287,18 @@ bind = $mainMod SHIFT, F4, movetoworkspace, 14
|
|||||||
bind = $mainMod SHIFT, F5, movetoworkspace, 15
|
bind = $mainMod SHIFT, F5, movetoworkspace, 15
|
||||||
bind = $mainMod SHIFT, F6, movetoworkspace, 16
|
bind = $mainMod SHIFT, F6, movetoworkspace, 16
|
||||||
bind = $mainMod SHIFT, F7, movetoworkspace, 17
|
bind = $mainMod SHIFT, F7, movetoworkspace, 17
|
||||||
bind = $mainMod SHIFT, F8, movetoworkspace, 18
|
|
||||||
bind = $mainMod SHIFT, F9, movetoworkspace, 19
|
|
||||||
|
|
||||||
# Special workspaces (scratchpad)
|
# Special workspaces (scratchpad)
|
||||||
bind = $mainMod, F10, togglespecialworkspace, term
|
bind = $mainMod, F12, togglespecialworkspace, term
|
||||||
bind = $mainMod SHIFT, F10, movetoworkspace, special:term
|
bind = $mainMod SHIFT, F12, movetoworkspace, special:term
|
||||||
bind = $mainMod, F11, togglespecialworkspace, browser
|
bind = $mainMod, F11, togglespecialworkspace, browser
|
||||||
bind = $mainMod SHIFT, F11, movetoworkspace, special:browser
|
bind = $mainMod SHIFT, F11, movetoworkspace, special:browser
|
||||||
bind = $mainMod, F12, togglespecialworkspace, music
|
bind = $mainMod, F10, togglespecialworkspace, music
|
||||||
bind = $mainMod SHIFT, F12, movetoworkspace, special:music
|
bind = $mainMod SHIFT, F10, movetoworkspace, special:music
|
||||||
|
bind = $mainMod, F9, togglespecialworkspace, todo
|
||||||
# Scroll through existing workspaces with mainMod + scroll
|
bind = $mainMod SHIFT, F9, movetoworkspace, special:todo
|
||||||
bind = $mainMod, mouse_down, workspace, e+1
|
bind = $mainMod, F8, togglespecialworkspace, files
|
||||||
bind = $mainMod, mouse_up, workspace, e-1
|
bind = $mainMod SHIFT, F8, movetoworkspace, special:files
|
||||||
|
|
||||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
bindm = $mainMod, mouse:272, movewindow
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
@ -307,12 +325,6 @@ bindl = , XF86AudioPrev, exec, playerctl previous
|
|||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||||
|
|
||||||
# Example windowrule v1
|
|
||||||
# windowrule = float, ^(kitty)$
|
|
||||||
|
|
||||||
# Example windowrule v2
|
|
||||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
|
||||||
|
|
||||||
# Ignore maximize requests from apps. You'll probably like this.
|
# Ignore maximize requests from apps. You'll probably like this.
|
||||||
windowrulev2 = suppressevent maximize, class:.*
|
windowrulev2 = suppressevent maximize, class:.*
|
||||||
|
|
||||||
@ -322,19 +334,41 @@ windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinn
|
|||||||
# Window rules to assign windows to workspaces
|
# Window rules to assign windows to workspaces
|
||||||
windowrulev2 = float,title:^(.*Extension: Bitwarden.*)$
|
windowrulev2 = float,title:^(.*Extension: Bitwarden.*)$
|
||||||
|
|
||||||
|
# Always center ClickUp command bar
|
||||||
|
windowrulev2 = center, title:ClickUp Command Bar
|
||||||
|
|
||||||
|
# Dont use floating mode for freerdp
|
||||||
|
windowrulev2 = tile, class:xfreerdp
|
||||||
|
|
||||||
# Open audio settings in floating mode
|
# Open audio settings in floating mode
|
||||||
windowrulev2 = float, size 1000 1000, move 50 50, class:org.pulseaudio.pavucontrol
|
windowrulev2 = float, class:org.pulseaudio.pavucontrol
|
||||||
windowrulev2 = size 900 500, class:org.pulseaudio.pavucontrol
|
windowrulev2 = size 500 1000, class:org.pulseaudio.pavucontrol
|
||||||
windowrulev2 = move 2464 61, class:org.pulseaudio.pavucontrol
|
windowrulev2 = move 2841 61, class:org.pulseaudio.pavucontrol
|
||||||
|
windowrulev2 = pin, class:org.pulseaudio.pavucontrol
|
||||||
|
|
||||||
|
# Same for bluetooth settings
|
||||||
|
windowrulev2 = float, initialTitle:overskride
|
||||||
|
windowrulev2 = size 765 765, initialTitle:overskride
|
||||||
|
windowrulev2 = move 2653 44, initialTitle:overskride
|
||||||
|
windowrulev2 = pin, initialTitle:overskride
|
||||||
|
|
||||||
|
# Change border color of pinned windows
|
||||||
|
windowrulev2 = bordercolor rgb(CC34A4) rgb(4B2D70), pinned:1
|
||||||
|
|
||||||
|
# Notification animation style
|
||||||
|
layerrule = animation slide, notifications
|
||||||
|
|
||||||
# Workspace rules to assign workspaces to monitors
|
# Workspace rules to assign workspaces to monitors
|
||||||
workspace = 1, monitor:DP-2
|
workspace = 1, monitor:DP-2, default:true
|
||||||
workspace = 2, monitor:DP-2
|
workspace = 2, monitor:DP-2
|
||||||
workspace = 3, monitor:DP-2
|
workspace = 3, monitor:DP-2
|
||||||
workspace = 4, monitor:DP-2
|
workspace = 4, monitor:DP-2
|
||||||
workspace = 5, monitor:DP-2
|
workspace = 5, monitor:DP-2
|
||||||
workspace = 11, monitor:DP-3
|
workspace = 11, monitor:DP-3, default:true
|
||||||
workspace = 12, monitor:DP-3
|
workspace = 12, monitor:DP-3
|
||||||
workspace = 13, monitor:DP-3
|
workspace = 13, monitor:DP-3
|
||||||
workspace = 14, monitor:DP-3
|
workspace = 14, monitor:DP-3
|
||||||
workspace = 15, monitor:DP-3
|
workspace = 15, monitor:DP-3
|
||||||
|
|
||||||
|
workspace = special:music, gapsout:40 1800 50 50
|
||||||
|
workspace = special:music, monitor:DP-2
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
preload = /home/paul/downloads/gnome-background.webp
|
preload = ~/.config/hypr/img/gnome-background.webp
|
||||||
wallpaper = , /home/paul/downloads/gnome-background.webp
|
wallpaper = , ~/.config/hypr/img/gnome-background.webp
|
||||||
5
.config/hypr/scripts/songdetail.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
song_info=$(playerctl metadata --format '{{title}} {{artist}}')
|
||||||
|
|
||||||
|
echo "$song_info"
|
||||||
6
.config/pipewire/pipewire.conf.d/raop-discover.conf
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
context.modules = [
|
||||||
|
{
|
||||||
|
name = libpipewire-module-raop-discover
|
||||||
|
args = { }
|
||||||
|
}
|
||||||
|
]
|
||||||
@ -1,16 +1,17 @@
|
|||||||
{
|
{
|
||||||
"layer": "top",
|
"layer": "top",
|
||||||
"output" : "DP-2",
|
"output": "DP-2",
|
||||||
"modules-left": [
|
"modules-left": [
|
||||||
"custom/power",
|
"custom/power",
|
||||||
"hyprland/workspaces",
|
"hyprland/workspaces",
|
||||||
"custom/spotify"
|
"custom/spotify"
|
||||||
],
|
],
|
||||||
"modules-center": [
|
"modules-center": [
|
||||||
"clock",
|
"clock"
|
||||||
],
|
],
|
||||||
"modules-right": [
|
"modules-right": [
|
||||||
"privacy",
|
"privacy",
|
||||||
|
"custom/coffee",
|
||||||
"pulseaudio",
|
"pulseaudio",
|
||||||
"cpu",
|
"cpu",
|
||||||
"memory",
|
"memory",
|
||||||
@ -21,6 +22,14 @@
|
|||||||
"custom/power": {
|
"custom/power": {
|
||||||
"format": "⏻",
|
"format": "⏻",
|
||||||
"tooltip": false,
|
"tooltip": false,
|
||||||
|
"on-click": "hyprctl dispatch exec 'wlogout -b 6 -L 1100 -R 1100 -T 650 -B 650'"
|
||||||
|
},
|
||||||
|
"custom/coffee": {
|
||||||
|
"exec": "/usr/bin/python3 /home/paul/.config/waybar/scripts/coffee.py",
|
||||||
|
"format": "{}",
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": 1,
|
||||||
|
"on-click": "pidof hypridle >/dev/null && killall hypridle || hyprctl dispatch exec hypridle"
|
||||||
},
|
},
|
||||||
"hyprland/workspaces": {
|
"hyprland/workspaces": {
|
||||||
"format": "{name}",
|
"format": "{name}",
|
||||||
@ -29,10 +38,10 @@
|
|||||||
"on-click": "none"
|
"on-click": "none"
|
||||||
},
|
},
|
||||||
"clock": {
|
"clock": {
|
||||||
"format": "{0:%H:%M:%S}",
|
"format": "{0:%b, %d %H:%M:%S}",
|
||||||
"interval": 1,
|
"interval": 1,
|
||||||
"tooltip": true,
|
"tooltip": true,
|
||||||
"tooltip-format": "{0:%A, %d.%m.%Y W%W}"
|
"tooltip-format": "{0:%A, %d.%m.%Y W%V}"
|
||||||
},
|
},
|
||||||
"custom/spotify": {
|
"custom/spotify": {
|
||||||
"exec": "/usr/bin/python3 /home/paul/downloads/repos/Waybar/resources/custom_modules/mediaplayer.py",
|
"exec": "/usr/bin/python3 /home/paul/downloads/repos/Waybar/resources/custom_modules/mediaplayer.py",
|
||||||
@ -67,7 +76,7 @@
|
|||||||
"memory": {
|
"memory": {
|
||||||
"format": " {percentage}% ({used}G)",
|
"format": " {percentage}% ({used}G)",
|
||||||
"interval": 5,
|
"interval": 5,
|
||||||
"on-click": "hyprctl dispatch exec 'resources -t memory'"
|
"on-click": "hyprctl dispatch exec 'resources -t memory'"
|
||||||
},
|
},
|
||||||
"pulseaudio": {
|
"pulseaudio": {
|
||||||
"format": "{icon} {volume}%",
|
"format": "{icon} {volume}%",
|
||||||
@ -108,4 +117,4 @@
|
|||||||
"return-type": "json",
|
"return-type": "json",
|
||||||
"interval": 5
|
"interval": 5
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
25
.config/waybar/scripts/coffee.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
from argparse import ArgumentParser
|
||||||
|
from json import dumps
|
||||||
|
from subprocess import run
|
||||||
|
|
||||||
|
COFFEE_ICON = "\ue751"
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
result = run(["pidof", "hypridle"], capture_output=True, text=True)
|
||||||
|
|
||||||
|
if result.returncode == 0:
|
||||||
|
# Hypridle is running
|
||||||
|
print(dumps({
|
||||||
|
"text": COFFEE_ICON,
|
||||||
|
"tooltip": "Hypridle is running",
|
||||||
|
"class": "inactive"
|
||||||
|
}))
|
||||||
|
|
||||||
|
else:
|
||||||
|
# Hypridle is not running
|
||||||
|
print(dumps({
|
||||||
|
"text": COFFEE_ICON,
|
||||||
|
"tooltip": "Hypridle is not running",
|
||||||
|
"class": "active"
|
||||||
|
}))
|
||||||
|
|
||||||
@ -1,12 +1,12 @@
|
|||||||
* {
|
* {
|
||||||
border: none;
|
border: none;
|
||||||
font-family: 'Fira Sans Semibold', 'Symbols Nerd Font Mono';
|
font-family: 'Verdana', 'Cantarell', 'monospace', 'Symbols Nerd Font Mono';
|
||||||
font-size: 16px;
|
font-size: 12px;
|
||||||
font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"';
|
font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"';
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar {
|
window#waybar {
|
||||||
background: transparent;
|
background: rgba(0, 0, 0, 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* All modules */
|
/* All modules */
|
||||||
@ -14,15 +14,12 @@ window#waybar {
|
|||||||
/* Module on the left */
|
/* Module on the left */
|
||||||
.modules-left {
|
.modules-left {
|
||||||
color: #cdd6f4;
|
color: #cdd6f4;
|
||||||
margin-top: 4px;
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-power {
|
#custom-power {
|
||||||
background-color: rgba(255, 255, 255, 0.2);
|
|
||||||
color: white;
|
color: white;
|
||||||
padding: 0px 9px;
|
padding: 0px 8px;
|
||||||
border-radius: 100px;
|
padding-left: 18px;
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -35,7 +32,6 @@ window#waybar {
|
|||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
border-radius: 100px;
|
border-radius: 100px;
|
||||||
background-color: rgba(255, 255, 255, 0.2);
|
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,34 +39,32 @@ window#waybar {
|
|||||||
color: white;
|
color: white;
|
||||||
animation: gradient_f 20s ease-in infinite;
|
animation: gradient_f 20s ease-in infinite;
|
||||||
transition: all 0.2s ease-in;
|
transition: all 0.2s ease-in;
|
||||||
border-radius: 100px;
|
margin: 0px;
|
||||||
padding: 0px 4px;
|
padding: 0px;
|
||||||
margin: 0px 2px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button:hover {
|
#workspaces button:hover {
|
||||||
background: none;
|
background: none;
|
||||||
background-color: black;
|
|
||||||
color: white;
|
color: white;
|
||||||
box-shadow: inherit;
|
box-shadow: inherit;
|
||||||
text-shadow: inherit;
|
text-shadow: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.active {
|
#workspaces button.active {
|
||||||
background-color: #33ccff;
|
color: #33ccff;
|
||||||
color: #167797;
|
|
||||||
border-radius: 100px;
|
|
||||||
padding: 0px 10px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-spotify {
|
#custom-spotify {
|
||||||
margin-left: 20px;
|
padding: 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-spotify:hover {
|
||||||
|
background-color: rgba(0, 0, 0, 0.4);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Module in the middle */
|
/* Module in the middle */
|
||||||
#clock {
|
#clock {
|
||||||
color: #cdd6f4;
|
color: #cdd6f4;
|
||||||
margin-top: 3px;
|
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
margin-right: 15px;
|
margin-right: 15px;
|
||||||
@ -79,36 +73,41 @@ window#waybar {
|
|||||||
/* Module on the right */
|
/* Module on the right */
|
||||||
|
|
||||||
.modules-right {
|
.modules-right {
|
||||||
color: black;
|
color: white;
|
||||||
margin-top: 3px;
|
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-wireguard, #memory {
|
.modules-right *:hover {
|
||||||
background-color: rgba(255, 255, 255, 0.8);
|
background-color: rgba(0, 0, 0, 0.2);
|
||||||
border-radius: 0px 100px 100px 0px;
|
|
||||||
padding-right: 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#bluetooth, #cpu {
|
.modules-right * {
|
||||||
background-color: rgba(255, 255, 255, 0.8);
|
padding: 0px 10px;
|
||||||
border-radius: 100px 0px 0px 100px;
|
|
||||||
padding: 0px 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#memory {
|
#memory {
|
||||||
margin-right: 7px;
|
padding-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pulseaudio {
|
#cpu {
|
||||||
color: white;
|
padding-right: 5px;
|
||||||
margin-right: 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#privacy {
|
#bluetooth {
|
||||||
background-color: rgba(17, 17, 27, 0.15);
|
padding-right: 5px;
|
||||||
padding: 0px 10px;
|
}
|
||||||
border-radius: 100px;
|
|
||||||
color: white;
|
#custom-wireguard {
|
||||||
margin-right: 7px;
|
padding-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#custom-coffee {
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inactive {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,17 @@
|
|||||||
|
# Disable all monitor sources (e.g. output mirrors) so they don't appear as input devices
|
||||||
|
monitor.rules = [
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
device.class = "monitor"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
device.nick = "Please Be Disabled"
|
||||||
|
device.disabled = true
|
||||||
|
device.description = "Disabled Monitor Source"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
75
.config/wireplumber/wireplumber.conf.d/99-renames.conf
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
monitor.alsa.rules = [
|
||||||
|
# OUTPUT DEVICES
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_output.pci-0000_01_00.1.hdmi-stereo" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "BenQ GL2580",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_output.pci-0000_11_00.6.analog-stereo" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "Logitech Z313",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_output.usb-Razer_Razer_BlackShark_V2_Pro-00.analog-stereo" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "Razer BlackShark V2 Pro",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_output.usb-R__DE_Microphones_R__DE_NT-USB_Mini_514A76EB-00.analog-stereo" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "RØDE NT-USB Mini",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
# INPUT DEVICES
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_input.usb-R__DE_Microphones_R__DE_NT-USB_Mini_514A76EB-00.mono-fallback" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "RØDE NT-USB Mini",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_input.usb-Razer_Razer_BlackShark_V2_Pro-00.mono-fallback" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "Razer BlackShark V2 Pro",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_input.pci-0000_11_00.6.analog-stereo" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "3.5mm Input",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
32
.config/wireplumber/wireplumber.conf.d/disable-hsp_hfp.conf
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
## In WirePlumber there's a bug where some applications trigger switching to Headset Profile
|
||||||
|
## --
|
||||||
|
## See issue #634, #645, #630, #629, #613
|
||||||
|
## --
|
||||||
|
## This config mitigates the issue by completely disabling the switching and support for Headset Profile (HFP)
|
||||||
|
## Using this would only make sense if you never plan on using the microphone that comes with your headset.
|
||||||
|
|
||||||
|
wireplumber.settings = {
|
||||||
|
## Whether to use headset profile in the presence of an input stream.
|
||||||
|
## --
|
||||||
|
## Disable for now, as it causes issues. See note at the top as to why.
|
||||||
|
bluetooth.autoswitch-to-headset-profile = false
|
||||||
|
}
|
||||||
|
|
||||||
|
monitor.bluez.properties = {
|
||||||
|
## Enabled roles (default: [ a2dp_sink a2dp_source bap_sink bap_source hfp_hf hfp_ag ])
|
||||||
|
##
|
||||||
|
## Currently some headsets (Sony WH-1000XM3) are not working with
|
||||||
|
## both hsp_ag and hfp_ag enabled, so by default we enable only HFP.
|
||||||
|
##
|
||||||
|
## Supported roles: hsp_hs (HSP Headset),
|
||||||
|
## hsp_ag (HSP Audio Gateway),
|
||||||
|
## hfp_hf (HFP Hands-Free),
|
||||||
|
## hfp_ag (HFP Audio Gateway)
|
||||||
|
## a2dp_sink (A2DP Audio Sink)
|
||||||
|
## a2dp_source (A2DP Audio Source)
|
||||||
|
## bap_sink (LE Audio Basic Audio Profile Sink)
|
||||||
|
## bap_source (LE Audio Basic Audio Profile Source)
|
||||||
|
## --
|
||||||
|
## Only enable A2DP here and disable HFP. See note at the top as to why.
|
||||||
|
bluez5.roles = [ a2dp_sink a2dp_source ]
|
||||||
|
}
|
||||||
BIN
.config/wlogout/icons/lock.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
.config/wlogout/icons/logout.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
.config/wlogout/icons/reboot.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
.config/wlogout/icons/shutdown.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
.config/wlogout/icons/suspend.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
.config/wlogout/icons/windows.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
36
.config/wlogout/layout
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"label" : "lock",
|
||||||
|
"action" : "loginctl lock-session",
|
||||||
|
"text" : "Lock",
|
||||||
|
"keybind" : "l"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "logout",
|
||||||
|
"action" : "loginctl terminate-user $USER",
|
||||||
|
"text" : "Logout",
|
||||||
|
"keybind" : "e"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "shutdown",
|
||||||
|
"action" : "systemctl poweroff",
|
||||||
|
"text" : "Shutdown",
|
||||||
|
"keybind" : "s"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "suspend",
|
||||||
|
"action" : "systemctl suspend",
|
||||||
|
"text" : "Suspend",
|
||||||
|
"keybind" : "u"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "reboot",
|
||||||
|
"action" : "systemctl reboot",
|
||||||
|
"text" : "Reboot",
|
||||||
|
"keybind" : "r"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "windows",
|
||||||
|
"action" : "/usr/local/bin/reboot_windows",
|
||||||
|
"text" : "Windows",
|
||||||
|
"keybind" : "w"
|
||||||
|
}
|
||||||
51
.config/wlogout/style.css
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
* {
|
||||||
|
background-image: none;
|
||||||
|
box-shadow: none;
|
||||||
|
font-family: "Cantarell", 'Courier New', Courier, monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
background-color: rgba(12, 12, 12, 0.9);
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
border-radius: 500px;
|
||||||
|
text-decoration-color: #FFFFFF;
|
||||||
|
color: #FFFFFF;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 1px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
background-size: 15%;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:focus, button:active, button:hover {
|
||||||
|
color: #33CCFF;
|
||||||
|
outline-style: none;
|
||||||
|
font-family: "Cantarell";
|
||||||
|
}
|
||||||
|
|
||||||
|
#lock {
|
||||||
|
background-image: image(url("/home/paul/.config/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#logout {
|
||||||
|
background-image: image(url("/home/paul/.config/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#suspend {
|
||||||
|
background-image: image(url("/home/paul/.config/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#shutdown {
|
||||||
|
background-image: image(url("/home/paul/.config/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#reboot {
|
||||||
|
background-image: image(url("/home/paul/.config/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#windows {
|
||||||
|
background-image: image(url("/home/paul/.config/wlogout/icons/windows.png"), url("/usr/local/share/wlogout/icons/windows.png"));
|
||||||
|
}
|
||||||
56
.zshrc
@ -112,25 +112,23 @@ fi
|
|||||||
# alias zshconfig="mate ~/.zshrc"
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
|
||||||
# Reboot to Windows
|
# Reboot to Windows (REPLACED WITH SCRIPT)
|
||||||
reboot_windows()
|
# reboot_windows()
|
||||||
{
|
# {
|
||||||
windows_title=$(grep -i windows /boot/grub/grub.cfg | cut -d "'" -f 2)
|
# windows_title=$(grep -i windows /boot/grub/grub.cfg | cut -d "'" -f 2)
|
||||||
sudo grub-reboot "$windows_title" && sudo reboot
|
# sudo grub-reboot "$windows_title" && sudo reboot
|
||||||
}
|
# }
|
||||||
alias reboot-windows='reboot_windows'
|
# alias reboot-windows='reboot_windows'
|
||||||
|
|
||||||
# Command aliases
|
# Command aliases
|
||||||
alias py=python3
|
alias py=python3
|
||||||
alias ll="ls -lah"
|
alias ll="ls -lah"
|
||||||
|
|
||||||
# Custom scripts
|
qrshow(){
|
||||||
export PATH="/Users/paul/Code/scripts:$PATH"
|
qrencode $1 -o - | viu -
|
||||||
|
}
|
||||||
|
|
||||||
# Shortcuts
|
# Shortcuts
|
||||||
export ONEDRIVE="/Users/paul/Library/CloudStorage/OneDrive-Personal/"
|
|
||||||
export VSCODE_USER=~/Library/Application\ Support/Code/User
|
|
||||||
alias korrektur="$EDITOR /Volumes/pauls-dateien/uni/GBS\ Tutorjob/Y3/Korrektur"
|
|
||||||
alias sshconfig="$EDITOR ~/.ssh/config"
|
alias sshconfig="$EDITOR ~/.ssh/config"
|
||||||
alias zshconfig="$EDITOR ~/.zshrc"
|
alias zshconfig="$EDITOR ~/.zshrc"
|
||||||
alias zshreload="source ~/.zshrc"
|
alias zshreload="source ~/.zshrc"
|
||||||
@ -142,6 +140,11 @@ alias wol=wakeonlan
|
|||||||
alias ge=gnome-extensions
|
alias ge=gnome-extensions
|
||||||
alias open="xdg-open"
|
alias open="xdg-open"
|
||||||
alias lg="lazygit"
|
alias lg="lazygit"
|
||||||
|
alias ccat="pygmentize -g -O style=monokai,linenos=1"
|
||||||
|
alias rm="echo Use the full path i.e. '/bin/rm', consider using: trash"
|
||||||
|
alias explain="gh copilot explain"
|
||||||
|
alias csv="csvlens"
|
||||||
|
|
||||||
alias wstmux="cd ~/code/wasteside/app && tmux new -A -s wasteside"
|
alias wstmux="cd ~/code/wasteside/app && tmux new -A -s wasteside"
|
||||||
|
|
||||||
alias R="R --no-save"
|
alias R="R --no-save"
|
||||||
@ -152,8 +155,9 @@ export PATH="/usr/local/opt/tcl-tk/bin:$PATH"
|
|||||||
# autojump
|
# autojump
|
||||||
[ -f /opt/homebrew/etc/profile.d/autojump.sh ] && . /opt/homebrew/etc/profile.d/autojump.sh
|
[ -f /opt/homebrew/etc/profile.d/autojump.sh ] && . /opt/homebrew/etc/profile.d/autojump.sh
|
||||||
|
|
||||||
# vscode shortcuts
|
# ws shortcuts
|
||||||
alias ws="cd ~/code/wasteside/app && code . && tmux new -A -s wasteside"
|
alias wsproddb="psql -h ep-shiny-brook-a23l5gzv-pooler.eu-central-1.aws.neon.tech -d neondb -U neondb_owner"
|
||||||
|
alias wsdevdb="psql -h ep-bitter-queen-a2jgwcaj-pooler.eu-central-1.aws.neon.tech -d verceldb -U default"
|
||||||
|
|
||||||
# Fix ls colors for synology directories
|
# Fix ls colors for synology directories
|
||||||
LS_COLORS+=':ow=01;33'
|
LS_COLORS+=':ow=01;33'
|
||||||
@ -166,6 +170,16 @@ HISTFILE=~/.histfile
|
|||||||
HISTSIZE=10000
|
HISTSIZE=10000
|
||||||
SAVEHIST=10000
|
SAVEHIST=10000
|
||||||
|
|
||||||
|
# Android tools
|
||||||
|
export ANDROID_SDK_ROOT="$HOME/.local/opt/android-sdk"
|
||||||
|
export ANDROID_HOME="$ANDROID_SDK_ROOT"
|
||||||
|
export PATH="$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin"
|
||||||
|
export PATH="$PATH:$ANDROID_SDK_ROOT/build-tools/36.0.0/"
|
||||||
|
export PATH="$PATH:$ANDROID_SDK_ROOT/emulator"
|
||||||
|
|
||||||
|
# Unlock hyprlock
|
||||||
|
alias unlock=pkill -USR1 hyprlock
|
||||||
|
|
||||||
# zoxide
|
# zoxide
|
||||||
eval "$(zoxide init --cmd cd zsh)"
|
eval "$(zoxide init --cmd cd zsh)"
|
||||||
|
|
||||||
@ -176,7 +190,19 @@ export SDKMAN_DIR="$HOME/.sdkman"
|
|||||||
# Yarn
|
# Yarn
|
||||||
export PATH="$HOME/.yarn/bin:$PATH"
|
export PATH="$HOME/.yarn/bin:$PATH"
|
||||||
|
|
||||||
|
# More path stuff
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
|
||||||
# pyenv stuff (make sure this is at the end of the file)
|
# pyenv stuff (make sure this is at the end of the file)
|
||||||
export PYENV_ROOT="$HOME/.pyenv"
|
export PYENV_ROOT="$HOME/.pyenv"
|
||||||
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
|
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
|
||||||
eval "$(pyenv init -)"
|
eval "$(pyenv init -)"
|
||||||
|
|
||||||
|
#nvm
|
||||||
|
source /usr/share/nvm/init-nvm.sh
|
||||||
|
|
||||||
|
## [Completion]
|
||||||
|
## Completion scripts setup. Remove the following line to uninstall
|
||||||
|
[[ -f /home/paul/.dart-cli-completion/zsh-config.zsh ]] && . /home/paul/.dart-cli-completion/zsh-config.zsh || true
|
||||||
|
## [/Completion]
|
||||||
|
|
||||||
|
|||||||