summaryrefslogtreecommitdiff
path: root/.config
diff options
context:
space:
mode:
Diffstat (limited to '.config')
-rw-r--r--.config/fontconfig/fonts.conf89
-rw-r--r--.config/niri/config.kdl98
2 files changed, 123 insertions, 64 deletions
diff --git a/.config/fontconfig/fonts.conf b/.config/fontconfig/fonts.conf
index 69b93f5..5a33550 100644
--- a/.config/fontconfig/fonts.conf
+++ b/.config/fontconfig/fonts.conf
@@ -1,8 +1,85 @@
-<?xml version="1.0"?>
-<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'>
<fontconfig>
- <alias>
- <family>monospace</family>
- <prefer><family>Fira Code</family></prefer>
- </alias>
+ <!--
+ Artificial oblique for fonts without an italic or oblique version
+ -->
+ <match target="font">
+ <!-- check to see if the font is roman -->
+ <test name="slant">
+ <const>roman</const>
+ </test>
+ <!-- check to see if the pattern requested non-roman -->
+ <test compare="not_eq" name="slant" target="pattern">
+ <const>roman</const>
+ </test>
+ <!-- multiply the matrix to slant the font -->
+ <edit mode="assign" name="matrix">
+ <times>
+ <name>matrix</name>
+ <matrix>
+ <double>1</double>
+ <double>0.2</double>
+ <double>0</double>
+ <double>1</double>
+ </matrix>
+ </times>
+ </edit>
+ <!-- pretend the font is oblique now -->
+ <edit mode="assign" name="slant">
+ <const>oblique</const>
+ </edit>
+ <!-- and disable embedded bitmaps for artificial oblique -->
+ <edit mode="assign" name="embeddedbitmap">
+ <bool>false</bool>
+ </edit>
+ </match>
+ <!--
+ Synthetic emboldening for fonts that do not have bold face available
+ -->
+ <match target="font">
+ <!-- check to see if the weight in the font is less than medium which possibly need emboldening -->
+ <test compare="less_eq" name="weight">
+ <const>medium</const>
+ </test>
+ <!-- check to see if the pattern requests bold -->
+ <test compare="more_eq" name="weight" target="pattern">
+ <const>bold</const>
+ </test>
+ <!--
+ set the embolden flag
+ needed for applications using cairo, e.g. gucharmap, gedit, ...
+ -->
+ <edit mode="assign" name="embolden">
+ <bool>true</bool>
+ </edit>
+ <!--
+ set weight to bold
+ needed for applications using Xft directly, e.g. Firefox, ...
+ -->
+ <edit mode="assign" name="weight">
+ <const>bold</const>
+ </edit>
+ </match>
+ <match target="font">
+ <edit mode="assign" name="hinting">
+ <bool>true</bool>
+ </edit>
+ </match>
+ <match target="font">
+ <edit mode="assign" name="hintstyle">
+ <const>hintfull</const>
+ </edit>
+ </match>
+ <match target="font">
+ <edit mode="assign" name="rgba">
+ <const>rgb</const>
+ </edit>
+ </match>
+ <dir>~/.local/share/fonts</dir>
+ <match target="font">
+ <edit mode="assign" name="antialias">
+ <bool>true</bool>
+ </edit>
+ </match>
</fontconfig>
diff --git a/.config/niri/config.kdl b/.config/niri/config.kdl
index 87228a4..ccad1ac 100644
--- a/.config/niri/config.kdl
+++ b/.config/niri/config.kdl
@@ -1,19 +1,11 @@
// 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://yalter.github.io/niri/Configuration:-Introduction
-
-prefer-no-csd
-
-gestures {
- hot-corners {
- off
- }
-}
+// https://niri-wm.github.io/niri/Configuration:-Introduction
// Input device configuration.
// Find the full list of options on the wiki:
-// https://yalter.github.io/niri/Configuration:-Input
+// https://niri-wm.github.io/niri/Configuration:-Input
input {
keyboard {
xkb {
@@ -38,7 +30,7 @@ input {
// All commented-out settings here are examples, not defaults.
touchpad {
// off
- // tap
+ tap
// dwt
// dwtp
// drag false
@@ -69,21 +61,19 @@ input {
// middle-emulation
}
- disable-power-key-handling
-
// Uncomment this to make the mouse warp to the center of newly focused windows.
- warp-mouse-to-focus
+ // 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="20%"
+ // 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://yalter.github.io/niri/Configuration:-Outputs
+// https://niri-wm.github.io/niri/Configuration:-Outputs
// Remember to uncomment the node by removing "/-"!
/-output "eDP-1" {
// Uncomment this line to disable this output.
@@ -118,7 +108,7 @@ input {
// Settings that influence how windows are positioned and sized.
// Find more information on the wiki:
-// https://yalter.github.io/niri/Configuration:-Layout
+// https://niri-wm.github.io/niri/Configuration:-Layout
layout {
// Set gaps around windows in logical pixels.
gaps 16
@@ -144,7 +134,7 @@ layout {
// fixed 1920
}
- // You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
+ // You can also customize the heights that "switch-preset-window-height" (Mod+Ctrl+Shift+R) toggles between.
// preset-window-heights { }
// You can change the default width of the new windows.
@@ -225,7 +215,7 @@ layout {
// You can enable drop shadows for windows.
shadow {
// Uncomment the next line to enable shadows.
- on
+ // 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.
@@ -278,7 +268,7 @@ layout {
// See the binds section below for more spawn examples.
// This line starts waybar, a commonly used bar for Wayland compositors.
-spawn-at-startup "noctalia"
+spawn-at-startup "waybar"
// To run a shell command (with variables, pipes, etc.), use spawn-sh-at-startup:
// spawn-sh-at-startup "qs -c ~/source/qs/MyAwesomeShell"
@@ -305,7 +295,7 @@ screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
// Animation settings.
// The wiki explains how to configure individual animations:
-// https://yalter.github.io/niri/Configuration:-Animations
+// https://niri-wm.github.io/niri/Configuration:-Animations
animations {
// Uncomment to turn off all animations.
// off
@@ -316,7 +306,7 @@ animations {
// Window rules let you adjust behavior for individual windows.
// Find more information on the wiki:
-// https://yalter.github.io/niri/Configuration:-Window-Rules
+// https://niri-wm.github.io/niri/Configuration:-Window-Rules
// Work around WezTerm's initial configure bug
// by setting an empty default-column-width.
@@ -337,13 +327,6 @@ window-rule {
open-floating true
}
-window-rule {
- match app-id=r#"io.github.ungoogled_software.ungoogled_chromium"#
- match app-id=r#"helium"#
- match app-id=r#"obsidian"#
- scroll-factor 0.25
-}
-
// Example: block out two password managers from screen capture.
// (This example rule is commented out with a "/-" in front.)
/-window-rule {
@@ -379,10 +362,10 @@ binds {
Mod+Shift+Slash { show-hotkey-overlay; }
// Suggested binds for running programs: terminal, app launcher, screen locker.
- Mod+T hotkey-overlay-title="Open a Terminal: foot" { spawn "foot"; }
- // Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
- // Mod+D hotkey-overlay-title="Open Noctalia Launcher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; } // Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; }
- Mod+Space hotkey-overlay-title="Open Launcher" { spawn-sh "noctalia msg panel-toggle launcher"; }
+ 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"; }
+
// Use spawn-sh to run a shell command. Do this if you need pipes, multiple commands, etc.
// Note: the entire command goes as a single argument. It's passed verbatim to `sh -c`.
// For example, this is a standard bind to toggle the screen reader (orca).
@@ -407,8 +390,8 @@ binds {
// Example brightness key mappings for brightnessctl.
// You can use regular spawn with multiple arguments too (to avoid going through "sh"),
// but you need to manually put each argument in separate "" quotes.
- XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "-e" "--class=backlight" "set" "+10%"; }
- XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "-e" "--class=backlight" "set" "10%-"; }
+ XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
+ XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
// Open/close the Overview: a zoomed-out view of workspaces and windows.
// You can also move the mouse into the top-left hot corner,
@@ -559,22 +542,31 @@ binds {
// 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; }
+ 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; }
+ Mod+Comma { consume-window-into-column; }
// Expel the bottom window from the focused column to the right.
- // Mod+Period { expel-window-from-column; }
+ Mod+Period { expel-window-from-column; }
- // Mod+R { switch-preset-column-width; }
+ // Cycle through widths set in preset-column-widths.
+ Mod+R { switch-preset-column-width; }
// Cycling through the presets in reverse order is also possible.
- // Mod+R { switch-preset-column-width-back; }
- // Mod+Shift+R { switch-preset-window-height; }
- // Mod+Ctrl+R { reset-window-height; }
+ Mod+Shift+R { switch-preset-column-width-back; }
+
+ Mod+Ctrl+Shift+R { switch-preset-window-height; }
+ Mod+Ctrl+R { reset-window-height; }
+
Mod+F { maximize-column; }
Mod+Shift+F { fullscreen-window; }
+ // While maximize-column leaves gaps and borders around the window,
+ // maximize-window-to-edges doesn't: the window expands to the edges of the screen.
+ // This bind corresponds to normal window maximizing,
+ // e.g. by double-clicking on the titlebar.
+ Mod+M { maximize-window-to-edges; }
+
// 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; }
@@ -592,12 +584,12 @@ binds {
// * 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%"; }
+ 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%"; }
+ 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; }
@@ -636,15 +628,5 @@ binds {
// 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; }
-}
-
-recent-windows {
- off
-}
-
-cursor {
- xcursor-size 36
+ Mod+Shift+P { power-off-monitors; }
}
-
-include "noctalia.kdl"