Initial upload

This commit is contained in:
Aleksey Samoilov 2025-06-11 15:59:07 +04:00
commit 1e6634beaa
163 changed files with 8062 additions and 0 deletions

1
README.md Normal file
View file

@ -0,0 +1 @@
### Configuration files for all TileOS editions

View 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
View file

@ -0,0 +1,3 @@
#!/usr/bin/env bash
pkill swaybg
swaybg -o '*' -i "/usr/share/wallpapers/tileos-final.png" -m fill &

View file

@ -0,0 +1,2 @@
[General]
theme=Catppuccin-Macchiato-Blue

View 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"]

View file

@ -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"

View 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"
}
}

View 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"

View file

@ -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"

View 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

Binary file not shown.

View 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

View 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;

View 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

View 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

View 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"
}
]

View 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
}

View 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
}

View 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"
}

View file

@ -0,0 +1,6 @@
{
"export-settings-ini": true,
"export-gtkrc-20": true,
"export-index-theme": true,
"export-xsettingsd": true
}

View file

@ -0,0 +1,2 @@
[Recent]
Files=@Invalid()

View 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()

View 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" "")

View 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>

View file

@ -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

View 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()

View file

@ -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

View 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()

View 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;
}

View file

@ -0,0 +1,4 @@
[Default]
save_dir=${XDG_PICTURES_DIR:-$HOME/Pictures}
show_panel=true
early_exit=true

View 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'

View 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

View 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;
}

View 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"

View 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"

View 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

View file

@ -0,0 +1,3 @@
[screencast]
chooser_type=dmenu
chooser_cmd=wlr-randr | grep -oP '^[^ ]+' | wofi -d

View 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}"

View 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

View 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

View 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" "$@"

View 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 "$@"

View 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

View 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

View 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"

View 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

View 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"

View 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

View 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

View 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
View 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
View 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
View 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
View file

@ -0,0 +1,4 @@
#!/usr/bin/make -f
%:
dh $@

1
debian/source/format vendored Normal file
View file

@ -0,0 +1 @@
3.0 (native)

2
debian/tileos-settings-common.install vendored Normal file
View file

@ -0,0 +1,2 @@
common/etc/* etc/
common/usr/* usr/

View file

@ -0,0 +1,2 @@
miracle-wm/etc/* etc/
miracle-wm/usr/* usr/

1
debian/tileos-settings-niri.install vendored Normal file
View file

@ -0,0 +1 @@
niri/etc/* etc/

2
debian/tileos-settings-qtile.install vendored Normal file
View file

@ -0,0 +1,2 @@
qtile/etc/* etc/
qtile/usr/* usr/

2
debian/tileos-settings-river.install vendored Normal file
View file

@ -0,0 +1,2 @@
river/etc/* etc/
river/usr/* usr/

2
debian/tileos-settings-sway.install vendored Normal file
View file

@ -0,0 +1,2 @@
sway/etc/* etc/
sway/usr/* usr/

View 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

View 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;

View 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;

View 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;

View 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;

View 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
}
}

View 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;
}

View file

@ -0,0 +1,4 @@
[preferred]
default=gtk
org.freedesktop.impl.portal.Screenshot=wlr
org.freedesktop.impl.portal.ScreenCast=wlr

View 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; }
}

View 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;

View 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;

View 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;

View 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;

View 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
}
}

View 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;
}

View 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 &

View 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
]

View 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"

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

View 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'
),
]

View 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()
),
]

View 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 $@

View 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

View 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

View 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

View 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

View file

@ -0,0 +1,6 @@
[Service]
ExecStart=systemctl --user restart swayidle.service
Type=oneshot
[Install]
WantedBy=graphical-session.target

View 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

View 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

View 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

Some files were not shown because too many files have changed in this diff Show more