Initial commit
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
[colors.primary]
|
||||
foreground = "#bdbdbd"
|
||||
background = "#080808"
|
||||
|
||||
[colors.cursor]
|
||||
cursor = "#9e9e9e"
|
||||
text = "#080808"
|
||||
|
||||
[colors.normal]
|
||||
black = "#323437"
|
||||
red = "#ff5454"
|
||||
green = "#8cc85f"
|
||||
yellow = "#e3c78a"
|
||||
blue = "#80a0ff"
|
||||
magenta = "#cf87e8"
|
||||
cyan = "#79dac8"
|
||||
white = "#c6c6c6"
|
||||
|
||||
[colors.bright]
|
||||
black = "#949494"
|
||||
red = "#ff5189"
|
||||
green = "#36c692"
|
||||
yellow = "#c2c292"
|
||||
blue = "#74b2ff"
|
||||
magenta = "#ae81ff"
|
||||
cyan = "#85dc85"
|
||||
white = "#e4e4e4"
|
||||
|
||||
# [colors.search.focused_match]
|
||||
# background = "#000000"
|
||||
# foreground = "#cccccc"
|
||||
|
||||
# [colors.search.matches]
|
||||
# background = "#cccccc"
|
||||
# foreground = "#000000"
|
||||
|
||||
[colors.selection]
|
||||
background = "#b2ceee"
|
||||
text = "#080808"
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
cursor = "#b2ceee"
|
||||
text = "#080808"
|
||||
|
||||
[env]
|
||||
TERM = "xterm-256color"
|
||||
|
||||
[font.normal]
|
||||
family = "Iosevka Custom"
|
||||
style = "Regular"
|
||||
|
||||
[mouse]
|
||||
hide_when_typing = true
|
||||
|
||||
[shell]
|
||||
program = "zsh"
|
||||
|
||||
[window]
|
||||
dynamic_padding = true
|
||||
decorations = "None"
|
||||
|
||||
[window.dimensions]
|
||||
columns = 120
|
||||
lines = 36
|
||||
|
||||
[window.padding]
|
||||
x = 3
|
||||
y = 3
|
||||
@@ -0,0 +1,459 @@
|
||||
# See dunst(5) for all configuration options
|
||||
|
||||
[global]
|
||||
### Display ###
|
||||
|
||||
# Which monitor should the notifications be displayed on.
|
||||
monitor = 0
|
||||
|
||||
# Display notification on focused monitor. Possible modes are:
|
||||
# mouse: follow mouse pointer
|
||||
# keyboard: follow window with keyboard focus
|
||||
# none: don't follow anything
|
||||
#
|
||||
# "keyboard" needs a window manager that exports the
|
||||
# _NET_ACTIVE_WINDOW property.
|
||||
# This should be the case for almost all modern window managers.
|
||||
#
|
||||
# If this option is set to mouse or keyboard, the monitor option
|
||||
# will be ignored.
|
||||
follow = keyboard
|
||||
|
||||
### Geometry ###
|
||||
|
||||
# dynamic width from 0 to 300
|
||||
# width = (0, 300)
|
||||
# constant width of 300
|
||||
width = (0, 300)
|
||||
|
||||
# The maximum height of a single notification, excluding the frame.
|
||||
height = 300
|
||||
|
||||
# Position the notification in the top right corner
|
||||
origin = bottom-right
|
||||
|
||||
# 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
|
||||
|
||||
# Corner radius for the icon image.
|
||||
icon_corner_radius = 0
|
||||
|
||||
# Show how many messages are currently hidden (because of
|
||||
# notification_limit).
|
||||
indicate_hidden = yes
|
||||
|
||||
# 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
|
||||
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications.
|
||||
# Set to 0 to disable.
|
||||
# If gap_size is greater than 0, this setting will be ignored.
|
||||
separator_height = 2
|
||||
|
||||
# Padding between text and separator.
|
||||
padding = 8
|
||||
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 8
|
||||
|
||||
# Padding between text and icon.
|
||||
text_icon_padding = 0
|
||||
|
||||
# Defines width in pixels of frame around the notification window.
|
||||
# Set to 0 to disable.
|
||||
frame_width = 3
|
||||
|
||||
# Defines color of the frame around the notification window.
|
||||
frame_color = "#323437"
|
||||
|
||||
# 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.
|
||||
# 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 = frame
|
||||
|
||||
# Sort messages by urgency.
|
||||
sort = yes
|
||||
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||
# for longer than idle_threshold seconds.
|
||||
# Set to 0 to disable.
|
||||
# A client can set the 'transient' hint to bypass this. See the rules
|
||||
# section for how to disable this if necessary
|
||||
idle_threshold = 60
|
||||
|
||||
### Text ###
|
||||
|
||||
font = Noto Sans 11
|
||||
|
||||
# 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
|
||||
|
||||
# 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 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 '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
# Stack together notifications with the same content
|
||||
stack_duplicates = true
|
||||
|
||||
# Hide the count of stacked notifications with the same content
|
||||
hide_duplicate_count = false
|
||||
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
show_indicators = yes
|
||||
|
||||
### Icons ###
|
||||
|
||||
# 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
|
||||
|
||||
# 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 = 32
|
||||
|
||||
# Scale larger icons down to this size, set to 0 to disable
|
||||
max_icon_size = 128
|
||||
|
||||
# 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/
|
||||
|
||||
### History ###
|
||||
|
||||
# Should a notification popped up from history be sticky or timeout
|
||||
# as if it would normally do.
|
||||
sticky_history = yes
|
||||
|
||||
# Maximum amount of notifications kept in history
|
||||
history_length = 20
|
||||
|
||||
### Misc/Advanced ###
|
||||
|
||||
# dmenu path.
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
|
||||
# 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
|
||||
|
||||
# Define the title of the windows spawned by dunst
|
||||
title = Dunst
|
||||
|
||||
# Define the class of the windows spawned by dunst
|
||||
class = Dunst
|
||||
|
||||
# Define the corner radius of the notification window
|
||||
# in pixel size. If the radius is 0, you have no rounded
|
||||
# corners.
|
||||
# The radius will be automatically lowered if it exceeds half of the
|
||||
# notification height to avoid clipping text and/or icons.
|
||||
corner_radius = 0
|
||||
|
||||
# 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
|
||||
|
||||
### 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
|
||||
|
||||
# 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 = close_current
|
||||
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]
|
||||
# IMPORTANT: colors have to be defined in quotation marks.
|
||||
# Otherwise the "#" and following would be interpreted as a comment.
|
||||
background = "#222222"
|
||||
foreground = "#888888"
|
||||
timeout = 5
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon
|
||||
|
||||
[urgency_normal]
|
||||
background = "#285577"
|
||||
foreground = "#ffffff"
|
||||
timeout = 5
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon
|
||||
|
||||
[urgency_critical]
|
||||
background = "#900000"
|
||||
foreground = "#ffffff"
|
||||
frame_color = "#ff0000"
|
||||
timeout = 0
|
||||
# Icon for notifications with critical urgency, uncomment to enable
|
||||
#default_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
|
||||
# set_category
|
||||
# timeout
|
||||
# urgency
|
||||
# icon_position
|
||||
# skip_display
|
||||
# history_ignore
|
||||
# action_name
|
||||
# word_wrap
|
||||
# ellipsize
|
||||
# alignment
|
||||
# hide_text
|
||||
#
|
||||
# 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
|
||||
@@ -0,0 +1,26 @@
|
||||
show_calendar = 1
|
||||
show_timezones = 1
|
||||
mark_today = 1
|
||||
show_week_numbers = 1
|
||||
close_on_unfocus = 1
|
||||
# external_viewer = sunbird \-showdate "%Y\-%m\-%d"
|
||||
clock_format = %a %d %b %H:%M
|
||||
force_lang = en_US.utf8
|
||||
mainwindow_decorated = 0
|
||||
mainwindow_keep_above = 1
|
||||
mainwindow_sticky = 0
|
||||
mainwindow_skip_taskbar = 1
|
||||
mainwindow_resizable = 0
|
||||
mainwindow_position = mouse
|
||||
# Desktop
|
||||
mainwindow_xoffset = -96
|
||||
mainwindow_yoffset = -96
|
||||
# Laptop
|
||||
#mainwindow_xoffset = -48
|
||||
#mainwindow_yoffset = -42
|
||||
clock_label = Local
|
||||
clock_tz = :Europe/Stockholm
|
||||
clock_label = EDT
|
||||
clock_tz = :US/Eastern
|
||||
clock_label = UTC
|
||||
clock_tz = :UTC
|
||||
@@ -0,0 +1,6 @@
|
||||
file:///home/oscar/Documents
|
||||
file:///home/oscar/Music
|
||||
file:///home/oscar/Pictures
|
||||
file:///home/oscar/Videos
|
||||
file:///home/oscar/Downloads
|
||||
file:///home/oscar/repos repos
|
||||
@@ -0,0 +1,3 @@
|
||||
[Settings]
|
||||
gtk-application-prefer-dark-theme=1
|
||||
gtk-theme-name=Adwaita
|
||||
@@ -0,0 +1,3 @@
|
||||
[Settings]
|
||||
gtk-application-prefer-dark-theme=1
|
||||
gtk-theme-name=Adwaita
|
||||
@@ -0,0 +1,277 @@
|
||||
# This file has been auto-generated by i3-config-wizard(1).
|
||||
# It will not be overwritten, so edit it as you like.
|
||||
#
|
||||
# Should you change your keyboard layout some time, delete
|
||||
# this file and re-run i3-config-wizard(1).
|
||||
#
|
||||
|
||||
# i3 config file (v4)
|
||||
#
|
||||
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||
|
||||
set $mod Mod4
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font pango:Noto Sans 11
|
||||
|
||||
# To disable titlebar
|
||||
default_border pixel 1
|
||||
default_floating_border pixel 1
|
||||
|
||||
for_window [class="Thunar" instance="thunar"] floating enable
|
||||
for_window [class="Gnome-screenshot" instance="gnome-screenshot"] floating enable
|
||||
for_window [class="File-roller" instance="file-roller"] floating enable
|
||||
|
||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||
#font pango:DejaVu Sans Mono 8
|
||||
|
||||
# Linux (brightnessctl)
|
||||
set $get_brightness $(brightnessctl info | grep -Eo '[0-9]+%' | cut -d% -f1)
|
||||
set $incr_brightness brightnessctl set +5%
|
||||
set $decr_brightness brightnessctl set 5%-
|
||||
|
||||
# FreeBSD (intel-backlight)
|
||||
# set $get_brightness $(intel_backlight | grep -Eo '[0-9]+%' | cut -d% -f1)
|
||||
# set $incr_brightness intel_backlight incr || true
|
||||
# set $decr_brightness intel_backlight decr || true
|
||||
|
||||
bindsym XF86MonBrightnessUp \
|
||||
exec --no-startup-id $incr_brightness \
|
||||
&& notify-send \
|
||||
-u low \
|
||||
-h int:value:$get_brightness \
|
||||
-h string:synchronous:volume "Brightness: $get_brightness %"
|
||||
bindsym XF86MonBrightnessDown \
|
||||
exec --no-startup-id $decr_brightness \
|
||||
&& notify-send \
|
||||
-u low \
|
||||
-h int:value:$get_brightness \
|
||||
-h string:synchronous:volume "Brightness: $get_brightness %"
|
||||
|
||||
bindsym XF86AudioPlay \
|
||||
exec --no-startup-id playerctl play-pause \
|
||||
&& sleep 0.05 \
|
||||
&& notify-send \
|
||||
-u low \
|
||||
-h string:synchronous:play "Media: $(playerctl status)"
|
||||
bindsym XF86AudioNext \
|
||||
exec --no-startup-id playerctl next
|
||||
bindsym XF86AudioPrev \
|
||||
exec --no-startup-id playerctl previous
|
||||
bindsym XF86AudioStop \
|
||||
exec --no-startup-id playerctl stop
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# move tiling windows via drag & drop by left-clicking into the title bar,
|
||||
# or left-clicking anywhere into the window while holding the floating modifier.
|
||||
tiling_drag modifier titlebar
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# change focus
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l move right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
# split in horizontal orientation
|
||||
bindsym $mod+v split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindsym $mod+c split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen toggle
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+Shift+a layout stacking
|
||||
bindsym $mod+Shift+w layout tabbed
|
||||
bindsym $mod+Shift+e layout toggle split
|
||||
|
||||
# toggle tiling / floating
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# focus the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
# focus the child container
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
# Define names for default workspaces for which we configure key bindings later on.
|
||||
# We use variables to avoid repeating the names in multiple places.
|
||||
set $ws1 "1"
|
||||
set $ws2 "2"
|
||||
set $ws3 "3"
|
||||
set $ws4 "4"
|
||||
set $ws5 "5"
|
||||
set $ws6 "6"
|
||||
set $ws7 "7"
|
||||
set $ws8 "8"
|
||||
set $ws9 "9"
|
||||
set $ws10 "10"
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace number $ws1
|
||||
bindsym $mod+2 workspace number $ws2
|
||||
bindsym $mod+3 workspace number $ws3
|
||||
bindsym $mod+4 workspace number $ws4
|
||||
bindsym $mod+5 workspace number $ws5
|
||||
bindsym $mod+6 workspace number $ws6
|
||||
bindsym $mod+7 workspace number $ws7
|
||||
bindsym $mod+8 workspace number $ws8
|
||||
bindsym $mod+9 workspace number $ws9
|
||||
bindsym $mod+0 workspace number $ws10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym $mod+Shift+r restart
|
||||
# exit i3 (logs you out of your X session)
|
||||
bindsym $mod+Shift+x exec --no-startup-id \
|
||||
"i3-nagbar \
|
||||
-t warning \
|
||||
-p \
|
||||
-m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' \
|
||||
-B 'Yes, exit i3' \
|
||||
'i3-msg exit'"
|
||||
bindsym $mod+Ctrl+Shift+x exec --no-startup-id i3-msg exit
|
||||
# lock screen
|
||||
bindsym $mod+Shift+o exec --no-startup-id i3lock --color 000000 && sleep 5 && xset dpms force off
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
mode "resize" {
|
||||
# These bindings trigger as soon as you enter the resize mode
|
||||
|
||||
# Pressing left will shrink the window’s width.
|
||||
# Pressing right will grow the window’s width.
|
||||
# Pressing up will shrink the window’s height.
|
||||
# Pressing down will grow the window’s height.
|
||||
bindsym h resize shrink width 5 px
|
||||
bindsym j resize grow height 5 px
|
||||
bindsym k resize shrink height 5 px
|
||||
bindsym l resize grow width 5 px
|
||||
|
||||
# same bindings, but for the arrow keys
|
||||
bindsym Left resize shrink width 5 px
|
||||
bindsym Down resize grow height 5 px
|
||||
bindsym Up resize shrink height 5 px
|
||||
bindsym Right resize grow width 5 px
|
||||
|
||||
# back to normal: Enter or Escape or $mod+r
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym $mod+r mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# Custom options
|
||||
focus_follows_mouse yes
|
||||
mouse_warping none
|
||||
# hide_edge_borders smart
|
||||
|
||||
# Custom bindings
|
||||
bindsym $mod+Ctrl+Right move workspace to output right
|
||||
bindsym $mod+Ctrl+Left move workspace to output left
|
||||
bindsym $mod+Ctrl+l move workspace to output right
|
||||
bindsym $mod+Ctrl+h move workspace to output left
|
||||
bindsym $mod+Tab workspace next_on_output
|
||||
bindsym $mod+Shift+Tab workspace prev_on_output
|
||||
|
||||
# Launchers
|
||||
bindsym $mod+d exec --no-startup-id rofi -show drun
|
||||
bindsym $mod+F2 exec --no-startup-id rofi -show run
|
||||
# bindsym $mod+e exec --no-startup-id rofi -show filebrowser
|
||||
bindsym $mod+e exec --no-startup-id thunar
|
||||
bindsym $mod+Return exec --no-startup-id i3-sensible-terminal
|
||||
bindsym $mod+Shift+s exec --no-startup-id gnome-screenshot --interactive
|
||||
|
||||
# Scratchpad
|
||||
# Make the currently focused window a scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
# Show the first scratchpad window
|
||||
bindsym $mod+minus scratchpad show
|
||||
# mode "scratchpad" {
|
||||
# bindsym $mod+Tab scratchpad show; scratchpad show
|
||||
# bindsym Return floating toggle; mode "default"
|
||||
# bindsym Escape scratchpad show; mode "default"
|
||||
# bindsym $mod+Escape mode "default"
|
||||
# }
|
||||
|
||||
# bindsym $mod+Tab mode "scratchpad"; scratchpad show
|
||||
|
||||
# Custom theme
|
||||
# class border backgr. text indicator child_border
|
||||
client.focused #323437 #323437 #bdbdbd #949494 #949494
|
||||
#client.focused #9e9e9e #9e9e9e #080808 #323437 #323437
|
||||
client.focused_inactive #323437 #323437 #bdbdbd #323437 #323437
|
||||
client.unfocused #323437 #1c1c1c #9e9e9e #323437 #323437
|
||||
client.urgent #9d3b19 #9d3b19 #bdbdbd #9d3b19 #9d3b19
|
||||
client.placeholder #323437 #323437 #bdbdbd #323437 #323437
|
||||
|
||||
client.background #ffffff
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
|
||||
bar {
|
||||
# id primary-bar
|
||||
# output primary
|
||||
font pango:Noto Sans 11
|
||||
position top
|
||||
workspace_buttons yes
|
||||
# workspace_min_width 40px
|
||||
# height 40
|
||||
tray_output primary
|
||||
tray_padding 4
|
||||
separator_symbol " "
|
||||
status_command get-status
|
||||
colors {
|
||||
separator #d3d7cf
|
||||
background #080808
|
||||
statusline #e4e4e4
|
||||
focused_workspace #4c7899 #285577 #e4e4e4
|
||||
active_workspace #323437 #323437 #bdbdbd
|
||||
inactive_workspace #323437 #080808 #bdbdbd
|
||||
urgent_workspace #9d3b19 #9d3b19 #d3d7cf
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
general {
|
||||
output_format = "i3bar"
|
||||
colors = true
|
||||
interval = 5
|
||||
}
|
||||
|
||||
order += "disk /"
|
||||
order += "cpu_temperature 0"
|
||||
order += "cpu_usage"
|
||||
order += "memory"
|
||||
order += "battery 0"
|
||||
order += "time"
|
||||
order += "tztime chennai"
|
||||
order += "tztime stockholm"
|
||||
|
||||
disk "/" {
|
||||
format = "DISK: %used / %total"
|
||||
low_threshold = 20
|
||||
threshold_type = "gbytes_avail"
|
||||
}
|
||||
|
||||
cpu_temperature 0 {
|
||||
format = "CPU: %degrees °C"
|
||||
max_threshold = 75
|
||||
path = "/sys/devices/virtual/thermal/thermal_zone0/temp"
|
||||
#path = "hw.acpi.thermal.tz0.temperature"
|
||||
}
|
||||
|
||||
cpu_usage {
|
||||
format = "%usage"
|
||||
max_threshold = 95
|
||||
degraded_threshold = 90
|
||||
}
|
||||
|
||||
memory {
|
||||
format = "MEM: %used / %total"
|
||||
threshold_degraded = "2G"
|
||||
threshold_critical = "1G"
|
||||
}
|
||||
|
||||
battery 0 {
|
||||
format = "%status: %percentage"
|
||||
format_percentage = "%.00f%s"
|
||||
format_down = "No battery"
|
||||
path = "/sys/class/power_supply/BAT%d/uevent"
|
||||
low_threshold = 10
|
||||
threshold_type = "percentage"
|
||||
}
|
||||
|
||||
time {
|
||||
format = "%d-%m-%Y "
|
||||
}
|
||||
|
||||
tztime stockholm {
|
||||
format = "%H:%M %Z"
|
||||
timezone = "Europe/Stockholm"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,17 @@
|
||||
# set previewer ~/.config/lf/pv_sandbox.sh
|
||||
# map i $~/.config/lf/pv_sandbox.sh $f | less -R
|
||||
|
||||
set preview false
|
||||
set ratios 1
|
||||
set hidden true
|
||||
set info size:time
|
||||
set promptfmt "\033[34;1m%d\033[0m"
|
||||
set incsearch true
|
||||
set incfilter true
|
||||
set period 1
|
||||
|
||||
# map f filter
|
||||
# map j updir
|
||||
# map k down
|
||||
# map l up
|
||||
# map ; open
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
read -p "Path: " path
|
||||
|
||||
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
case "$1" in
|
||||
*.tar*) tar tf "$1";;
|
||||
*.zip) unzip -l "$1";;
|
||||
*.rar) unrar l "$1";;
|
||||
*.7z) 7z l "$1";;
|
||||
*.pdf) pdftotext "$1" -;;
|
||||
*) highlight -O ansi "$1";;
|
||||
esac
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
set -euo pipefail
|
||||
(
|
||||
exec bwrap \
|
||||
--ro-bind /usr/bin /usr/bin \
|
||||
--ro-bind /usr/share/ /usr/share/ \
|
||||
--ro-bind /usr/lib /usr/lib \
|
||||
--ro-bind /usr/lib64 /usr/lib64 \
|
||||
--symlink /usr/bin /bin \
|
||||
--symlink /usr/bin /sbin \
|
||||
--symlink /usr/lib /lib \
|
||||
--symlink /usr/lib64 /lib64 \
|
||||
--proc /proc \
|
||||
--dev /dev \
|
||||
--ro-bind /etc /etc \
|
||||
--ro-bind ~/.config ~/.config \
|
||||
--ro-bind ~/.cache ~/.cache \
|
||||
--ro-bind "$PWD" "$PWD" \
|
||||
--unshare-all \
|
||||
--new-session \
|
||||
sh ~/.config/lf/pv.sh "$@"
|
||||
)
|
||||
@@ -0,0 +1,425 @@
|
||||
#################################
|
||||
# Shadows #
|
||||
#################################
|
||||
|
||||
|
||||
# Enabled client-side shadows on windows. Note desktop windows
|
||||
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
|
||||
# unless explicitly requested using the wintypes option.
|
||||
#
|
||||
# shadow = false
|
||||
|
||||
# The blur radius for shadows, in pixels. (defaults to 12)
|
||||
# shadow-radius = 12
|
||||
shadow-radius = 7;
|
||||
|
||||
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
||||
# shadow-opacity = .75
|
||||
|
||||
# The left offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-x = -15
|
||||
shadow-offset-x = -7;
|
||||
|
||||
# The top offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-y = -15
|
||||
shadow-offset-y = -7;
|
||||
|
||||
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-red = 0
|
||||
|
||||
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-green = 0
|
||||
|
||||
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-blue = 0
|
||||
|
||||
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
|
||||
# shadow-color = "#000000"
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow.
|
||||
#
|
||||
# examples:
|
||||
# shadow-exclude = "n:e:Notification";
|
||||
#
|
||||
# shadow-exclude = []
|
||||
shadow-exclude = [
|
||||
"name = 'Notification'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g = 'Cairo-clock'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
|
||||
# clip-shadow-above = []
|
||||
|
||||
# Specify a X geometry that describes the region in which shadow should not
|
||||
# be painted in, such as a dock window region. Use
|
||||
# shadow-exclude-reg = "x10+0+0"
|
||||
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
||||
#
|
||||
# shadow-exclude-reg = ""
|
||||
|
||||
# Crop shadow of a window fully on a particular monitor to that monitor. This is
|
||||
# currently implemented using the X RandR extension.
|
||||
# crop-shadow-to-monitor = false
|
||||
|
||||
|
||||
#################################
|
||||
# Fading #
|
||||
#################################
|
||||
|
||||
|
||||
# Fade windows in/out when opening/closing and when opacity changes,
|
||||
# unless no-fading-openclose is used.
|
||||
# fading = false
|
||||
|
||||
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
||||
# fade-in-step = 0.028
|
||||
fade-in-step = 0.03;
|
||||
|
||||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||
# fade-out-step = 0.03
|
||||
fade-out-step = 0.03;
|
||||
|
||||
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
||||
# fade-delta = 10
|
||||
|
||||
# Specify a list of conditions of windows that should not be faded.
|
||||
# fade-exclude = []
|
||||
|
||||
# Do not fade on window open/close.
|
||||
# no-fading-openclose = false
|
||||
|
||||
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
|
||||
# no-fading-destroyed-argb = false
|
||||
|
||||
|
||||
#################################
|
||||
# Transparency / Opacity #
|
||||
#################################
|
||||
|
||||
|
||||
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
|
||||
# inactive-opacity = 1
|
||||
|
||||
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
||||
# frame-opacity = 1.0
|
||||
|
||||
# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
|
||||
# inactive-opacity-override = true
|
||||
inactive-opacity-override = false;
|
||||
|
||||
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
||||
# active-opacity = 1.0
|
||||
|
||||
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
||||
# inactive-dim = 0.0
|
||||
|
||||
# Specify a list of conditions of windows that should never be considered focused.
|
||||
# focus-exclude = []
|
||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||
|
||||
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
||||
# inactive-dim-fixed = 1.0
|
||||
|
||||
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
|
||||
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
|
||||
# Note we don't make any guarantee about possible conflicts with other
|
||||
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
|
||||
# example:
|
||||
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
||||
#
|
||||
# opacity-rule = []
|
||||
|
||||
|
||||
#################################
|
||||
# Corners #
|
||||
#################################
|
||||
|
||||
# Sets the radius of rounded window corners. When > 0, the compositor will
|
||||
# round the corners of windows. Does not interact well with
|
||||
# `transparent-clipping`.
|
||||
corner-radius = 0
|
||||
|
||||
# Exclude conditions for rounded corners.
|
||||
rounded-corners-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'"
|
||||
];
|
||||
|
||||
|
||||
#################################
|
||||
# Background-Blurring #
|
||||
#################################
|
||||
|
||||
|
||||
# Parameters for background blurring, see the *BLUR* section for more information.
|
||||
# blur-method =
|
||||
# blur-size = 12
|
||||
#
|
||||
# blur-deviation = false
|
||||
#
|
||||
# blur-strength = 5
|
||||
|
||||
# Blur background of semi-transparent / ARGB windows.
|
||||
# Bad in performance, with driver-dependent behavior.
|
||||
# The name of the switch may change without prior notifications.
|
||||
#
|
||||
# blur-background = false
|
||||
|
||||
# Blur background of windows when the window frame is not opaque.
|
||||
# Implies:
|
||||
# blur-background
|
||||
# Bad in performance, with driver-dependent behavior. The name may change.
|
||||
#
|
||||
# blur-background-frame = false
|
||||
|
||||
|
||||
# Use fixed blur strength rather than adjusting according to window opacity.
|
||||
# blur-background-fixed = false
|
||||
|
||||
|
||||
# Specify the blur convolution kernel, with the following format:
|
||||
# example:
|
||||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
||||
#
|
||||
# blur-kern = ""
|
||||
blur-kern = "3x3box";
|
||||
|
||||
|
||||
# Exclude conditions for background blur.
|
||||
# blur-background-exclude = []
|
||||
blur-background-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
#################################
|
||||
# General Settings #
|
||||
#################################
|
||||
|
||||
# Enable remote control via D-Bus. See the man page for more details.
|
||||
# dbus = true
|
||||
|
||||
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
||||
# daemon = false
|
||||
|
||||
# Specify the backend to use: `xrender`, `glx`, `egl` or `xr_glx_hybrid`.
|
||||
# `xrender` is the default one.
|
||||
#
|
||||
backend = "egl";
|
||||
|
||||
# Use higher precision during rendering, and apply dither when presenting the
|
||||
# rendered screen. Reduces banding artifacts, but might cause performance
|
||||
# degradation. Only works with OpenGL.
|
||||
dithered-present = false;
|
||||
|
||||
# Enable/disable VSync.
|
||||
# vsync = false
|
||||
vsync = true;
|
||||
|
||||
# Try to detect WM windows (a non-override-redirect window with no
|
||||
# child that has 'WM_STATE') and mark them as active.
|
||||
#
|
||||
# mark-wmwin-focused = false
|
||||
mark-wmwin-focused = true;
|
||||
|
||||
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
|
||||
# mark-ovredir-focused = false
|
||||
mark-ovredir-focused = true;
|
||||
|
||||
# Try to detect windows with rounded corners and don't consider them
|
||||
# shaped windows. The accuracy is not very high, unfortunately.
|
||||
#
|
||||
# detect-rounded-corners = false
|
||||
detect-rounded-corners = true;
|
||||
|
||||
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
|
||||
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
|
||||
#
|
||||
# detect-client-opacity = false
|
||||
|
||||
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
||||
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
|
||||
# provided that the WM supports it.
|
||||
#
|
||||
# use-ewmh-active-win = false
|
||||
|
||||
# Unredirect all windows if a full-screen opaque window is detected,
|
||||
# to maximize performance for full-screen windows. Known to cause flickering
|
||||
# when redirecting/unredirecting windows.
|
||||
#
|
||||
# unredir-if-possible = false
|
||||
|
||||
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
||||
# unredir-if-possible-delay = 0
|
||||
|
||||
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
|
||||
# unredir-if-possible-exclude = []
|
||||
|
||||
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
||||
# in the same group focused at the same time.
|
||||
#
|
||||
# detect-transient = false
|
||||
detect-transient = true;
|
||||
|
||||
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
||||
# group focused at the same time. This usually means windows from the same application
|
||||
# will be considered focused or unfocused at the same time.
|
||||
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
|
||||
#
|
||||
# detect-client-leader = false
|
||||
|
||||
# Resize damaged region by a specific number of pixels.
|
||||
# A positive value enlarges it while a negative one shrinks it.
|
||||
# If the value is positive, those additional pixels will not be actually painted
|
||||
# to screen, only used in blur calculation, and such. (Due to technical limitations,
|
||||
# with use-damage, those pixels will still be incorrectly painted to screen.)
|
||||
# Primarily used to fix the line corruption issues of blur,
|
||||
# in which case you should use the blur radius value here
|
||||
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
|
||||
# with a 5x5 one you use `--resize-damage 2`, and so on).
|
||||
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
|
||||
#
|
||||
# resize-damage = 1
|
||||
|
||||
# Specify a list of conditions of windows that should be painted with inverted color.
|
||||
# Resource-hogging, and is not well tested.
|
||||
#
|
||||
# invert-color-include = []
|
||||
|
||||
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
|
||||
# Might cause incorrect opacity when rendering transparent content (but never
|
||||
# practically happened) and may not work with blur-background.
|
||||
# My tests show a 15% performance boost. Recommended.
|
||||
#
|
||||
glx-no-stencil = true;
|
||||
|
||||
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||
# Probably could improve performance on rapid window content changes,
|
||||
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
|
||||
# Recommended if it works.
|
||||
#
|
||||
# glx-no-rebind-pixmap = false
|
||||
|
||||
# Disable the use of damage information.
|
||||
# This cause the whole screen to be redrawn every time, instead of the part of the screen
|
||||
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
||||
# The opposing option is use-damage
|
||||
#
|
||||
# no-use-damage = false
|
||||
use-damage = true;
|
||||
|
||||
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
||||
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
||||
# with GLX backend for some users.
|
||||
#
|
||||
# xrender-sync-fence = false
|
||||
|
||||
# GLX backend: Use specified GLSL fragment shader for rendering window
|
||||
# contents. Read the man page for a detailed explanation of the interface.
|
||||
#
|
||||
# window-shader-fg = "default"
|
||||
|
||||
# Use rules to set per-window shaders. Syntax is SHADER_PATH:PATTERN, similar
|
||||
# to opacity-rule. SHADER_PATH can be "default". This overrides window-shader-fg.
|
||||
#
|
||||
# window-shader-fg-rule = [
|
||||
# "my_shader.frag:window_type != 'dock'"
|
||||
# ]
|
||||
|
||||
# Force all windows to be painted with blending. Useful if you
|
||||
# have a glx-fshader-win that could turn opaque pixels transparent.
|
||||
#
|
||||
# force-win-blend = false
|
||||
|
||||
# Do not use EWMH to detect fullscreen windows.
|
||||
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
||||
#
|
||||
# no-ewmh-fullscreen = false
|
||||
|
||||
# Dimming bright windows so their brightness doesn't exceed this set value.
|
||||
# Brightness of a window is estimated by averaging all pixels in the window,
|
||||
# so this could comes with a performance hit.
|
||||
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
||||
#
|
||||
# max-brightness = 1.0
|
||||
|
||||
# Make transparent windows clip other windows like non-transparent windows do,
|
||||
# instead of blending on top of them.
|
||||
#
|
||||
# transparent-clipping = false
|
||||
|
||||
# Specify a list of conditions of windows that should never have transparent
|
||||
# clipping applied. Useful for screenshot tools, where you need to be able to
|
||||
# see through transparent parts of the window.
|
||||
#
|
||||
# transparent-clipping-exclude = []
|
||||
|
||||
# Set the log level. Possible values are:
|
||||
# "trace", "debug", "info", "warn", "error"
|
||||
# in increasing level of importance. Case doesn't matter.
|
||||
# If using the "TRACE" log level, it's better to log into a file
|
||||
# using *--log-file*, since it can generate a huge stream of logs.
|
||||
#
|
||||
# log-level = "debug"
|
||||
log-level = "warn";
|
||||
|
||||
# Set the log file.
|
||||
# If *--log-file* is never specified, logs will be written to stderr.
|
||||
# Otherwise, logs will to written to the given file, though some of the early
|
||||
# logs might still be written to the stderr.
|
||||
# When setting this option from the config file, it is recommended to use an absolute path.
|
||||
#
|
||||
# log-file = "/path/to/your/log/file"
|
||||
|
||||
# Show all X errors (for debugging)
|
||||
# show-all-xerrors = false
|
||||
|
||||
# Write process ID to a file.
|
||||
# write-pid-path = "/path/to/your/log/file"
|
||||
|
||||
# Window type settings
|
||||
#
|
||||
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
||||
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
||||
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
||||
# "tooltip", "notification", "combo", and "dnd".
|
||||
#
|
||||
# Following per window-type options are available: ::
|
||||
#
|
||||
# fade, shadow:::
|
||||
# Controls window-type-specific shadow and fade settings.
|
||||
#
|
||||
# opacity:::
|
||||
# Controls default opacity of the window type.
|
||||
#
|
||||
# focus:::
|
||||
# Controls whether the window of this type is to be always considered focused.
|
||||
# (By default, all window types except "normal" and "dialog" has this on.)
|
||||
#
|
||||
# full-shadow:::
|
||||
# Controls whether shadow is drawn under the parts of the window that you
|
||||
# normally won't be able to see. Useful when the window has parts of it
|
||||
# transparent, and you want shadows in those areas.
|
||||
#
|
||||
# clip-shadow-above:::
|
||||
# Controls whether shadows that would have been drawn above the window should
|
||||
# be clipped. Useful for dock windows that should have no shadow painted on top.
|
||||
#
|
||||
# redir-ignore:::
|
||||
# Controls whether this type of windows should cause screen to become
|
||||
# redirected again after been unredirected. If you have unredir-if-possible
|
||||
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
||||
# you can set this to `true`.
|
||||
#
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = false; shadow = false; opacity = 1.0; focus = true; full-shadow = false; };
|
||||
dock = { shadow = false; clip-shadow-above = true; }
|
||||
dnd = { shadow = false; }
|
||||
popup_menu = { opacity = 1.0; }
|
||||
dropdown_menu = { opacity = 1.0; }
|
||||
};
|
||||
@@ -0,0 +1,154 @@
|
||||
configuration {
|
||||
modes: "drun,run,filebrowser";
|
||||
font: "Noto Sans 12";
|
||||
/* location: 0;*/
|
||||
/* yoffset: 0;*/
|
||||
/* xoffset: 0;*/
|
||||
/* fixed-num-lines: true;*/
|
||||
show-icons: true;
|
||||
/* terminal: "rofi-sensible-terminal";*/
|
||||
/* ssh-client: "ssh";*/
|
||||
/* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/
|
||||
/* run-command: "{cmd}";*/
|
||||
/* run-list-command: "";*/
|
||||
run-shell-command: "{terminal} -e zsh -ic '{cmd} && read'";
|
||||
/* run-shell-command: "{terminal} -e {cmd}";*/
|
||||
/* window-command: "wmctrl -i -R {window}";*/
|
||||
/* window-match-fields: "all";*/
|
||||
/* icon-theme: ;*/
|
||||
/* drun-match-fields: "name,generic,exec,categories,keywords";*/
|
||||
/* drun-categories: ;*/
|
||||
/* drun-show-actions: false;*/
|
||||
/* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";*/
|
||||
/* drun-url-launcher: "xdg-open";*/
|
||||
/* disable-history: false;*/
|
||||
/* ignored-prefixes: "";*/
|
||||
/* sort: false;*/
|
||||
/* sorting-method: "normal";*/
|
||||
/* case-sensitive: false;*/
|
||||
/* cycle: true;*/
|
||||
/* sidebar-mode: false;*/
|
||||
/* hover-select: false;*/
|
||||
/* eh: 1;*/
|
||||
/* auto-select: false;*/
|
||||
/* parse-hosts: false;*/
|
||||
/* parse-known-hosts: true;*/
|
||||
/* combi-modes: "window,run";*/
|
||||
/* matching: "normal";*/
|
||||
/* tokenize: true;*/
|
||||
/* m: "-5";*/
|
||||
/* filter: ;*/
|
||||
/* dpi: -1;*/
|
||||
/* threads: 0;*/
|
||||
scroll-method: 1;
|
||||
/* window-format: "{w} {c} {t}";*/
|
||||
/* click-to-exit: true;*/
|
||||
/* max-history-size: 25;*/
|
||||
/* combi-hide-mode-prefix: false;*/
|
||||
/* combi-display-format: "{mode} {text}";*/
|
||||
/* matching-negate-char: '-' /* unsupported */;*/
|
||||
/* cache-dir: ;*/
|
||||
/* window-thumbnail: false;*/
|
||||
/* drun-use-desktop-cache: false;*/
|
||||
/* drun-reload-desktop-cache: false;*/
|
||||
/* normalize-match: false;*/
|
||||
/* steal-focus: false;*/
|
||||
/* application-fallback-icon: ;*/
|
||||
/* refilter-timeout-limit: 8192;*/
|
||||
/* xserver-i300-workaround: false;*/
|
||||
/* pid: "/run/user/1000/rofi.pid";*/
|
||||
/* display-window: ;*/
|
||||
/* display-windowcd: ;*/
|
||||
/* display-run: ;*/
|
||||
/* display-ssh: ;*/
|
||||
/* display-drun: ;*/
|
||||
/* display-combi: ;*/
|
||||
/* display-keys: ;*/
|
||||
/* display-filebrowser: ;*/
|
||||
/* kb-primary-paste: "Control+V,Shift+Insert";*/
|
||||
/* kb-secondary-paste: "Control+v,Insert";*/
|
||||
/* kb-clear-line: "Control+w";*/
|
||||
/* kb-move-front: "Control+a";*/
|
||||
/* kb-move-end: "Control+e";*/
|
||||
/* kb-move-word-back: "Alt+b,Control+Left";*/
|
||||
/* kb-move-word-forward: "Alt+f,Control+Right";*/
|
||||
/* kb-move-char-back: "Left,Control+b";*/
|
||||
/* kb-move-char-forward: "Right,Control+f";*/
|
||||
/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
|
||||
/* kb-remove-word-forward: "Control+Alt+d";*/
|
||||
/* kb-remove-char-forward: "Delete,Control+d";*/
|
||||
/* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/
|
||||
/* kb-remove-to-eol: "Control+k";*/
|
||||
/* kb-remove-to-sol: "Control+u";*/
|
||||
/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
|
||||
/* kb-accept-custom: "Control+Return";*/
|
||||
/* kb-accept-custom-alt: "Control+Shift+Return";*/
|
||||
/* kb-accept-alt: "Shift+Return";*/
|
||||
/* kb-delete-entry: "Shift+Delete";*/
|
||||
/* kb-mode-next: "Shift+Right,Control+Tab";*/
|
||||
/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
|
||||
/* kb-mode-complete: "Control+l";*/
|
||||
/* kb-row-left: "Control+Page_Up";*/
|
||||
/* kb-row-right: "Control+Page_Down";*/
|
||||
/* kb-row-up: "Up,Control+p";*/
|
||||
/* kb-row-down: "Down,Control+n";*/
|
||||
/* kb-row-tab: "";*/
|
||||
/* kb-element-next: "Tab";*/
|
||||
/* kb-element-prev: "ISO_Left_Tab";*/
|
||||
/* kb-page-prev: "Page_Up";*/
|
||||
/* kb-page-next: "Page_Down";*/
|
||||
/* kb-row-first: "Home,KP_Home";*/
|
||||
/* kb-row-last: "End,KP_End";*/
|
||||
/* kb-row-select: "Control+space";*/
|
||||
/* kb-screenshot: "Alt+S";*/
|
||||
/* kb-ellipsize: "Alt+period";*/
|
||||
/* kb-toggle-case-sensitivity: "grave,dead_grave";*/
|
||||
/* kb-toggle-sort: "Alt+grave";*/
|
||||
/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/
|
||||
/* kb-custom-1: "Alt+1";*/
|
||||
/* kb-custom-2: "Alt+2";*/
|
||||
/* kb-custom-3: "Alt+3";*/
|
||||
/* kb-custom-4: "Alt+4";*/
|
||||
/* kb-custom-5: "Alt+5";*/
|
||||
/* kb-custom-6: "Alt+6";*/
|
||||
/* kb-custom-7: "Alt+7";*/
|
||||
/* kb-custom-8: "Alt+8";*/
|
||||
/* kb-custom-9: "Alt+9";*/
|
||||
/* kb-custom-10: "Alt+0";*/
|
||||
/* kb-custom-11: "Alt+exclam";*/
|
||||
/* kb-custom-12: "Alt+at";*/
|
||||
/* kb-custom-13: "Alt+numbersign";*/
|
||||
/* kb-custom-14: "Alt+dollar";*/
|
||||
/* kb-custom-15: "Alt+percent";*/
|
||||
/* kb-custom-16: "Alt+dead_circumflex";*/
|
||||
/* kb-custom-17: "Alt+ampersand";*/
|
||||
/* kb-custom-18: "Alt+asterisk";*/
|
||||
/* kb-custom-19: "Alt+parenleft";*/
|
||||
/* kb-select-1: "Super+1";*/
|
||||
/* kb-select-2: "Super+2";*/
|
||||
/* kb-select-3: "Super+3";*/
|
||||
/* kb-select-4: "Super+4";*/
|
||||
/* kb-select-5: "Super+5";*/
|
||||
/* kb-select-6: "Super+6";*/
|
||||
/* kb-select-7: "Super+7";*/
|
||||
/* kb-select-8: "Super+8";*/
|
||||
/* kb-select-9: "Super+9";*/
|
||||
/* kb-select-10: "Super+0";*/
|
||||
/* ml-row-left: "ScrollLeft";*/
|
||||
/* ml-row-right: "ScrollRight";*/
|
||||
/* ml-row-up: "ScrollUp";*/
|
||||
/* ml-row-down: "ScrollDown";*/
|
||||
/* me-select-entry: "MousePrimary";*/
|
||||
/* me-accept-entry: "MouseDPrimary";*/
|
||||
/* me-accept-custom: "Control+MouseDPrimary";*/
|
||||
timeout {
|
||||
action: "kb-cancel";
|
||||
delay: 0;
|
||||
}
|
||||
filebrowser {
|
||||
directory: "/home/oscar";
|
||||
directories-first: true;
|
||||
sorting-method: "mtime";
|
||||
}
|
||||
}
|
||||
@theme "rounded-blue-dark.rasi"
|
||||
@@ -0,0 +1,18 @@
|
||||
/*******************************************************************************
|
||||
* ROUNDED THEME FOR ROFI
|
||||
* User : LR-Tech
|
||||
* Theme Repo : https://github.com/lr-tech/rofi-themes-collection
|
||||
*******************************************************************************/
|
||||
|
||||
* {
|
||||
bg0: #212121F2;
|
||||
bg1: #2A2A2A;
|
||||
bg2: #3D3D3D80;
|
||||
bg3: #1A73E8F2;
|
||||
fg0: #E6E6E6;
|
||||
fg1: #FFFFFF;
|
||||
fg2: #969696;
|
||||
fg3: #3D3D3D;
|
||||
}
|
||||
|
||||
@import "rounded-common.rasi"
|
||||
@@ -0,0 +1,93 @@
|
||||
/*******************************************************************************
|
||||
* ROUNDED THEME FOR ROFI
|
||||
* User : LR-Tech
|
||||
* Theme Repo : https://github.com/lr-tech/rofi-themes-collection
|
||||
*******************************************************************************/
|
||||
|
||||
* {
|
||||
font: "Roboto 12";
|
||||
|
||||
background-color: transparent;
|
||||
text-color: @fg0;
|
||||
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
spacing: 0px;
|
||||
}
|
||||
|
||||
window {
|
||||
location: center;
|
||||
width: 480;
|
||||
border-radius: 24px;
|
||||
|
||||
background-color: @bg0;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
background-color: @bg1;
|
||||
border-color: @bg3;
|
||||
|
||||
border: 2px;
|
||||
border-radius: 16px;
|
||||
|
||||
padding: 8px 16px;
|
||||
spacing: 8px;
|
||||
children: [ prompt, entry ];
|
||||
}
|
||||
|
||||
prompt {
|
||||
text-color: @fg2;
|
||||
}
|
||||
|
||||
entry {
|
||||
placeholder: "Search";
|
||||
placeholder-color: @fg3;
|
||||
}
|
||||
|
||||
message {
|
||||
margin: 12px 0 0;
|
||||
border-radius: 16px;
|
||||
border-color: @bg2;
|
||||
background-color: @bg2;
|
||||
}
|
||||
|
||||
textbox {
|
||||
padding: 8px 24px;
|
||||
}
|
||||
|
||||
listview {
|
||||
background-color: transparent;
|
||||
|
||||
margin: 12px 0 0;
|
||||
lines: 8;
|
||||
columns: 1;
|
||||
|
||||
fixed-height: false;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 8px 16px;
|
||||
spacing: 8px;
|
||||
border-radius: 16px;
|
||||
}
|
||||
|
||||
element normal active {
|
||||
text-color: @bg3;
|
||||
}
|
||||
|
||||
element selected normal, element selected active {
|
||||
background-color: @bg3;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 1em;
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
element-text {
|
||||
text-color: inherit;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
/*******************************************************************************
|
||||
* ROUNDED THEME FOR ROFI
|
||||
* User : LR-Tech
|
||||
* Theme Repo : https://github.com/lr-tech/rofi-themes-collection
|
||||
*******************************************************************************/
|
||||
|
||||
* {
|
||||
bg0: #212121F2;
|
||||
bg1: #2A2A2A;
|
||||
bg2: #3D3D3D80;
|
||||
bg3: #616161F2;
|
||||
fg0: #E6E6E6;
|
||||
fg1: #FFFFFF;
|
||||
fg2: #969696;
|
||||
fg3: #3D3D3D;
|
||||
}
|
||||
|
||||
@import "rounded-common.rasi"
|
||||
@@ -0,0 +1 @@
|
||||
plugins/
|
||||
@@ -0,0 +1,195 @@
|
||||
# `set` is alias for `set-option`
|
||||
# `set -g` for global window/session (window or session is inferred if not -w or -s is specified)
|
||||
# `set -a` to append
|
||||
|
||||
# Use tmux* TERM over xterm* for better tmux compatibility
|
||||
set -g default-terminal "tmux-256color"
|
||||
|
||||
################
|
||||
### Features ###
|
||||
################
|
||||
## Ref: http://man.openbsd.org/OpenBSD-current/man1/tmux.1#terminal-features__
|
||||
# Supports 256 colours with the SGR escape sequences.
|
||||
set -ag terminal-features ",*:256"
|
||||
# Allows setting the system clipboard.
|
||||
set -ag terminal-features ",*:clipboard"
|
||||
# Allows setting the cursor colour.
|
||||
set -ag terminal-features ",*:ccolour"
|
||||
# Allows setting the cursor style.
|
||||
set -ag terminal-features ",*:cstyle"
|
||||
# Supports focus reporting.
|
||||
set -ag terminal-features ",*:focus"
|
||||
# Supports OSC 8 hyperlinks.
|
||||
set -ag terminal-features ",*:hyperlinks"
|
||||
# Supports xterm(1) mouse sequences.
|
||||
set -ag terminal-features ",*:mouse"
|
||||
# Supports the overline SGR attribute.
|
||||
set -ag terminal-features ",*:overline"
|
||||
# Supports the DECFRA rectangle fill escape sequence.
|
||||
set -ag terminal-features ",*:rectfill"
|
||||
# Supports RGB colour with the SGR escape sequences.
|
||||
set -ag terminal-features ",*:RGB"
|
||||
# Supports the strikethrough SGR escape sequence.
|
||||
set -ag terminal-features ",*:strikethrough"
|
||||
# Supports xterm(1) title setting.
|
||||
set -ag terminal-features ",*:title"
|
||||
# Allows underscore style and colour to be set.
|
||||
set -ag terminal-features ",*:usstyle"
|
||||
|
||||
#################
|
||||
### Overrides ###
|
||||
#################
|
||||
# Undercurl color support
|
||||
set -ag terminal-overrides ',*:Smulx=\E[4::%p1%dm'
|
||||
# Underline / Underscore color support
|
||||
set -ag terminal-overrides ',*:Setulc=\E[58::2::::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'
|
||||
|
||||
#############
|
||||
### Title ###
|
||||
#############
|
||||
set -g set-titles on
|
||||
set -g set-titles-string "#T"
|
||||
|
||||
##############
|
||||
### Status ###
|
||||
##############
|
||||
set -g status on
|
||||
set -g status-bg default
|
||||
set -g status-fg white
|
||||
set -g status-style bg=default
|
||||
set -g status-position bottom
|
||||
set -g status-right "#H #(\
|
||||
$TMUX_PLUGIN_MANAGER_PATH/tmux-mem-cpu-load/tmux-mem-cpu-load \
|
||||
--interval 1 \
|
||||
--graph-lines 0 \
|
||||
--mem-mode 1 \
|
||||
--averages-count 0 \
|
||||
) %H:%M %d-%m-%Y"
|
||||
set -g status-right-length 120
|
||||
set -g window-status-format '#I:#T#F'
|
||||
# Fix initial title being the hostname for a split second, see:
|
||||
# https://man7.org/linux/man-pages/man1/tmux.1.html#NAMES_AND_TITLES
|
||||
set -g window-status-current-format '#I:#{s/^#{host}$/~/:pane_title}#F'
|
||||
|
||||
############
|
||||
### Misc ###
|
||||
############
|
||||
set -g update-environment 'DISPLAY TERM XAUTHORITY WINDOWID'
|
||||
set -g default-command 'zsh'
|
||||
setw -g pane-border-style 'fg=black'
|
||||
setw -g pane-active-border-style 'fg=black'
|
||||
set -g mouse on
|
||||
set -g message-command-style bg=black,fg=white
|
||||
set -g message-style bg=black,fg=white
|
||||
set -g repeat-time 1000
|
||||
set -g mode-keys vi
|
||||
set -g status-interval 1
|
||||
set -g set-clipboard on
|
||||
|
||||
################
|
||||
### Bindings ###
|
||||
################
|
||||
# Default bindings
|
||||
# bind-key C-b send-prefix
|
||||
# bind-key C-o rotate-window
|
||||
# bind-key C-z suspend-client
|
||||
# bind-key Space next-layout
|
||||
# bind-key ! break-pane
|
||||
# bind-key " split-window
|
||||
# bind-key # list-buffers
|
||||
# bind-key $ command-prompt -I #S "rename-session '%%'"
|
||||
# bind-key % split-window -h
|
||||
# bind-key & confirm-before -p "kill-window #W? (y/n)" kill-window
|
||||
# bind-key ' command-prompt -p index "select-window -t ':%%'"
|
||||
# bind-key ( switch-client -p
|
||||
# bind-key ) switch-client -n
|
||||
# bind-key , command-prompt -I #W "rename-window '%%'"
|
||||
# bind-key - delete-buffer
|
||||
# bind-key . command-prompt "move-window -t '%%'"
|
||||
# bind-key 0 select-window -t :0
|
||||
# bind-key 1 select-window -t :1
|
||||
# bind-key 2 select-window -t :2
|
||||
# bind-key 3 select-window -t :3
|
||||
# bind-key 4 select-window -t :4
|
||||
# bind-key 5 select-window -t :5
|
||||
# bind-key 6 select-window -t :6
|
||||
# bind-key 7 select-window -t :7
|
||||
# bind-key 8 select-window -t :8
|
||||
# bind-key 9 select-window -t :9
|
||||
# bind-key : command-prompt
|
||||
# bind-key ; last-pane
|
||||
# bind-key = choose-buffer
|
||||
# bind-key ? list-keys
|
||||
# bind-key D choose-client
|
||||
# bind-key L switch-client -l
|
||||
# bind-key [ copy-mode
|
||||
# bind-key ] paste-buffer
|
||||
# bind-key c new-window
|
||||
# bind-key d detach-client
|
||||
# bind-key f command-prompt "find-window '%%'"
|
||||
# bind-key i display-message
|
||||
# bind-key l last-window
|
||||
# bind-key n next-window
|
||||
# bind-key o select-pane -t :.+
|
||||
# bind-key p previous-window
|
||||
# bind-key q display-panes
|
||||
# bind-key s choose-tree
|
||||
# bind-key t clock-mode
|
||||
# bind-key w choose-window
|
||||
# bind-key x confirm-before -p "kill-pane #P? (y/n)" kill-pane
|
||||
# bind-key z resize-pane -Z
|
||||
# bind-key { swap-pane -U
|
||||
# bind-key } swap-pane -D
|
||||
# bind-key ~ show-messages
|
||||
# bind-key PPage copy-mode -u
|
||||
# bind-key -r Up select-pane -U
|
||||
# bind-key -r Down select-pane -D
|
||||
# bind-key -r Left select-pane -L
|
||||
# bind-key -r Right select-pane -R
|
||||
# bind-key M-1 select-layout even-horizontal
|
||||
# bind-key M-2 select-layout even-vertical
|
||||
# bind-key M-3 select-layout main-horizontal
|
||||
# bind-key M-4 select-layout main-vertical
|
||||
# bind-key M-5 select-layout tiled
|
||||
# bind-key M-n next-window -a
|
||||
# bind-key M-o rotate-window -D
|
||||
# bind-key M-p previous-window -a
|
||||
# bind-key -r M-Up resize-pane -U 5
|
||||
# bind-key -r M-Down resize-pane -D 5
|
||||
# bind-key -r M-Left resize-pane -L 5
|
||||
# bind-key -r M-Right resize-pane -R 5
|
||||
# bind-key -r C-Up resize-pane -U
|
||||
# bind-key -r C-Down resize-pane -D
|
||||
# bind-key -r C-Left resize-pane -L
|
||||
# bind-key -r C-Right resize-pane -R
|
||||
|
||||
# Custom
|
||||
# -r == repeatable
|
||||
# -n == no prefix
|
||||
|
||||
# Reload config
|
||||
bind-key r source-file ~/.config/tmux/tmux.conf \; display-message "~/.config/tmux/tmux.conf reloaded"
|
||||
|
||||
# Use Ctrl to select
|
||||
unbind -T root MouseDrag1Pane
|
||||
unbind -T copy-mode-vi MouseDrag1Pane
|
||||
bind-key -T root C-MouseDrag1Pane if-shell -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" { send-keys -M } { copy-mode -M }
|
||||
bind-key -T copy-mode-vi C-MouseDrag1Pane select-pane \; send-keys -X begin-selection
|
||||
|
||||
# Don't stop copy mode after selecting
|
||||
unbind -T copy-mode-vi MouseDragEnd1Pane
|
||||
|
||||
# More vim-like selection
|
||||
bind-key -T copy-mode-vi 'v' send -X begin-selection # Begin selection in copy mode.
|
||||
bind-key -T copy-mode-vi 'C-v' send -X rectangle-toggle # Begin selection in copy mode.
|
||||
bind-key -T copy-mode-vi 'y' send -X copy-selection # Yank selection in copy mode.
|
||||
|
||||
# Plugins
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
set -g @plugin 'thewtex/tmux-mem-cpu-load'
|
||||
|
||||
if "test ! -d ~/.config/tmux/plugins/tpm" \
|
||||
"run 'git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm && ~/.config/tmux/plugins/tpm/bin/install_plugins'"
|
||||
|
||||
run '~/.config/tmux/plugins/tpm/tpm'
|
||||
@@ -0,0 +1,112 @@
|
||||
local wezterm = require 'wezterm'
|
||||
local act = wezterm.action
|
||||
|
||||
local M = {}
|
||||
|
||||
M.keys = {
|
||||
{ key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen },
|
||||
{ key = '=', mods = 'CTRL', action = act.IncreaseFontSize },
|
||||
{ key = '-', mods = 'CTRL', action = act.DecreaseFontSize },
|
||||
{ key = '0', mods = 'CTRL', action = act.ResetFontSize },
|
||||
{ key = 'C', mods = 'SHIFT|CTRL', action = act.CopyTo("Clipboard") },
|
||||
{ key = 'V', mods = 'SHIFT|CTRL', action = act.PasteFrom("Clipboard") },
|
||||
{ key = 'P', mods = 'SHIFT|CTRL', action = act.ActivateCommandPalette },
|
||||
{ key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration },
|
||||
{ key = 'F12', mods = 'NONE', action = act.ShowDebugOverlay },
|
||||
}
|
||||
|
||||
M.mouse_bindings = {
|
||||
-- Open links
|
||||
{
|
||||
event = { Up = { streak = 1, button = 'Left' } },
|
||||
mods = 'CTRL',
|
||||
action = act.OpenLinkAtMouseCursor,
|
||||
},
|
||||
|
||||
-- Select text
|
||||
{
|
||||
event = { Down = { streak = 1, button = 'Left' } },
|
||||
mods = 'CTRL',
|
||||
action = act.SelectTextAtMouseCursor("Cell"),
|
||||
},
|
||||
{
|
||||
event = { Drag = { streak = 1, button = 'Left' } },
|
||||
mods = 'CTRL',
|
||||
action = act.ExtendSelectionToMouseCursor("Cell"),
|
||||
},
|
||||
{
|
||||
event = { Down = { streak = 1, button = 'Left' } },
|
||||
mods = 'CTRL|SHIFT',
|
||||
action = act.ExtendSelectionToMouseCursor("Cell"),
|
||||
},
|
||||
|
||||
-- Select text in block mode
|
||||
{
|
||||
event = { Down = { streak = 1, button = 'Left' } },
|
||||
mods = 'CTRL|ALT',
|
||||
action = act.SelectTextAtMouseCursor("Block"),
|
||||
},
|
||||
{
|
||||
event = { Drag = { streak = 1, button = 'Left' } },
|
||||
mods = 'CTRL|ALT',
|
||||
action = act.ExtendSelectionToMouseCursor("Block"),
|
||||
},
|
||||
{
|
||||
event = { Down = { streak = 1, button = 'Left' } },
|
||||
mods = 'CTRL|ALT|SHIFT',
|
||||
action = act.ExtendSelectionToMouseCursor("Block"),
|
||||
},
|
||||
}
|
||||
|
||||
M.key_tables = wezterm.gui.default_key_tables()
|
||||
|
||||
-- table.insert(M.key_tables.copy_mode, {
|
||||
-- key = 'y',
|
||||
-- mods = 'NONE',
|
||||
-- action = act.Multiple({
|
||||
-- act.CopyTo("Clipboard"),
|
||||
-- act.CopyMode("ClearSelectionMode"),
|
||||
-- })
|
||||
-- })
|
||||
|
||||
function M.enable_multiplexing()
|
||||
table.insert(M.keys, { key = "c", mods = "LEADER", action = act.SpawnTab("CurrentPaneDomain") })
|
||||
table.insert(M.keys, { key = '%', mods = "LEADER|SHIFT", action = act.SplitPane({ direction = "Down" }) })
|
||||
table.insert(M.keys, { key = '"', mods = "LEADER|SHIFT", action = act.SplitPane({ direction = "Right" }) })
|
||||
table.insert(M.keys, { key = "x", mods = "LEADER", action = act.CloseCurrentPane({ confirm = true }) })
|
||||
table.insert(M.keys, { key = "n", mods = "LEADER", action = act.ActivateTabRelative(1) })
|
||||
table.insert(M.keys, { key = "p", mods = "LEADER", action = act.ActivateTabRelative(-1) })
|
||||
table.insert(M.keys, { key = "h", mods = "LEADER", action = act.ActivatePaneDirection('Left') })
|
||||
table.insert(M.keys, { key = "l", mods = "LEADER", action = act.ActivatePaneDirection('Right') })
|
||||
table.insert(M.keys, { key = "k", mods = "LEADER", action = act.ActivatePaneDirection('Up') })
|
||||
table.insert(M.keys, { key = "j", mods = "LEADER", action = act.ActivatePaneDirection('Down') })
|
||||
table.insert(M.keys, { key = "[", mods = "LEADER", action = act.ActivateCopyMode })
|
||||
table.insert(M.keys, { key = '?', mods = 'LEADER|SHIFT', action = act.Search("CurrentSelectionOrEmptyString") })
|
||||
|
||||
for i = 1, 9 do
|
||||
table.insert(M.keys, { key = tostring(i), mods = "LEADER", action = act.ActivateTab(i - 1) })
|
||||
end
|
||||
|
||||
table.insert(M.mouse_bindings, {
|
||||
event = { Down = { streak = 1, button = { WheelUp = 1 } } },
|
||||
mods = 'NONE',
|
||||
action = act.ScrollByLine(-3)
|
||||
})
|
||||
table.insert(M.mouse_bindings, {
|
||||
event = { Down = { streak = 1, button = { WheelDown = 1 } } },
|
||||
mods = 'NONE',
|
||||
action = act.ScrollByLine(3)
|
||||
})
|
||||
table.insert(M.mouse_bindings, {
|
||||
event = { Down = { streak = 1, button = { WheelUp = 1 } } },
|
||||
mods = 'ALT',
|
||||
action = act.ScrollByPage(-1)
|
||||
})
|
||||
table.insert(M.mouse_bindings, {
|
||||
event = { Down = { streak = 1, button = { WheelDown = 1 } } },
|
||||
mods = 'ALT',
|
||||
action = act.ScrollByPage(1)
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -0,0 +1,75 @@
|
||||
local my_colors = {
|
||||
foreground = '#b2b2b2',
|
||||
background = '#000000',
|
||||
cursor_fg = '#000000',
|
||||
cursor_bg = '#b2b2b2',
|
||||
cursor_border = '#b2b2b2',
|
||||
selection_fg = '#000000',
|
||||
selection_bg = '#b2b2b2',
|
||||
scrollbar_thumb = '#000000',
|
||||
split = '#000000',
|
||||
ansi = {
|
||||
'#2e3436', -- black
|
||||
'#cc5555', -- red
|
||||
'#4e9a06', -- green
|
||||
'#c4a000', -- yellow
|
||||
'#6465a4', -- blue
|
||||
'#75507b', -- magenta
|
||||
'#06989a', -- cyan
|
||||
'#b2b2b2', -- white
|
||||
},
|
||||
brights = {
|
||||
'#555753', -- black
|
||||
'#ff5555', -- red
|
||||
'#8ae234', -- green
|
||||
'#fce94f', -- yellow
|
||||
'#739fcf', -- blue
|
||||
'#ad7fa8', -- magenta
|
||||
'#34e2e2', -- cyan
|
||||
'#d3d7cf', -- white
|
||||
},
|
||||
compose_cursor = 'orange',
|
||||
tab_bar = {
|
||||
-- The color of the strip that goes along the top of the window
|
||||
-- (does not apply when fancy tab bar is in use)
|
||||
background = '#000000',
|
||||
|
||||
-- The active tab is the one that has focus in the window
|
||||
active_tab = {
|
||||
-- The color of the background area for the tab
|
||||
bg_color = '#000000',
|
||||
-- The color of the text for the tab
|
||||
fg_color = '#c0c0c0',
|
||||
},
|
||||
|
||||
-- Inactive tabs are the tabs that do not have focus
|
||||
inactive_tab = {
|
||||
bg_color = '#000000',
|
||||
fg_color = '#808080',
|
||||
},
|
||||
|
||||
-- You can configure some alternate styling when the mouse pointer
|
||||
-- moves over inactive tabs
|
||||
inactive_tab_hover = {
|
||||
bg_color = '#000000',
|
||||
fg_color = '#c0c0c0',
|
||||
|
||||
-- The same options that were listed under the `active_tab` section above
|
||||
-- can also be used for `inactive_tab_hover`.
|
||||
},
|
||||
|
||||
|
||||
-- The new tab button that let you create new tabs
|
||||
new_tab = {
|
||||
bg_color = '#000000',
|
||||
fg_color = '#808080',
|
||||
},
|
||||
|
||||
new_tab_hover = {
|
||||
bg_color = '#000000',
|
||||
fg_color = '#c0c0c0',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
return my_colors
|
||||
@@ -0,0 +1,38 @@
|
||||
[metadata]
|
||||
name = "moonfly"
|
||||
origin_url = "https://github.com/bluz71/vim-moonfly-colors"
|
||||
|
||||
[colors]
|
||||
background = "#080808"
|
||||
foreground = "#bdbdbd"
|
||||
cursor_bg = "#9e9e9e"
|
||||
cursor_fg = "#080808"
|
||||
cursor_border = "#9e9e9e"
|
||||
selection_bg = "#b2ceee"
|
||||
selection_fg = "#080808"
|
||||
scrollbar_thumb = "#9e9e9e"
|
||||
split = "#9e9e9e"
|
||||
|
||||
ansi = [
|
||||
"#323437",
|
||||
"#ff5454",
|
||||
"#8cc85f",
|
||||
"#e3c78a",
|
||||
"#80a0ff",
|
||||
"#cf87e8",
|
||||
"#79dac8",
|
||||
"#c6c6c6",
|
||||
]
|
||||
brights = [
|
||||
"#949494",
|
||||
"#ff5189",
|
||||
"#36c692",
|
||||
"#c2c292",
|
||||
"#74b2ff",
|
||||
"#ae81ff",
|
||||
"#85dc85",
|
||||
"#e4e4e4",
|
||||
]
|
||||
|
||||
compose_cursor = "#e3c78a"
|
||||
visual_bell = "#e3c78a"
|
||||
@@ -0,0 +1,26 @@
|
||||
local wezterm = require("wezterm")
|
||||
|
||||
local M = {}
|
||||
|
||||
function M.setup()
|
||||
wezterm.on(
|
||||
'format-tab-title',
|
||||
function(tab, _, _, _, _, _)
|
||||
local title = tab.tab_title
|
||||
if not title or #title <= 0 then
|
||||
title = tab.active_pane.title
|
||||
end
|
||||
title = " " .. tab.tab_index + 1 .. ": " .. title
|
||||
if tab.is_active then
|
||||
title = title .. "*"
|
||||
else
|
||||
title = title .. " "
|
||||
end
|
||||
return {
|
||||
{ Text = title },
|
||||
}
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -0,0 +1,53 @@
|
||||
local wezterm = require("wezterm")
|
||||
|
||||
local fonts = {}
|
||||
|
||||
local family = "Iosevka Custom"
|
||||
|
||||
-- Automatically includes fallback for nerd font symbols,
|
||||
-- so it doesn't require a patched font.
|
||||
fonts.regular = wezterm.font({
|
||||
family = family,
|
||||
weight = "Regular",
|
||||
stretch = "Normal",
|
||||
style = "Normal"
|
||||
})
|
||||
fonts.italic = wezterm.font({
|
||||
family = family,
|
||||
weight = "Regular",
|
||||
stretch = "Normal",
|
||||
style = "Italic"
|
||||
})
|
||||
fonts.bold = wezterm.font({
|
||||
family = family,
|
||||
weight = "Bold",
|
||||
stretch = "Normal",
|
||||
style = "Normal"
|
||||
})
|
||||
fonts.bolditalic = wezterm.font({
|
||||
family = family,
|
||||
weight = "Bold",
|
||||
stretch = "Normal",
|
||||
style = "Italic"
|
||||
})
|
||||
|
||||
fonts.rules = {
|
||||
italic = {
|
||||
intensity = "Normal",
|
||||
italic = true,
|
||||
font = fonts.italic
|
||||
},
|
||||
bold = {
|
||||
intensity = "Bold",
|
||||
italic = false,
|
||||
font = fonts.bold
|
||||
},
|
||||
bolditalic = {
|
||||
intensity = "Bold",
|
||||
italic = true,
|
||||
font = fonts.bolditalic
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
return fonts
|
||||
@@ -0,0 +1,72 @@
|
||||
local wezterm = require("wezterm")
|
||||
|
||||
local config = wezterm.config_builder()
|
||||
|
||||
local ENABLE_MULTIPLEXING = false
|
||||
|
||||
-- quickstart: https://wezfurlong.org/wezterm/config/files.html
|
||||
-- spec: https://wezfurlong.org/wezterm/config/lua/general.html
|
||||
|
||||
-- General settings
|
||||
|
||||
config.window_padding = {
|
||||
left = 6,
|
||||
right = 6,
|
||||
top = 6,
|
||||
bottom = 6,
|
||||
}
|
||||
config.audible_bell = "Disabled"
|
||||
-- Settings below get overriden if multiplexing is enabled
|
||||
config.window_decorations = "TITLE|RESIZE"
|
||||
config.enable_tab_bar = false
|
||||
config.enable_scroll_bar = false
|
||||
config.check_for_updates = false
|
||||
|
||||
if string.find(wezterm.target_triple, "windows") then
|
||||
-- config.default_prog = { "wsl", "--cd", "~" }
|
||||
config.default_prog = { "pwsh" }
|
||||
else
|
||||
config.default_prog = { "zsh" }
|
||||
end
|
||||
|
||||
|
||||
-- Colors
|
||||
|
||||
config.color_scheme = "moonfly"
|
||||
|
||||
-- Fonts
|
||||
|
||||
local fonts = require("fonts")
|
||||
|
||||
config.font = fonts.regular
|
||||
config.font_size = 11
|
||||
config.font_rules = {
|
||||
fonts.rules.italic,
|
||||
fonts.rules.bold,
|
||||
fonts.rules.bolditalic,
|
||||
}
|
||||
config.harfbuzz_features = { 'calt=0' }
|
||||
|
||||
-- Keybinding
|
||||
|
||||
local bindings = require("bindings")
|
||||
|
||||
if ENABLE_MULTIPLEXING then
|
||||
config.window_decorations = "INTEGRATED_BUTTONS|RESIZE"
|
||||
config.enable_tab_bar = true
|
||||
config.enable_scroll_bar = true
|
||||
config.use_fancy_tab_bar = false
|
||||
config.show_new_tab_button_in_tab_bar = false
|
||||
config.leader = { key = "b", mods = "CTRL", timeout_milliseconds = 1000 }
|
||||
bindings.enable_multiplexing()
|
||||
end
|
||||
|
||||
config.disable_default_key_bindings = true
|
||||
config.keys = bindings.keys
|
||||
config.key_tables = bindings.key_tables
|
||||
config.disable_default_mouse_bindings = true
|
||||
config.mouse_bindings = bindings.mouse_bindings
|
||||
|
||||
require("events").setup()
|
||||
|
||||
return config
|
||||
Reference in New Issue
Block a user