Dotfiles config update (2022-04-30)
This commit is contained in:
parent
f948b44f31
commit
c16fa06c65
|
@ -1,7 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Autostart script for Qtile
|
||||
|
||||
cmd_exist() { unalias "$1" >/dev/null 2>&1 ; command -v "$1" >/dev/null 2>&1 ;}
|
||||
__kill() { kill -9 "$(pidof "$1")" >/dev/null 2>&1 ; }
|
||||
__start() { sleep 1 && "$@" >/dev/null 2>&1 & }
|
||||
|
@ -9,24 +8,27 @@ __running() { pidof "$1" >/dev/null 2>&1 ;}
|
|||
|
||||
systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
|
||||
# Apps to autostart
|
||||
|
||||
if cmd_exist kanshi ; then
|
||||
__kill kanshi
|
||||
__start kanshi
|
||||
fi
|
||||
|
||||
# Authentication dialog
|
||||
|
||||
if [ -f /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 ]; then
|
||||
__kill polkit-gnome-authentication-agent-1
|
||||
__start /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
fi
|
||||
|
||||
# Notification daemon
|
||||
#dunst &
|
||||
|
||||
if cmd_exist dunst ; then
|
||||
__kill dunst
|
||||
__start dunst
|
||||
fi
|
||||
# Network applet
|
||||
#connman-gtk --tray &
|
||||
nm-applet
|
||||
|
||||
# Applet for Audio
|
||||
pnmixer -t &
|
||||
|
||||
# Configure screens and resolution
|
||||
~/.config/qtile/startwlrrandr.sh &
|
||||
|
||||
# Configure screensaver
|
||||
~/.config/qtile/startwlrscreensaver.sh &
|
||||
|
||||
# Clipboard (Diodon)
|
||||
diodon &
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# https://github.com/justinesmithies/qtile-wayland-dotfiles
|
||||
|
||||
from typing import List # noqa: F401
|
||||
import hooks
|
||||
#import hooks
|
||||
from settings.keys import mod, keys, home
|
||||
from settings.workspaces import workspaces
|
||||
from settings.groups import groups
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
|
||||
from libqtile.config import Key, Group
|
||||
from libqtile.command import lazy
|
||||
from keys import mod, keys
|
||||
from workspaces import workspaces
|
||||
from screens import connected_monitors
|
||||
from .keys import mod, keys
|
||||
from .workspaces import workspaces
|
||||
from .screens import connected_monitors
|
||||
|
||||
groups = []
|
||||
for workspace in workspaces:
|
||||
|
|
|
@ -131,7 +131,7 @@ keys = [
|
|||
Key([mod], "g", lazy.spawn("geany")),
|
||||
Key([mod], "m", lazy.spawn("telegram")),
|
||||
Key([mod], "z", lazy.spawn("nitrogen")),
|
||||
Key([mod], "u", lazy.spawn("xterm")),
|
||||
Key([mod], "u", lazy.spawn("~/.config/qtile/xterm-wayland")),
|
||||
Key([mod], "t", lazy.spawn("rofi-theme-selector")),
|
||||
Key([mod], "i", lazy.spawn("lxappearance")),
|
||||
|
||||
|
@ -143,10 +143,8 @@ keys = [
|
|||
lazy.next_layout(),
|
||||
desc="Toggle between layouts"
|
||||
),
|
||||
Key([mod], "w",
|
||||
lazy.window.kill(),
|
||||
desc="Kill focused window"
|
||||
),
|
||||
Key([mod, "shift"], "q", lazy.window.kill()),
|
||||
Key([mod, "control"], "q", lazy.shutdown()),
|
||||
|
||||
# Toggle bars
|
||||
Key([mod], "b",
|
||||
|
|
|
@ -54,4 +54,4 @@ floating_layout = layout.Floating(float_rules=[
|
|||
Match(wm_class='ssh-askpass'), # ssh-askpass
|
||||
Match(title='branchdialog'), # gitk
|
||||
Match(title='pinentry'), # GPG key password entry
|
||||
], **layout_theme)
|
||||
])
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
from libqtile.config import Drag, Click
|
||||
from libqtile.command import lazy
|
||||
from keys import mod
|
||||
from .keys import mod
|
||||
|
||||
mouse = [
|
||||
Drag(
|
||||
|
|
3
.config/qtile-wayland/settings/path.py
Normal file
3
.config/qtile-wayland/settings/path.py
Normal file
|
@ -0,0 +1,3 @@
|
|||
from os import path
|
||||
|
||||
qtile_path = path.join(path.expanduser('~'), ".config", "qtile")
|
|
@ -6,15 +6,16 @@
|
|||
from libqtile.config import Screen
|
||||
from libqtile import bar
|
||||
from libqtile.log_utils import logger
|
||||
from widgets import primary_widgets, secondary_widgets
|
||||
from .widgets import primary_widgets, secondary_widgets
|
||||
import subprocess
|
||||
|
||||
|
||||
def status_bar(widgets):
|
||||
return bar.Bar(widgets, 24, background="#000000AA", margin=[10, 16, 0, 16]) # Margin = N E S W
|
||||
#return bar.Bar(widgets, 24, background="#000000AA", margin=[10, 16, 0, 16]) # Margin = N E S W
|
||||
return bar.Bar(widgets, 24, background="#000000AA", margin=[0, 0, 0, 0]) # Margin = N E S W
|
||||
|
||||
|
||||
screens = [Screen(wallpaper='.cache/wallpaper', wallpaper_mode='fill', top=status_bar(primary_widgets))]
|
||||
screens = [Screen(wallpaper='~/wallpapers/archlinux2.jpg', wallpaper_mode='fill', top=status_bar(primary_widgets))]
|
||||
|
||||
# xrandr = "xrandr | grep -w 'connected' | cut -d ' ' -f 2 | wc -l"
|
||||
|
||||
|
@ -36,4 +37,4 @@ connected_monitors = 2
|
|||
|
||||
if connected_monitors > 1:
|
||||
for _ in range(1, connected_monitors):
|
||||
screens.append(Screen(wallpaper='.cache/wallpaper', wallpaper_mode='fill', top=status_bar(secondary_widgets)))
|
||||
screens.append(Screen(wallpaper='~/wallpapers/archlinux2.jpg', wallpaper_mode='fill', top=status_bar(secondary_widgets)))
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
# Justine Smithies
|
||||
# https://github.com/justinesmithies/qtile-wayland-dotfiles
|
||||
|
||||
# Widgets setup
|
||||
# Get the icons at https://www.nerdfonts.com/cheat-sheet
|
||||
|
||||
|
@ -12,7 +9,7 @@ from libqtile import widget
|
|||
#from colors import *
|
||||
from .theme import colors
|
||||
#from ordinaldate import custom_date
|
||||
from keys import terminal
|
||||
from .keys import terminal
|
||||
|
||||
|
||||
def base(fg='text', bg='dark'):
|
||||
|
|
|
@ -1,94 +0,0 @@
|
|||
# Justine Smithies
|
||||
# https://github.com/justinesmithies/qtile-wayland-dotfiles
|
||||
|
||||
# Widgets setup
|
||||
# Get the icons at https://www.nerdfonts.com/cheat-sheet
|
||||
|
||||
import psutil
|
||||
import os
|
||||
import subprocess
|
||||
from libqtile import qtile
|
||||
from libqtile import widget
|
||||
from colors import *
|
||||
from ordinaldate import custom_date
|
||||
from keys import terminal
|
||||
|
||||
|
||||
widget_defaults = dict(
|
||||
font='UbuntuMono Nerd Font',
|
||||
fontsize='14',
|
||||
padding=1,
|
||||
)
|
||||
extension_defaults = widget_defaults.copy()
|
||||
|
||||
primary_widgets = [
|
||||
widget.Spacer(length=10),
|
||||
widget.GroupBox(
|
||||
borderwidth=2,
|
||||
inactive='969696',
|
||||
this_current_screen_border='eee8d5',
|
||||
this_screen_border='eee8d5',
|
||||
font='FiraCode Nerd Font',
|
||||
fontsize=14,
|
||||
highlight_method='line',
|
||||
highlight_color=['00000000', '00000000']
|
||||
),
|
||||
widget.CurrentLayoutIcon(scale=0.7),
|
||||
widget.CurrentLayout(**widget_defaults),
|
||||
widget.Spacer(length=320),
|
||||
widget.GenPollText(
|
||||
func=custom_date,
|
||||
update_interval=1,
|
||||
**widget_defaults,
|
||||
mouse_callbacks={
|
||||
'Button1': lambda: qtile.cmd_spawn(os.path.expanduser("~/.local/bin/statusbar/calendar.sh show"), shell=True),
|
||||
'Button3': lambda: qtile.cmd_spawn(os.path.expanduser("~/.local/bin/statusbar/calendar.sh edit"), shell=True)
|
||||
}
|
||||
),
|
||||
widget.Spacer(),
|
||||
widget.CheckUpdates(
|
||||
**widget_defaults,
|
||||
update_interval=600,
|
||||
distro='Arch_paru',
|
||||
custom_command='~/.local/bin/statusbar/arch-updates.sh',
|
||||
display_format=' {updates}',
|
||||
colour_have_updates=colors[2],
|
||||
execute='kitty -e paru'
|
||||
),
|
||||
widget.Spacer(length=5),
|
||||
widget.KeyboardLayout(configured_keyboards=['us', 'gb']),
|
||||
widget.Spacer(length=5),
|
||||
widget.GenPollText(update_interval=1, **widget_defaults, func=lambda: subprocess.check_output(os.path.expanduser("~/.local/bin/statusbar/brightnesscontrol")).decode(), mouse_callbacks={'Button1': lambda: qtile.cmd_spawn(os.path.expanduser("~/.local/bin/statusbar/brightnesscontrol down"), shell=True), 'Button3': lambda: qtile.cmd_spawn(os.path.expanduser("~/.local/bin/statusbar/brightnesscontrol up"), shell=True)}),
|
||||
widget.Spacer(length=5),
|
||||
widget.GenPollText(update_interval=1, **widget_defaults, func=lambda: subprocess.check_output(os.path.expanduser("~/.local/bin/statusbar/volumecontrol")).decode(), mouse_callbacks={'Button1': lambda: qtile.cmd_spawn(os.path.expanduser("~/.local/bin/statusbar/volumecontrol down"), shell=True), 'Button2': lambda: qtile.cmd_spawn(os.path.expanduser("~/.local/bin/statusbar/volumecontrol mute"), shell=True), 'Button3': lambda: qtile.cmd_spawn(os.path.expanduser("~/.local/bin/statusbar/volumecontrol up"), shell=True)}),
|
||||
widget.Spacer(length=5),
|
||||
widget.GenPollText(update_interval=1, **widget_defaults, func=lambda: subprocess.check_output(os.path.expanduser("~/.local/bin/statusbar/battery.py")).decode(), mouse_callbacks={'Button1': lambda: qtile.cmd_spawn(os.path.expanduser("~/.local/bin/statusbar/battery.py --c left-click"), shell=True)}),
|
||||
widget.Spacer(length=5),
|
||||
widget.GenPollText(update_interval=1, **widget_defaults, func=lambda: subprocess.check_output(os.path.expanduser("~/.local/bin/statusbar/network.sh")).decode(), mouse_callbacks={'Button1': lambda: qtile.cmd_spawn(os.path.expanduser("~/.local/bin/statusbar/network.sh ShowInfo"), shell=True), 'Button3': lambda: qtile.cmd_spawn(terminal + ' -e nmtui', shell=True)}),
|
||||
widget.Spacer(length=10),
|
||||
]
|
||||
|
||||
secondary_widgets = [
|
||||
widget.GroupBox(
|
||||
borderwidth=2,
|
||||
inactive='969696',
|
||||
this_current_screen_border='eee8d5',
|
||||
this_screen_border='eee8d5',
|
||||
font='FiraCode Nerd Font',
|
||||
fontsize=14, highlight_method='line',
|
||||
highlight_color=['00000000', '00000000']
|
||||
),
|
||||
widget.CurrentLayoutIcon(scale=0.7),
|
||||
widget.CurrentLayout(**widget_defaults),
|
||||
widget.Spacer(length=320),
|
||||
widget.GenPollText(
|
||||
func=custom_date,
|
||||
update_interval=1,
|
||||
**widget_defaults,
|
||||
mouse_callbacks={
|
||||
'Button1': lambda: qtile.cmd_spawn(os.path.expanduser("~/.local/bin/statusbar/calendar.sh show"), shell=True),
|
||||
'Button3': lambda: qtile.cmd_spawn(os.path.expanduser("~/.local/bin/statusbar/calendar.sh edit"), shell=True)
|
||||
}
|
||||
),
|
||||
widget.Spacer(),
|
||||
]
|
|
@ -11,7 +11,7 @@ workspaces = [
|
|||
"name": "term",
|
||||
"key": "1",
|
||||
"matches": [
|
||||
Match(wm_class='kitty'),
|
||||
Match(wm_class='xterm'),
|
||||
],
|
||||
"layout": "monadtall",
|
||||
"spawn": [],
|
||||
|
|
12
.config/qtile-wayland/startwlrrandr.sh
Executable file
12
.config/qtile-wayland/startwlrrandr.sh
Executable file
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Ignore sleep when run script from startwlrscreensaver.sh
|
||||
if [ "${1}" == "screensaver" ] ; then
|
||||
echo "Load monitor configuration quickly"
|
||||
else
|
||||
sleep 2
|
||||
fi
|
||||
|
||||
# Configuration for your monitor(s). Use wlr-randr and/or wdisplays for help
|
||||
wlr-randr --output DP-1 --custom-mode 1920x1200@60Hz --pos 288,0
|
||||
wlr-randr --output DP-2 --custom-mode 1280x1024@75Hz --transform 90 --pos 1568,0
|
82
.config/qtile-wayland/startwlrscreensaver.sh
Executable file
82
.config/qtile-wayland/startwlrscreensaver.sh
Executable file
|
@ -0,0 +1,82 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Basic configuration variables
|
||||
ScreensaverTime="1200" # 20 minutes
|
||||
monitorOne="DP-1" # First monitor
|
||||
monitorTwo="DP-2" # Second monitor
|
||||
monitorThree="" # Third monitor
|
||||
|
||||
# Load script for load monitors config quickly from resume
|
||||
LoadConfigResume="${HOME}/.config/qtile/startwlrrandr.sh"
|
||||
|
||||
# StateFile variable
|
||||
stateFile="${HOME}/.config/qtile/screen-state"
|
||||
|
||||
# Function for sleep monitors
|
||||
function sleepMonitors() {
|
||||
# Check monitor 3
|
||||
if [ -z "${monitorThree}" ] ; then
|
||||
echo "Monitor 3 is empty or disabled"
|
||||
else
|
||||
echo "Sleep monitor 3"
|
||||
wlr-randr --output ${monitorThree} --off
|
||||
fi
|
||||
# Check monitor 2
|
||||
if [ -z "${monitorTwo}" ] ; then
|
||||
echo "Monitor 2 is empty or disabled"
|
||||
else
|
||||
echo "Sleep monitor 2"
|
||||
wlr-randr --output ${monitorTwo} --off
|
||||
fi
|
||||
# Check monitor 1
|
||||
if [ -z "${monitorOne}" ] ; then
|
||||
echo "Monitor 1 is empty or disabled"
|
||||
else
|
||||
echo "Sleep monitor 1"
|
||||
wlr-randr --output ${monitorOne} --off
|
||||
fi
|
||||
echo "sleep" > ${stateFile}
|
||||
}
|
||||
|
||||
# Function for resume monitors
|
||||
function resumeMonitors() {
|
||||
# Check monitor 3
|
||||
if [ -z "${monitorThree}" ] ; then
|
||||
echo "Monitor 3 is empty or disabled"
|
||||
else
|
||||
echo "Resume monitor 3"
|
||||
wlr-randr --output ${monitorThree} --on
|
||||
fi
|
||||
# Check monitor 2
|
||||
if [ -z "${monitorTwo}" ] ; then
|
||||
echo "Monitor 2 is empty or disabled"
|
||||
else
|
||||
echo "Resume monitor 2"
|
||||
wlr-randr --output ${monitorTwo} --on
|
||||
fi
|
||||
# Check monitor 1
|
||||
if [ -z "${monitorOne}" ] ; then
|
||||
echo "Monitor 1 is empty or disabled"
|
||||
else
|
||||
echo "Resume monitor 1"
|
||||
wlr-randr --output ${monitorOne} --on
|
||||
fi
|
||||
# Load monitors config quickly
|
||||
bash ${LoadConfigResume} screensaver
|
||||
echo "resume" > ${stateFile}
|
||||
}
|
||||
|
||||
# Boot parameters
|
||||
if [ -z "${1}" ] ; then
|
||||
# Kill previous process
|
||||
echo "Trying to kill previous process"
|
||||
killall -9 swayidle
|
||||
# Init swayidle command
|
||||
sleep 3
|
||||
swayidle timeout ${ScreensaverTime} "bash ${0} sleep" resume "bash ${0} resume"
|
||||
elif [ "${1}" == "sleep" ] ; then
|
||||
sleepMonitors
|
||||
elif [ "${1}" == "resume" ] ; then
|
||||
resumeMonitors
|
||||
fi
|
||||
|
56
.config/qtile-wayland/themes/README.md
Normal file
56
.config/qtile-wayland/themes/README.md
Normal file
|
@ -0,0 +1,56 @@
|
|||
A theme consists of a simple json file. You can create your own by copying this
|
||||
json object and changing values:
|
||||
|
||||
```json
|
||||
{
|
||||
"dark": [
|
||||
"#0f101a",
|
||||
"#0f101a"
|
||||
],
|
||||
"grey": [
|
||||
"#353c4a",
|
||||
"#353c4a"
|
||||
],
|
||||
"light": [
|
||||
"#f1ffff",
|
||||
"#f1ffff"
|
||||
],
|
||||
"text": [
|
||||
"#0f101a",
|
||||
"#0f101a"
|
||||
],
|
||||
"focus": [
|
||||
"#a151d3",
|
||||
"#a151d3"
|
||||
],
|
||||
"active": [
|
||||
"#f1ffff",
|
||||
"#f1ffff"
|
||||
],
|
||||
"inactive": [
|
||||
"#4c566a",
|
||||
"#4c566a"
|
||||
],
|
||||
"urgent": [
|
||||
"#F07178",
|
||||
"#F07178"
|
||||
],
|
||||
"color1": [
|
||||
"#a151d3",
|
||||
"#a151d3"
|
||||
],
|
||||
"color2": [
|
||||
"#F07178",
|
||||
"#F07178"
|
||||
],
|
||||
"color3": [
|
||||
"#fb9f7f",
|
||||
"#fb9f7f"
|
||||
],
|
||||
"color4": [
|
||||
"#ffd47e",
|
||||
"#ffd47e"
|
||||
]
|
||||
}
|
||||
|
||||
```
|
5
.config/qtile-wayland/xterm-wayland
Executable file
5
.config/qtile-wayland/xterm-wayland
Executable file
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Load xterm config on Wayland
|
||||
xrdb -load ~/.Xresources
|
||||
xterm
|
Loading…
Reference in New Issue
Block a user