Initial upload
1
README.md
Normal file
|
@ -0,0 +1 @@
|
|||
### Configuration files for all TileOS editions
|
10
common/etc/environment.d/90tileos.conf
Normal file
|
@ -0,0 +1,10 @@
|
|||
# Force Wayland for Qt apps
|
||||
QT_QPA_PLATFORM="wayland;xcb"
|
||||
QT_QPA_PLATFORMTHEME=qt6ct
|
||||
|
||||
# Force Wayland for EFL (Enlightenment) apps
|
||||
ECORE_EVAS_ENGINE="wayland-egl"
|
||||
ELM_ACCEL="gl"
|
||||
|
||||
# Java XWayland blank screens fix
|
||||
_JAVA_AWT_WM_NONREPARENTING=1
|
3
common/etc/skel/.azotebg
Executable file
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
pkill swaybg
|
||||
swaybg -o '*' -i "/usr/share/wallpapers/tileos-final.png" -m fill &
|
2
common/etc/skel/.config/Kvantum/kvantum.kvconfig
Normal file
|
@ -0,0 +1,2 @@
|
|||
[General]
|
||||
theme=Catppuccin-Macchiato-Blue
|
35
common/etc/skel/.config/alacritty/alacritty.toml
Normal file
|
@ -0,0 +1,35 @@
|
|||
[env]
|
||||
TERM = "xterm-256color"
|
||||
|
||||
[font]
|
||||
size = 11.0
|
||||
|
||||
[font.bold]
|
||||
family = "Hack"
|
||||
style = "Bold"
|
||||
|
||||
[font.bold_italic]
|
||||
family = "Hack"
|
||||
style = "Bold Italic"
|
||||
|
||||
[font.italic]
|
||||
family = "Hack"
|
||||
style = "Italic"
|
||||
|
||||
[font.normal]
|
||||
family = "Hack"
|
||||
style = "Regular"
|
||||
|
||||
[scrolling]
|
||||
history = 10000
|
||||
|
||||
[window]
|
||||
dynamic_padding = false
|
||||
dynamic_title = true
|
||||
title = "Alacritty"
|
||||
|
||||
[colors]
|
||||
draw_bold_text_with_bright_colors = false
|
||||
|
||||
[general]
|
||||
import = ["~/.config/alacritty/theme/catppuccin-macchiato.toml"]
|
|
@ -0,0 +1,71 @@
|
|||
[[colors.indexed_colors]]
|
||||
color = "#ed6c13"
|
||||
index = 16
|
||||
|
||||
[[colors.indexed_colors]]
|
||||
color = "#f4dbd6"
|
||||
index = 17
|
||||
|
||||
[colors.bright]
|
||||
black = "#5b6078"
|
||||
blue = "#8aadf4"
|
||||
cyan = "#8bd5ca"
|
||||
green = "#a6da95"
|
||||
magenta = "#f5bde6"
|
||||
red = "#ed6070"
|
||||
white = "#e3e3f3"
|
||||
yellow = "#eed49f"
|
||||
|
||||
[colors.cursor]
|
||||
cursor = "#f4dbd6"
|
||||
text = "#24273a"
|
||||
|
||||
[colors.dim]
|
||||
black = "#494d64"
|
||||
blue = "#8aadf4"
|
||||
cyan = "#8bd5ca"
|
||||
green = "#a6da95"
|
||||
magenta = "#f5bde6"
|
||||
red = "#ed6070"
|
||||
white = "#ced4e0"
|
||||
yellow = "#eed49f"
|
||||
|
||||
[colors.hints.end]
|
||||
background = "#e3e3f3"
|
||||
foreground = "#24273a"
|
||||
|
||||
[colors.hints.start]
|
||||
background = "#eed49f"
|
||||
foreground = "#24273a"
|
||||
|
||||
[colors.normal]
|
||||
black = "#494d64"
|
||||
blue = "#8aadf4"
|
||||
cyan = "#8bd5ca"
|
||||
green = "#a6da95"
|
||||
magenta = "#f5bde6"
|
||||
red = "#ed6070"
|
||||
white = "#ced4e0"
|
||||
yellow = "#eed49f"
|
||||
|
||||
[colors.primary]
|
||||
background = "#24273a"
|
||||
bright_foreground = "#cad3f5"
|
||||
dim_foreground = "#cad3f5"
|
||||
foreground = "#cad3f5"
|
||||
|
||||
[colors.search.focused_match]
|
||||
background = "#a6da95"
|
||||
foreground = "#24273a"
|
||||
|
||||
[colors.search.matches]
|
||||
background = "#e3e3f3"
|
||||
foreground = "#24273a"
|
||||
|
||||
[colors.selection]
|
||||
background = "#f4dbd6"
|
||||
text = "#24273a"
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
cursor = "#b7bdf8"
|
||||
text = "#24273a"
|
15
common/etc/skel/.config/bluetuith/bluetuith.conf
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
adapter: ""
|
||||
gsm-apn: ""
|
||||
gsm-number: ""
|
||||
keybindings: {}
|
||||
receive-dir: ""
|
||||
theme: {
|
||||
AdapterPowered: "powderblue",
|
||||
AdapterNotPowered: "lightcoral",
|
||||
AdapterPairable: "thistle",
|
||||
AdapterScanning: "mistyrose",
|
||||
DevicePropertyDiscovered: "mistyrose",
|
||||
DevicePropertyConnected: "powderblue"
|
||||
}
|
||||
}
|
212
common/etc/skel/.config/btop/btop.conf
Normal file
|
@ -0,0 +1,212 @@
|
|||
#? Config file for btop v. 1.2.13
|
||||
|
||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||
color_theme = "catppuccin_machiato.theme"
|
||||
|
||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||
theme_background = True
|
||||
|
||||
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||
truecolor = True
|
||||
|
||||
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
||||
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||
force_tty = False
|
||||
|
||||
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||
#* Use whitespace " " as separator between different presets.
|
||||
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
||||
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
||||
|
||||
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
||||
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||
vim_keys = False
|
||||
|
||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||
rounded_corners = False
|
||||
|
||||
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
||||
#* "braille" offers the highest resolution but might not be included in all fonts.
|
||||
#* "block" has half the resolution of braille but uses more common characters.
|
||||
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
||||
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
||||
graph_symbol = "braille"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_cpu = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_mem = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_net = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_proc = "default"
|
||||
|
||||
#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace.
|
||||
shown_boxes = "cpu mem net proc"
|
||||
|
||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||
update_ms = 2000
|
||||
|
||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||
proc_sorting = "cpu lazy"
|
||||
|
||||
#* Reverse sorting order, True or False.
|
||||
proc_reversed = False
|
||||
|
||||
#* Show processes as a tree.
|
||||
proc_tree = False
|
||||
|
||||
#* Use the cpu graph colors in the process list.
|
||||
proc_colors = True
|
||||
|
||||
#* Use a darkening gradient in the process list.
|
||||
proc_gradient = True
|
||||
|
||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||
proc_per_core = False
|
||||
|
||||
#* Show process memory as bytes instead of percent.
|
||||
proc_mem_bytes = True
|
||||
|
||||
#* Show cpu graph for each process.
|
||||
proc_cpu_graphs = True
|
||||
|
||||
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
||||
proc_info_smaps = False
|
||||
|
||||
#* Show proc box on left side of screen instead of right.
|
||||
proc_left = False
|
||||
|
||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||
proc_filter_kernel = False
|
||||
|
||||
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
cpu_graph_upper = "total"
|
||||
|
||||
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
cpu_graph_lower = "total"
|
||||
|
||||
#* Toggles if the lower CPU graph should be inverted.
|
||||
cpu_invert_lower = True
|
||||
|
||||
#* Set to True to completely disable the lower CPU graph.
|
||||
cpu_single_graph = False
|
||||
|
||||
#* Show cpu box at bottom of screen instead of top.
|
||||
cpu_bottom = False
|
||||
|
||||
#* Shows the system uptime in the CPU box.
|
||||
show_uptime = True
|
||||
|
||||
#* Show cpu temperature.
|
||||
check_temp = True
|
||||
|
||||
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
||||
cpu_sensor = "Auto"
|
||||
|
||||
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
||||
show_coretemp = True
|
||||
|
||||
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
||||
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
||||
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
||||
#* Example: "4:0 5:1 6:3"
|
||||
cpu_core_map = ""
|
||||
|
||||
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
||||
temp_scale = "celsius"
|
||||
|
||||
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||
base_10_sizes = False
|
||||
|
||||
#* Show CPU frequency.
|
||||
show_cpu_freq = True
|
||||
|
||||
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
||||
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
||||
clock_format = "%X"
|
||||
|
||||
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
||||
background_update = True
|
||||
|
||||
#* Custom cpu model name, empty string to disable.
|
||||
custom_cpu_name = ""
|
||||
|
||||
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
|
||||
disks_filter = ""
|
||||
|
||||
#* Show graphs instead of meters for memory values.
|
||||
mem_graphs = True
|
||||
|
||||
#* Show mem box below net box instead of above.
|
||||
mem_below_net = False
|
||||
|
||||
#* Count ZFS ARC in cached and available memory.
|
||||
zfs_arc_cached = True
|
||||
|
||||
#* If swap memory should be shown in memory box.
|
||||
show_swap = True
|
||||
|
||||
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
||||
swap_disk = True
|
||||
|
||||
#* If mem box should be split to also show disks info.
|
||||
show_disks = True
|
||||
|
||||
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||
only_physical = True
|
||||
|
||||
#* Read disks list from /etc/fstab. This also disables only_physical.
|
||||
use_fstab = True
|
||||
|
||||
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
||||
zfs_hide_datasets = False
|
||||
|
||||
#* Set to true to show available disk space for privileged users.
|
||||
disk_free_priv = False
|
||||
|
||||
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
||||
show_io_stat = True
|
||||
|
||||
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||
io_mode = False
|
||||
|
||||
#* Set to True to show combined read/write io graphs in io mode.
|
||||
io_graph_combined = False
|
||||
|
||||
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
||||
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||
io_graph_speeds = ""
|
||||
|
||||
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||
net_download = 100
|
||||
|
||||
net_upload = 100
|
||||
|
||||
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
||||
net_auto = True
|
||||
|
||||
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||
net_sync = True
|
||||
|
||||
#* Starts with the Network Interface specified here.
|
||||
net_iface = ""
|
||||
|
||||
#* Show battery stats in top right if battery is present.
|
||||
show_battery = True
|
||||
|
||||
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||
selected_battery = "Auto"
|
||||
|
||||
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||
log_level = "WARNING"
|
|
@ -0,0 +1,83 @@
|
|||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||
theme[main_bg]="#24273A"
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#CAD3F5"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#CAD3F5"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#8AADF4"
|
||||
|
||||
# Background color of selected item in processes box
|
||||
theme[selected_bg]="#494D64"
|
||||
|
||||
# Foreground color of selected item in processes box
|
||||
theme[selected_fg]="#8AADF4"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#8087A2"
|
||||
|
||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||
theme[graph_text]="#F4DBD6"
|
||||
|
||||
# Background color of the percentage meters
|
||||
theme[meter_bg]="#494D64"
|
||||
|
||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||
theme[proc_misc]="#F4DBD6"
|
||||
|
||||
# CPU, Memory, Network, Proc box outline colors
|
||||
theme[cpu_box]="#c6a0f6" #Mauve
|
||||
theme[mem_box]="#a6da95" #Green
|
||||
theme[net_box]="#ee99a0" #Maroon
|
||||
theme[proc_box]="#8aadf4" #Blue
|
||||
|
||||
# Box divider line and small boxes line color
|
||||
theme[div_line]="#6E738D"
|
||||
|
||||
# Temperature graph color (Green -> Yellow -> Red)
|
||||
theme[temp_start]="#a6da95"
|
||||
theme[temp_mid]="#eed49f"
|
||||
theme[temp_end]="#ed8796"
|
||||
|
||||
# CPU graph colors (Teal -> Lavender)
|
||||
theme[cpu_start]="#8bd5ca"
|
||||
theme[cpu_mid]="#7dc4e4"
|
||||
theme[cpu_end]="#b7bdf8"
|
||||
|
||||
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
|
||||
theme[free_start]="#c6a0f6"
|
||||
theme[free_mid]="#b7bdf8"
|
||||
theme[free_end]="#8aadf4"
|
||||
|
||||
# Mem/Disk cached meter (Sapphire -> Lavender)
|
||||
theme[cached_start]="#7dc4e4"
|
||||
theme[cached_mid]="#8aadf4"
|
||||
theme[cached_end]="#b7bdf8"
|
||||
|
||||
# Mem/Disk available meter (Peach -> Red)
|
||||
theme[available_start]="#ed6c13"
|
||||
theme[available_mid]="#ee99a0"
|
||||
theme[available_end]="#ed8796"
|
||||
|
||||
# Mem/Disk used meter (Green -> Sky)
|
||||
theme[used_start]="#a6da95"
|
||||
theme[used_mid]="#8bd5ca"
|
||||
theme[used_end]="#91d7e3"
|
||||
|
||||
# Download graph colors (Peach -> Red)
|
||||
theme[download_start]="#ed6c13"
|
||||
theme[download_mid]="#ee99a0"
|
||||
theme[download_end]="#ed8796"
|
||||
|
||||
# Upload graph colors (Green -> Sky)
|
||||
theme[upload_start]="#a6da95"
|
||||
theme[upload_mid]="#8bd5ca"
|
||||
theme[upload_end]="#91d7e3"
|
||||
|
||||
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
|
||||
theme[process_start]="#7dc4e4"
|
||||
theme[process_mid]="#b7bdf8"
|
||||
theme[process_end]="#c6a0f6"
|
32
common/etc/skel/.config/calcurse/conf
Normal file
|
@ -0,0 +1,32 @@
|
|||
appearance.calendarview=monthly
|
||||
appearance.compactpanels=no
|
||||
appearance.defaultpanel=calendar
|
||||
appearance.layout=1
|
||||
appearance.headerline=yes
|
||||
appearance.eventseparator=yes
|
||||
appearance.dayseparator=yes
|
||||
appearance.emptyline=yes
|
||||
appearance.emptyday=--
|
||||
appearance.notifybar=yes
|
||||
appearance.sidebarwidth=27
|
||||
appearance.theme=blue on default
|
||||
appearance.todoview=hide-completed
|
||||
appearance.headingpos=right-justified
|
||||
daemon.enable=yes
|
||||
daemon.log=no
|
||||
format.inputdate=1
|
||||
format.notifydate=%a %F
|
||||
format.notifytime=%T
|
||||
format.outputdate=%D
|
||||
format.dayheading=%B %e, %Y
|
||||
general.autogc=no
|
||||
general.autosave=yes
|
||||
general.confirmdelete=yes
|
||||
general.confirmquit=no
|
||||
general.firstdayofweek=monday
|
||||
general.multipledays=yes
|
||||
general.periodicsave=0
|
||||
general.systemevents=yes
|
||||
notification.command=printf '\a'
|
||||
notification.notifyall=flagged-only
|
||||
notification.warning=300
|
BIN
common/etc/skel/.config/dconf/user
Normal file
459
common/etc/skel/.config/dunst/dunstrc
Normal file
|
@ -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 = mouse
|
||||
|
||||
### Geometry ###
|
||||
|
||||
# dynamic width from 0 to 300
|
||||
# width = (0, 300)
|
||||
# constant width of 300
|
||||
width = 400
|
||||
|
||||
# The maximum height of a single notification, excluding the frame.
|
||||
height = 300
|
||||
|
||||
# Position the notification in the top right corner
|
||||
origin = top-right
|
||||
|
||||
# Offset from the origin
|
||||
offset = 10x50
|
||||
|
||||
# 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 = 20
|
||||
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 20
|
||||
|
||||
# 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 = 2
|
||||
|
||||
# Defines color of the frame around the notification window.
|
||||
frame_color = "#8AADF4"
|
||||
|
||||
# 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 = 5
|
||||
|
||||
# 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 = 120
|
||||
|
||||
### Text ###
|
||||
|
||||
font = Noto Sans 9
|
||||
|
||||
# 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 = open_url, 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 = "#24273a"
|
||||
foreground = "#CAD3F5"
|
||||
timeout = 10
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon
|
||||
|
||||
[urgency_normal]
|
||||
background = "#24273A"
|
||||
foreground = "#CAD3F5"
|
||||
timeout = 10
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon
|
||||
|
||||
[urgency_critical]
|
||||
background = "#24273A"
|
||||
foreground = "#CAD3F5"
|
||||
frame_color = "#ED6C13"
|
||||
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
|
78
common/etc/skel/.config/gtk-3.0/gtk.css
Normal file
|
@ -0,0 +1,78 @@
|
|||
@define-color accent_color rgb(91, 96, 120);
|
||||
@define-color accent_bg_color rgb(73, 77, 100);
|
||||
@define-color accent_fg_color rgb(202, 211, 245);
|
||||
@define-color destructive_color rgb(238, 153, 160);
|
||||
@define-color destructive_bg_color rgb(237, 135, 150);
|
||||
@define-color destructive_fg_color rgb(202, 211, 245);
|
||||
@define-color success_color rgb(166, 218, 149);
|
||||
@define-color success_bg_color rgb(139, 213, 202);
|
||||
@define-color success_fg_color rgb(202, 211, 245);
|
||||
@define-color warning_color rgb(245, 169, 127);
|
||||
@define-color warning_bg_color rgb(238, 212, 159);
|
||||
@define-color warning_fg_color rgb(24, 25, 38);
|
||||
@define-color error_color rgb(238, 153, 160);
|
||||
@define-color error_bg_color rgb(237, 135, 150);
|
||||
@define-color error_fg_color rgb(202, 211, 245);
|
||||
@define-color window_bg_color rgb(36, 39, 58);
|
||||
@define-color window_fg_color rgb(202, 211, 245);
|
||||
@define-color view_bg_color rgb(30, 32, 48);
|
||||
@define-color view_fg_color rgb(202, 211, 245);
|
||||
@define-color headerbar_bg_color rgb(24, 25, 38);
|
||||
@define-color headerbar_fg_color rgb(202, 211, 245);
|
||||
@define-color headerbar_border_color rgb(110, 115, 141);
|
||||
@define-color headerbar_backdrop_color @window_bg_color;
|
||||
@define-color headerbar_shade_color rgba(0, 0, 0, 0.36);
|
||||
@define-color card_bg_color rgb(30, 32, 48);
|
||||
@define-color card_fg_color rgb(202, 211, 245);
|
||||
@define-color card_shade_color rgba(0, 0, 0, 0.36);
|
||||
@define-color dialog_bg_color rgb(30, 32, 48);
|
||||
@define-color dialog_fg_color rgb(202, 211, 245);
|
||||
@define-color popover_bg_color rgb(30, 32, 48);
|
||||
@define-color popover_fg_color rgb(202, 211, 245);
|
||||
@define-color shade_color rgba(0,0,0,0.36);
|
||||
@define-color scrollbar_outline_color rgba(0,0,0,0.5);
|
||||
@define-color blue_1 #99c1f1;
|
||||
@define-color blue_2 #62a0ea;
|
||||
@define-color blue_3 #3584e4;
|
||||
@define-color blue_4 #1c71d8;
|
||||
@define-color blue_5 #1a5fb4;
|
||||
@define-color green_1 #8ff0a4;
|
||||
@define-color green_2 #57e389;
|
||||
@define-color green_3 #33d17a;
|
||||
@define-color green_4 #2ec27e;
|
||||
@define-color green_5 #26a269;
|
||||
@define-color yellow_1 #f9f06b;
|
||||
@define-color yellow_2 #f8e45c;
|
||||
@define-color yellow_3 #f6d32d;
|
||||
@define-color yellow_4 #f5c211;
|
||||
@define-color yellow_5 #e5a50a;
|
||||
@define-color orange_1 #ffbe6f;
|
||||
@define-color orange_2 #ffa348;
|
||||
@define-color orange_3 #ff7800;
|
||||
@define-color orange_4 #e66100;
|
||||
@define-color orange_5 #c64600;
|
||||
@define-color red_1 #f66151;
|
||||
@define-color red_2 #ed333b;
|
||||
@define-color red_3 #e01b24;
|
||||
@define-color red_4 #c01c28;
|
||||
@define-color red_5 #a51d2d;
|
||||
@define-color purple_1 #dc8add;
|
||||
@define-color purple_2 #c061cb;
|
||||
@define-color purple_3 #9141ac;
|
||||
@define-color purple_4 #813d9c;
|
||||
@define-color purple_5 #613583;
|
||||
@define-color brown_1 #cdab8f;
|
||||
@define-color brown_2 #b5835a;
|
||||
@define-color brown_3 #986a44;
|
||||
@define-color brown_4 #865e3c;
|
||||
@define-color brown_5 #63452c;
|
||||
@define-color light_1 #ffffff;
|
||||
@define-color light_2 #f6f5f4;
|
||||
@define-color light_3 #deddda;
|
||||
@define-color light_4 #c0bfbc;
|
||||
@define-color light_5 #9a9996;
|
||||
@define-color dark_1 #77767b;
|
||||
@define-color dark_2 #5e5c64;
|
||||
@define-color dark_3 #3d3846;
|
||||
@define-color dark_4 #241f31;
|
||||
@define-color dark_5 #000000;
|
17
common/etc/skel/.config/gtk-3.0/settings.ini
Normal file
|
@ -0,0 +1,17 @@
|
|||
[Settings]
|
||||
gtk-theme-name=catppuccin-macchiato-blue-standard+default
|
||||
gtk-icon-theme-name=Papirus-Dark
|
||||
gtk-font-name=Noto Sans 11
|
||||
gtk-cursor-theme-name=Bibata-Modern-Classic
|
||||
gtk-cursor-theme-size=24
|
||||
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=0
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=0
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintslight
|
||||
gtk-xft-rgba=rgb
|
||||
gtk-application-prefer-dark-theme=1
|
105
common/etc/skel/.config/mimeapps.list
Normal file
|
@ -0,0 +1,105 @@
|
|||
[Default Applications]
|
||||
x-scheme-handler/http=firefox.desktop
|
||||
x-scheme-handler/https=firefox.desktop
|
||||
application/x-extension-htm=firefox.desktop
|
||||
application/x-extension-html=firefox.desktop
|
||||
application/x-extension-shtml=firefox.desktop
|
||||
application/x-extension-xhtml=firefox.desktop
|
||||
application/x-extension-xht=firefox.desktop
|
||||
audio/x-ms-asx=mpv.desktop
|
||||
audio/x-ms-wma=mpv.desktop
|
||||
audio/mp2=mpv.desktop
|
||||
audio/x-mpegurl=mpv.desktop
|
||||
audio/ogg=mpv.desktop
|
||||
audio/x-scpls=mpv.desktop
|
||||
audio/mpeg=mpv.desktop
|
||||
audio/x-wav=mpv.desktop
|
||||
audio/aac=mpv.desktop
|
||||
audio/mp4=mpv.desktop
|
||||
audio/vnd.rn-realaudio=mpv.desktop
|
||||
image/x-portable-anymap=imv.desktop
|
||||
image/jpeg=imv.desktop
|
||||
image/x-xbitmap=imv.desktop
|
||||
image/tiff=imv.desktop
|
||||
image/gif=imv.desktop
|
||||
image/vnd.zbrush.pcx=imv.desktop
|
||||
image/heif=imv.desktop
|
||||
image/png=imv.desktop
|
||||
image/x-portable-bitmap=imv.desktop
|
||||
image/x-tga=imv.desktop
|
||||
image/bmp=imv.desktop
|
||||
image/x-portable-graymap=imv.desktop
|
||||
image/x-portable-pixmap=imv.desktop
|
||||
inode/directory=pcmanfm-qt.desktop
|
||||
text/x-c++src=pluma.desktop
|
||||
text/x-pascal=pluma.desktop
|
||||
text/x-google-video-pointer=pluma.desktop
|
||||
text/x-c++hdr=pluma.desktop
|
||||
text/html=pluma.desktop
|
||||
text/plain=pluma.desktop
|
||||
text/tcl=pluma.desktop
|
||||
text/x-csrc=pluma.desktop
|
||||
text/x-makefile=pluma.desktop
|
||||
text/x-chdr=pluma.desktop
|
||||
text/x-tex=pluma.desktop
|
||||
text/x-java=pluma.desktop
|
||||
text/x-moc=pluma.desktop
|
||||
video/3gpp=mpv.desktop
|
||||
video/ogg=mpv.desktop
|
||||
video/quicktime=mpv.desktop
|
||||
video/x-ms-wmv=mpv.desktop
|
||||
video/vnd.rn-realvideo=mpv.desktop
|
||||
video/mp4=mpv.desktop
|
||||
video/mpeg=mpv.desktop
|
||||
video/x-matroska=mpv.desktop
|
||||
video/x-flic=mpv.desktop
|
||||
video/x-msvideo=mpv.desktop
|
||||
video/x-theora+ogg=mpv.desktop
|
||||
video/x-flv=mpv.desktop
|
||||
application/zstd=engrampa.desktop
|
||||
application/x-tzo=engrampa.desktop
|
||||
application/x-bzip-compressed-tar=engrampa.desktop
|
||||
application/x-cd-image=engrampa.desktop
|
||||
application/x-ms-wim=engrampa.desktop
|
||||
application/x-bzip=engrampa.desktop
|
||||
application/x-arj=engrampa.desktop
|
||||
application/x-lzip=engrampa.desktop
|
||||
application/x-lzop=engrampa.desktop
|
||||
application/x-stuffit=engrampa.desktop
|
||||
application/x-lzip-compressed-tar=engrampa.desktop
|
||||
application/x-cpio=engrampa.desktop
|
||||
application/x-source-rpm=engrampa.desktop
|
||||
application/gzip=engrampa.desktop
|
||||
application/x-tarz=engrampa.desktop
|
||||
application/x-lrzip=engrampa.desktop
|
||||
application/x-java-archive=engrampa.desktop
|
||||
application/vnd.rar=engrampa.desktop
|
||||
application/x-lzma-compressed-tar=engrampa.desktop
|
||||
application/x-lrzip-compressed-tar=engrampa.desktop
|
||||
application/zip=engrampa.desktop
|
||||
application/x-lzma=engrampa.desktop
|
||||
application/x-alz=engrampa.desktop
|
||||
application/x-compress=engrampa.desktop
|
||||
application/vnd.ms-cab-compressed=engrampa.desktop
|
||||
application/vnd.debian.binary-package=engrampa.desktop
|
||||
application/x-ace=engrampa.desktop
|
||||
application/x-xz-compressed-tar=engrampa.desktop
|
||||
application/x-lha=engrampa.desktop
|
||||
application/x-zoo=engrampa.desktop
|
||||
application/x-rpm=engrampa.desktop
|
||||
application/x-zstd-compressed-tar=engrampa.desktop
|
||||
application/x-xar=engrampa.desktop
|
||||
application/x-lz4=engrampa.desktop
|
||||
application/x-compressed-tar=engrampa.desktop
|
||||
application/x-xz=engrampa.desktop
|
||||
application/x-tar=engrampa.desktop
|
||||
application/x-7z-compressed=engrampa.desktop
|
||||
application/x-archive=engrampa.desktop
|
||||
application/x-lz4-compressed-tar=engrampa.desktop
|
||||
application/x-lhz=engrampa.desktop
|
||||
application/x-gzpostscript=engrampa.desktop
|
||||
application/x-xpinstall=firefox.desktop
|
||||
application/xhtml+xml=firefox.desktop
|
||||
application/xml=firefox.desktop
|
||||
application/json=firefox.desktop
|
||||
application/pdf=org.pwmt.zathura.desktop
|
32
common/etc/skel/.config/nwg-bar/bar.json
Normal file
|
@ -0,0 +1,32 @@
|
|||
[
|
||||
{
|
||||
"label": "Lock",
|
||||
"exec": "bash -c /usr/share/tileos/scripts/lock.sh",
|
||||
"icon": "system-lock-screen"
|
||||
},
|
||||
{
|
||||
"label": "Logout",
|
||||
"exec": "bash -c /usr/share/tileos/scripts/system-logout.sh",
|
||||
"icon": "system-log-out"
|
||||
},
|
||||
{
|
||||
"label": "Suspend",
|
||||
"exec": "systemctl suspend",
|
||||
"icon": "system-suspend"
|
||||
},
|
||||
{
|
||||
"label": "Hibernate",
|
||||
"exec": "systemctl hibernate",
|
||||
"icon": "system-hibernate"
|
||||
},
|
||||
{
|
||||
"label": "Reboot",
|
||||
"exec": "systemctl reboot",
|
||||
"icon": "system-reboot"
|
||||
},
|
||||
{
|
||||
"label": "Shutdown",
|
||||
"exec": "systemctl -i poweroff",
|
||||
"icon": "system-shutdown"
|
||||
}
|
||||
]
|
35
common/etc/skel/.config/nwg-bar/style.css
Normal file
|
@ -0,0 +1,35 @@
|
|||
window {
|
||||
background-color: rgba (0, 0, 0, 0.0)
|
||||
}
|
||||
|
||||
/* Outer bar container, takes all the window width/height */
|
||||
#outer-box {
|
||||
margin: 0px
|
||||
}
|
||||
|
||||
/* Inner bar container, surrounds buttons */
|
||||
#inner-box {
|
||||
background-color: @theme_bg_color;
|
||||
border-radius: 4px;
|
||||
border-style: solid;
|
||||
border-width: 2px;
|
||||
border-color: @theme_selected_bg_color;
|
||||
padding: 5px;
|
||||
margin: 5px
|
||||
}
|
||||
|
||||
button, image {
|
||||
background: none;
|
||||
border: none;
|
||||
box-shadow: none
|
||||
}
|
||||
|
||||
button {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
margin: 5px
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: @theme_selected_bg_color
|
||||
}
|
34
common/etc/skel/.config/nwg-drawer/drawer.css
Normal file
|
@ -0,0 +1,34 @@
|
|||
window {
|
||||
background-color: #24273a;
|
||||
color: #cad3f5
|
||||
}
|
||||
|
||||
/* search entry */
|
||||
entry {
|
||||
background-color: #363a4f
|
||||
}
|
||||
|
||||
button, image {
|
||||
background: none;
|
||||
border: none
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #5b6078
|
||||
}
|
||||
|
||||
/* in case you wanted to give category buttons a different look */
|
||||
#category-button {
|
||||
margin: 0 10px 0 10px
|
||||
}
|
||||
|
||||
#pinned-box {
|
||||
padding-bottom: 5px;
|
||||
border-bottom: 1px dotted gray
|
||||
}
|
||||
|
||||
#files-box {
|
||||
padding: 5px;
|
||||
border: 1px dotted gray;
|
||||
border-radius: 15px
|
||||
}
|
0
common/etc/skel/.config/nwg-drawer/excluded-dirs
Normal file
8
common/etc/skel/.config/nwg-drawer/preferred-apps.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"\\.pdf$": "zathura",
|
||||
"\\.svg$": "inkscape",
|
||||
"\\.(jpg|png|tiff|gif)$": "swayimg",
|
||||
"\\.(mp3|ogg|flac|wav|wma)$": "audacious",
|
||||
"\\.(avi|mp4|mkv|mov|wav)$": "mpv",
|
||||
"\\.(doc|docx|xls|xlsx)$": "libreoffice"
|
||||
}
|
6
common/etc/skel/.config/nwg-look/config
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"export-settings-ini": true,
|
||||
"export-gtkrc-20": true,
|
||||
"export-index-theme": true,
|
||||
"export-xsettingsd": true
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
[Recent]
|
||||
Files=@Invalid()
|
118
common/etc/skel/.config/pcmanfm-qt/default/settings.conf
Normal file
|
@ -0,0 +1,118 @@
|
|||
[Behavior]
|
||||
AutoSelectionDelay=600
|
||||
BookmarkOpenMethod=current_tab
|
||||
ConfirmDelete=false
|
||||
ConfirmTrash=false
|
||||
CtrlRightClick=false
|
||||
NoUsbTrash=true
|
||||
QuickExec=false
|
||||
RecentFilesNumber=0
|
||||
SelectNewFiles=true
|
||||
SingleClick=false
|
||||
SingleWindowMode=false
|
||||
UseTrash=false
|
||||
|
||||
[Desktop]
|
||||
AllSticky=false
|
||||
BgColor=#000000
|
||||
DesktopCellMargins=@Size(3 1)
|
||||
DesktopIconSize=48
|
||||
DesktopShortcuts=@Invalid()
|
||||
FgColor=#ffffff
|
||||
Font="Noto Sans,11,-1,5,50,0,0,0,0,0"
|
||||
HideItems=false
|
||||
LastSlide=
|
||||
OpenWithDefaultFileManager=false
|
||||
PerScreenWallpaper=false
|
||||
ShadowColor=#000000
|
||||
ShowHidden=false
|
||||
SlideShowInterval=0
|
||||
SortColumn=name
|
||||
SortFolderFirst=true
|
||||
SortHiddenLast=false
|
||||
SortOrder=ascending
|
||||
TransformWallpaper=false
|
||||
Wallpaper=
|
||||
WallpaperDialogSize=@Size(700 500)
|
||||
WallpaperDialogSplitterPos=200
|
||||
WallpaperDirectory=
|
||||
WallpaperMode=none
|
||||
WallpaperRandomize=false
|
||||
WorkAreaMargins=12, 12, 12, 12
|
||||
|
||||
[FolderView]
|
||||
BackupAsHidden=false
|
||||
BigIconSize=48
|
||||
CustomColumnWidths=@Invalid()
|
||||
FolderViewCellMargins=@Size(3 3)
|
||||
HiddenColumns=@Invalid()
|
||||
Mode=icon
|
||||
NoItemTooltip=false
|
||||
ScrollPerPixel=true
|
||||
ShadowHidden=true
|
||||
ShowFilter=false
|
||||
ShowFullNames=true
|
||||
ShowHidden=false
|
||||
SidePaneIconSize=24
|
||||
SmallIconSize=24
|
||||
SortCaseSensitive=false
|
||||
SortColumn=name
|
||||
SortFolderFirst=true
|
||||
SortHiddenLast=false
|
||||
SortOrder=ascending
|
||||
ThumbnailIconSize=128
|
||||
|
||||
[Places]
|
||||
HiddenPlaces=@Invalid()
|
||||
|
||||
[Search]
|
||||
ContentPatterns=@Invalid()
|
||||
MaxSearchHistory=0
|
||||
NamePatterns=@Invalid()
|
||||
searchContentCaseInsensitive=false
|
||||
searchContentRegexp=true
|
||||
searchNameCaseInsensitive=false
|
||||
searchNameRegexp=true
|
||||
searchRecursive=false
|
||||
searchhHidden=false
|
||||
|
||||
[System]
|
||||
Archiver=engrampa
|
||||
FallbackIconThemeName=oxygen
|
||||
OnlyUserTemplates=false
|
||||
SIUnit=false
|
||||
SuCommand=lxqt-sudo %s
|
||||
TemplateRunApp=false
|
||||
TemplateTypeOnce=false
|
||||
Terminal=alacritty
|
||||
|
||||
[Thumbnail]
|
||||
MaxExternalThumbnailFileSize=-1
|
||||
MaxThumbnailFileSize=4096
|
||||
ShowThumbnails=true
|
||||
ThumbnailLocalFilesOnly=true
|
||||
|
||||
[Volume]
|
||||
AutoRun=true
|
||||
CloseOnUnmount=true
|
||||
MountOnStartup=true
|
||||
MountRemovable=true
|
||||
|
||||
[Window]
|
||||
AlwaysShowTabs=true
|
||||
FixedHeight=480
|
||||
FixedWidth=640
|
||||
LastWindowHeight=480
|
||||
LastWindowMaximized=true
|
||||
LastWindowWidth=640
|
||||
PathBarButtons=true
|
||||
RememberWindowSize=true
|
||||
ReopenLastTabs=false
|
||||
ShowMenuBar=false
|
||||
ShowTabClose=true
|
||||
SidePaneMode=places
|
||||
SidePaneVisible=true
|
||||
SplitView=false
|
||||
SplitterPos=200
|
||||
SwitchToNewTab=false
|
||||
TabPaths=@Invalid()
|
223
common/etc/skel/.config/pluma/accels
Normal file
|
@ -0,0 +1,223 @@
|
|||
; pluma GtkAccelMap rc-file -*- scheme -*-
|
||||
; this file is an automated accelerator map dump
|
||||
;
|
||||
; (gtk_accel_path "<Actions>/FileBrowserWidgetSingleSelectionActionGroup/FileRename" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/php" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/Search" "")
|
||||
; (gtk_accel_path "<Actions>/FileBrowserWidgetSingleMostSelectionActionGroup/FileNew" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/dpatch" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaDocInfoPluginActions/DocumentStatistics" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/idl-exelis" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/vala" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/gtkrc" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/pig" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/vhdl" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/puppet" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/automake" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/logcat" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/asp" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/sql" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/opal" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/eiffel" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/docker" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/SearchGoToLine" "<Primary>i")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/opencl" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/t2t" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowPanesActions/ViewBottomPane" "<Primary>F9")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/HelpContents" "F1")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/EditDelete" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/idl" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/kotlin" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/DocumentsPreviousDocument" "<Primary><Alt>Page_Up")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/erb-html" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/forth" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/vbnet" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/EditPaste" "<Primary>v")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/typescript" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/ViewFullscreen" "F11")
|
||||
; (gtk_accel_path "<Actions>/PlumaSpellPluginActions/AutoSpell" "<Primary>F7")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/UpperCase" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/js" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/ftl" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/EditUndo" "<Primary>z")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/SearchFindNext" "<Primary>g")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/boo" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/Edit" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/DocumentsMoveToNewWindow" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/yacc" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/star" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/jsx" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/json" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/spice" "")
|
||||
; (gtk_accel_path "<Actions>/FileBrowserWidgetSensitiveActionGroup/DirectoryRefresh" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/docbook" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/gdb-log" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowPanesActions/ViewSidePane" "F9")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/meson" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/erb" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/FileRevert" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/ocl" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/dart" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/scala" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/xml" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/terraform" "")
|
||||
; (gtk_accel_path "<Actions>/FileBrowserWidgetFileSelectionActionGroup/FileOpen" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/haskell-literate" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/commonlisp" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/ooc" "")
|
||||
; (gtk_accel_path "<Actions>/FileBrowserPluginSingleSelectionExtra/OpenTerminal" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/matlab" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/ansforth94" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/scilab" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/FileSave" "<Primary>s")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/rust" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/xslt" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/j" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/objj" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/verilog" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/tera" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/yaml" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/makefile" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/html" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/gettext-translation" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/csv" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/EditCopy" "<Primary>c")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/llvm" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/cmake" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/imagej" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/octave" "")
|
||||
; (gtk_accel_path "<Actions>/FileBrowserWidgetActionGroup/FilterBinary" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/dosbatch" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/glsl" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/FileOpen" "<Primary>o")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/FileCloseAll" "<Primary><Shift>w")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/desktop" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/diff" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/pkgconfig" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/haskell" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/ada" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/View" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/chdr" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/maxima" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaSpellPluginActions/CheckSpell" "<Shift>F7")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/Help" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaQuitWindowActions/FileQuit" "<Primary>q")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/libtool" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/scss" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/HelpAbout" "")
|
||||
; (gtk_accel_path "<Actions>/DocumentsListActions/Tab_0" "<Alt>1")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/EditRedo" "<Primary><Shift>z")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/Documents" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/rpmspec" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/css" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/dot" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/python" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/InvertCase" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/awk" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/haxe" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/less" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/yara" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/EditSelectAll" "<Primary>a")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/netrexx" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/groovy" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/typescript-jsx" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/perl" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/SearchIncrementalSearch" "<Primary>k")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/sparql" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/powershell" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/rst" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/d" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/SearchClearHighlight" "<Primary><Shift>k")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/jade" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/m4" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/sh" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/pascal" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/EditCut" "<Primary>x")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/julia" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/FilePrint" "<Primary>p")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/tcl" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/c" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/mallard" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/objc" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/dtl" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaSpellPluginActions/ConfigSpell" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/fsharp" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/systemverilog" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/erlang" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/ruby" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/fish" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaTimePluginActions/InsertDateAndTime" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/go" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/fcl" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/fortran" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/python3" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/changelog" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/cobol" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/abnf" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/SearchFindPrevious" "<Primary><Shift>g")
|
||||
; (gtk_accel_path "<Actions>/FileBrowserWidgetSelectionActionGroup/FileMoveToTrash" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/mediawiki" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/java" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/swift" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/genie" "")
|
||||
; (gtk_accel_path "<Actions>/FileBrowserWidgetBookmarkActionGroup/BookmarkOpen" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/c-sharp" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/cuda" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/gap" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/bluespec" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/SearchFind" "<Primary>f")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/ChangeCase" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaCloseWindowActions/FileClose" "<Primary>w")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/solidity" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/lean" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/FileSaveAs" "<Primary><Shift>s")
|
||||
; (gtk_accel_path "<Actions>/FileBrowserWidgetActionGroup/FilterHidden" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/sweave" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/mxml" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/nemerle" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/ViewToolbar" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/ini" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/cg" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/scheme" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/actionscript" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/toml" "")
|
||||
; (gtk_accel_path "<Actions>/FileBrowserWidgetActionGroupToplevel/FilterMenuAction" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/gradle" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/SearchReplace" "<Primary>h")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/bibtex" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/FileSaveAll" "<Primary><Shift>l")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/asciidoc" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/ocaml" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/ViewHighlightMode" "")
|
||||
; (gtk_accel_path "<Actions>/FileBrowserPluginExtra/SetActiveRoot" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/lua" "")
|
||||
; (gtk_accel_path "<Actions>/FileBrowserWidgetSingleMostSelectionActionGroup/DirectoryNew" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/latex" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/sml" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/FilePrintPreview" "<Primary><Shift>p")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/markdown" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/proto" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/EditPreferences" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/erb-js" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/gdscript" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/cpphdr" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/r" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/bennugd" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/TitleCase" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/logtalk" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/File" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/ViewStatusbar" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/DocumentsNextDocument" "<Primary><Alt>Page_Down")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/cpp" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/nsis" "")
|
||||
; (gtk_accel_path "<Actions>/FileBrowserWidgetSelectionActionGroup/FileDelete" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/dtd" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/prolog" "")
|
||||
; (gtk_accel_path "<Actions>/FileBrowserWidgetSensitiveActionGroup/DirectoryOpen" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/texinfo" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/lex" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowActions/LowerCase" "")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/modelica" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/Tools" "")
|
||||
; (gtk_accel_path "<Actions>/PlumaWindowAlwaysSensitiveActions/FileNew" "<Primary>n")
|
||||
; (gtk_accel_path "<Actions>/LanguagesActions/thrift" "")
|
100
common/etc/skel/.config/pluma/styles/catppuccin-macchiato.xml
Normal file
|
@ -0,0 +1,100 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Catppuccin Gedit theme based on Oblivion theme and Cappuccin for Visual Studio Code.
|
||||
-->
|
||||
|
||||
<style-scheme id="catppuccin_macchiato" _name="Catppuccin macchiato" version="1.0">
|
||||
|
||||
<author>sacerdos</author>
|
||||
<_description>Soothing pastel theme for Gedit</_description>
|
||||
|
||||
<!-- Catppuccin Palette -->
|
||||
<color name="macchiato_rosewater" value="#f4dbd6"/>
|
||||
<color name="macchiato_flamingo" value="#f0c6c6"/>
|
||||
<color name="macchiato_pink" value="#f5bde6"/>
|
||||
<color name="macchiato_mauve" value="#c6a0f6"/>
|
||||
<color name="macchiato_red" value="#ed6070"/>
|
||||
<color name="macchiato_maroon" value="#ee99a0"/>
|
||||
<color name="macchiato_peach" value="#ed6c13"/>
|
||||
<color name="macchiato_yellow" value="#eed49f"/>
|
||||
<color name="macchiato_green" value="#a6da95"/>
|
||||
<color name="macchiato_teal" value="#8bd5ca"/>
|
||||
<color name="macchiato_sky" value="#91d7e3"/>
|
||||
<color name="macchiato_sapphire" value="#7dc4e4"/>
|
||||
<color name="macchiato_blue" value="#8aadf4"/>
|
||||
<color name="macchiato_lavender" value="#b7bdf8"/>
|
||||
<color name="macchiato_text" value="#cad3f5"/>
|
||||
<color name="macchiato_subtext1" value="#ced4e0"/>
|
||||
<color name="macchiato_subtext0" value="#e3e3f3"/>
|
||||
<color name="macchiato_overlay2" value="#939ab7"/>
|
||||
<color name="macchiato_overlay1" value="#8087a2"/>
|
||||
<color name="macchiato_overlay0" value="#6e738d"/>
|
||||
<color name="macchiato_surface2" value="#5b6078"/>
|
||||
<color name="macchiato_surface1" value="#494d64"/>
|
||||
<color name="macchiato_surface0" value="#363a4f"/>
|
||||
<color name="macchiato_base" value="#24273a"/>
|
||||
<color name="macchiato_mantle" value="#1e2030"/>
|
||||
<color name="macchiato_crust" value="#181926"/>
|
||||
|
||||
<!-- Global Settings -->
|
||||
<style name="text" foreground="macchiato_text" background = "macchiato_base"/>
|
||||
<style name="selection" foreground="macchiato_text" background="macchiato_surface2"/>
|
||||
<style name="cursor" foreground="macchiato_rosewater"/>
|
||||
<style name="secondary-cursor" foreground="macchiato_rosewater"/>
|
||||
<style name="current-line" background="macchiato_surface0"/>
|
||||
<style name="line-numbers" foreground="macchiato_text" background="macchiato_crust"/>
|
||||
<style name="draw-spaces" foreground="macchiato_text"/>
|
||||
<style name="background-pattern" background="macchiato_mantle"/>
|
||||
|
||||
<!-- Bracket Matching -->
|
||||
<style name="bracket-match" foreground="macchiato_mauve"/>
|
||||
<style name="bracket-mismatch" foreground="macchiato_text" background="macchiato_peach"/>
|
||||
|
||||
<!-- Right Margin -->
|
||||
<style name="right-margin" foreground="macchiato_text" background="crust"/>
|
||||
|
||||
<!-- Search Matching -->
|
||||
<style name="search-match" foreground="macchiato_text" background="macchiato_blue"/>
|
||||
|
||||
<!-- Comments -->
|
||||
<style name="def:comment" foreground="macchiato_overlay0"/>
|
||||
<style name="def:shebang" foreground="macchiato_overlay0" bold="true"/>
|
||||
<style name="def:doc-comment-element" italic="true"/>
|
||||
|
||||
<!-- Constants -->
|
||||
<style name="def:constant" foreground="macchiato_green"/>
|
||||
<style name="def:string" foreground="macchiato_green"/>
|
||||
<style name="def:special-char" foreground="macchiato_lavender"/>
|
||||
<style name="def:special-constant" foreground="macchiato_lavender"/>
|
||||
<style name="def:floating-point" foreground="macchiato_lavender"/>
|
||||
|
||||
<!-- Identifiers -->
|
||||
<style name="def:identifier" foreground="macchiato_blue"/>
|
||||
|
||||
<!-- Statements -->
|
||||
<style name="def:statement" foreground="macchiato_sapphire" bold="true"/>
|
||||
|
||||
<!-- Types -->
|
||||
<style name="def:type" foreground="macchiato_maroon" bold="true"/>
|
||||
|
||||
<!-- Markup -->
|
||||
<style name="def:emphasis" italic="true"/>
|
||||
<style name="def:strong-emphasis" foreground="macchiato_yellow" bold="true"/>
|
||||
<style name="def:inline-code" foreground="macchiato_green"/>
|
||||
<style name="def:insertion" underline="single"/>
|
||||
<style name="def:deletion" strikethrough="true"/>
|
||||
<style name="def:link-text" foreground="macchiato_rosewater"/>
|
||||
<style name="def:link-symbol" foreground="macchiato_blue" bold="true"/>
|
||||
<style name="def:link-destination" foreground="macchiato_blue" italic="true" underline="single"/>
|
||||
<style name="def:heading" foreground="macchiato_teal" bold="true"/>
|
||||
<style name="def:thematic-break" foreground="macchiato_green" bold="true"/>
|
||||
<style name="def:preformatted-section" foreground="macchiato_green"/>
|
||||
<style name="def:list-marker" foreground="macchiato_teal" bold="true"/>
|
||||
|
||||
<!-- Others -->
|
||||
<style name="def:preprocessor" foreground="macchiato_teal"/>
|
||||
<style name="def:error" foreground="macchiato_maroon" bold="true"/>
|
||||
<style name="def:warning" foreground="macchiato_peach"/>
|
||||
<style name="def:note" foreground="macchiato_blue" bold="true"/>
|
||||
<style name="def:net-address" italic="true" underline="single"/>
|
||||
</style-scheme>
|
|
@ -0,0 +1,4 @@
|
|||
[ColorScheme]
|
||||
active_colors=#ffcad3f5, #ff1e2030, #ffa5adcb, #ff939ab7, #ff494d64, #ff6e738d, #ffcad3f5, #ffcad3f5, #ffcad3f5, #ff24273a, #ff1e2030, #ff8087a2, #ff8aadf4, #ff24273a, #ff8aadf4, #ffed8796, #ff24273a, #ffcad3f5, #ff181926, #ffcad3f5, #808087a2
|
||||
disabled_colors=#ffa5adcb, #ff1e2030, #ffa5adcb, #ff939ab7, #ff494d64, #ff6e738d, #ffa5adcb, #ffa5adcb, #ffa5adcb, #ff24273a, #ff1e2030, #ff8087a2, #ff8aadf4, #ff494d64, #ff8aadf4, #ffed8796, #ff24273a, #ffcad3f5, #ff181926, #ffcad3f5, #808087a2
|
||||
inactive_colors=#ffcdd6f4, #ff1e2030, #ffa5adcb, #ff939ab7, #ff494d64, #ff6e738d, #ffcad3f5, #ffcad3f5, #ffcad3f5, #ff24273a, #ff1e2030, #ff8087a2, #ff8aadf4, #ffa5adcb, #ff8aadf4, #ffed8796, #ff24273a, #ffcad3f5, #ff181926, #ffcad3f5, #808087a2
|
32
common/etc/skel/.config/qt5ct/qt5ct.conf
Normal file
|
@ -0,0 +1,32 @@
|
|||
[Appearance]
|
||||
color_scheme_path=$HOME/.config/qt5ct/colors/Catppuccin-Macchiato.conf
|
||||
custom_palette=true
|
||||
icon_theme=Papirus-Dark
|
||||
standard_dialogs=default
|
||||
style=kvantum-dark
|
||||
|
||||
[Fonts]
|
||||
fixed=@Variant(\0\0\0@\0\0\0\x12\0N\0o\0t\0o\0 \0S\0\x61\0n\0s@&\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
|
||||
general=@Variant(\0\0\0@\0\0\0\x12\0N\0o\0t\0o\0 \0S\0\x61\0n\0s@&\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
|
||||
|
||||
[Interface]
|
||||
activate_item_on_single_click=1
|
||||
buttonbox_layout=0
|
||||
cursor_flash_time=1000
|
||||
dialog_buttons_have_icons=1
|
||||
double_click_interval=400
|
||||
gui_effects=@Invalid()
|
||||
keyboard_scheme=2
|
||||
menus_have_icons=true
|
||||
show_shortcuts_in_context_menus=true
|
||||
stylesheets=@Invalid()
|
||||
toolbutton_style=4
|
||||
underline_shortcut=1
|
||||
wheel_scroll_lines=3
|
||||
|
||||
[SettingsWindow]
|
||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2q\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2q\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2q)
|
||||
|
||||
[Troubleshooting]
|
||||
force_raster_widgets=1
|
||||
ignored_applications=@Invalid()
|
|
@ -0,0 +1,4 @@
|
|||
[ColorScheme]
|
||||
active_colors=#ffcad3f5, #ff1e2030, #ffa5adcb, #ff939ab7, #ff494d64, #ff6e738d, #ffcad3f5, #ffcad3f5, #ffcad3f5, #ff24273a, #ff1e2030, #ff8087a2, #ff8aadf4, #ff24273a, #ff8aadf4, #ffed8796, #ff24273a, #ffcad3f5, #ff181926, #ffcad3f5, #808087a2
|
||||
disabled_colors=#ffa5adcb, #ff1e2030, #ffa5adcb, #ff939ab7, #ff494d64, #ff6e738d, #ffa5adcb, #ffa5adcb, #ffa5adcb, #ff24273a, #ff1e2030, #ff8087a2, #ff8aadf4, #ff494d64, #ff8aadf4, #ffed8796, #ff24273a, #ffcad3f5, #ff181926, #ffcad3f5, #808087a2
|
||||
inactive_colors=#ffcdd6f4, #ff1e2030, #ffa5adcb, #ff939ab7, #ff494d64, #ff6e738d, #ffcad3f5, #ffcad3f5, #ffcad3f5, #ff24273a, #ff1e2030, #ff8087a2, #ff8aadf4, #ffa5adcb, #ff8aadf4, #ffed8796, #ff24273a, #ffcad3f5, #ff181926, #ffcad3f5, #808087a2
|
32
common/etc/skel/.config/qt6ct/qt6ct.conf
Normal file
|
@ -0,0 +1,32 @@
|
|||
[Appearance]
|
||||
color_scheme_path=$HOME/.config/qt6ct/colors/Catppuccin-Macchiato.conf
|
||||
custom_palette=true
|
||||
icon_theme=Papirus-Dark
|
||||
standard_dialogs=default
|
||||
style=kvantum-dark
|
||||
|
||||
[Fonts]
|
||||
fixed="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"
|
||||
general="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"
|
||||
|
||||
[Interface]
|
||||
activate_item_on_single_click=1
|
||||
buttonbox_layout=0
|
||||
cursor_flash_time=1000
|
||||
dialog_buttons_have_icons=1
|
||||
double_click_interval=400
|
||||
gui_effects=@Invalid()
|
||||
keyboard_scheme=2
|
||||
menus_have_icons=true
|
||||
show_shortcuts_in_context_menus=true
|
||||
stylesheets=@Invalid()
|
||||
toolbutton_style=4
|
||||
underline_shortcut=1
|
||||
wheel_scroll_lines=3
|
||||
|
||||
[SettingsWindow]
|
||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2\x61\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2\x61\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2\x61)
|
||||
|
||||
[Troubleshooting]
|
||||
force_raster_widgets=1
|
||||
ignored_applications=@Invalid()
|
16
common/etc/skel/.config/rofi/config.rasi
Normal file
|
@ -0,0 +1,16 @@
|
|||
configuration {
|
||||
show-icons: true;
|
||||
}
|
||||
|
||||
* {
|
||||
lightbg: #24273a;
|
||||
background: #24273a;
|
||||
lightfg: #8aadf4;
|
||||
foreground: #cad3f5;
|
||||
border-color: #8aadf4;
|
||||
font: "Hack 12";
|
||||
}
|
||||
|
||||
window {
|
||||
border: 2;
|
||||
}
|
4
common/etc/skel/.config/swappy/config
Normal file
|
@ -0,0 +1,4 @@
|
|||
[Default]
|
||||
save_dir=${XDG_PICTURES_DIR:-$HOME/Pictures}
|
||||
show_panel=true
|
||||
early_exit=true
|
8
common/etc/skel/.config/swayidle/config
Normal file
|
@ -0,0 +1,8 @@
|
|||
timeout 240 'brightnessctl -s && brightnessctl set 10' resume 'brightnessctl -r'
|
||||
timeout 300 '/usr/share/tileos/scripts/lock.sh'
|
||||
timeout 600 '/usr/share/tileos/scripts/kbd-backlight.sh off && timeout 600 'wlopm --off \*' resume '/usr/share/tileos/scripts/kbd-backlight.sh on && 'wlopm --on \*'
|
||||
timeout 900 '[ "$(acpi -b | grep Discharging)" != "" ] && systemctl suspend'
|
||||
timeout 3600 '[ "$(acpi -b | grep Discharging)" = "" ] && systemctl suspend'
|
||||
before-sleep 'playerctl pause'
|
||||
before-sleep '/usr/share/tileos/scripts/lock.sh && sleep 2'
|
||||
after-resume '/usr/share/tileos/scripts/kbd-backlight.sh on && 'wlopm --on \*' && brightnessctl -r'
|
18
common/etc/skel/.config/swaylock/config
Normal file
|
@ -0,0 +1,18 @@
|
|||
indicator-caps-lock
|
||||
indicator-idle-visible
|
||||
ignore-empty-password
|
||||
show-failed-attempts
|
||||
show-keyboard-layout
|
||||
font=Noto Sans
|
||||
color=24273a
|
||||
inside-color=363a4f
|
||||
inside-ver-color=8bd5ca
|
||||
inside-clear-color=cad3f5
|
||||
inside-wrong-color=ed8796
|
||||
inside-caps-lock-color=181926
|
||||
key-hl-color=a6da95
|
||||
ring-color=c6a0f6
|
||||
ring-ver-color=7dc4e4
|
||||
ring-wrong-color=ee99a0
|
||||
ring-clear-color=8aadf4
|
||||
ring-caps-lock-color=ed6c13
|
13
common/etc/skel/.config/wofi/style.css
Normal file
|
@ -0,0 +1,13 @@
|
|||
window {
|
||||
opacity: 1.0;
|
||||
border: 2px solid @theme_selected_bg_color;
|
||||
border-radius: 0px;
|
||||
font-family: Hack;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#input {
|
||||
border: 2px solid @theme_selected_bg_color;
|
||||
border-radius: 0px;
|
||||
font-size: 14px;
|
||||
}
|
9
common/etc/skel/.config/xsettingsd/xsettingsd.conf
Normal file
|
@ -0,0 +1,9 @@
|
|||
Net/ThemeName "catppuccin-macchiato-blue-standard+default"
|
||||
Net/IconThemeName "Papirus-Dark"
|
||||
Gtk/CursorThemeName "Bibata-Modern-Classic"
|
||||
Net/EnableEventSounds 1
|
||||
EnableInputFeedbackSounds 0
|
||||
Xft/Antialias 1
|
||||
Xft/Hinting 1
|
||||
Xft/HintStyle "hintslight"
|
||||
Xft/RGBA "rgb"
|
19
common/etc/skel/.gtkrc-2.0
Normal file
|
@ -0,0 +1,19 @@
|
|||
# DO NOT EDIT! This file will be overwritten by nwg-look.
|
||||
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
|
||||
|
||||
include "/home/sunderland93/.gtkrc-2.0.mine"
|
||||
gtk-theme-name="catppuccin-macchiato-blue-standard+default"
|
||||
gtk-icon-theme-name="Papirus-Dark"
|
||||
gtk-font-name="Noto Sans 11"
|
||||
gtk-cursor-theme-name="Bibata-Modern-Classic"
|
||||
gtk-cursor-theme-size=24
|
||||
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=0
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=0
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle="hintslight"
|
||||
gtk-xft-rgba="rgb"
|
5
common/etc/skel/.icons/default/index.theme
Normal file
|
@ -0,0 +1,5 @@
|
|||
# This file is written by nwg-look. Do not edit.
|
||||
[Icon Theme]
|
||||
Name=Default
|
||||
Comment=Default Cursor Theme
|
||||
Inherits=Bibata-Modern-Classic
|
3
common/etc/xdg/xdg-desktop-portal-wlr/config
Normal file
|
@ -0,0 +1,3 @@
|
|||
[screencast]
|
||||
chooser_type=dmenu
|
||||
chooser_cmd=wlr-randr | grep -oP '^[^ ]+' | wofi -d
|
11
common/usr/share/tileos/scripts/brightness-notify.sh
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
|
||||
VALUE=$(light -G | cut -d'.' -f1)
|
||||
TEXT="Brightness: ${VALUE}%"
|
||||
|
||||
notify-send \
|
||||
--expire-time 800 \
|
||||
--hint string:x-canonical-private-synchronous:brightness \
|
||||
--hint "int:value:$VALUE" \
|
||||
--hint "int:transient:1" \
|
||||
"${TEXT}"
|
25
common/usr/share/tileos/scripts/brightness.sh
Executable file
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
current_abs=$(brightnessctl get)
|
||||
current_rel() {
|
||||
echo "$(brightnessctl get) * 100 / $(brightnessctl max)" | bc
|
||||
}
|
||||
max=$(brightnessctl max)
|
||||
factor=3
|
||||
brightness_step=$((max * factor / 100 < 1 ? 1 : max * factor / 100))
|
||||
|
||||
case $1'' in
|
||||
'') ;;
|
||||
'down')
|
||||
# if current value <= 3% and absolute value != 1, set brightness to absolute 1
|
||||
if [ "$(current_rel)" -le "$factor" ] && [ "$current_abs" -ge 0 ]; then
|
||||
brightnessctl --quiet set 1
|
||||
else
|
||||
brightnessctl --quiet set "${brightness_step}-"
|
||||
fi
|
||||
;;
|
||||
'up')
|
||||
brightnessctl --quiet set "${brightness_step}+"
|
||||
;;
|
||||
esac
|
||||
|
||||
current_rel
|
15
common/usr/share/tileos/scripts/dunst.sh
Executable file
|
@ -0,0 +1,15 @@
|
|||
#!/bin/bash
|
||||
|
||||
COUNT=$(dunstctl count waiting)
|
||||
ENABLED=
|
||||
DISABLED=
|
||||
|
||||
if [ $COUNT != 0 ]; then
|
||||
DISABLED=" $COUNT"
|
||||
fi
|
||||
|
||||
if dunstctl is-paused | grep -q "false" ; then
|
||||
echo $ENABLED
|
||||
else
|
||||
echo $DISABLED
|
||||
fi
|
6
common/usr/share/tileos/scripts/flock.sh
Executable file
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env sh
|
||||
HASH="$(echo "$@" | shasum | cut -f1 -d" " | cut -c1-7)"
|
||||
|
||||
mkdir -p "$HOME/.local/state"
|
||||
|
||||
flock --verbose -n "$HOME/.local/state/${HASH}.lock" "$@"
|
32
common/usr/share/tileos/scripts/idle-inhibitor.sh
Executable file
|
@ -0,0 +1,32 @@
|
|||
#!/bin/bash
|
||||
|
||||
check_status() {
|
||||
grep -s -l -v "closed" \
|
||||
/proc/asound/card*/pcm*/sub*/status \
|
||||
&>/dev/null
|
||||
}
|
||||
|
||||
out() {
|
||||
printf "Idle inhibition is OFF.\n"
|
||||
exit 0
|
||||
}
|
||||
|
||||
watch_status() {
|
||||
printf "Idle inhibition is ON.\n"
|
||||
while check_status; do
|
||||
sleep 10
|
||||
done
|
||||
out
|
||||
}
|
||||
|
||||
main() {
|
||||
check_status || out
|
||||
test "$1" = "-w" && watch_status
|
||||
systemd-inhibit \
|
||||
--what=idle \
|
||||
--who="${0##*/}" \
|
||||
--why="Inhibit idle due to audio is now playing" \
|
||||
--mode=block \
|
||||
"$0" -w
|
||||
}
|
||||
main "$@"
|
11
common/usr/share/tileos/scripts/kbd-backlight.sh
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/usr/bin/env sh
|
||||
set -x
|
||||
|
||||
case $1'' in
|
||||
'on')
|
||||
brightnessctl -r -d "*kbd_backlight"
|
||||
;;
|
||||
'off')
|
||||
brightnessctl -s -d "*kbd_backlight" && brightnessctl -d "*kbd_backlight" set 0
|
||||
;;
|
||||
esac
|
15
common/usr/share/tileos/scripts/lock.sh
Executable file
|
@ -0,0 +1,15 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Swaylock run's with additional features, e.g. adding screenshot to background
|
||||
SWAYLOCK_USER_SCRIPT="$HOME/.config/swaylock/lock.sh"
|
||||
SWAYLOCK_GLOB_SCRIPT="/usr/share/tileos/scripts/swaylock.sh"
|
||||
|
||||
if [ -x "$(command -v gtklock)" ]; then
|
||||
gtklock --daemonize --follow-focus --idle-hide --start-hidden
|
||||
elif [ -x "$(command -v swaylock)" ]; then
|
||||
if [[ -x "$SWAYLOCK_USER_SCRIPT" ]]; then
|
||||
"$SWAYLOCK_USER_SCRIPT"
|
||||
else
|
||||
"$SWAYLOCK_GLOB_SCRIPT"
|
||||
fi
|
||||
fi
|
14
common/usr/share/tileos/scripts/mic-mute.sh
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
MIC="${1:-'Capture'}"
|
||||
|
||||
amixer sset "$MIC" toggle
|
||||
|
||||
STATE="$(amixer sget "$MIC",0 | sed -E -e '0,/^.*\[(on|off)\].*$/d' -e 's/^.*\[(\w+)\].*$/\1/')"
|
||||
|
||||
test -n "$STATE" && notify-send \
|
||||
--app-name sway \
|
||||
--expire-time 800 \
|
||||
"Microphone is $STATE"
|
8
common/usr/share/tileos/scripts/screenshot-notify.sh
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
DIR=${XDG_PICTURES_DIR:-$HOME/Pictures}
|
||||
|
||||
while true; do
|
||||
mkdir -p "$DIR" && inotifywait -q -e create "$DIR" --format '%w%f' | xargs notify-send "Screenshot saved"
|
||||
done
|
64
common/usr/share/tileos/scripts/sunset.sh
Executable file
|
@ -0,0 +1,64 @@
|
|||
#!/bin/bash
|
||||
|
||||
#Startup function
|
||||
function start() {
|
||||
[[ -f "$HOME/.config/wlsunset/config" ]] && source "$HOME/.config/wlsunset/config"
|
||||
temp_low=${temp_low:-"4000"}
|
||||
temp_high=${temp_high:-"6500"}
|
||||
duration=${duration:-"900"}
|
||||
sunrise=${sunrise:-"07:00"}
|
||||
sunset=${sunset:-"19:00"}
|
||||
location=${location:-"on"}
|
||||
fallback_longitude=${fallback_longitude:-"8.7"}
|
||||
fallback_latitude=${fallback_latitude:-"50.1"}
|
||||
|
||||
if [ "${location}" = "on" ]; then
|
||||
if [[ -z ${longitude+x} ]] || [[ -z ${latitude+x} ]]; then
|
||||
GEO_CONTENT=$(curl -sL https://freegeoip.live/json/)
|
||||
fi
|
||||
longitude=${longitude:-$(echo "$GEO_CONTENT" | jq '.longitude // empty')}
|
||||
longitude=${longitude:-$fallback_longitude}
|
||||
latitude=${latitude:-$(echo "$GEO_CONTENT" | jq '.latitude // empty')}
|
||||
latitude=${latitude:-$fallback_latitude}
|
||||
|
||||
echo longitude: "$longitude" latitude: "$latitude"
|
||||
|
||||
wlsunset -l "$latitude" -L "$longitude" -t "$temp_low" -T "$temp_high" -d "$duration" &
|
||||
else
|
||||
wlsunset -t "$temp_low" -T "$temp_high" -d "$duration" -S "$sunrise" -s "$sunset" &
|
||||
fi
|
||||
}
|
||||
|
||||
#Accepts managing parameter
|
||||
case $1'' in
|
||||
'off')
|
||||
pkill wlsunset
|
||||
;;
|
||||
|
||||
'on')
|
||||
start
|
||||
;;
|
||||
|
||||
'toggle')
|
||||
if pkill -0 wlsunset; then
|
||||
pkill wlsunset
|
||||
else
|
||||
start
|
||||
fi
|
||||
;;
|
||||
'check')
|
||||
command -v wlsunset
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
#Returns a string for Waybar
|
||||
if pkill -0 wlsunset; then
|
||||
class="on"
|
||||
tooltip="Night Color mode: enabled"
|
||||
else
|
||||
class="off"
|
||||
tooltip="Night Color mode: disabled"
|
||||
fi
|
||||
|
||||
printf '{"alt":"%s", "tooltip":"%s"}\n' "$class" "$tooltip"
|
17
common/usr/share/tileos/scripts/swaylock.sh
Executable file
|
@ -0,0 +1,17 @@
|
|||
#!/bin/bash
|
||||
|
||||
# This script takes a screenshot of current output and adds a blur and vignette to it
|
||||
|
||||
cd /tmp
|
||||
grim screen.png
|
||||
|
||||
# Delete existing image
|
||||
rm screen-out.png
|
||||
|
||||
#Adds a blur and vignette
|
||||
ffmpeg -i screen.png -vf "gblur=sigma=10, vignette=PI/5" -c:a copy screen-out.png
|
||||
|
||||
#Uses output image with Swaylock
|
||||
swaylock \
|
||||
--image screen-out.png \
|
||||
--daemonize
|
24
common/usr/share/tileos/scripts/system-logout.sh
Executable file
|
@ -0,0 +1,24 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Check compositor by XDG_CURRENT_DESKTOP variable
|
||||
# and choose appropriate method for shutdown the session
|
||||
case "$XDG_CURRENT_DESKTOP" in
|
||||
sway)
|
||||
swaymsg exit
|
||||
;;
|
||||
river)
|
||||
riverctl exit
|
||||
;;
|
||||
miracle)
|
||||
miraclemsg exit
|
||||
;;
|
||||
mir)
|
||||
miraclemsg exit
|
||||
;;
|
||||
qtile)
|
||||
bash -c /usr/share/tileos/scripts/qtile-exit.sh
|
||||
;;
|
||||
niri)
|
||||
niri msg action quit --skip-confirmation
|
||||
;;
|
||||
esac
|
22
common/usr/share/tileos/scripts/volume-notify.sh
Executable file
|
@ -0,0 +1,22 @@
|
|||
#!/bin/sh
|
||||
|
||||
VOLUME=$(pulsemixer --get-volume)
|
||||
# get first percent value
|
||||
VOLUME=${VOLUME%%%*}
|
||||
VOLUME=${VOLUME##* }
|
||||
|
||||
TEXT="Volume: ${VOLUME}%"
|
||||
case $(pulsemixer --get-mute) in
|
||||
*1)
|
||||
TEXT="Volume: muted"
|
||||
VOLUME=0
|
||||
;;
|
||||
esac
|
||||
|
||||
notify-send \
|
||||
--app-name sway \
|
||||
--expire-time 800 \
|
||||
--hint string:x-canonical-private-synchronous:volume \
|
||||
--hint "int:value:$VOLUME" \
|
||||
--hint "int:transient:1" \
|
||||
"${TEXT}"
|
89
debian/changelog
vendored
Normal file
|
@ -0,0 +1,89 @@
|
|||
tileos-settings (2.0.5~tileos) unstable; urgency=medium
|
||||
|
||||
* Initial upload
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Wed, 11 Jun 2025 15:53:24 +0400
|
||||
|
||||
tileos-settings-qtile (2.0.0~tileos) unstable; urgency=medium
|
||||
|
||||
* Initial release for Sauropod
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Sun, 08 Jun 2025 14:35:52 +0400
|
||||
|
||||
tileos-settings-qtile (1.1.5~tileos) unstable; urgency=medium
|
||||
|
||||
* Updates from Sway edition
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Wed, 04 Sep 2024 21:49:45 +0400
|
||||
|
||||
tileos-settings-qtile (1.1.4~tileos) unstable; urgency=medium
|
||||
|
||||
* Inhibit idle by stop swayidle.service
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Tue, 23 Jul 2024 23:24:39 +0400
|
||||
|
||||
tileos-settings-qtile (1.1.3~tileos) unstable; urgency=medium
|
||||
|
||||
* Fix swayidle autorestart
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Tue, 23 Jul 2024 18:28:24 +0400
|
||||
|
||||
tileos-settings-qtile (1.1.2~tileos) unstable; urgency=medium
|
||||
|
||||
* Fix typo
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Sun, 21 Jul 2024 14:47:34 +0400
|
||||
|
||||
tileos-settings-qtile (1.1.1~tileos) unstable; urgency=medium
|
||||
|
||||
* Change cursor theme to Bibata
|
||||
* Fix idle-inhibit logic
|
||||
* Added floating_shell window rule
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Sun, 21 Jul 2024 13:21:06 +0400
|
||||
|
||||
tileos-settings-qtile (1.1.0~tileos) unstable; urgency=medium
|
||||
|
||||
* First working configuration
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Sun, 21 Jul 2024 11:31:46 +0400
|
||||
|
||||
tileos-settings-qtile (0.6~tileos) unstable; urgency=medium
|
||||
|
||||
* Add start-qtile wrapper
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Sun, 26 Nov 2023 20:47:47 +0400
|
||||
|
||||
tileos-settings-qtile (0.5~tileos) unstable; urgency=medium
|
||||
|
||||
* Small fixes
|
||||
* Added idle inhibitor
|
||||
* Added more options to clipboard manager
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Sat, 25 Nov 2023 23:23:30 +0400
|
||||
|
||||
tileos-settings-qtile (0.4~tileos) unstable; urgency=medium
|
||||
|
||||
* Add basic clipboard widget
|
||||
* Add swaylock and swayidle configs
|
||||
* Adapt nwg-bar for Qtile
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Sat, 25 Nov 2023 21:14:01 +0400
|
||||
|
||||
tileos-settings-qtile (0.3~tileos) unstable; urgency=medium
|
||||
|
||||
* Temporary disable autostart scripe
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Fri, 24 Nov 2023 23:06:21 +0400
|
||||
|
||||
tileos-settings-qtile (0.2~tileos) unstable; urgency=medium
|
||||
|
||||
* New release
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Fri, 24 Nov 2023 21:03:35 +0400
|
||||
|
||||
tileos-settings-qtile (0.1~tileos) unstable; urgency=medium
|
||||
|
||||
* Initial release
|
||||
|
||||
-- Aleksey Samoilov <samoilov.lex@gmail.com> Tue, 14 Nov 2023 15:22:30 +0400
|
63
debian/control
vendored
Normal file
|
@ -0,0 +1,63 @@
|
|||
Source: tileos-settings
|
||||
Section: x11
|
||||
Priority: optional
|
||||
Maintainer: Aleksey Samoilov <samoilov.lex@gmail.com>
|
||||
Build-Depends: debhelper-compat (= 13)
|
||||
Standards-Version: 4.7.2
|
||||
Homepage: https://git.tile-os.com/TileOS/tileos-settings
|
||||
Rules-Requires-Root: no
|
||||
|
||||
Package: tileos-settings-common
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends},
|
||||
Description: common settings for all TileOS editions
|
||||
|
||||
Package: tileos-settings-miracle
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends}, tileos-settings-common
|
||||
Conflicts:
|
||||
tileos-settings-niri,
|
||||
tileos-settings-qtile,
|
||||
tileos-settings-river,
|
||||
tileos-settings-sway
|
||||
Description: default settings for Miracle-WM on TileOS
|
||||
|
||||
Package: tileos-settings-niri
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, python3-tenacity, python3-dbus-next, tileos-settings-common
|
||||
Conflicts:
|
||||
tileos-settings-sway,
|
||||
tileos-settings-river,
|
||||
tileos-settings-miracle,
|
||||
tileos-settings-qtile
|
||||
Description: default settings for Niri on TileOS
|
||||
|
||||
Package: tileos-settings-qtile
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends}, python3-tenacity, python3-dbus-next, tileos-settings-common
|
||||
Conflicts:
|
||||
tileos-settings-miracle,
|
||||
tileos-settings-niri,
|
||||
tileos-settings-river,
|
||||
tileos-settings-sway
|
||||
Description: default settings for Qtile on TileOS
|
||||
|
||||
Package: tileos-settings-river
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, python3-tenacity, python3-dbus-next, tileos-settings-common
|
||||
Conflicts:
|
||||
tileos-settings-miracle,
|
||||
tileos-settings-niri,
|
||||
tileos-settings-qtile,
|
||||
tileos-settings-sway
|
||||
Description: default settings for River on TileOS
|
||||
|
||||
Package: tileos-settings-sway
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends}, sway-systemd, tileos-settings-common
|
||||
Conflicts:
|
||||
tileos-settings-miracle,
|
||||
tileos-settings-niri,
|
||||
tileos-settings-qtile,
|
||||
tileos-settings-river
|
||||
Description: default settings for Sway on TileOS
|
39
debian/copyright
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: tileos-settings-sway
|
||||
Upstream-Contact: <preferred name and address to reach the upstream project>
|
||||
Source: <url://example.com>
|
||||
|
||||
Files: *
|
||||
Copyright: <years> <put author's name and email here>
|
||||
<years> <likewise for another author>
|
||||
License: GPL-3.0+
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2023 Aleksey Samoilov <samoilov.lex@gmail.com>
|
||||
License: GPL-3.0+
|
||||
|
||||
License: GPL-3.0+
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
.
|
||||
This package is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
.
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
|
||||
|
||||
# Please also look if there are files or directories which have a
|
||||
# different copyright/license attached and list them here.
|
||||
# Please avoid picking licenses with terms that are more restrictive than the
|
||||
# packaged work, as it may make Debian's contributions unacceptable upstream.
|
||||
#
|
||||
# If you need, there are some extra license texts available in two places:
|
||||
# /usr/share/debhelper/dh_make/licenses/
|
||||
# /usr/share/common-licenses/
|
4
debian/rules
vendored
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/make -f
|
||||
|
||||
%:
|
||||
dh $@
|
1
debian/source/format
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
3.0 (native)
|
2
debian/tileos-settings-common.install
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
common/etc/* etc/
|
||||
common/usr/* usr/
|
2
debian/tileos-settings-miracle.install
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
miracle-wm/etc/* etc/
|
||||
miracle-wm/usr/* usr/
|
1
debian/tileos-settings-niri.install
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
niri/etc/* etc/
|
2
debian/tileos-settings-qtile.install
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
qtile/etc/* etc/
|
||||
qtile/usr/* usr/
|
2
debian/tileos-settings-river.install
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
river/etc/* etc/
|
||||
river/usr/* usr/
|
2
debian/tileos-settings-sway.install
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
sway/etc/* etc/
|
||||
sway/usr/* usr/
|
72
miracle-wm/etc/skel/.config/miracle-wm.yaml
Normal file
|
@ -0,0 +1,72 @@
|
|||
terminal: alacritty
|
||||
|
||||
# Start waybar and Azote on startup
|
||||
startup_apps:
|
||||
- command: bash ~/.azotebg
|
||||
restart_on_death: true
|
||||
- command: wl-paste --watch cliphist store &
|
||||
|
||||
environment_variables:
|
||||
- key: XDG_SESSION_TYPE
|
||||
value: wayland
|
||||
- key: XDG_CURRENT_DESKTOP
|
||||
value: mir
|
||||
- key: QT_QPA_PLATFORM
|
||||
value: wayland
|
||||
- key: QT_QPA_PLATFORMTHEME
|
||||
value: qt6ct
|
||||
- key: XCURSOR_SIZE
|
||||
value: 24
|
||||
- key: ECORE_EVAS_ENGINE
|
||||
value: wayland-egl
|
||||
- key: ELM_ACCEL
|
||||
value: gl
|
||||
- key: _JAVA_AWT_WM_NONREPARENTING
|
||||
value: 1
|
||||
|
||||
border:
|
||||
size: 2
|
||||
color: a5adcb
|
||||
focus_color: 8aadf4
|
||||
|
||||
enable_animations: true
|
||||
|
||||
animations:
|
||||
- event: window_open
|
||||
type: grow
|
||||
function: ease_in_out_back
|
||||
duration: 0.25
|
||||
- event: window_move
|
||||
type: slide
|
||||
function: ease_in_out_back
|
||||
duration: 0.25
|
||||
- event: window_close
|
||||
type: shrink
|
||||
function: ease_out_back
|
||||
duration: 0.25
|
||||
- event: workspace_switch
|
||||
type: slide
|
||||
function: ease_out_sine
|
||||
duration: 0.175
|
||||
|
||||
workspaces:
|
||||
- number: 0
|
||||
layout: tiled
|
||||
- number: 1
|
||||
layout: tiled
|
||||
- number: 2
|
||||
layout: tiled
|
||||
- number: 3
|
||||
layout: tiled
|
||||
- number: 4
|
||||
layout: tiled
|
||||
- number: 5
|
||||
layout: tiled
|
||||
- number: 6
|
||||
layout: tiled
|
||||
- number: 7
|
||||
layout: tiled
|
||||
- number: 8
|
||||
layout: tiled
|
||||
- number: 9
|
||||
layout: tiled
|
37
miracle-wm/etc/skel/.config/waybar/colors/frappe.css
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
*
|
||||
* Catppuccin Frappe palette
|
||||
* Maintainer: rubyowo
|
||||
*
|
||||
*/
|
||||
|
||||
@define-color base #303446;
|
||||
@define-color mantle #292c3c;
|
||||
@define-color crust #232634;
|
||||
|
||||
@define-color text #c6d0f5;
|
||||
@define-color subtext0 #a5adce;
|
||||
@define-color subtext1 #b5bfe2;
|
||||
|
||||
@define-color surface0 #414559;
|
||||
@define-color surface1 #51576d;
|
||||
@define-color surface2 #626880;
|
||||
|
||||
@define-color overlay0 #737994;
|
||||
@define-color overlay1 #838ba7;
|
||||
@define-color overlay2 #949cbb;
|
||||
|
||||
@define-color blue #8caaee;
|
||||
@define-color lavender #babbf1;
|
||||
@define-color sapphire #85c1dc;
|
||||
@define-color sky #99d1db;
|
||||
@define-color teal #81c8be;
|
||||
@define-color green #a6d189;
|
||||
@define-color yellow #e5c890;
|
||||
@define-color peach #ef9f76;
|
||||
@define-color maroon #ea999c;
|
||||
@define-color red #e78284;
|
||||
@define-color mauve #ca9ee6;
|
||||
@define-color pink #f4b8e4;
|
||||
@define-color flamingo #eebebe;
|
||||
@define-color rosewater #f2d5cf;
|
37
miracle-wm/etc/skel/.config/waybar/colors/latte.css
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
*
|
||||
* Catppuccin Latte palette
|
||||
* Maintainer: rubyowo
|
||||
*
|
||||
*/
|
||||
|
||||
@define-color base #eff1f5;
|
||||
@define-color mantle #e6e9ef;
|
||||
@define-color crust #dce0e8;
|
||||
|
||||
@define-color text #4c4f69;
|
||||
@define-color subtext0 #6c6f85;
|
||||
@define-color subtext1 #5c5f77;
|
||||
|
||||
@define-color surface0 #ccd0da;
|
||||
@define-color surface1 #bcc0cc;
|
||||
@define-color surface2 #acb0be;
|
||||
|
||||
@define-color overlay0 #9ca0b0;
|
||||
@define-color overlay1 #8c8fa1;
|
||||
@define-color overlay2 #7c7f93;
|
||||
|
||||
@define-color blue #1e66f5;
|
||||
@define-color lavender #7287fd;
|
||||
@define-color sapphire #209fb5;
|
||||
@define-color sky #04a5e5;
|
||||
@define-color teal #179299;
|
||||
@define-color green #40a02b;
|
||||
@define-color yellow #df8e1d;
|
||||
@define-color peach #fe640b;
|
||||
@define-color maroon #e64553;
|
||||
@define-color red #d20f39;
|
||||
@define-color mauve #8839ef;
|
||||
@define-color pink #ea76cb;
|
||||
@define-color flamingo #dd7878;
|
||||
@define-color rosewater #dc8a78;
|
37
miracle-wm/etc/skel/.config/waybar/colors/macchiato.css
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
*
|
||||
* Catppuccin Macchiato palette
|
||||
* Maintainer: rubyowo
|
||||
*
|
||||
*/
|
||||
|
||||
@define-color base #24273a;
|
||||
@define-color mantle #1e2030;
|
||||
@define-color crust #181926;
|
||||
|
||||
@define-color text #cad3f5;
|
||||
@define-color subtext0 #a5adcb;
|
||||
@define-color subtext1 #b8c0e0;
|
||||
|
||||
@define-color surface0 #363a4f;
|
||||
@define-color surface1 #494d64;
|
||||
@define-color surface2 #5b6078;
|
||||
|
||||
@define-color overlay0 #6e738d;
|
||||
@define-color overlay1 #8087a2;
|
||||
@define-color overlay2 #939ab7;
|
||||
|
||||
@define-color blue #8aadf4;
|
||||
@define-color lavender #b7bdf8;
|
||||
@define-color sapphire #7dc4e4;
|
||||
@define-color sky #91d7e3;
|
||||
@define-color teal #8bd5ca;
|
||||
@define-color green #a6da95;
|
||||
@define-color yellow #eed49f;
|
||||
@define-color peach #f5a97f;
|
||||
@define-color maroon #ee99a0;
|
||||
@define-color red #ed8796;
|
||||
@define-color mauve #c6a0f6;
|
||||
@define-color pink #f5bde6;
|
||||
@define-color flamingo #f0c6c6;
|
||||
@define-color rosewater #f4dbd6;
|
37
miracle-wm/etc/skel/.config/waybar/colors/mocha.css
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
*
|
||||
* Catppuccin Mocha palette
|
||||
* Maintainer: rubyowo
|
||||
*
|
||||
*/
|
||||
|
||||
@define-color base #1e1e2e;
|
||||
@define-color mantle #181825;
|
||||
@define-color crust #11111b;
|
||||
|
||||
@define-color text #cdd6f4;
|
||||
@define-color subtext0 #a6adc8;
|
||||
@define-color subtext1 #bac2de;
|
||||
|
||||
@define-color surface0 #313244;
|
||||
@define-color surface1 #45475a;
|
||||
@define-color surface2 #585b70;
|
||||
|
||||
@define-color overlay0 #6c7086;
|
||||
@define-color overlay1 #7f849c;
|
||||
@define-color overlay2 #9399b2;
|
||||
|
||||
@define-color blue #89b4fa;
|
||||
@define-color lavender #b4befe;
|
||||
@define-color sapphire #74c7ec;
|
||||
@define-color sky #89dceb;
|
||||
@define-color teal #94e2d5;
|
||||
@define-color green #a6e3a1;
|
||||
@define-color yellow #f9e2af;
|
||||
@define-color peach #fab387;
|
||||
@define-color maroon #eba0ac;
|
||||
@define-color red #f38ba8;
|
||||
@define-color mauve #cba6f7;
|
||||
@define-color pink #f5c2e7;
|
||||
@define-color flamingo #f2cdcd;
|
||||
@define-color rosewater #f5e0dc;
|
192
miracle-wm/etc/skel/.config/waybar/config.jsonc
Normal file
|
@ -0,0 +1,192 @@
|
|||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 30,
|
||||
"modules-left": ["custom/menu", "sway/workspaces", "sway/window"],
|
||||
"modules-center": ["custom/wf-recorder", "sway/mode"],
|
||||
"modules-right": [
|
||||
"tray",
|
||||
"custom/playerctl",
|
||||
"idle_inhibitor",
|
||||
"custom/dunst",
|
||||
"sway/language",
|
||||
"custom/clipboard",
|
||||
"cpu",
|
||||
"memory",
|
||||
"battery",
|
||||
"network",
|
||||
"bluetooth",
|
||||
"pulseaudio",
|
||||
"clock",
|
||||
"custom/power"
|
||||
],
|
||||
|
||||
"custom/menu": {
|
||||
"format": "",
|
||||
"on-click": "exec nwg-drawer",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"sway/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"all-outputs": true
|
||||
},
|
||||
|
||||
"sway/window": {
|
||||
"format": "{}",
|
||||
"max-length": 50,
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"custom/wf-recorder": {
|
||||
"interval": "once",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"tooltip-format": "{tooltip}",
|
||||
"exec": "echo '{\"class\": \"recording\",\"text\":\"\",\"tooltip\":\"press $mod+Esc to stop recording\"}'",
|
||||
"exec-if": "pgrep wf-recorder",
|
||||
"on-click": "killall -s SIGINT wf-recorder",
|
||||
"signal": 8
|
||||
},
|
||||
|
||||
"sway/mode": {
|
||||
"format": "<span style=\"italic\">{}</span>",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/playerctl": {
|
||||
"interval": "once",
|
||||
"tooltip": true,
|
||||
"return-type": "json",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"Playing": "",
|
||||
"Paused": ""
|
||||
},
|
||||
"exec": "playerctl metadata --format '{\"alt\": \"{{status}}\", \"tooltip\": \"{{playerName}}: {{markup_escape(title)}} - {{markup_escape(artist)}}\" }'",
|
||||
"on-click": "playerctl play-pause; pkill -RTMIN+5 waybar",
|
||||
"on-click-right": "playerctl next; pkill -RTMIN+5 waybar",
|
||||
"on-scroll-up": "playerctl position 10+; pkill -RTMIN+5 waybar",
|
||||
"on-scroll-down": "playerctl position 10-; pkill -RTMIN+5 waybar",
|
||||
"signal": 5
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
},
|
||||
"start-activated": true,
|
||||
"tooltip": true,
|
||||
"tooltip-format-activated": "power-saving disabled",
|
||||
"tooltip-format-deactivated": "power-saving enabled"
|
||||
},
|
||||
|
||||
"custom/dunst": {
|
||||
"exec": "/usr/share/miracle-wm/scripts/dunst.sh",
|
||||
"on-click": "dunstctl set-paused toggle",
|
||||
"restart-interval": 1,
|
||||
},
|
||||
|
||||
"sway/language": {
|
||||
"format": " {}",
|
||||
"min-length": 5,
|
||||
"tooltip": false,
|
||||
"on-click": "swaymsg input $(swaymsg -t get_inputs --raw | jq '[.[] | select(.type == \"keyboard\")][0] | .identifier') xkb_switch_layout next"
|
||||
},
|
||||
|
||||
"custom/clipboard": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"return-type": "json",
|
||||
"on-click": "nwg-clipman; pkill -RTMIN+9 waybar",
|
||||
"on-click-middle": "rm -f ~/.cache/cliphist/db; pkill -RTMIN+9 waybar",
|
||||
"exec": "printf '{\"tooltip\":\"%s\"}' $(cliphist list | wc -l)' item(s) in the clipboard\r(Mid click to clear)'",
|
||||
"exec-if": "[ -x \"$(command -v cliphist)\" ] && [ $(cliphist list | wc -l) -gt 0 ]",
|
||||
"signal": 9
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": " {usage}%",
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
},
|
||||
"on-click": "alacritty --class floating_shell -e btop"
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 30,
|
||||
"format": " {}%",
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
},
|
||||
"on-click": "alacritty --class floating_shell -e btop"
|
||||
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
|
||||
"network": {
|
||||
"format-wifi": " ({signalStrength}%)",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format": "{ifname} ({essid}): {ipaddr}",
|
||||
"tooltip-format": "{icon} {ifname}: {ipaddr}",
|
||||
"tooltip-format-ethernet": "{icon} {ifname}: {ipaddr}",
|
||||
"tooltip-format-wifi": "{icon} {ifname} ({essid}): {ipaddr}",
|
||||
"tooltip-format-disconnected": "{icon} disconnected",
|
||||
"tooltip-format-disabled": "{icon} disabled",
|
||||
"on-click": "alacritty --class floating_shell -e nmtui connect"
|
||||
},
|
||||
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-disabled": "",
|
||||
"format-no-controller": "",
|
||||
"on-click": "alacritty --class floating_shell -e bluetuith",
|
||||
"on-click-right": "rfkill toggle bluetooth",
|
||||
"tooltip-format": "{}"
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}% {format_source}",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-muted": " {format_source}",
|
||||
"format-source": " {volume}%",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"headset": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"tooltip-format": "{icon} {volume}% {format_source}",
|
||||
"on-click": "alacritty --class floating_shell -e pulsemixer",
|
||||
"on-click-middle": "pulsemixer --toggle-mute && /usr/share/miracle-wm/scripts/volume-notify.sh",
|
||||
"on-click-right": "pavucontrol"
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"format": "{:%e %b %H:%M}",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{:%d.%m.%Y %H:%M}",
|
||||
"interval": 5,
|
||||
"on-click": "alacritty --class floating_shell -e calcurse"
|
||||
},
|
||||
|
||||
"custom/power": {
|
||||
"format": "",
|
||||
"on-click": "nwg-bar -x"
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 21,
|
||||
"spacing": 10
|
||||
}
|
||||
}
|
206
miracle-wm/etc/skel/.config/waybar/style.css
Normal file
|
@ -0,0 +1,206 @@
|
|||
@import "colors/macchiato.css";
|
||||
|
||||
@keyframes blink-warning {
|
||||
70% {
|
||||
color: @wm_icon_bg;
|
||||
}
|
||||
|
||||
to {
|
||||
color: @wm_icon_bg;
|
||||
background-color: @yellow;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes blink-critical {
|
||||
70% {
|
||||
color: @wm_icon_bg;
|
||||
}
|
||||
|
||||
to {
|
||||
color: @wm_icon_bg;
|
||||
background-color: @red;
|
||||
}
|
||||
}
|
||||
|
||||
/* Reset all styles */
|
||||
* {
|
||||
border: 0px;
|
||||
border-radius: 0px;
|
||||
color: @text;
|
||||
padding: 0 0;
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
font-family: "Noto Sans", "Font Awesome 6 Free", "Font Awesome";
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#window {
|
||||
margin-left: 10px;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: @base;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
border-bottom: 2px;
|
||||
border-color: @base;
|
||||
border-style: solid;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: @sapphire;
|
||||
border-color: @sapphire;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
border-color: @red;
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#mode {
|
||||
color: @yellow;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#custon-help,
|
||||
#custom-playerctl,
|
||||
#custom-power,
|
||||
#custom-wlsunset,
|
||||
#custom-clipboard,
|
||||
#custom-menu,
|
||||
#custom-dunst,
|
||||
#battery,
|
||||
#cpu,
|
||||
#language,
|
||||
#memory,
|
||||
#network,
|
||||
#bluetooth,
|
||||
#pulseaudio,
|
||||
#tray,
|
||||
#mode,
|
||||
#idle_inhibitor {
|
||||
padding: 0 6px;
|
||||
border-bottom: 2px;
|
||||
border-style: solid;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
#custom-menu {
|
||||
color: @green;
|
||||
}
|
||||
|
||||
#custom-wf-recorder {
|
||||
color: @error_color;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#tray {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
color: @rosewater;
|
||||
}
|
||||
|
||||
#custom-playerctl {
|
||||
color: @pink;
|
||||
}
|
||||
|
||||
#custom-help {
|
||||
color: @rosewater;
|
||||
}
|
||||
|
||||
#custom-wlsunset {
|
||||
color: @mauve;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#custom-dunst {
|
||||
color: @maroon;
|
||||
}
|
||||
|
||||
#language {
|
||||
color: @peach;
|
||||
}
|
||||
|
||||
#custom-clipboard {
|
||||
color: @yellow;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
color: @green;
|
||||
}
|
||||
|
||||
#memory {
|
||||
color: @teal;
|
||||
}
|
||||
|
||||
#battery {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
color: @sky;
|
||||
}
|
||||
|
||||
#battery.warning {
|
||||
color: @yellow;
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#battery.warning.discharging {
|
||||
animation-name: blink-warning;
|
||||
animation-duration: 3s;
|
||||
}
|
||||
|
||||
#battery.critical.discharging {
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 2s;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#network {
|
||||
color: @sapphire;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
color: @wm_icon_bg
|
||||
}
|
||||
|
||||
#bluetooth {
|
||||
color: @blue;
|
||||
}
|
||||
|
||||
#bluetooth.disabled {
|
||||
color: @wm_icon_bg;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: @lavender;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
color: @wm_icon_bg;
|
||||
}
|
||||
|
||||
#clock {
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
color: @subtext1;
|
||||
}
|
4
miracle-wm/usr/share/xdg-desktop-portal/mir-portals.conf
Normal file
|
@ -0,0 +1,4 @@
|
|||
[preferred]
|
||||
default=gtk
|
||||
org.freedesktop.impl.portal.Screenshot=wlr
|
||||
org.freedesktop.impl.portal.ScreenCast=wlr
|
584
niri/etc/skel/.config/niri/config.kdl
Normal file
|
@ -0,0 +1,584 @@
|
|||
// This config is in the KDL format: https://kdl.dev
|
||||
// "/-" comments out the following node.
|
||||
// Check the wiki for a full description of the configuration:
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Introduction
|
||||
|
||||
// Input device configuration.
|
||||
// Find the full list of options on the wiki:
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Input
|
||||
input {
|
||||
keyboard {
|
||||
xkb {
|
||||
// You can set rules, model, layout, variant and options.
|
||||
// For more information, see xkeyboard-config(7).
|
||||
|
||||
// For example:
|
||||
// layout "us,ru"
|
||||
// options "grp:win_space_toggle,compose:ralt,ctrl:nocaps"
|
||||
}
|
||||
|
||||
// Enable numlock on startup, omitting this setting disables it.
|
||||
numlock
|
||||
}
|
||||
|
||||
// Next sections include libinput settings.
|
||||
// Omitting settings disables them, or leaves them at their default values.
|
||||
touchpad {
|
||||
// off
|
||||
tap
|
||||
// dwt
|
||||
// dwtp
|
||||
// drag false
|
||||
// drag-lock
|
||||
natural-scroll
|
||||
// accel-speed 0.2
|
||||
// accel-profile "flat"
|
||||
// scroll-method "two-finger"
|
||||
// disabled-on-external-mouse
|
||||
}
|
||||
|
||||
mouse {
|
||||
// off
|
||||
// natural-scroll
|
||||
// accel-speed 0.2
|
||||
// accel-profile "flat"
|
||||
// scroll-method "no-scroll"
|
||||
}
|
||||
|
||||
trackpoint {
|
||||
// off
|
||||
// natural-scroll
|
||||
// accel-speed 0.2
|
||||
// accel-profile "flat"
|
||||
// scroll-method "on-button-down"
|
||||
// scroll-button 273
|
||||
// middle-emulation
|
||||
}
|
||||
|
||||
// Uncomment this to make the mouse warp to the center of newly focused windows.
|
||||
// warp-mouse-to-focus
|
||||
|
||||
// Focus windows and outputs automatically when moving the mouse into them.
|
||||
// Setting max-scroll-amount="0%" makes it work only on windows already fully on screen.
|
||||
// focus-follows-mouse max-scroll-amount="0%"
|
||||
}
|
||||
|
||||
// You can configure outputs by their name, which you can find
|
||||
// by running `niri msg outputs` while inside a niri instance.
|
||||
// The built-in laptop monitor is usually called "eDP-1".
|
||||
// Find more information on the wiki:
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs
|
||||
// Remember to uncomment the node by removing "/-"!
|
||||
/-output "eDP-1" {
|
||||
// Uncomment this line to disable this output.
|
||||
// off
|
||||
|
||||
// Resolution and, optionally, refresh rate of the output.
|
||||
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
|
||||
// If the refresh rate is omitted, niri will pick the highest refresh rate
|
||||
// for the resolution.
|
||||
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
|
||||
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
|
||||
mode "1920x1080@120.030"
|
||||
|
||||
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
|
||||
scale 2
|
||||
|
||||
// Transform allows to rotate the output counter-clockwise, valid values are:
|
||||
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
|
||||
transform "normal"
|
||||
|
||||
// Position of the output in the global coordinate space.
|
||||
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
|
||||
// The cursor can only move between directly adjacent outputs.
|
||||
// Output scale and rotation has to be taken into account for positioning:
|
||||
// outputs are sized in logical, or scaled, pixels.
|
||||
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
|
||||
// so to put another output directly adjacent to it on the right, set its x to 1920.
|
||||
// If the position is unset or results in an overlap, the output is instead placed
|
||||
// automatically.
|
||||
position x=1280 y=0
|
||||
}
|
||||
|
||||
// Settings that influence how windows are positioned and sized.
|
||||
// Find more information on the wiki:
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Layout
|
||||
layout {
|
||||
// Set gaps around windows in logical pixels.
|
||||
gaps 16
|
||||
|
||||
// When to center a column when changing focus, options are:
|
||||
// - "never", default behavior, focusing an off-screen column will keep at the left
|
||||
// or right edge of the screen.
|
||||
// - "always", the focused column will always be centered.
|
||||
// - "on-overflow", focusing a column will center it if it doesn't fit
|
||||
// together with the previously focused column.
|
||||
center-focused-column "never"
|
||||
|
||||
// You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between.
|
||||
preset-column-widths {
|
||||
// Proportion sets the width as a fraction of the output width, taking gaps into account.
|
||||
// For example, you can perfectly fit four windows sized "proportion 0.25" on an output.
|
||||
// The default preset widths are 1/3, 1/2 and 2/3 of the output.
|
||||
proportion 0.33333
|
||||
proportion 0.5
|
||||
proportion 0.66667
|
||||
|
||||
// Fixed sets the width in logical pixels exactly.
|
||||
// fixed 1920
|
||||
}
|
||||
|
||||
// You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
|
||||
// preset-window-heights { }
|
||||
|
||||
// You can change the default width of the new windows.
|
||||
default-column-width { proportion 0.5; }
|
||||
// If you leave the brackets empty, the windows themselves will decide their initial width.
|
||||
// default-column-width {}
|
||||
|
||||
// By default focus ring and border are rendered as a solid background rectangle
|
||||
// behind windows. That is, they will show up through semitransparent windows.
|
||||
// This is because windows using client-side decorations can have an arbitrary shape.
|
||||
//
|
||||
// If you don't like that, you should uncomment `prefer-no-csd` below.
|
||||
// Niri will draw focus ring and border *around* windows that agree to omit their
|
||||
// client-side decorations.
|
||||
//
|
||||
// Alternatively, you can override it with a window rule called
|
||||
// `draw-border-with-background`.
|
||||
|
||||
// You can change how the focus ring looks.
|
||||
focus-ring {
|
||||
// Uncomment this line to disable the focus ring.
|
||||
// off
|
||||
|
||||
// How many logical pixels the ring extends out from the windows.
|
||||
width 4
|
||||
|
||||
// Colors can be set in a variety of ways:
|
||||
// - CSS named colors: "red"
|
||||
// - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa"
|
||||
// - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
|
||||
|
||||
// Color of the ring on the active monitor.
|
||||
active-color "#7fc8ff"
|
||||
|
||||
// Color of the ring on inactive monitors.
|
||||
inactive-color "#505050"
|
||||
|
||||
// You can also use gradients. They take precedence over solid colors.
|
||||
// Gradients are rendered the same as CSS linear-gradient(angle, from, to).
|
||||
// The angle is the same as in linear-gradient, and is optional,
|
||||
// defaulting to 180 (top-to-bottom gradient).
|
||||
// You can use any CSS linear-gradient tool on the web to set these up.
|
||||
// Changing the color space is also supported, check the wiki for more info.
|
||||
//
|
||||
// active-gradient from="#80c8ff" to="#bbddff" angle=45
|
||||
|
||||
// You can also color the gradient relative to the entire view
|
||||
// of the workspace, rather than relative to just the window itself.
|
||||
// To do that, set relative-to="workspace-view".
|
||||
//
|
||||
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
||||
}
|
||||
|
||||
// You can also add a border. It's similar to the focus ring, but always visible.
|
||||
border {
|
||||
// The settings are the same as for the focus ring.
|
||||
// If you enable the border, you probably want to disable the focus ring.
|
||||
off
|
||||
|
||||
width 4
|
||||
active-color "#ffc87f"
|
||||
inactive-color "#505050"
|
||||
|
||||
// Color of the border around windows that request your attention.
|
||||
urgent-color "#9b0000"
|
||||
|
||||
// active-gradient from="#ffbb66" to="#ffc880" angle=45 relative-to="workspace-view"
|
||||
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
||||
}
|
||||
|
||||
// You can enable drop shadows for windows.
|
||||
shadow {
|
||||
// Uncomment the next line to enable shadows.
|
||||
// on
|
||||
|
||||
// By default, the shadow draws only around its window, and not behind it.
|
||||
// Uncomment this setting to make the shadow draw behind its window.
|
||||
//
|
||||
// Note that niri has no way of knowing about the CSD window corner
|
||||
// radius. It has to assume that windows have square corners, leading to
|
||||
// shadow artifacts inside the CSD rounded corners. This setting fixes
|
||||
// those artifacts.
|
||||
//
|
||||
// However, instead you may want to set prefer-no-csd and/or
|
||||
// geometry-corner-radius. Then, niri will know the corner radius and
|
||||
// draw the shadow correctly, without having to draw it behind the
|
||||
// window. These will also remove client-side shadows if the window
|
||||
// draws any.
|
||||
//
|
||||
// draw-behind-window true
|
||||
|
||||
// You can change how shadows look. The values below are in logical
|
||||
// pixels and match the CSS box-shadow properties.
|
||||
|
||||
// Softness controls the shadow blur radius.
|
||||
softness 30
|
||||
|
||||
// Spread expands the shadow.
|
||||
spread 5
|
||||
|
||||
// Offset moves the shadow relative to the window.
|
||||
offset x=0 y=5
|
||||
|
||||
// You can also change the shadow color and opacity.
|
||||
color "#0007"
|
||||
}
|
||||
|
||||
// Struts shrink the area occupied by windows, similarly to layer-shell panels.
|
||||
// You can think of them as a kind of outer gaps. They are set in logical pixels.
|
||||
// Left and right struts will cause the next window to the side to always be visible.
|
||||
// Top and bottom struts will simply add outer gaps in addition to the area occupied by
|
||||
// layer-shell panels and regular gaps.
|
||||
struts {
|
||||
// left 64
|
||||
// right 64
|
||||
// top 64
|
||||
// bottom 64
|
||||
}
|
||||
}
|
||||
|
||||
// Add lines like this to spawn processes at startup.
|
||||
// Note that running niri as a session supports xdg-desktop-autostart,
|
||||
// which may be more convenient to use.
|
||||
// See the binds section below for more spawn examples.
|
||||
|
||||
// This line starts waybar, a commonly used bar for Wayland compositors.
|
||||
// spawn-at-startup "waybar"
|
||||
|
||||
// Uncomment this line to ask the clients to omit their client-side decorations if possible.
|
||||
// If the client will specifically ask for CSD, the request will be honored.
|
||||
// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners.
|
||||
// This option will also fix border/focus ring drawing behind some semitransparent windows.
|
||||
// After enabling or disabling this, you need to restart the apps for this to take effect.
|
||||
// prefer-no-csd
|
||||
|
||||
// You can change the path where screenshots are saved.
|
||||
// A ~ at the front will be expanded to the home directory.
|
||||
// The path is formatted with strftime(3) to give you the screenshot date and time.
|
||||
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
||||
|
||||
// You can also set this to null to disable saving screenshots to disk.
|
||||
// screenshot-path null
|
||||
|
||||
// Animation settings.
|
||||
// The wiki explains how to configure individual animations:
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Animations
|
||||
animations {
|
||||
// Uncomment to turn off all animations.
|
||||
// off
|
||||
|
||||
// Slow down all animations by this factor. Values below 1 speed them up instead.
|
||||
// slowdown 3.0
|
||||
}
|
||||
|
||||
// Window rules let you adjust behavior for individual windows.
|
||||
// Find more information on the wiki:
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules
|
||||
|
||||
// Work around WezTerm's initial configure bug
|
||||
// by setting an empty default-column-width.
|
||||
window-rule {
|
||||
// This regular expression is intentionally made as specific as possible,
|
||||
// since this is the default config, and we want no false positives.
|
||||
// You can get away with just app-id="wezterm" if you want.
|
||||
match app-id=r#"^org\.wezfurlong\.wezterm$"#
|
||||
default-column-width {}
|
||||
}
|
||||
|
||||
// Open the Firefox picture-in-picture player as floating by default.
|
||||
window-rule {
|
||||
// This app-id regular expression will work for both:
|
||||
// - host Firefox (app-id is "firefox")
|
||||
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
|
||||
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
||||
open-floating true
|
||||
}
|
||||
|
||||
// Example: block out two password managers from screen capture.
|
||||
// (This example rule is commented out with a "/-" in front.)
|
||||
/-window-rule {
|
||||
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
|
||||
match app-id=r#"^org\.gnome\.World\.Secrets$"#
|
||||
|
||||
block-out-from "screen-capture"
|
||||
|
||||
// Use this instead if you want them visible on third-party screenshot tools.
|
||||
// block-out-from "screencast"
|
||||
}
|
||||
|
||||
// Example: enable rounded corners for all windows.
|
||||
// (This example rule is commented out with a "/-" in front.)
|
||||
/-window-rule {
|
||||
geometry-corner-radius 12
|
||||
clip-to-geometry true
|
||||
}
|
||||
|
||||
binds {
|
||||
// Keys consist of modifiers separated by + signs, followed by an XKB key name
|
||||
// in the end. To find an XKB name for a particular key, you may use a program
|
||||
// like wev.
|
||||
//
|
||||
// "Mod" is a special modifier equal to Super when running on a TTY, and to Alt
|
||||
// when running as a winit window.
|
||||
//
|
||||
// Most actions that you can bind here can also be invoked programmatically with
|
||||
// `niri msg action do-something`.
|
||||
|
||||
// Mod-Shift-/, which is usually the same as Mod-?,
|
||||
// shows a list of important hotkeys.
|
||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||
|
||||
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
||||
Mod+T hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; }
|
||||
Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
|
||||
Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; }
|
||||
|
||||
// You can also use a shell. Do this if you need pipes, multiple commands, etc.
|
||||
// Note: the entire command goes as a single argument in the end.
|
||||
// Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; }
|
||||
|
||||
// Example volume keys mappings for PipeWire & WirePlumber.
|
||||
// The allow-when-locked=true property makes them work even when the session is locked.
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
|
||||
XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
|
||||
|
||||
// Open/close the Overview: a zoomed-out view of workspaces and windows.
|
||||
// You can also move the mouse into the top-left hot corner,
|
||||
// or do a four-finger swipe up on a touchpad.
|
||||
Mod+O repeat=false { toggle-overview; }
|
||||
|
||||
Mod+Q { close-window; }
|
||||
|
||||
Mod+Left { focus-column-left; }
|
||||
Mod+Down { focus-window-down; }
|
||||
Mod+Up { focus-window-up; }
|
||||
Mod+Right { focus-column-right; }
|
||||
Mod+H { focus-column-left; }
|
||||
Mod+J { focus-window-down; }
|
||||
Mod+K { focus-window-up; }
|
||||
Mod+L { focus-column-right; }
|
||||
|
||||
Mod+Ctrl+Left { move-column-left; }
|
||||
Mod+Ctrl+Down { move-window-down; }
|
||||
Mod+Ctrl+Up { move-window-up; }
|
||||
Mod+Ctrl+Right { move-column-right; }
|
||||
Mod+Ctrl+H { move-column-left; }
|
||||
Mod+Ctrl+J { move-window-down; }
|
||||
Mod+Ctrl+K { move-window-up; }
|
||||
Mod+Ctrl+L { move-column-right; }
|
||||
|
||||
// Alternative commands that move across workspaces when reaching
|
||||
// the first or last window in a column.
|
||||
// Mod+J { focus-window-or-workspace-down; }
|
||||
// Mod+K { focus-window-or-workspace-up; }
|
||||
// Mod+Ctrl+J { move-window-down-or-to-workspace-down; }
|
||||
// Mod+Ctrl+K { move-window-up-or-to-workspace-up; }
|
||||
|
||||
Mod+Home { focus-column-first; }
|
||||
Mod+End { focus-column-last; }
|
||||
Mod+Ctrl+Home { move-column-to-first; }
|
||||
Mod+Ctrl+End { move-column-to-last; }
|
||||
|
||||
Mod+Shift+Left { focus-monitor-left; }
|
||||
Mod+Shift+Down { focus-monitor-down; }
|
||||
Mod+Shift+Up { focus-monitor-up; }
|
||||
Mod+Shift+Right { focus-monitor-right; }
|
||||
Mod+Shift+H { focus-monitor-left; }
|
||||
Mod+Shift+J { focus-monitor-down; }
|
||||
Mod+Shift+K { focus-monitor-up; }
|
||||
Mod+Shift+L { focus-monitor-right; }
|
||||
|
||||
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
||||
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
||||
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
|
||||
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
|
||||
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
||||
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
||||
|
||||
// Alternatively, there are commands to move just a single window:
|
||||
// Mod+Shift+Ctrl+Left { move-window-to-monitor-left; }
|
||||
// ...
|
||||
|
||||
// And you can also move a whole workspace to another monitor:
|
||||
// Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; }
|
||||
// ...
|
||||
|
||||
Mod+Page_Down { focus-workspace-down; }
|
||||
Mod+Page_Up { focus-workspace-up; }
|
||||
Mod+U { focus-workspace-down; }
|
||||
Mod+I { focus-workspace-up; }
|
||||
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
||||
Mod+Ctrl+U { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+I { move-column-to-workspace-up; }
|
||||
|
||||
// Alternatively, there are commands to move just a single window:
|
||||
// Mod+Ctrl+Page_Down { move-window-to-workspace-down; }
|
||||
// ...
|
||||
|
||||
Mod+Shift+Page_Down { move-workspace-down; }
|
||||
Mod+Shift+Page_Up { move-workspace-up; }
|
||||
Mod+Shift+U { move-workspace-down; }
|
||||
Mod+Shift+I { move-workspace-up; }
|
||||
|
||||
// You can bind mouse wheel scroll ticks using the following syntax.
|
||||
// These binds will change direction based on the natural-scroll setting.
|
||||
//
|
||||
// To avoid scrolling through workspaces really fast, you can use
|
||||
// the cooldown-ms property. The bind will be rate-limited to this value.
|
||||
// You can set a cooldown on any bind, but it's most useful for the wheel.
|
||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
||||
|
||||
Mod+WheelScrollRight { focus-column-right; }
|
||||
Mod+WheelScrollLeft { focus-column-left; }
|
||||
Mod+Ctrl+WheelScrollRight { move-column-right; }
|
||||
Mod+Ctrl+WheelScrollLeft { move-column-left; }
|
||||
|
||||
// Usually scrolling up and down with Shift in applications results in
|
||||
// horizontal scrolling; these binds replicate that.
|
||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
||||
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
|
||||
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
|
||||
|
||||
// Similarly, you can bind touchpad scroll "ticks".
|
||||
// Touchpad scrolling is continuous, so for these binds it is split into
|
||||
// discrete intervals.
|
||||
// These binds are also affected by touchpad's natural-scroll, so these
|
||||
// example binds are "inverted", since we have natural-scroll enabled for
|
||||
// touchpads by default.
|
||||
// Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; }
|
||||
// Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; }
|
||||
|
||||
// You can refer to workspaces by index. However, keep in mind that
|
||||
// niri is a dynamic workspace system, so these commands are kind of
|
||||
// "best effort". Trying to refer to a workspace index bigger than
|
||||
// the current workspace count will instead refer to the bottommost
|
||||
// (empty) workspace.
|
||||
//
|
||||
// For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on
|
||||
// will all refer to the 3rd workspace.
|
||||
Mod+1 { focus-workspace 1; }
|
||||
Mod+2 { focus-workspace 2; }
|
||||
Mod+3 { focus-workspace 3; }
|
||||
Mod+4 { focus-workspace 4; }
|
||||
Mod+5 { focus-workspace 5; }
|
||||
Mod+6 { focus-workspace 6; }
|
||||
Mod+7 { focus-workspace 7; }
|
||||
Mod+8 { focus-workspace 8; }
|
||||
Mod+9 { focus-workspace 9; }
|
||||
Mod+Ctrl+1 { move-column-to-workspace 1; }
|
||||
Mod+Ctrl+2 { move-column-to-workspace 2; }
|
||||
Mod+Ctrl+3 { move-column-to-workspace 3; }
|
||||
Mod+Ctrl+4 { move-column-to-workspace 4; }
|
||||
Mod+Ctrl+5 { move-column-to-workspace 5; }
|
||||
Mod+Ctrl+6 { move-column-to-workspace 6; }
|
||||
Mod+Ctrl+7 { move-column-to-workspace 7; }
|
||||
Mod+Ctrl+8 { move-column-to-workspace 8; }
|
||||
Mod+Ctrl+9 { move-column-to-workspace 9; }
|
||||
|
||||
// Alternatively, there are commands to move just a single window:
|
||||
// Mod+Ctrl+1 { move-window-to-workspace 1; }
|
||||
|
||||
// Switches focus between the current and the previous workspace.
|
||||
// Mod+Tab { focus-workspace-previous; }
|
||||
|
||||
// The following binds move the focused window in and out of a column.
|
||||
// If the window is alone, they will consume it into the nearby column to the side.
|
||||
// If the window is already in a column, they will expel it out.
|
||||
Mod+BracketLeft { consume-or-expel-window-left; }
|
||||
Mod+BracketRight { consume-or-expel-window-right; }
|
||||
|
||||
// Consume one window from the right to the bottom of the focused column.
|
||||
Mod+Comma { consume-window-into-column; }
|
||||
// Expel the bottom window from the focused column to the right.
|
||||
Mod+Period { expel-window-from-column; }
|
||||
|
||||
Mod+R { switch-preset-column-width; }
|
||||
Mod+Shift+R { switch-preset-window-height; }
|
||||
Mod+Ctrl+R { reset-window-height; }
|
||||
Mod+F { maximize-column; }
|
||||
Mod+Shift+F { fullscreen-window; }
|
||||
|
||||
// Expand the focused column to space not taken up by other fully visible columns.
|
||||
// Makes the column "fill the rest of the space".
|
||||
Mod+Ctrl+F { expand-column-to-available-width; }
|
||||
|
||||
Mod+C { center-column; }
|
||||
|
||||
// Center all fully visible columns on screen.
|
||||
Mod+Ctrl+C { center-visible-columns; }
|
||||
|
||||
// Finer width adjustments.
|
||||
// This command can also:
|
||||
// * set width in pixels: "1000"
|
||||
// * adjust width in pixels: "-5" or "+5"
|
||||
// * set width as a percentage of screen width: "25%"
|
||||
// * adjust width as a percentage of screen width: "-10%" or "+10%"
|
||||
// Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,
|
||||
// set-column-width "100" will make the column occupy 200 physical screen pixels.
|
||||
Mod+Minus { set-column-width "-10%"; }
|
||||
Mod+Equal { set-column-width "+10%"; }
|
||||
|
||||
// Finer height adjustments when in column with other windows.
|
||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
||||
Mod+Shift+Equal { set-window-height "+10%"; }
|
||||
|
||||
// Move the focused window between the floating and the tiling layout.
|
||||
Mod+V { toggle-window-floating; }
|
||||
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
||||
|
||||
// Toggle tabbed column display mode.
|
||||
// Windows in this column will appear as vertical tabs,
|
||||
// rather than stacked on top of each other.
|
||||
Mod+W { toggle-column-tabbed-display; }
|
||||
|
||||
// Actions to switch layouts.
|
||||
// Note: if you uncomment these, make sure you do NOT have
|
||||
// a matching layout switch hotkey configured in xkb options above.
|
||||
// Having both at once on the same hotkey will break the switching,
|
||||
// since it will switch twice upon pressing the hotkey (once by xkb, once by niri).
|
||||
// Mod+Space { switch-layout "next"; }
|
||||
// Mod+Shift+Space { switch-layout "prev"; }
|
||||
|
||||
Print { screenshot; }
|
||||
Ctrl+Print { screenshot-screen; }
|
||||
Alt+Print { screenshot-window; }
|
||||
|
||||
// Applications such as remote-desktop clients and software KVM switches may
|
||||
// request that niri stops processing the keyboard shortcuts defined here
|
||||
// so they may, for example, forward the key presses as-is to a remote machine.
|
||||
// It's a good idea to bind an escape hatch to toggle the inhibitor,
|
||||
// so a buggy application can't hold your session hostage.
|
||||
//
|
||||
// The allow-inhibiting=false property can be applied to other binds as well,
|
||||
// which ensures niri always processes them, even when an inhibitor is active.
|
||||
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
||||
|
||||
// The quit action will show a confirmation dialog to avoid accidental exits.
|
||||
Mod+Shift+E { quit; }
|
||||
Ctrl+Alt+Delete { quit; }
|
||||
|
||||
// Powers off the monitors. To turn them back on, do any input like
|
||||
// moving the mouse or pressing any other key.
|
||||
Mod+Shift+P { power-off-monitors; }
|
||||
}
|
37
niri/etc/skel/.config/waybar/colors/frappe.css
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
*
|
||||
* Catppuccin Frappe palette
|
||||
* Maintainer: rubyowo
|
||||
*
|
||||
*/
|
||||
|
||||
@define-color base #303446;
|
||||
@define-color mantle #292c3c;
|
||||
@define-color crust #232634;
|
||||
|
||||
@define-color text #c6d0f5;
|
||||
@define-color subtext0 #a5adce;
|
||||
@define-color subtext1 #b5bfe2;
|
||||
|
||||
@define-color surface0 #414559;
|
||||
@define-color surface1 #51576d;
|
||||
@define-color surface2 #626880;
|
||||
|
||||
@define-color overlay0 #737994;
|
||||
@define-color overlay1 #838ba7;
|
||||
@define-color overlay2 #949cbb;
|
||||
|
||||
@define-color blue #8caaee;
|
||||
@define-color lavender #babbf1;
|
||||
@define-color sapphire #85c1dc;
|
||||
@define-color sky #99d1db;
|
||||
@define-color teal #81c8be;
|
||||
@define-color green #a6d189;
|
||||
@define-color yellow #e5c890;
|
||||
@define-color peach #ef9f76;
|
||||
@define-color maroon #ea999c;
|
||||
@define-color red #e78284;
|
||||
@define-color mauve #ca9ee6;
|
||||
@define-color pink #f4b8e4;
|
||||
@define-color flamingo #eebebe;
|
||||
@define-color rosewater #f2d5cf;
|
37
niri/etc/skel/.config/waybar/colors/latte.css
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
*
|
||||
* Catppuccin Latte palette
|
||||
* Maintainer: rubyowo
|
||||
*
|
||||
*/
|
||||
|
||||
@define-color base #eff1f5;
|
||||
@define-color mantle #e6e9ef;
|
||||
@define-color crust #dce0e8;
|
||||
|
||||
@define-color text #4c4f69;
|
||||
@define-color subtext0 #6c6f85;
|
||||
@define-color subtext1 #5c5f77;
|
||||
|
||||
@define-color surface0 #ccd0da;
|
||||
@define-color surface1 #bcc0cc;
|
||||
@define-color surface2 #acb0be;
|
||||
|
||||
@define-color overlay0 #9ca0b0;
|
||||
@define-color overlay1 #8c8fa1;
|
||||
@define-color overlay2 #7c7f93;
|
||||
|
||||
@define-color blue #1e66f5;
|
||||
@define-color lavender #7287fd;
|
||||
@define-color sapphire #209fb5;
|
||||
@define-color sky #04a5e5;
|
||||
@define-color teal #179299;
|
||||
@define-color green #40a02b;
|
||||
@define-color yellow #df8e1d;
|
||||
@define-color peach #fe640b;
|
||||
@define-color maroon #e64553;
|
||||
@define-color red #d20f39;
|
||||
@define-color mauve #8839ef;
|
||||
@define-color pink #ea76cb;
|
||||
@define-color flamingo #dd7878;
|
||||
@define-color rosewater #dc8a78;
|
37
niri/etc/skel/.config/waybar/colors/macchiato.css
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
*
|
||||
* Catppuccin Macchiato palette
|
||||
* Maintainer: rubyowo
|
||||
*
|
||||
*/
|
||||
|
||||
@define-color base #24273a;
|
||||
@define-color mantle #1e2030;
|
||||
@define-color crust #181926;
|
||||
|
||||
@define-color text #cad3f5;
|
||||
@define-color subtext0 #a5adcb;
|
||||
@define-color subtext1 #b8c0e0;
|
||||
|
||||
@define-color surface0 #363a4f;
|
||||
@define-color surface1 #494d64;
|
||||
@define-color surface2 #5b6078;
|
||||
|
||||
@define-color overlay0 #6e738d;
|
||||
@define-color overlay1 #8087a2;
|
||||
@define-color overlay2 #939ab7;
|
||||
|
||||
@define-color blue #8aadf4;
|
||||
@define-color lavender #b7bdf8;
|
||||
@define-color sapphire #7dc4e4;
|
||||
@define-color sky #91d7e3;
|
||||
@define-color teal #8bd5ca;
|
||||
@define-color green #a6da95;
|
||||
@define-color yellow #eed49f;
|
||||
@define-color peach #f5a97f;
|
||||
@define-color maroon #ee99a0;
|
||||
@define-color red #ed8796;
|
||||
@define-color mauve #c6a0f6;
|
||||
@define-color pink #f5bde6;
|
||||
@define-color flamingo #f0c6c6;
|
||||
@define-color rosewater #f4dbd6;
|
37
niri/etc/skel/.config/waybar/colors/mocha.css
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
*
|
||||
* Catppuccin Mocha palette
|
||||
* Maintainer: rubyowo
|
||||
*
|
||||
*/
|
||||
|
||||
@define-color base #1e1e2e;
|
||||
@define-color mantle #181825;
|
||||
@define-color crust #11111b;
|
||||
|
||||
@define-color text #cdd6f4;
|
||||
@define-color subtext0 #a6adc8;
|
||||
@define-color subtext1 #bac2de;
|
||||
|
||||
@define-color surface0 #313244;
|
||||
@define-color surface1 #45475a;
|
||||
@define-color surface2 #585b70;
|
||||
|
||||
@define-color overlay0 #6c7086;
|
||||
@define-color overlay1 #7f849c;
|
||||
@define-color overlay2 #9399b2;
|
||||
|
||||
@define-color blue #89b4fa;
|
||||
@define-color lavender #b4befe;
|
||||
@define-color sapphire #74c7ec;
|
||||
@define-color sky #89dceb;
|
||||
@define-color teal #94e2d5;
|
||||
@define-color green #a6e3a1;
|
||||
@define-color yellow #f9e2af;
|
||||
@define-color peach #fab387;
|
||||
@define-color maroon #eba0ac;
|
||||
@define-color red #f38ba8;
|
||||
@define-color mauve #cba6f7;
|
||||
@define-color pink #f5c2e7;
|
||||
@define-color flamingo #f2cdcd;
|
||||
@define-color rosewater #f5e0dc;
|
186
niri/etc/skel/.config/waybar/config.jsonc
Normal file
|
@ -0,0 +1,186 @@
|
|||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 30,
|
||||
"modules-left": ["custom/menu", "niri/workspaces", "niri/window"],
|
||||
"modules-center": ["clock"],
|
||||
"modules-right": [
|
||||
"tray",
|
||||
"custom/playerctl",
|
||||
"custom/wlsunset",
|
||||
"idle_inhibitor",
|
||||
"niri/language",
|
||||
"custom/dunst",
|
||||
"custom/clipboard",
|
||||
"cpu",
|
||||
"memory",
|
||||
"battery",
|
||||
"network",
|
||||
"bluetooth",
|
||||
"pulseaudio",
|
||||
"custom/power"
|
||||
],
|
||||
|
||||
"custom/menu": {
|
||||
"format": "",
|
||||
"on-click": "exec nwg-drawer",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"niri/workspaces": {
|
||||
"format": "{value}"
|
||||
},
|
||||
|
||||
"niri/window": {
|
||||
"format": "{title}"
|
||||
},
|
||||
|
||||
"niri/language": {
|
||||
"format": " {}"
|
||||
},
|
||||
|
||||
"custom/playerctl": {
|
||||
"interval": "once",
|
||||
"tooltip": true,
|
||||
"return-type": "json",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"Playing": "",
|
||||
"Paused": ""
|
||||
},
|
||||
"exec": "playerctl metadata --format '{\"alt\": \"{{status}}\", \"tooltip\": \"{{playerName}}: {{markup_escape(title)}} - {{markup_escape(artist)}}\" }'",
|
||||
"on-click": "playerctl play-pause; pkill -RTMIN+5 waybar",
|
||||
"on-click-right": "playerctl next; pkill -RTMIN+5 waybar",
|
||||
"on-scroll-up": "playerctl position 10+; pkill -RTMIN+5 waybar",
|
||||
"on-scroll-down": "playerctl position 10-; pkill -RTMIN+5 waybar",
|
||||
"signal": 5
|
||||
},
|
||||
|
||||
"custom/wlsunset": {
|
||||
"interval": "once",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{tooltip}",
|
||||
"return-type": "json",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"on": "",
|
||||
"off": ""
|
||||
},
|
||||
"exec": "fallback_latitude=50.1 fallback_longitude=8.7 latitude= longitude= /usr/share/niri/scripts/sunset.sh",
|
||||
"on-click": "/usr/share/niri/scripts/sunset.sh toggle; pkill -RTMIN+6 waybar",
|
||||
"exec-if": "/usr/share/niri/scripts/sunset.sh check",
|
||||
"signal": 6
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
},
|
||||
"start-activated": true,
|
||||
"tooltip": true,
|
||||
"tooltip-format-activated": "power-saving disabled",
|
||||
"tooltip-format-deactivated": "power-saving enabled"
|
||||
},
|
||||
|
||||
"custom/dunst": {
|
||||
"exec": "/usr/share/niri/scripts/dunst.sh",
|
||||
"on-click": "dunstctl set-paused toggle",
|
||||
"restart-interval": 1,
|
||||
},
|
||||
|
||||
"custom/clipboard": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"return-type": "json",
|
||||
"on-click": "nwg-clipman; pkill -RTMIN+9 waybar",
|
||||
"on-click-middle": "rm -f ~/.cache/cliphist/db; pkill -RTMIN+9 waybar",
|
||||
"exec": "printf '{\"tooltip\":\"%s\"}' $(cliphist list | wc -l)' item(s) in the clipboard\r(Mid click to clear)'",
|
||||
"exec-if": "[ -x \"$(command -v cliphist)\" ] && [ $(cliphist list | wc -l) -gt 0 ]",
|
||||
"signal": 9
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": " {usage}%",
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
},
|
||||
"on-click": "alacritty --class floating_shell -e btop"
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 30,
|
||||
"format": " {}%",
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
},
|
||||
"on-click": "alacritty --class floating_shell -e btop"
|
||||
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
|
||||
"network": {
|
||||
"format-wifi": " ({signalStrength}%)",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format": "{ifname} ({essid}): {ipaddr}",
|
||||
"tooltip-format": "{icon} {ifname}: {ipaddr}",
|
||||
"tooltip-format-ethernet": "{icon} {ifname}: {ipaddr}",
|
||||
"tooltip-format-wifi": "{icon} {ifname} ({essid}): {ipaddr}",
|
||||
"tooltip-format-disconnected": "{icon} disconnected",
|
||||
"tooltip-format-disabled": "{icon} disabled",
|
||||
"on-click": "alacritty --class floating_shell -e nmtui connect"
|
||||
},
|
||||
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-disabled": "",
|
||||
"format-no-controller": "",
|
||||
"on-click": "alacritty --class floating_shell -e bluetuith",
|
||||
"on-click-right": "rfkill toggle bluetooth",
|
||||
"tooltip-format": "{}"
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}% {format_source}",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-muted": " {format_source}",
|
||||
"format-source": " {volume}%",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"headset": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"tooltip-format": "{icon} {volume}% {format_source}",
|
||||
"on-click": "alacritty --class floating_shell -e pulsemixer",
|
||||
"on-click-middle": "pulsemixer --toggle-mute && /usr/share/river/scripts/volume-notify.sh",
|
||||
"on-click-right": "pavucontrol"
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"format": "{:%e %b %H:%M}",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{:%d.%m.%Y %H:%M}",
|
||||
"interval": 5,
|
||||
"on-click": "alacritty --class floating_shell -e calcurse"
|
||||
},
|
||||
|
||||
"custom/power": {
|
||||
"format": "",
|
||||
"on-click": "nwg-bar -x"
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 21,
|
||||
"spacing": 10
|
||||
}
|
||||
}
|
189
niri/etc/skel/.config/waybar/style.css
Normal file
|
@ -0,0 +1,189 @@
|
|||
@import "colors/macchiato.css";
|
||||
|
||||
@keyframes blink-warning {
|
||||
70% {
|
||||
color: @wm_icon_bg;
|
||||
}
|
||||
|
||||
to {
|
||||
color: @wm_icon_bg;
|
||||
background-color: @yellow;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes blink-critical {
|
||||
70% {
|
||||
color: @wm_icon_bg;
|
||||
}
|
||||
|
||||
to {
|
||||
color: @wm_icon_bg;
|
||||
background-color: @red;
|
||||
}
|
||||
}
|
||||
|
||||
/* Reset all styles */
|
||||
* {
|
||||
border: 0px;
|
||||
border-radius: 0px;
|
||||
color: @text;
|
||||
padding: 0 0;
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
font-family: "Noto Sans", "Font Awesome 6 Free", "Font Awesome";
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#window {
|
||||
margin-left: 10px;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
window#waybar.empty #window {
|
||||
background: @base;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
border-bottom: 2px;
|
||||
border-color: @base;
|
||||
border-style: solid;
|
||||
margin-bottom: 3px;
|
||||
transition-property: none;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: @sapphire;
|
||||
border-color: @sapphire;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#custom-help,
|
||||
#custom-playerctl,
|
||||
#custom-power,
|
||||
#custom-wlsunset,
|
||||
#custom-clipboard,
|
||||
#custom-menu,
|
||||
#custom-dunst,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#network,
|
||||
#bluetooth,
|
||||
#pulseaudio,
|
||||
#tray,
|
||||
#mode,
|
||||
#language,
|
||||
#idle_inhibitor {
|
||||
padding: 0 6px;
|
||||
border-bottom: 2px;
|
||||
border-style: solid;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
#custom-menu {
|
||||
color: @green;
|
||||
}
|
||||
|
||||
#custom-wf-recorder {
|
||||
color: @red;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
color: @lavender;
|
||||
}
|
||||
|
||||
#tray {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
color: @flamingo;
|
||||
}
|
||||
|
||||
#custom-playerctl {
|
||||
color: @flamingo;
|
||||
}
|
||||
|
||||
#custom-wlsunset {
|
||||
color: @pink;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
color: @mauve;
|
||||
}
|
||||
|
||||
#language {
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#custom-dunst {
|
||||
color: @maroon;
|
||||
}
|
||||
|
||||
#custom-clipboard {
|
||||
color: @peach;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
color: @yellow;
|
||||
}
|
||||
|
||||
#memory {
|
||||
color: @green;
|
||||
}
|
||||
|
||||
#battery {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
color: @teal;
|
||||
}
|
||||
|
||||
#battery.warning {
|
||||
color: @warning_color;
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
color: @error_color;
|
||||
}
|
||||
|
||||
#battery.warning.discharging {
|
||||
animation-name: blink-warning;
|
||||
animation-duration: 3s;
|
||||
}
|
||||
|
||||
#battery.critical.discharging {
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 2s;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#network {
|
||||
color: @sky;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
color: @wm_icon_bg
|
||||
}
|
||||
|
||||
#bluetooth {
|
||||
color: @sapphire;
|
||||
}
|
||||
|
||||
#bluetooth.disabled {
|
||||
color: @wm_icon_bg;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: @blue;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
color: @wm_icon_bg;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
color: @text;
|
||||
}
|
41
qtile/etc/skel/.config/qtile/autostart.sh
Executable file
|
@ -0,0 +1,41 @@
|
|||
#!/bin/bash
|
||||
|
||||
export XDG_CURRENT_DESKTOP=wlroots
|
||||
export XDG_SESSION_DESKTOP="${XDG_SESSION_DESKTOP:-wlroots}"
|
||||
export XDG_SESSION_TYPE=wayland
|
||||
VARIABLES="DESKTOP_SESSION XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE"
|
||||
VARIABLES="${VARIABLES} DISPLAY WAYLAND_DISPLAY"
|
||||
SESSION_TARGET="qtile-session.target"
|
||||
SESSION_XDG_AUTOSTART_TARGET="qtile-xdg-autostart.target"
|
||||
SNI_CHECK="/usr/share/qtile/scripts/wait-sni-ready"
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
dbus-update-activation-environment --systemd ${VARIABLES:- --all} &
|
||||
|
||||
# reset failed state of all user units
|
||||
systemctl --user reset-failed
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
systemctl --user import-environment $VARIABLES
|
||||
systemctl --user start "$SESSION_TARGET"
|
||||
|
||||
# Wait for StatusNotifierWatcher is available and start XDG Autostart target
|
||||
"$SNI_CHECK" && systemctl --user start "$SESSION_XDG_AUTOSTART_TARGET"
|
||||
|
||||
# PolicyKit Agent
|
||||
/usr/bin/mate-polkit
|
||||
|
||||
# Wallpaper script (you can change wallpaper with Azote)
|
||||
source ~/.azotebg
|
||||
|
||||
# Start nwg-drawer as a daemon
|
||||
pkill nwg-drawer
|
||||
nwg-drawer -r &
|
||||
|
||||
# Start PCmanFM-Qt as a daemon
|
||||
pkill pcmanfm-qt
|
||||
pcmanfm-qt -d &
|
||||
|
||||
# Clipboard daemon
|
||||
pkill wl-paste
|
||||
wl-paste --watch cliphist store &
|
27
qtile/etc/skel/.config/qtile/colors.py
Normal file
|
@ -0,0 +1,27 @@
|
|||
Macchiato = [
|
||||
["#f4dbd6", "#f4dbd6"], # 0 rosewater
|
||||
["#f0c6c6", "#f0c6c6"], # 1 flamingo
|
||||
["#f5bde6", "#f5bde6"], # 2 pink
|
||||
["#c6a0f6", "#c6a0f6"], # 3 mauve
|
||||
["#ed8796", "#ed8796"], # 4 red
|
||||
["#ee99a0", "#ee99a0"], # 5 maroon
|
||||
["#f5a97f", "#f5a97f"], # 6 peach
|
||||
["#a6da95", "#a6da95"], # 7 green
|
||||
["#8bd5ca", "#8bd5ca"], # 8 teal
|
||||
["#91d7e3", "#91d7e3"], # 9 sky
|
||||
["#7dc4e4", "#7dc4e4"], # 10 saphire
|
||||
["#8aadf4", "#8aadf4"], # 11 blue
|
||||
["#b7bdf8", "#b7bdf8"], # 12 lavender
|
||||
["#cad3f5", "#cad3f5"], # 13 text
|
||||
["#b8c0e0", "#b8c0e0"], # 14 subtext1
|
||||
["#a5adcb", "#a5adcb"], # 15 subtext0
|
||||
["#939ab7", "#939ab7"], # 16 overlay2
|
||||
["#8087a2", "#8087a2"], # 17 overlay1
|
||||
["#6e738d", "#6e738d"], # 18 overlay0
|
||||
["#5b6078", "#5b6078"], # 19 surface2
|
||||
["#494d64", "#494d64"], # 20 surface1
|
||||
["#363a4f", "#363a4f"], # 21 surface0
|
||||
["#24273a", "#24273a"], # 22 base
|
||||
["#1e2030", "#1e2030"], # 23 mantle
|
||||
["#181926", "#181926"] # 24 crust
|
||||
]
|
343
qtile/etc/skel/.config/qtile/config.py
Normal file
|
@ -0,0 +1,343 @@
|
|||
# The primary config for Qtile on TileOS
|
||||
|
||||
from libqtile import bar, hook, layout
|
||||
from libqtile.config import Group, Key, Match, Screen
|
||||
from libqtile.lazy import lazy
|
||||
# Make sure 'qtile-extras' is installed or this config will not work.
|
||||
from qtile_extras import widget # type: ignore
|
||||
from qtile_extras.widget.decorations import BorderDecoration # type: ignore
|
||||
from libqtile.backend.wayland import InputConfig
|
||||
from keybindings import mod, keys, terminal
|
||||
from mouse import mouse
|
||||
import colors
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
groups = []
|
||||
group_names = ["1", "2", "3", "4", "5", "6", "7", "8", "9",]
|
||||
group_labels = ["1", "2", "3", "4", "5", "6", "7", "8", "9",]
|
||||
|
||||
group_layouts = ["monadtall", "monadtall", "monadtall", "monadtall", "monadtall", "monadtall", "monadtall", "monadtall", "monadtall"]
|
||||
|
||||
@hook.subscribe.startup
|
||||
def autostart():
|
||||
home = os.path.expanduser('~/.config/qtile/autostart.sh')
|
||||
subprocess.Popen([home])
|
||||
|
||||
for n in range(len(group_names)):
|
||||
groups.append(
|
||||
Group(
|
||||
name=group_names[n],
|
||||
layout=group_layouts[n].lower(),
|
||||
label=group_labels[n],
|
||||
))
|
||||
|
||||
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 = move focused window to group
|
||||
Key(
|
||||
[mod, "shift"],
|
||||
i.name,
|
||||
lazy.window.togroup(i.name, switch_group=False),
|
||||
desc="Move focused window to group {}".format(i.name),
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
qtile_colors = colors.Macchiato
|
||||
|
||||
# Common settings for all layouts
|
||||
layout_theme = {"border_width": 2,
|
||||
"margin": 8,
|
||||
"border_focus": qtile_colors[11],
|
||||
"border_normal": qtile_colors[15]
|
||||
}
|
||||
|
||||
layouts = [
|
||||
layout.Columns(**layout_theme),
|
||||
layout.Max(border_width = 0, margin = 0),
|
||||
layout.Stack(**layout_theme, num_stacks=2),
|
||||
# layout.Bsp(),
|
||||
# layout.Matrix(),
|
||||
layout.MonadTall(**layout_theme),
|
||||
# layout.MonadWide(),
|
||||
# layout.RatioTile(),
|
||||
# layout.Tile(),
|
||||
# layout.TreeTab(),
|
||||
# layout.VerticalTile(),
|
||||
layout.Zoomy(**layout_theme),
|
||||
]
|
||||
|
||||
# Common settings for all widgets
|
||||
widget_defaults = dict(
|
||||
font="Noto Sans",
|
||||
fontsize=14,
|
||||
padding=0,
|
||||
background=qtile_colors[22]
|
||||
)
|
||||
|
||||
extension_defaults = widget_defaults.copy()
|
||||
|
||||
screens = [
|
||||
Screen(
|
||||
top=bar.Bar(
|
||||
[
|
||||
widget.Image(
|
||||
filename="~/.config/qtile/icons/logo.png",
|
||||
margin = 3,
|
||||
mouse_callbacks={'Button1': lazy.spawn('nwg-drawer')}
|
||||
),
|
||||
widget.GroupBox(
|
||||
fontsize = 14,
|
||||
margin_y = 3,
|
||||
margin_x = 4,
|
||||
padding_y = 2,
|
||||
padding_x = 3,
|
||||
borderwidth = 3,
|
||||
active = qtile_colors[13],
|
||||
inactive = qtile_colors[13],
|
||||
rounded = False,
|
||||
highlight_color = qtile_colors[21],
|
||||
highlight_method = "line",
|
||||
urgent_border = qtile_colors[4],
|
||||
urgent_text = qtile_colors[4],
|
||||
this_current_screen_border = qtile_colors[10],
|
||||
),
|
||||
widget.Sep(
|
||||
linewidth=1,
|
||||
padding=10,
|
||||
foreground=qtile_colors[13],
|
||||
background=qtile_colors[22]
|
||||
),
|
||||
widget.CurrentLayoutIcon(
|
||||
custom_icon_paths=[os.path.expanduser("~/.config/qtile/icons")],
|
||||
foreground=qtile_colors[13],
|
||||
background=qtile_colors[22],
|
||||
padding=0,
|
||||
scale=0.7
|
||||
),
|
||||
widget.CurrentLayout(
|
||||
foreground = qtile_colors[13],
|
||||
padding = 5
|
||||
),
|
||||
widget.Sep(
|
||||
linewidth=1,
|
||||
padding=10,
|
||||
foreground=qtile_colors[13],
|
||||
background=qtile_colors[22]
|
||||
),
|
||||
widget.Spacer(length = 8),
|
||||
widget.Prompt(),
|
||||
widget.WindowName(
|
||||
foreground = qtile_colors[13],
|
||||
max_chars = 40,
|
||||
),
|
||||
widget.Spacer(length = 8),
|
||||
widget.StatusNotifier(
|
||||
decorations=[
|
||||
BorderDecoration(
|
||||
colour = qtile_colors[1],
|
||||
border_width = [0, 0, 2, 0],
|
||||
)
|
||||
],
|
||||
),
|
||||
widget.Spacer(length = 8),
|
||||
widget.Mpris2(
|
||||
playing_text = "",
|
||||
stop_pause_text = "",
|
||||
foreground = qtile_colors[2],
|
||||
decorations=[
|
||||
BorderDecoration(
|
||||
colour = qtile_colors[2],
|
||||
border_width = [0, 0, 2, 0],
|
||||
)
|
||||
],
|
||||
),
|
||||
widget.Spacer(length = 8),
|
||||
widget.KeyboardLayout(
|
||||
configured_keyboards = [
|
||||
"us"
|
||||
],
|
||||
font = "Noto Sans",
|
||||
fontsize = "14",
|
||||
fmt = '⌨ {}',
|
||||
foreground = qtile_colors[3],
|
||||
decorations=[
|
||||
BorderDecoration(
|
||||
colour = qtile_colors[3],
|
||||
border_width = [0, 0, 2, 0],
|
||||
)
|
||||
],
|
||||
),
|
||||
widget.Spacer(length = 8),
|
||||
# Custom clipboard manager widget, based on Cliphist
|
||||
widget.TextBox(
|
||||
text="",
|
||||
foreground = qtile_colors[4],
|
||||
decorations=[
|
||||
BorderDecoration(
|
||||
colour = qtile_colors[4],
|
||||
border_width = [0, 0, 2, 0],
|
||||
)
|
||||
],
|
||||
mouse_callbacks={"Button1": lazy.spawn("/usr/share/qtile/scripts/clipboard.sh --list"),
|
||||
"Button2": lazy.spawn("rm -f ~/.cache/cliphist/db"),
|
||||
"Button3": lazy.spawn("/usr/share/qtile/scripts/clipboard.sh --del")
|
||||
},
|
||||
),
|
||||
widget.Spacer(length = 8),
|
||||
# Idle inhibitor
|
||||
widget.GenPollText(
|
||||
update_interval=1,
|
||||
func=lambda: subprocess.check_output(os.path.expanduser("/usr/share/qtile/scripts/idle-inhibit")).decode(),
|
||||
foreground = qtile_colors[5],
|
||||
decorations=[
|
||||
BorderDecoration(
|
||||
colour = qtile_colors[5],
|
||||
border_width = [0, 0, 2, 0],
|
||||
)
|
||||
],
|
||||
mouse_callbacks={'Button1': lazy.spawn(os.path.expanduser("/usr/share/qtile/scripts/idle-inhibit toggle"), shell=True)}
|
||||
),
|
||||
widget.Spacer(length = 8),
|
||||
widget.CPU(
|
||||
format = ' {load_percent:.1f}%',
|
||||
foreground = qtile_colors[5],
|
||||
decorations=[
|
||||
BorderDecoration(
|
||||
colour = qtile_colors[5],
|
||||
border_width = [0, 0, 2, 0],
|
||||
)
|
||||
],
|
||||
mouse_callbacks={'Button1': lazy.spawn(terminal + ' --class floating_shell -e btop')}
|
||||
),
|
||||
widget.Spacer(length = 8),
|
||||
widget.Memory(
|
||||
format = " {MemUsed:.1f}/{MemTotal:.1f} GiB",
|
||||
measure_mem='G',
|
||||
foreground = qtile_colors[6],
|
||||
decorations=[
|
||||
BorderDecoration(
|
||||
colour = qtile_colors[6],
|
||||
border_width = [0, 0, 2, 0],
|
||||
)
|
||||
],
|
||||
mouse_callbacks={'Button1': lazy.spawn(terminal + ' --class floating_shell -e btop')}
|
||||
),
|
||||
widget.Spacer(length = 8),
|
||||
widget.Net(
|
||||
prefix="M",
|
||||
format=' {down:.0f}{down_suffix} ↓↑ {up:.0f}{up_suffix}',
|
||||
foreground = qtile_colors[7],
|
||||
decorations=[
|
||||
BorderDecoration(
|
||||
colour = qtile_colors[7],
|
||||
border_width = [0, 0, 2, 0],
|
||||
)
|
||||
],
|
||||
mouse_callbacks={'Button1': lazy.spawn(terminal + ' --class floating_shell -e nmtui')}
|
||||
),
|
||||
widget.Spacer(length = 8),
|
||||
widget.Volume(
|
||||
foreground = qtile_colors[8],
|
||||
fmt = 'Vol: {}',
|
||||
decorations=[
|
||||
BorderDecoration(
|
||||
colour = qtile_colors[8],
|
||||
border_width = [0, 0, 2, 0],
|
||||
)
|
||||
],
|
||||
mouse_callbacks={'Button3': lazy.spawn('pavucontrol')}
|
||||
),
|
||||
widget.Spacer(length = 8),
|
||||
widget.Clock(
|
||||
format="%d %b %H:%M",
|
||||
foreground = qtile_colors[9],
|
||||
decorations=[
|
||||
BorderDecoration(
|
||||
colour = qtile_colors[9],
|
||||
border_width = [0, 0, 2, 0],
|
||||
)
|
||||
],
|
||||
mouse_callbacks={'Button1': lazy.spawn(terminal + ' --class floating_shell -e calcurse')}
|
||||
),
|
||||
widget.Spacer(length = 8),
|
||||
widget.TextBox(
|
||||
text="",
|
||||
fontsize = 14,
|
||||
foreground = qtile_colors[10],
|
||||
decorations=[
|
||||
BorderDecoration(
|
||||
colour = qtile_colors[10],
|
||||
border_width = [0, 0, 2, 0],
|
||||
)
|
||||
],
|
||||
mouse_callbacks={'Button1': lazy.spawn('nwg-bar')}
|
||||
),
|
||||
widget.Spacer(length = 8),
|
||||
],
|
||||
30,
|
||||
),
|
||||
),
|
||||
]
|
||||
|
||||
dgroups_key_binder = None
|
||||
dgroups_app_rules = [] # type: list
|
||||
follow_mouse_focus = True
|
||||
bring_front_click = False
|
||||
floats_kept_above = True
|
||||
cursor_warp = False
|
||||
floating_layout = layout.Floating(
|
||||
border_width=2,
|
||||
border_focus=qtile_colors[11],
|
||||
border_normal=qtile_colors[15],
|
||||
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
|
||||
Match(wm_class="qt5ct"), # Qt5 Config
|
||||
Match(wm_class="qt6ct"), # Qt6 config
|
||||
Match(wm_class="calamares"), # Calamares installer
|
||||
Match(wm_class="engrampa"), # Archive manager
|
||||
Match(wm_class="nwg-look"), # GTK settings
|
||||
Match(wm_class="pavucontrol"), # PulseAudio Volume Control
|
||||
Match(wm_class="wdisplays"), # Display configurator
|
||||
Match(wm_class="floating_shell"), # Start all windows with app_id "floating_shell" in float
|
||||
Match(title="Picture-in-Picture"),
|
||||
Match(title="Firefox — Sharing Indicator"),
|
||||
]
|
||||
)
|
||||
auto_fullscreen = True
|
||||
focus_on_window_activation = "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"
|
BIN
qtile/etc/skel/.config/qtile/icons/layout-bsp.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
qtile/etc/skel/.config/qtile/icons/layout-floating.png
Normal file
After Width: | Height: | Size: 232 B |
BIN
qtile/etc/skel/.config/qtile/icons/layout-max.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
qtile/etc/skel/.config/qtile/icons/layout-monadtall.png
Normal file
After Width: | Height: | Size: 218 B |
BIN
qtile/etc/skel/.config/qtile/icons/layout-stack.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
qtile/etc/skel/.config/qtile/icons/layout-tile.png
Normal file
After Width: | Height: | Size: 225 B |
BIN
qtile/etc/skel/.config/qtile/icons/layout-treetab.png
Normal file
After Width: | Height: | Size: 212 B |
BIN
qtile/etc/skel/.config/qtile/icons/layout-zoomy.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
qtile/etc/skel/.config/qtile/icons/logo.png
Normal file
After Width: | Height: | Size: 1 KiB |
229
qtile/etc/skel/.config/qtile/keybindings.py
Normal file
|
@ -0,0 +1,229 @@
|
|||
# Default keybindings for Qtile on TileOS
|
||||
# A list of available commands that can be bound to keys can be found
|
||||
# at https://docs.qtile.org/en/latest/manual/config/lazy.html
|
||||
|
||||
from libqtile.config import Key
|
||||
from libqtile.command import lazy
|
||||
|
||||
mod = "mod4"
|
||||
terminal = "alacritty"
|
||||
|
||||
keys = [
|
||||
|
||||
# Main keybindings
|
||||
Key(
|
||||
[mod],
|
||||
"Return",
|
||||
lazy.spawn(terminal),
|
||||
desc="Launch terminal"
|
||||
),
|
||||
Key(
|
||||
[mod],
|
||||
"Tab",
|
||||
lazy.next_layout(),
|
||||
desc="Toggle between layouts"
|
||||
),
|
||||
Key(
|
||||
[mod,"shift"],
|
||||
"q",
|
||||
lazy.window.kill(),
|
||||
desc="Kill focused window"
|
||||
),
|
||||
Key(
|
||||
[mod, "control"],
|
||||
"r",
|
||||
lazy.reload_config(),
|
||||
desc="Reload the config"
|
||||
),
|
||||
Key(
|
||||
[mod, "shift"],
|
||||
"e",
|
||||
lazy.spawn("nwg-bar"),
|
||||
desc="Logout menu"
|
||||
),
|
||||
Key(
|
||||
[mod],
|
||||
"r",
|
||||
lazy.spawncmd(),
|
||||
desc="Spawn a command using a prompt widget"
|
||||
),
|
||||
Key([mod], "d",
|
||||
lazy.spawn("rofi -show combi -combi-modi 'drun,run' -terminal terminal -ssh-command '{terminal} {ssh-client} {host} [-p {port}]' -run-shell-command '{terminal} {cmd}'"),
|
||||
desc="Launch Rofi menu"
|
||||
),
|
||||
# Switch between windows
|
||||
Key(
|
||||
[mod],
|
||||
"h",
|
||||
lazy.layout.left(),
|
||||
desc="Move focus to left"
|
||||
),
|
||||
Key(
|
||||
[mod],
|
||||
"l",
|
||||
lazy.layout.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="Switch window focus to other pane(s) of stack"),
|
||||
|
||||
# Move windows between left/right columns or move up/down in current stack.
|
||||
# Moving out of range in Columns layout will create new column.
|
||||
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],
|
||||
"n",
|
||||
lazy.layout.normalize(),
|
||||
desc="Reset all window sizes"
|
||||
),
|
||||
|
||||
# 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],
|
||||
"f",
|
||||
lazy.window.toggle_fullscreen(),
|
||||
desc="Toggle fullscreen on the focused window",
|
||||
),
|
||||
Key(
|
||||
[mod, "shift"],
|
||||
"space",
|
||||
lazy.window.toggle_floating(),
|
||||
desc="Toggle floating on the focused window"),
|
||||
|
||||
# Volume
|
||||
Key(
|
||||
[],
|
||||
"XF86AudioMute",
|
||||
lazy.spawn("/usr/share/qtile/scripts/volume-control.sh mute"),
|
||||
desc='Mute audio'
|
||||
),
|
||||
Key(
|
||||
[],
|
||||
"XF86AudioLowerVolume",
|
||||
lazy.spawn("/usr/share/qtile/scripts/volume-control.sh down"),
|
||||
desc='Volume down'
|
||||
),
|
||||
Key(
|
||||
[],
|
||||
"XF86AudioRaiseVolume",
|
||||
lazy.spawn("/usr/share/qtile/scripts/volume-control.sh up"),
|
||||
desc='Volume up'
|
||||
),
|
||||
|
||||
# Brightness
|
||||
Key(
|
||||
[],
|
||||
"XF86MonBrightnessDown",
|
||||
lazy.spawn("/usr/share/qtile/scripts/brightness-control.sh down"),
|
||||
desc='Brightness down'
|
||||
),
|
||||
Key(
|
||||
[],
|
||||
"XF86MonBrightnessUp",
|
||||
lazy.spawn("/usr/share/qtile/scripts/brightness-control.sh up"),
|
||||
desc='Brightness up'
|
||||
),
|
||||
|
||||
# Screenshots
|
||||
# Take a screenshot of the currently focused output and save it into screenshots
|
||||
Key(
|
||||
[],
|
||||
"Print",
|
||||
lazy.spawn("/usr/share/qtile/scripts/screenshot.sh"),
|
||||
desc='Save the screens of the currently focused output to the screenshots folder'
|
||||
),
|
||||
# Take a screenshot of the selected region
|
||||
Key(
|
||||
[mod],
|
||||
"Print",
|
||||
lazy.spawn("/usr/share/qtile/scripts/screenshot.sh selected-region"),
|
||||
desc='Save the selected region of the screen to the screenshots folder'
|
||||
),
|
||||
# Capture region of screen to clipboard
|
||||
Key(
|
||||
[mod,"shift"],
|
||||
"Print",
|
||||
lazy.spawn("/usr/share/qtile/scripts/screenshot.sh save-to-clipboard"),
|
||||
desc='Capture a region of the screen to the clipboard'
|
||||
),
|
||||
# Take a screenshot of the selected window
|
||||
Key(
|
||||
[mod, "control"],
|
||||
"Print",
|
||||
lazy.spawn("/usr/share/qtile/scripts/screenshot.sh focused-window"),
|
||||
desc='Save the selected window to the screenshots folder'
|
||||
),
|
||||
|
||||
]
|
24
qtile/etc/skel/.config/qtile/mouse.py
Normal file
|
@ -0,0 +1,24 @@
|
|||
from libqtile.config import Drag, Click
|
||||
from libqtile.command import lazy
|
||||
from keybindings import mod
|
||||
|
||||
# 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()
|
||||
),
|
||||
]
|
50
qtile/usr/bin/start-qtile-wayland
Executable file
|
@ -0,0 +1,50 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
## General exports
|
||||
export XDG_CURRENT_DESKTOP=qtile
|
||||
export XDG_SESSION_DESKTOP=qtile
|
||||
export XDG_SESSION_TYPE=wayland
|
||||
|
||||
# Check if system is running in virtual machine
|
||||
case "$(systemd-detect-virt)" in
|
||||
qemu)
|
||||
export WLR_RENDERER=pixman
|
||||
export WLR_NO_HARDWARE_CURSORS=1
|
||||
;;
|
||||
kvm)
|
||||
export WLR_NO_HARDWARE_CURSORS=1
|
||||
;;
|
||||
oracle)
|
||||
export WLR_NO_HARDWARE_CURSORS=1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Apply Nvidia-specific variables
|
||||
if [ -d /sys/module/nvidia ]; then
|
||||
export WLR_NO_HARDWARE_CURSORS=1
|
||||
export GBM_BACKEND=nvidia-drm
|
||||
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
||||
export LIBVA_DRIVER_NAME=nvidia
|
||||
fi
|
||||
|
||||
## Load system environment customizations
|
||||
if [ -d /etc/environment.d ]; then
|
||||
set -o allexport
|
||||
for f in /etc/environment.d/*.conf; do
|
||||
# shellcheck source=/dev/null
|
||||
. "$f"
|
||||
done
|
||||
set +o allexport
|
||||
fi
|
||||
|
||||
## Load user environment customizations
|
||||
if [ -d "${XDG_CONFIG_HOME:-$HOME/.config}/environment.d" ]; then
|
||||
set -o allexport
|
||||
for i in "${XDG_CONFIG_HOME:-$HOME/.config}/environment.d"/*.conf; do
|
||||
# shellcheck source=/dev/null
|
||||
. "$i"
|
||||
done
|
||||
set +o allexport
|
||||
fi
|
||||
|
||||
exec systemd-cat -- dbus-run-session /usr/bin/qtile start -b wayland $@
|
10
qtile/usr/lib/systemd/user/qtile-session-shutdown.target
Normal file
|
@ -0,0 +1,10 @@
|
|||
[Unit]
|
||||
Description=Shutdown running Qtile session
|
||||
DefaultDependencies=no
|
||||
StopWhenUnneeded=true
|
||||
|
||||
Conflicts=graphical-session.target graphical-session-pre.target
|
||||
After=graphical-session.target graphical-session-pre.target
|
||||
|
||||
Conflicts=qtile-session.target
|
||||
After=qtile-session.target
|
6
qtile/usr/lib/systemd/user/qtile-session.target
Normal file
|
@ -0,0 +1,6 @@
|
|||
[Unit]
|
||||
Description=Qtile session
|
||||
Documentation=man:systemd.special(7)
|
||||
BindsTo=graphical-session.target
|
||||
Wants=graphical-session-pre.target
|
||||
After=graphical-session-pre.target
|
10
qtile/usr/lib/systemd/user/qtile-xdg-autostart.target
Normal file
|
@ -0,0 +1,10 @@
|
|||
# Systemd provides xdg-desktop-autostart.target as a way to process XDG autostart
|
||||
# desktop files. The target sets RefuseManualStart though, and thus cannot be
|
||||
# used from scripts.
|
||||
#
|
||||
[Unit]
|
||||
Description=XDG autostart for Qtile session
|
||||
Documentation=man:systemd.special(7) man:systemd-xdg-autostart-generator(8)
|
||||
BindsTo=xdg-desktop-autostart.target
|
||||
PartOf=qtile-session.target
|
||||
After=qtile-session.target
|
9
qtile/usr/lib/systemd/user/swayidle-restart.path
Normal file
|
@ -0,0 +1,9 @@
|
|||
[Unit]
|
||||
Description=Automatically restart the swayidle when its configuration changes
|
||||
PartOf=swayidle.service
|
||||
|
||||
[Path]
|
||||
PathChanged=%h/.config/swayidle/config
|
||||
|
||||
[Install]
|
||||
WantedBy=paths.target
|
6
qtile/usr/lib/systemd/user/swayidle-restart.service
Normal file
|
@ -0,0 +1,6 @@
|
|||
[Service]
|
||||
ExecStart=systemctl --user restart swayidle.service
|
||||
Type=oneshot
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
12
qtile/usr/lib/systemd/user/swayidle.service
Normal file
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=Idle manager for Wayland
|
||||
Documentation=man:swayidle(1)
|
||||
PartOf=graphical-session.target
|
||||
ConditionPathExists=/usr/bin/swayidle
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/swayidle -w
|
||||
|
||||
[Install]
|
||||
WantedBy=qtile-session.target
|
18
qtile/usr/share/qtile/scripts/qtile-exit.sh
Executable file
|
@ -0,0 +1,18 @@
|
|||
#!/bin/bash
|
||||
|
||||
VARIABLES="DESKTOP_SESSION XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE"
|
||||
VARIABLES="${VARIABLES} DISPLAY WAYLAND_DISPLAY"
|
||||
SESSION_SHUTDOWN_TARGET="qtile-session-shutdown.target"
|
||||
|
||||
session_cleanup () {
|
||||
# stop the session target and unset the variables
|
||||
systemctl --user start --job-mode=replace-irreversibly "$SESSION_SHUTDOWN_TARGET"
|
||||
if [ -n "$VARIABLES" ]; then
|
||||
# shellcheck disable=SC2086
|
||||
systemctl --user unset-environment $VARIABLES
|
||||
fi
|
||||
}
|
||||
|
||||
session_cleanup
|
||||
qtile cmd-obj -o cmd -f shutdown
|
||||
|
6
qtile/usr/share/xdg-desktop-portal/qtile-portals.conf
Normal file
|
@ -0,0 +1,6 @@
|
|||
[preferred]
|
||||
# Use xdg-desktop-portal-gtk for every portal interface...
|
||||
default=gtk
|
||||
# ... except for the ScreenCast and Screenshot
|
||||
org.freedesktop.impl.portal.ScreenCast=wlr
|
||||
org.freedesktop.impl.portal.Screenshot=wlr
|