Compare commits

...

3 commits

Author SHA1 Message Date
Tobias Reisinger 5e3760a4e1
Add hyprcursors 2024-04-03 00:21:44 +02:00
Tobias Reisinger 347734f5ce
Update some configs 2024-04-03 00:21:21 +02:00
Tobias Reisinger 54c3bc1744
Improve configs 2024-03-27 18:56:17 +01:00
12 changed files with 174 additions and 220 deletions

19
.bin/.e
View file

@ -33,6 +33,18 @@ declare -A mapper=(
["zsh"]="$HOME/.config/zsh/.zshrc" ["zsh"]="$HOME/.config/zsh/.zshrc"
) )
declare -A directory=(
["bspwm"]="$HOME/.config/bspwm/"
["env.d"]="$HOME/.config/env.d/"
["home-manager"]="$HOME/.config/home-manager/"
["hyprland"]="$HOME/.config/hypr/"
["nvim"]="$HOME/.config/astronvim/lua/user/"
["polybar"]="$HOME/.config/polybar/"
["qutebrowser"]="$HOME/.config/qutebrowser/"
["waybar"]="$HOME/.config/waybar/"
["zsh"]="$HOME/.config/zsh/"
)
declare -A hooks=( declare -A hooks=(
["qutebrowser"]="qutebrowser :config-source" ["qutebrowser"]="qutebrowser :config-source"
["qutebrowser-kiosk"]="qutebrowser-kiosk :config-source" # broken due to qutebrowser-kiosk being an alias ["qutebrowser-kiosk"]="qutebrowser-kiosk :config-source" # broken due to qutebrowser-kiosk being an alias
@ -58,6 +70,13 @@ then
exit 1 exit 1
fi fi
working_dir="${directory["$1"]}"
if [ -n "$working_dir" ]
then
# shellcheck disable=SC2164
cd "$working_dir"
fi
$EDITOR "$target" $EDITOR "$target"
hook="${hooks["$1"]}" hook="${hooks["$1"]}"

View file

@ -36,5 +36,7 @@ fi
printf "\n\n\n\n=== DONE ============================================================\n" printf "\n\n\n\n=== DONE ============================================================\n"
pkill -SIGRTMIN+8 waybar >/dev/null 2>&1
# shellcheck disable=SC2162 # shellcheck disable=SC2162
read read

View file

@ -117,6 +117,13 @@ target = "$HOME/.icons/Dracula-cursors"
pipe = "tar xJ" pipe = "tar xJ"
groups = ["graphical"] groups = ["graphical"]
[[autoinstall]]
type = "file"
source = "https://github.com/guillaumeboehm/hyprcursor_dracula_kde/raw/master/hyprcursor_Dracula.tar.gz"
target = "$HOME/.icons/hyprcursor_Dracula"
pipe = "tar xz"
groups = ["graphical"]
[[autoinstall]] [[autoinstall]]
type = "exe" type = "exe"
source = "$(curl -fsSL 'https://data.services.jetbrains.com/products?code=TBA&release.type=release&fields=releases' | jq -r '.[0].releases[0].downloads.linux.link')" source = "$(curl -fsSL 'https://data.services.jetbrains.com/products?code=TBA&release.type=release&fields=releases' | jq -r '.[0].releases[0].downloads.linux.link')"

View file

@ -103,6 +103,12 @@ command = 'flatpak run com.teamspeak.TeamSpeak3 -nosingleinstance'
hosts = [] hosts = []
group = 'chat' group = 'chat'
[apps.teamspeak-notify-move]
command = 'ts-control events-move'
delay = 5
hosts = []
group = 'chat'
[apps.thunderbird] [apps.thunderbird]
command = 'thunderbird' command = 'thunderbird'
hosts = [] hosts = []

View file

@ -1 +1,6 @@
--ozone-platform-hint=auto --ozone-platform-hint=auto
--enable-features=VaapiVideoDecoder
--enable-features=VaapiVideoDecodeLinuxGL
--enable-features=VaapiIgnoreDriverChecks
--ignore-gpu-blocklist
--enable-zero-copy

View file

@ -17,40 +17,74 @@
# will be ignored. # will be ignored.
follow = none follow = none
# The geometry of the window: ### Geometry ###
# [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window.
# The height is measured in number of notifications everything else
# in pixels. If the width is omitted but the height is given
# ("-geometry x2"), the message window expands over the whole screen
# (dmenu-like). If width is 0, the window expands to the longest
# message displayed. A positive x is measured from the left, a
# negative from the right side of the screen. Y is measured from
# the top and down respectively.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "300x5-30+20"
# Show how many messages are currently hidden (because of geometry). # dynamic width from 0 to 300
# width = (0, 300)
# constant width of 300
width = 300
# The maximum height of a single notification, excluding the frame.
height = 300
# Position the notification in the top right corner
origin = top-left
# Offset from the origin
offset = 10x10
# Scale factor. It is auto-detected if value is 0.
scale = 0
# Maximum number of notification (0 means no limit)
notification_limit = 20
### Progress bar ###
# Turn on the progess 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 = 10
# Set the frame width of the progress bar
progress_bar_frame_width = 1
# 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 = 300
# Corner radius for the progress bar. 0 disables rounded corners.
progress_bar_corner_radius = 0
# Define which corners to round when drawing the progress bar. If progress_bar_corner_radius
# is set to 0 this option will be ignored.
progress_bar_corners = all
# Corner radius for the icon image.
icon_corner_radius = 0
# Define which corners to round when drawing the icon image. If icon_corner_radius
# is set to 0 this option will be ignored.
icon_corners = all
# Show how many messages are currently hidden (because of
# notification_limit).
indicate_hidden = yes indicate_hidden = yes
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = no
# The transparency of the window. Range: [0; 100]. # The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is # This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.). # present (e.g. xcompmgr, compiz, etc.). (X11 only)
transparency = 15 transparency = 0
# The height of the entire notification. If the height is smaller
# than the font height and padding combined, it will be raised
# to the font height and padding.
notification_height = 0
# Draw a line of "separator_height" pixel height between two # Draw a line of "separator_height" pixel height between two
# notifications. # notifications.
# Set to 0 to disable. # Set to 0 to disable.
# If gap_size is greater than 0, this setting will be ignored.
separator_height = 1 separator_height = 1
# Padding between text and separator. # Padding between text and separator.
@ -59,6 +93,9 @@
# Horizontal padding. # Horizontal padding.
horizontal_padding = 10 horizontal_padding = 10
# Padding between text and icon.
text_icon_padding = 0
# Defines width in pixels of frame around the notification window. # Defines width in pixels of frame around the notification window.
# Set to 0 to disable. # Set to 0 to disable.
frame_width = 0 frame_width = 0
@ -66,6 +103,12 @@
# Defines color of the frame around the notification window. # Defines color of the frame around the notification window.
frame_color = "#282a36" frame_color = "#282a36"
# Size of gap to display between notifications - requires a compositor.
# If value is greater than 0, separator_height will be ignored and a border
# of size frame_width will be drawn around each notification instead.
# Click events on gaps do not currently propagate to applications below.
gap_size = 0
# Define a color for the separator. # Define a color for the separator.
# possible values are: # possible values are:
# * auto: dunst tries to find a color fitting to the background; # * auto: dunst tries to find a color fitting to the background;
@ -74,7 +117,12 @@
# * anything else will be interpreted as a X color. # * anything else will be interpreted as a X color.
separator_color = frame separator_color = frame
# Sort messages by urgency. # Sort type.
# possible values are:
# * id: sort by id
# * urgency_ascending: sort by urgency (low then normal then critical)
# * urgency_descending: sort by urgency (critical then normal then low)
# * update: sort by update (most recent always at the top)
sort = yes sort = yes
# Don't remove messages, if the user is idle (no mouse or keyboard input) # Don't remove messages, if the user is idle (no mouse or keyboard input)
@ -100,7 +148,7 @@
# <u>underline</u> # <u>underline</u>
# #
# For a complete reference see # For a complete reference see
# <https://developer.gnome.org/pango/stable/pango-Markup.html>. # <https://docs.gtk.org/Pango/pango_markup.html>.
# #
# strip: This setting is provided for compatibility with some broken # strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the # clients that send markup even though it's not enabled on the
@ -126,7 +174,7 @@
# %n progress value if set without any extra characters # %n progress value if set without any extra characters
# %% Literal % # %% Literal %
# Markup is allowed # Markup is allowed
format = "<b>%s %p\n%b" format = "<b>%s</b>\n%b"
# Alignment of message text. # Alignment of message text.
# Possible values are "left", "center" and "right". # Possible values are "left", "center" and "right".
@ -141,11 +189,7 @@
# Set to -1 to disable. # Set to -1 to disable.
show_age_threshold = 60 show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into # Specify where to make an ellipsis in long lines.
# geometry.
word_wrap = yes
# When word_wrap is set to no, specify where to make an ellipsis in long lines.
# Possible values are "start", "middle" and "end". # Possible values are "start", "middle" and "end".
ellipsize = middle ellipsize = middle
@ -163,18 +207,27 @@
### Icons ### ### Icons ###
# Align icons left/right/off # Recursive icon lookup. You can set a single theme, instead of having to
# define all lookup paths.
enable_recursive_icon_lookup = true
# Set icon theme (only used for recursive icon lookup)
icon_theme = Adwaita
# You can also set multiple icon themes, with the leftmost one being used first.
# icon_theme = "Adwaita, breeze"
# Align icons left/right/top/off
icon_position = left icon_position = left
# Scale small icons up to this size, set to 0 to disable. Helpful # 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, # for e.g. small files or high-dpi screens. In case of conflict,
# max_icon_size takes precedence over this. # max_icon_size takes precedence over this.
min_icon_size = 0 min_icon_size = 32
# Scale larger icons down to this size, set to 0 to disable # Scale larger icons down to this size, set to 0 to disable
max_icon_size = 64 max_icon_size = 128
# Paths to default icons. # Paths to default icons (only neccesary when not using recursive icon lookup)
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### History ### ### History ###
@ -192,7 +245,7 @@
dmenu = /usr/bin/dmenu -p dunst: dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu. # Browser for opening urls in context menu.
browser = /usr/bin/firefox -new-tab browser = /usr/bin/xdg-open
# Always run rule-defined scripts, even if the notification is suppressed # Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true always_run_script = true
@ -203,20 +256,6 @@
# Define the class of the windows spawned by dunst # Define the class of the windows spawned by dunst
class = Dunst class = Dunst
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
# Manage dunst's desire for talking
# Can be one of the following values:
# crit: Critical features. Dunst aborts
# warn: Only non-fatal warnings
# mesg: Important Messages
# info: all unimportant stuff
# debug: all less than unimportant stuff
verbosity = mesg
# Define the corner radius of the notification window # Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded # in pixel size. If the radius is 0, you have no rounded
# corners. # corners.
@ -224,12 +263,29 @@
# notification height to avoid clipping text and/or icons. # notification height to avoid clipping text and/or icons.
corner_radius = 0 corner_radius = 0
# Define which corners to round when drawing the window. If the corner radius
# is set to 0 this option will be ignored.
#
# Comma-separated list of the corners. The accepted corner values are bottom-right,
# bottom-left, top-right, top-left, top, bottom, left, right or all.
corners = all
# Ignore the dbus closeNotification message. # Ignore the dbus closeNotification message.
# Useful to enforce the timeout set by dunst configuration. Without this # Useful to enforce the timeout set by dunst configuration. Without this
# parameter, an application may close the notification sent before the # parameter, an application may close the notification sent before the
# user defined timeout. # user defined timeout.
ignore_dbusclose = false ignore_dbusclose = false
### Wayland ###
# These settings are Wayland-specific. They have no effect when using X11
# Uncomment this if you want to let notications appear under fullscreen
# applications (default: overlay)
# layer = top
# Set this to true to use X11 output on Wayland.
force_xwayland = false
### Legacy ### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support. # Use the Xinerama extension instead of RandR for multi-monitor support.
@ -247,10 +303,14 @@
# Defines list of actions for each mouse event # Defines list of actions for each mouse event
# Possible values are: # Possible values are:
# * none: Don't do anything. # * none: Don't do anything.
# * do_action: If the notification has exactly one action, or one is marked as default, # * do_action: Invoke the action determined by the action_name rule. If there is no
# invoke it. If there are multiple and no default, open the context menu. # 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_current: Close current notification.
# * close_all: Close all notifications. # * 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 # These values can be strung together for each mouse event, and
# will be executed in sequence. # will be executed in sequence.
mouse_left_click = close_current mouse_left_click = close_current
@ -267,27 +327,6 @@
# where there are multiple screens with very different dpi values. # where there are multiple screens with very different dpi values.
per_monitor_dpi = false per_monitor_dpi = false
[shortcuts]
# Shortcuts are specified as [modifier+][modifier+]...key
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
# Close notification.
#close = ctrl+space
# Close all notifications.
#close_all = ctrl+shift+space
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1". Make sure this key actually exists on your keyboard layout,
# e.g. check output of 'xmodmap -pke'
#history = ctrl+grave
# Context menu.
#context = ctrl+shift+period
[urgency_low] [urgency_low]
# IMPORTANT: colors have to be defined in quotation marks. # IMPORTANT: colors have to be defined in quotation marks.
@ -311,120 +350,5 @@
timeout = 0 timeout = 0
# Icon for notifications with critical urgency, uncomment to enable # Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon #icon = /path/to/icon
# 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
# timeout
# urgency
#
# Shell-like globbing will get expanded.
#
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
# GLib based applications export their desktop-entry name. In comparison to the appname,
# the desktop-entry won't get localized.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
# Disable the transient hint so that idle_threshold cannot be bypassed from the
# client
#[transient_disable]
# match_transient = yes
# set_transient = no
#
# Make the handling of transient notifications more strict by making them not
# be placed in history.
#[transient_history_ignore]
# match_transient = yes
# history_ignore = yes
# fullscreen values
# show: show the notifications, regardless if there is a fullscreen window opened
# delay: displays the new notification, if there is no fullscreen window active
# If the notification is already drawn, it won't get undrawn.
# pushback: same as delay, but when switching into fullscreen, the notification will get
# withdrawn from screen again and will get delayed like a new notification
#[fullscreen_delay_everything]
# fullscreen = delay
#[fullscreen_show_critical]
# msg_urgency = critical
# fullscreen = show
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[skip-display]
# # This notification will not be displayed, but will be included in the history
# summary = "foobar"
# skip_display = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
#[stack-volumes]
# appname = "some_volume_notifiers"
# set_stack_tag = "volume"
# #
# vim: ft=cfg # vim: ft=cfg

View file

@ -2,6 +2,9 @@
env = XCURSOR_SIZE,24 env = XCURSOR_SIZE,24
env = XCURSOR_THEME,Dracula-cursors env = XCURSOR_THEME,Dracula-cursors
env = HYPRCURSOR_THEME,hyprcursor_Dracula
env = HYPRCURSOR_SIZE,24
env = GDK_BACKEND,wayland,x11 env = GDK_BACKEND,wayland,x11
env = QT_QPA_PLATFORM,wayland;xcb env = QT_QPA_PLATFORM,wayland;xcb
env = SDL_VIDEODRIVER,wayland env = SDL_VIDEODRIVER,wayland

View file

@ -1,4 +1,4 @@
### Workspace rules # Workspace rules
windowrulev2 = workspace $ws_web silent, class:(qutebrowser) windowrulev2 = workspace $ws_web silent, class:(qutebrowser)
windowrulev2 = workspace $ws_web, class:(firefox) windowrulev2 = workspace $ws_web, class:(firefox)
@ -17,11 +17,12 @@ windowrulev2 = workspace $ws_msg silent, class:(thunderbird)
windowrulev2 = workspace $ws_msg silent, class:(Signal) windowrulev2 = workspace $ws_msg silent, class:(Signal)
### Specific rules # Specific rules
windowrulev2 = move 100%-300 100%-30, class:(steam), title:^(notificationtoasts) windowrulev2 = move 100%-300 100%-30, class:(steam), title:^(notificationtoasts)
windowrulev2 = nofocus, class:(steam), title:^(notificationtoasts) windowrulev2 = nofocus, class:(steam), title:^(notificationtoasts)
windowrulev2 = float, class:(steam), title:^(Friends List) windowrulev2 = float, class:(steam), title:^(Friends List)
windowrulev2 = float, class:(zenity), title:^(Progress)
windowrulev2 = noinitialfocus, class:(steam), title:^(Friends List) windowrulev2 = noinitialfocus, class:(steam), title:^(Friends List)
windowrulev2 = workspace $ws_chat silent, class:(steam), title:^(Friends List) windowrulev2 = workspace $ws_chat silent, class:(steam), title:^(Friends List)

View file

@ -9,9 +9,6 @@ def init(c):
#c.content.proxy = "socks://localhost:9050/" #c.content.proxy = "socks://localhost:9050/"
c.content.headers.accept_language = "en-US,en;q=0.5" c.content.headers.accept_language = "en-US,en;q=0.5"
c.content.headers.custom = {
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
}
#c.content.headers.user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36" #c.content.headers.user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36"
c.content.tls.certificate_errors = 'block' c.content.tls.certificate_errors = 'block'

View file

@ -2,19 +2,17 @@ def init(c):
c.bind(',v', 'spawn io.freetubeapp.FreeTube {url}') c.bind(',v', 'spawn io.freetubeapp.FreeTube {url}')
c.bind(',V', 'hint links spawn io.freetubeapp.FreeTube {hint-url}') c.bind(',V', 'hint links spawn io.freetubeapp.FreeTube {hint-url}')
# ungoogled-chromium # external
c.bind(',b', 'spawn chromium {url}') c.bind(',eb', 'spawn chromium {url}')
c.bind(',B', 'hint links spawn chromium {hint-url}') c.bind(',eB', 'hint links spawn chromium {hint-url}')
# firefox c.bind(',ef', 'spawn firefox {url}')
c.bind(',f', 'spawn firefox {url}') c.bind(',eF', 'hint links spawn firefox {hint-url}')
c.bind(',F', 'hint links spawn firefox {hint-url}') c.bind(',es', 'spawn xdg-open steam://openurl/{url}')
c.bind(',j', 'spawn --userscript format_json dracula')
c.bind(',g', 'open {url:scheme}://github1s.com{url:path}{url:query}') c.bind(',g', 'open {url:scheme}://github1s.com{url:path}{url:query}')
c.bind(',rr', 'open {url:scheme}://unddit.com{url:path}{url:query}') c.bind(',rr', 'open {url:scheme}://unddit.com{url:path}{url:query}')
c.bind(',rt', 'open {url:scheme}://teddit.net{url:path}{url:query}') c.bind(',rt', 'open {url:scheme}://teddit.net{url:path}{url:query}')
c.bind(',s', 'spawn xdg-open steam://openurl/{url}')
gpg_key = '723B78C0BF8D8C721D2C4EEF41E544A54E2533B2' gpg_key = '723B78C0BF8D8C721D2C4EEF41E544A54E2533B2'
@ -24,20 +22,23 @@ def init(c):
c.bind(',Po', 'spawn --userscript qutebrowser-keepassxc --only-otp --key ' + gpg_key, mode='normal') c.bind(',Po', 'spawn --userscript qutebrowser-keepassxc --only-otp --key ' + gpg_key, mode='normal')
c.bind(',Pp', 'spawn --userscript qutebrowser-keepassxc --autotype --key ' + gpg_key, mode='normal') c.bind(',Pp', 'spawn --userscript qutebrowser-keepassxc --autotype --key ' + gpg_key, mode='normal')
c.unbind('M') # output
c.bind('M', 'spawn --userscript qutebrowser-linkwarden', mode='normal') c.bind(',oq', 'spawn --userscript qr {url}')
c.bind(',oQ', 'hint links spawn --userscript qr {hint-url}')
c.bind(',q', 'spawn --userscript qr {url}') c.bind(',oj', 'spawn --userscript format_json dracula')
c.bind(',Q', 'hint links spawn --userscript qr {hint-url}')
# cookies # cookies
c.bind(',cd', 'jseval document.cookie = "XDEBUG_SESSION=phpstorm; expires=Fri, 01 Jan 9999 00:00:00 GMT; path=/"') c.bind(',cd', 'jseval document.cookie = "XDEBUG_SESSION=phpstorm; expires=Fri, 01 Jan 9999 00:00:00 GMT; path=/"')
# query
c.bind(',qd', 'jseval let sp = new URLSearchParams(window.location.search); sp.append("filter-source", "1"); sp.append("filter-source", "2"); window.location.search = sp.toString();')
c.bind('<Alt-9>', 'tab-focus 9') c.bind('<Alt-9>', 'tab-focus 9')
c.bind('<Ctrl-Tab>', 'tab-next') c.bind('<Ctrl-Tab>', 'tab-next')
c.bind('<Ctrl-Shift-Tab>', 'tab-prev') c.bind('<Ctrl-Shift-Tab>', 'tab-prev')
c.unbind('M')
c.bind('M', 'spawn --userscript qutebrowser-linkwarden', mode='normal')
try: try:
import unalix import unalix
c.unbind('yy') c.unbind('yy')

View file

@ -1,5 +0,0 @@
[Unit]
Description=Current graphical user session
Documentation=man:systemd.special(7)
RefuseManualStart=no
StopWhenUnneeded=no

View file

@ -1,6 +0,0 @@
[Unit]
Description=Autostart several tools and services
[Service]
KillMode=process
ExecStart=/bin/sh -c ". $HOME/.profile && autostart-manage exec '%i'"