Add new configurations and update structure

main
felixm 2023-06-09 14:52:03 -04:00
parent 52fe716365
commit 5c0a89f7a2
34 changed files with 3271 additions and 12 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
vim/plugged
bin
__pycache__

2
.gitmodules vendored
View File

@ -1,3 +1,3 @@
[submodule "zsh/ohmyzsh"]
path = zsh/ohmyzsh
path = config/zsh/ohmyzsh
url = https://github.com/ohmyzsh/ohmyzsh.git

View File

Before

Width:  |  Height:  |  Size: 354 KiB

After

Width:  |  Height:  |  Size: 354 KiB

31
config/awesome/xinitrc Normal file
View File

@ -0,0 +1,31 @@
#!/bin/sh
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
if [ -x "$(command -v gnome-keyring)" ] ; then
eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)
export SSH_AUTH_SOCK
fi
if [ -x "$(command -v VBoxClient)" ] ; then
VBoxClient --clipboard
fi
if [ -f ~/.screenlayout/default.sh ] ; then
~/.screenlayout/default.sh
fi
if [ -f ~/.fehbg ] ; then
~/.fehbg
fi
dex --environment qtile --autostart --search-paths "/etc/xdg/autostart:$XDG_CONFIG_DIRS/autostart:$XDG_CONFIG_HOME/autostart"
unclutter -f
sudo ntpd -gq &
exec awesome

2424
config/kitty/kitty.conf Normal file

File diff suppressed because it is too large Load Diff

419
config/picom/picom.conf Normal file
View File

@ -0,0 +1,419 @@
#################################
# 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
#shadow = true;
# 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",
"class_g = 'Toolbar'",
"class_g = 'Nm-applet'"
];
# 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 Xinerama screen to the screen.
# xinerama-shadow-crop = false
#################################
# Fading #
#################################
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used.
# fading = false
fading = true;
# 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
inactive-opacity = 0.95;
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
# frame-opacity = 1.0
frame-opacity = 0.9;
# 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 = ["95:class_g = 'kitty'", "90:class_g = 'Rofi'", "100:class_g = 'Firefox'", "100:class_g = 'Nm-applet'"]
#################################
# 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 = 2;
# round-borders = 1;
# Test
# Exclude conditions for rounded corners.
rounded-corners-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"class_g = 'Nm-applet'"
];
#################################
# 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",
"QTILE_INTERNAL:32c = 1"
];
#################################
# General Settings #
#################################
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
# `xrender` is the default one.
#
# backend = "glx"
backend = "xrender";
# Enable/disable VSync.
#vsync = false
vsync = true;
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
# dbus = false
# 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
detect-client-opacity = true;
# 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 everytime, 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.
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
# in the source tree for examples.
#
# glx-fshader-win = ""
# 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
# 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 wether 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 = true; shadow = false; opacity = 0.75; focus = true; full-shadow = false; };
dock = { shadow = false; clip-shadow-above = false; }
dnd = { shadow = false; }
popup_menu = { opacity = 0.8; }
dropdown_menu = { opacity = 0.8; }
};

8
config/qtile/autostart.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/bash
# Starting compton compositor on startup for transparency
# If transparency is not working, try with vsync
picom &
feh --bg-center /home/felixm/.config/awesome/wallpaper.png &

363
config/qtile/config.py Normal file
View File

@ -0,0 +1,363 @@
# Copyright (c) 2010 Aldo Cortesi
# Copyright (c) 2010, 2014 dequis
# Copyright (c) 2012 Randall Ma
# Copyright (c) 2012-2014 Tycho Andersen
# Copyright (c) 2012 Craig Barnes
# Copyright (c) 2013 horsik
# Copyright (c) 2013 Tao Sauvage
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
import subprocess
import re
from pathlib import Path
from libqtile import bar, layout
from libqtile.config import Click, Drag, Group, Key, Match, Screen, EzKey, KeyChord
from libqtile.lazy import lazy
from libqtile.utils import guess_terminal
from libqtile.log_utils import logger
from libqtile import qtile
from qtile_extras import widget
from qtile_extras.widget.decorations import RectDecoration
mod = "mod4"
terminal = "kitty"
this_file = str(Path(__file__).resolve())
ROSEWATER = "#f2d5cf"
FLAMINGO = "#eebebe"
PINK = "#f4b8e4"
MAUVE = "#ca9ee6"
RED = "#e78284"
MAROON = "#ea999c"
PEACH = "#ef9f76"
YELLOW = "#e5c890"
GREEN = "#a6d189"
TEAL = "#81c8be"
SKY = "#99d1db"
SAPPHIRE = "#85c1dc"
BLUE = "#8caaee"
LAVENDER = "#babbf1"
TEXT = "#c6d0f5"
SUBTEXT1 = "#b5bfe2"
SUBTEXT0 = "#a5adce"
OVERLAY2 = "#949cbb"
OVERLAY1 = "#838ba7"
OVERLAY0 = "#737994"
SURFACE2 = "#626880"
SURFACE1 = "#51576d"
SURFACE0 = "#414559"
BASE = "#303446"
MANTLE = "#292c3c"
CRUST = "#232634"
MINESHAFT = "#222222"
INDOCHINE = "#c57804"
JUDGEGRAY = "#544735"
OLDCOPPER = "#6f572d"
@lazy.function
def my_left(qtile):
layout = qtile.current_layout.info()
if layout['name'] == 'columns' and layout['current'] != 0:
qtile.current_layout.cmd_left()
else:
qtile.current_screen.cmd_prev_group(skip_managed=True)
@lazy.function
def my_right(qtile):
layout = qtile.current_layout.info()
if layout['name'] == 'columns' and len(layout['columns']) - 1 != layout['current']:
qtile.current_layout.cmd_right()
else:
qtile.current_screen.cmd_next_group(skip_managed=True)
keys = [
Key([mod], "u", lazy.prev_screen(), desc="Move focus to prev screen"),
Key([mod], "i", lazy.next_screen(), desc="Move focus to next screen"),
# Switch between windows
Key([mod], "h", my_left(), desc="Move focus to left"),
Key([mod], "l", my_right(), desc="Move focus to right"),
Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
Key([mod], "k", lazy.layout.up(), desc="Move focus up"),
Key([mod], "space", lazy.layout.next(), desc="Move window focus to other window"),
# Move windows between left/right columns or move up/down in current stack.
Key([mod, "shift"], "h", lazy.layout.shuffle_left(), desc="Move window to the left"),
Key([mod, "shift"], "l", lazy.layout.shuffle_right(), desc="Move window to the right"),
Key([mod, "shift"], "j", lazy.layout.shuffle_down(), desc="Move window down"),
Key([mod, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"),
# Grow windows. If current window is on the edge of screen and direction
# will be to screen edge - window would shrink.
Key([mod, "control"], "h", lazy.layout.grow_left(), desc="Grow window to the left"),
Key([mod, "control"], "l", lazy.layout.grow_right(), desc="Grow window to the right"),
Key([mod, "control"], "j", lazy.layout.grow_down(), desc="Grow window down"),
Key([mod, "control"], "k", lazy.layout.grow_up(), desc="Grow window up"),
Key([mod], "f", lazy.window.toggle_floating(), desc="Toggle window floating"),
Key([mod], "m", lazy.window.toggle_minimize(), desc="Toggle window minimize"),
# Toggle between split and unsplit sides of stack.
# Split = all windows displayed
# Unsplit = 1 window displayed, like Max layout, but still with
# multiple stack panes
Key(
[mod, "shift"],
"Return",
lazy.layout.toggle_split(),
desc="Toggle between split and unsplit sides of stack",
),
Key([mod], "semicolon", lazy.spawn(terminal), desc="Launch terminal"),
# Toggle between different layouts as defined below
Key([mod], "Tab", lazy.next_layout(), desc="Toggle between layouts"),
Key([mod], "w", lazy.window.kill(), desc="Kill focused window"),
Key([mod], "p", lazy.spawn("rofi -show combi"), desc="Launch rofi prompt"),
Key([], "Print", lazy.spawn("flameshot gui"), desc="Launch screenshot app"),
]
# Use Key
qtile_chord = '(e)dit, (k)ill, (l)ock, (n)orm, (q)uit, (r)elaod, (s)pawn, (u)npause'
escape_chord_keys = [EzKey(key, lazy.ungrab_chord()) for key in ['C-c', '<BackSpace>']]
keys.append(
KeyChord([mod], '0', [
EzKey('e', lazy.spawn(terminal + ' -e vim ' + this_file)),
EzKey('k', lazy.window.kill(), desc="Kill focused window"),
EzKey('l', lazy.spawn("i3lock"), desc="Lock qtile"),
EzKey('n', lazy.layout.normalize(), desc="Reset all window sizes"),
EzKey('q', lazy.shutdown(), desc="Shutdown Qtile"),
EzKey('r', lazy.reload_config(), desc="Reload the config"),
EzKey('s', lazy.spawncmd(), desc="Spawn in case we break rofi"),
EzKey('u', lazy.spawn("antidrift --unpause"), desc="Unpause antidrift"),
*escape_chord_keys,
], name=qtile_chord)
)
groups = [Group(i) for i in "123456789"]
for i in groups:
keys.extend(
[
# mod1 + letter of group = switch to group
Key(
[mod],
i.name,
lazy.group[i.name].toscreen(),
desc="Switch to group {}".format(i.name),
),
# mod1 + shift + letter of group = switch to & move focused window to group
# Key(
# [mod, "shift"],
# i.name,
# lazy.window.togroup(i.name, switch_group=True),
# desc="Switch to & move focused window to group {}".format(i.name),
# ),
# Or, use below if you prefer not to switch to that group.
# # mod1 + shift + letter of group = move focused window to group
Key([mod, "shift"], i.name, lazy.window.togroup(i.name),
desc="move focused window to group {}".format(i.name)),
]
)
layouts = [
layout.Columns(border_focus=TEXT,
border_normal=BASE,
border_normal_stacked=BASE,
border_focus_stack=[SAPPHIRE, SKY],
border_normal_stack=BASE,
border_width=1, margin=3),
layout.Max(),
# Try more layouts by unleashing below layouts.
# layout.Stack(num_stacks=2),
# layout.Bsp(),
# layout.Matrix(),
# layout.MonadTall(),
# layout.MonadWide(),
# layout.RatioTile(),
# layout.Tile(),
# layout.TreeTab(),
# layout.VerticalTile(),
# layout.Zoomy(),
]
widget_defaults = dict(
font="sans",
fontsize=12,
padding=1,
)
extension_defaults = widget_defaults.copy()
decor = {
"decorations": [
RectDecoration(colour=BASE, radius=4, filled=True, group=True)
],
"padding": 4,
}
decor2 = {
"decorations": [
RectDecoration(colour=SURFACE0, radius=4, filled=True, group=True)
],
"padding": 4,
}
def antidrift_status():
try:
result = subprocess.check_output(['antidrift', '--status'], universal_newlines=True)
return result.strip()
except subprocess.CalledProcessError as e:
print(f"Error executing command: {e}")
return None
def parse_text(text: str) -> str:
SEPARATOR = '**YQZ**'
SELECTED = '**JKL**'
PANGO_MARKUP_PATTERN = r'<(/?[^>]+)>'
titles = text.split(SEPARATOR)
selected_index = -1
for (i, t) in enumerate(titles):
if t.startswith(SELECTED) and t.endswith(SELECTED):
selected_index = i
titles[i] = titles[i].replace(SELECTED, '')
titles[i] = re.sub(PANGO_MARKUP_PATTERN, '', titles[i])
SEPARATOR = ' | '
length_per_title = 90 // len(titles)
for i in range(len(titles)):
titles[i] = titles[i].replace("— Mozilla Firefox", "")
titles[i] = titles[i][:length_per_title]
if selected_index != -1:
titles[selected_index] = f'<span foreground="{TEXT}">{titles[selected_index]}</span>'
text = ' | '.join(titles)
return text
screens = [
Screen(
top=bar.Bar(
[
# widget.CurrentLayout(),
widget.CurrentLayoutIcon(scale=0.55, **decor),
widget.GroupBox(
rounded=True,
active = TEXT, # Active group font colour
background = None, # Widget background color
block_highlight_text_color = SURFACE1, # Selected group font colour
borderwidth = 0, # Current group border width
disable_drag = True, # Disable dragging and dropping of group names on widget
highlight_method = 'block', # Method of highlighting ('border', 'block', 'text', or 'line')
inactive = SURFACE1, # Inactive group font colour
this_screen_border = SURFACE0,
this_current_screen_border = TEXT, # Border or line colour for group on this screen when focused
other_current_screen_border = TEXT,
other_screen_border = SURFACE0,
urgent_border = RED, # Urgent border or line color
urgent_text = TEXT, # Urgent group font color
use_mouse_wheel = False, # Whether to use mouse wheel events
**decor,
),
widget.Prompt(**decor),
widget.Spacer(length=4),
widget.Chord(foreground=TEXT, **decor),
widget.Spacer(length=bar.STRETCH),
widget.WindowTabs(markup=True,
separator='**YQZ**',
foreground=SURFACE1,
selected = ('**JKL**', '**JKL**'),
parse_text=parse_text,
**decor2
),
widget.Spacer(length=bar.STRETCH),
widget.GenPollText(func=antidrift_status,
update_interval=20,
foreground=TEXT,
**decor),
widget.Spacer(length=4),
widget.Clock(format="%a %m/%d %H:%M", foreground=TEXT, **decor),
widget.Spacer(length=4),
widget.Battery(format='{char} {percent:2.0%} {hour:d}:{min:02d}',
low_foreground=RED,
foreground=TEXT,
**decor),
widget.Backlight(backlight_name='intel_backlight',
change_command='brightnessctl s {0}',
foreground=TEXT,
**decor),
widget.CheckUpdates(distro='Arch_checkupdates',
colour_have_updates=RED,
colour_now_updates=TEXT,
**decor),
widget.Spacer(length=4),
widget.Systray()
],
24,
border_width=2,
background="#00000000",
border_color="#00000000",
# border_width=[2, 0, 2, 0], # Draw top and bottom borders
# border_color=["ff00ff", "000000", "ff00ff", "000000"] # Borders are magenta
),
),
]
# Drag floating layouts.
mouse = [
Drag([mod], "Button1", lazy.window.set_position_floating(), start=lazy.window.get_position()),
Drag([mod], "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size()),
Click([mod], "Button2", lazy.window.bring_to_front()),
]
dgroups_key_binder = None
dgroups_app_rules = [] # type: list
follow_mouse_focus = True
bring_front_click = False
cursor_warp = False
floating_layout = layout.Floating(
float_rules=[
# Run the utility of `xprop` to see the wm class and name of an X client.
*layout.Floating.default_float_rules,
Match(wm_class="confirmreset"), # gitk
Match(wm_class="makebranch"), # gitk
Match(wm_class="maketag"), # gitk
Match(wm_class="ssh-askpass"), # ssh-askpass
Match(title="branchdialog"), # gitk
Match(title="pinentry"), # GPG key password entry
]
)
auto_fullscreen = True
focus_on_window_activation = "focus" # previously "smart"
reconfigure_screens = True
# If things like steam games want to auto-minimize themselves when losing
# focus, should we respect this or not?
auto_minimize = True
# When using the Wayland backend, this can be used to configure input devices.
wl_input_rules = None
# XXX: Gasp! We're lying here. In fact, nobody really uses or cares about this
# string besides java UI toolkits; you can see several discussions on the
# mailing lists, GitHub issues, and other WM documentation that suggest setting
# this string if your java app doesn't work correctly. We may as well just lie
# and say that we're a working one by default.
#
# We choose LG3D to maximize irony: it is a 3D non-reparenting WM written in
# java that happens to be on java's whitelist.
wmname = "LG3D"

View File

@ -28,5 +28,4 @@ dex --environment qtile --autostart --search-paths "/etc/xdg/autostart:$XDG_CONF
unclutter -f
sudo ntpd -gq &
# exec awesome
exec qtile start

View File

@ -25,7 +25,7 @@ configuration {
drun-url-launcher: "xdg-open";
icon-theme: "Oranchelo";
show-icons: true;
display-drun: " Apps ";
display-drun: " 󰣆 Apps ";
display-run: "  Run ";
display-window: " 﩯 Window";
display-Network: " 󰤨 Network";

@ -0,0 +1 @@
Subproject commit cf6dd11baf62fb6ce18308e96c0ab43428b7c686

@ -0,0 +1 @@
Subproject commit cf186cffa9b3b896b03e94247ac4b56994a09e34

@ -0,0 +1 @@
Subproject commit dc71692255b62d1f67dc55c8e51ab1aa467b1d46

@ -0,0 +1 @@
Subproject commit 339091ac4dd1f17e225fe7d57b48aff55f99b23a

@ -0,0 +1 @@
Subproject commit 5891a3f7bedb5d0b23a546189a607836913814bb

@ -0,0 +1 @@
Subproject commit bb1bcddf43cfebe05eb565a84ab069b357d0b3d6

@ -0,0 +1 @@
Subproject commit 0aae7be94eb411bc244d9415dac2c7a1496feda8

View File

@ -87,7 +87,11 @@ inoremap jl <esc>:w<cr>
noremap <leader>qq :qa!<cr>
noremap <leader>ww :w!<cr>
"" open terminal and get back out
" move left and right in insert mode
inoremap <c-l> <right>
inoremap <c-h> <left>
" open terminal and get back out
nnoremap <leader>otl :below vert terminal zsh<CR>
nnoremap <leader>oth :vert terminal zsh<CR>
@ -393,4 +397,4 @@ let g:airline_theme = 'catppuccin_latte'
" let g:airline_extensions = []
" }}}
colorscheme catppuccin_latte
colorscheme catppuccin_frappe

View File

@ -1,8 +1,10 @@
#TARGET (relative to this file),LINK_NAME (relative to home)
awesome,.config/awesome
awesome/xinitrc,.xinitrc
vim,.vim
zsh/ohmyzsh,.ohmyzsh
zsh/zshrc,.zshrc
rofi,.config/rofi
vscode/settings.json,.config/Code - OSS/User/settings.json
config/kitty,.config/kitty
config/qtile,.config/qtile
config/qtile/xinitrc,.xinitrc
config/rofi,.config/rofi
config/picom,.config/picom
config/vim,.vim
config/vscode/settings.json,.config/Code - OSS/User/settings.json
config/zsh/ohmyzsh,.ohmyzsh
config/zsh/zshrc,.zshrc

1 #TARGET (relative to this file) LINK_NAME (relative to home)
2 awesome config/kitty .config/awesome .config/kitty
3 awesome/xinitrc config/qtile .xinitrc .config/qtile
4 vim config/qtile/xinitrc .vim .xinitrc
5 zsh/ohmyzsh config/rofi .ohmyzsh .config/rofi
6 zsh/zshrc config/picom .zshrc .config/picom
7 rofi config/vim .config/rofi .vim
8 vscode/settings.json config/vscode/settings.json .config/Code - OSS/User/settings.json
9 config/zsh/ohmyzsh .ohmyzsh
10 config/zsh/zshrc .zshrc

View File

@ -23,6 +23,7 @@
,qtile,"is the window manager I use nowadays."
,rigrep,"is an ultra fast version of grep written in Rust."
,rofi,"is a launcher that sucks more than dmenu."
,ttf-jetbrains-mono-nerd,"for some nice font symbols."
,unclutter,"hides an inactive mouse."
,unzip,"unzips zips."
,vim,"is the best editor."

1 alacritty nice terminal emulator.
23 qtile is the window manager I use nowadays.
24 rigrep is an ultra fast version of grep written in Rust.
25 rofi is a launcher that sucks more than dmenu.
26 ttf-jetbrains-mono-nerd for some nice font symbols.
27 unclutter hides an inactive mouse.
28 unzip unzips zips.
29 vim is the best editor.