Compare commits

...

5 Commits

Author SHA1 Message Date
7256aef51f wlogout 2024-12-17 14:54:55 +01:00
05499d1bf7 wireplumber, to disable hfp 2024-12-17 14:54:48 +01:00
c0a61cf814 various 2024-12-17 14:54:14 +01:00
88c24e8d37 dunst notifications styling 2024-12-17 14:54:05 +01:00
df5b4cd922 vscode keybinds 2024-12-17 14:53:57 +01:00
16 changed files with 635 additions and 128 deletions

View File

@ -65,11 +65,6 @@
"command": "editor.action.rename",
"when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
},
{
"key": "shift+ctrl+i",
"command": "editor.action.peekImplementation",
"when": "editorHasImplementationProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
},
{
"key": "shift+ctrl+d",
"command": "editor.action.revealDefinition",
@ -232,4 +227,67 @@
"key": "ctrl+a",
"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"
},
]

View 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

View File

@ -1,128 +1,440 @@
[global]
# See dunst(5) for all configuration options
[global]
### Display ###
# Display notifications on monitor with mouse focus
follow = mouse
# Set {width}x{height} and {x_pos}+{y_pos}
geometry = "300x30-5+60"
# Show number of hidden notifications
# Which monitor should the notifications be displayed on.
monitor = 1
# 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
### 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
# Shrink window if smaller than width
shrink = no
# Set transparency of notifications
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
transparency = 0
# Height of whole notification
notification_height = 0
# Height of seperators
separator_height = 2
# Text and seperator padding
padding = 8
# Horizontal padding
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 1
# Padding between text and separator.
padding = 10
# Horizontal padding.
horizontal_padding = 8
# Width of frame around window
frame_width = 1
# Color of frame around window
frame_color = "#595959"
# Sort messages by urgency
# Padding between text and icon.
text_icon_padding = 10
# 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
# 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 ###
# Set font of notifications
font = Iosevka 10
# Spacing between lines
line-height = 0
# Markup parsing
font = Fira Sans 10
# 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
# <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
# Message format:
# %a - appname
# %s - summary
# %b - body
# %i - iconname (with path)
# %I - iconname (without path)
# %p - progress value (if set)
# %n - progress value no extra characters
# %% - literal %
format = "<b>%a</b>\n<i>%s</i>\n%b"
# Align message text horizontally
alignment = center
# Align message text vertically
# 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 = left
# Vertical alignment of message text and icon.
# Possible values are "top", "center" and "bottom".
vertical_alignment = center
# Show age of message if message is older than x seconds
show_age_threshold = -1
# Split notifications into multiple lines
word_wrap = no
# If message too long, add ellipsize to...
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Specify where to make an ellipsis in long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines in notifications
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Stack duplicate notifications
# Stack together notifications with the same content
stack_duplicates = true
# Hide number of duplicate notifications
# Hide the count of stacked notifications with the same content
hide_duplicate_count = true
# Show indicatiors for urls and actions
# Display indicators for URLs (U) and actions (A).
show_indicators = no
### Icons ###
# Disable icons
icon_position = off
# Align icons left/right/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 ###
# 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
### Misc ###
### Misc/Advanced ###
# Dmenu path
dmenu = /usr/bin/dmenu -p dunst:
# Browser
browser = /usr/bin/firefox -new-tab
# Always run scripts
# Browser for opening urls in context menu.
browser = /usr/bin/xdg-open
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Title of notification
# Define the title of the windows spawned by dunst
title = Dunst
# Notification class
# Define the class of the windows spawned by dunst
class = Dunst
# Print notification on startup
startup_notification = false
# Dunst verbosity
verbosity = mesg
# Corner radius of dunst
corner_radius = 15
# Ignore dbus closeNotification message
# 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 = 5
# 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
### Mouse ###
### Wayland ###
# These settings are Wayland-specific. They have no effect when using X11
# Left click
mouse_left_click = close_current
# Middle click
mouse_middle_click = do_action
# Right click
mouse_right_click = do_action
# Uncomment this if you want to let notications appear under fullscreen
# applications (default: overlay)
# layer = top
[shortcuts]
# Set this to true to use X11 output on Wayland.
force_xwayland = false
# Close one notification
close = ctrl+space
# Close all notifications
close_all = ctrl+shift+space
### 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 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]
# Normal urgency notifications
background = "#202632"
foreground = "#ffffff"
timeout = 5
background = "#2D2A2E"
foreground = "#f8f8f2"
frame_color = "#727072"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#default_icon = /path/to/icon
[urgency_critical]
# High urgency notifications
background = "#ffffff"
foreground = "#db0101"
background = "#2D2A2E"
foreground = "#f8f8f2"
frame_color = "#ff5555"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#default_icon = /path/to/icon
[spotify]
appname = "Spotify"
frame_color = "#1ED760"
# 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

View File

@ -44,6 +44,7 @@ exec-once = waybar
exec-once = systemctl --user start hyprpolkitagent
exec-once = dunst
exec-once = wl-paste --type text --watch cliphist store # Stores only text data
exec-once = noisetorch -i
exec-once = [ workspace special:term silent] $terminal
exec-once = [ workspace special:browser silent] $browser -url "https://web.whatsapp.com"
@ -64,6 +65,7 @@ env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = HYPRSHOT_DIR,/home/paul/screenshots
cursor {
no_hardware_cursors = true
@ -104,10 +106,11 @@ decoration {
active_opacity = 1.0
inactive_opacity = 1.0
drop_shadow = true
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
# Deprecated v0.45 ?
# drop_shadow = true
# shadow_range = 4
# shadow_render_power = 3
# col.shadow = rgba(1a1a1aee)
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
@ -133,6 +136,7 @@ animations {
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
animation = specialWorkspaceIn, 1, 2, default
}
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
@ -204,15 +208,19 @@ bind = $mainMod, B, exec, $browser
bind = $mainMod, Return, exec, tofi-drun | xargs hyprctl dispatch exec --
bind = $mainMod, Q, killactive,
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 = 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, 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 SHIFT, S, exec, hyprshot -m region
bind = $mainMod, PRINT, exec, hyprshot -m window
bind = $mainMod SHIFT, B, exec, pkill waybar & hyprctl dispatch exec waybar
bind = $mainMod SHIFT, C, exec, hyprpicker | wl-copy
bind = $mainMod, TAB, overview:toggle
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
@ -278,10 +286,6 @@ bind = $mainMod SHIFT, F11, movetoworkspace, special:browser
bind = $mainMod, F12, togglespecialworkspace, music
bind = $mainMod SHIFT, F12, movetoworkspace, special:music
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
@ -307,12 +311,6 @@ bindl = , XF86AudioPrev, exec, playerctl previous
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# 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.
windowrulev2 = suppressevent maximize, class:.*
@ -323,18 +321,34 @@ windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinn
windowrulev2 = float,title:^(.*Extension: Bitwarden.*)$
# Open audio settings in floating mode
windowrulev2 = float, size 1000 1000, move 50 50, class:org.pulseaudio.pavucontrol
windowrulev2 = size 900 500, class:org.pulseaudio.pavucontrol
windowrulev2 = move 2464 61, class:org.pulseaudio.pavucontrol
windowrulev2 = float, class:org.pulseaudio.pavucontrol
windowrulev2 = size 500 1000, 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 = 1, monitor:DP-2
workspace = 1, monitor:DP-2, default:true
workspace = 2, monitor:DP-2
workspace = 3, monitor:DP-2
workspace = 4, 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 = 13, monitor:DP-3
workspace = 14, monitor:DP-3
workspace = 15, monitor:DP-3
workspace = special:music, gapsout:40 1800 50 50
workspace = special:music, monitor:DP-2

View File

@ -7,7 +7,7 @@
"custom/spotify"
],
"modules-center": [
"clock",
"clock"
],
"modules-right": [
"privacy",
@ -21,6 +21,7 @@
"custom/power": {
"format": "⏻",
"tooltip": false,
"on-click": "hyprctl dispatch exec 'wlogout -b 6 -L 1100 -R 1100 -T 650 -B 650'"
},
"hyprland/workspaces": {
"format": "{name}",
@ -29,7 +30,7 @@
"on-click": "none"
},
"clock": {
"format": "{0:%H:%M:%S}",
"format": "{0:%b, %d %H:%M:%S}",
"interval": 1,
"tooltip": true,
"tooltip-format": "{0:%A, %d.%m.%Y W%W}"

View 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 ]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="#33ccff" fill-rule="evenodd" d="M12 2.75A5.25 5.25 0 0 0 6.75 8v2.004Q7.323 9.999 8 10h8c2.828 0 4.243 0 5.121.879C22 11.757 22 13.172 22 16s0 4.243-.879 5.121C20.243 22 18.828 22 16 22H8c-2.828 0-4.243 0-5.121-.879C2 20.243 2 18.828 2 16s0-4.243.879-5.121c.53-.531 1.256-.741 2.371-.824V8a6.75 6.75 0 0 1 13.287-1.687a.75.75 0 1 1-1.452.374A5.25 5.25 0 0 0 12 2.75M12.75 14a.75.75 0 0 0-1.5 0v4a.75.75 0 0 0 1.5 0z" clip-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 541 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 24 24"><path fill="white" fill-rule="evenodd" d="M12 2.75A5.25 5.25 0 0 0 6.75 8v2.004Q7.323 9.999 8 10h8c2.828 0 4.243 0 5.121.879C22 11.757 22 13.172 22 16s0 4.243-.879 5.121C20.243 22 18.828 22 16 22H8c-2.828 0-4.243 0-5.121-.879C2 20.243 2 18.828 2 16s0-4.243.879-5.121c.53-.531 1.256-.741 2.371-.824V8a6.75 6.75 0 0 1 13.287-1.687a.75.75 0 1 1-1.452.374A5.25 5.25 0 0 0 12 2.75M12.75 14a.75.75 0 0 0-1.5 0v4a.75.75 0 0 0 1.5 0z" clip-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 539 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

36
.config/wlogout/layout Normal file
View File

@ -0,0 +1,36 @@
{
"label" : "lock",
"action" : "loginctl lock-session",
"text" : "Lock",
"keybind" : "l"
}
{
"label" : "hibernate",
"action" : "systemctl hibernate",
"text" : "Hibernate",
"keybind" : "h"
}
{
"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"
}

51
.config/wlogout/style.css Normal file
View File

@ -0,0 +1,51 @@
* {
background-image: none;
box-shadow: none;
font-family: "Fira Sans Semibold", 'Courier New', Courier, monospace;
}
window {
background-color: rgba(12, 12, 12, 0.8);
}
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: "Fira Sans Bold";
}
#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"));
}
#hibernate {
background-image: image(url("/home/paul/.config/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.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"));
}