diff options
| -rw-r--r-- | .config/fontconfig/fonts.conf | 89 | ||||
| -rw-r--r-- | .config/niri/config.kdl | 98 |
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" |
