diff --git a/config/i3/alacritty/alacritty.yml b/config/i3/alacritty/alacritty.yml new file mode 100644 index 0000000..2913b0c --- /dev/null +++ b/config/i3/alacritty/alacritty.yml @@ -0,0 +1,53 @@ +## Copyright (C) 2020-2023 Aditya Shakya +## +## Configuration for Alacritty, the GPU enhanced terminal emulator. +## It's a very basic and simple config file, for full configuration... +## See, /usr/share/doc/alacritty/example/alacritty.yml + +## Import files (Colors, Fonts, Etc) +import: + - ~/.config/i3/alacritty/colors.yml + - ~/.config/i3/alacritty/fonts.yml + +## Set environment variables +env: + TERM: alacritty + WINIT_X11_SCALE_FACTOR: '1.0' + +## Terminal window settings +window: + dimensions: + columns: 82 + lines: 24 + + padding: + x: 10 + y: 10 + + decorations: full + startup_mode: Windowed + dynamic_title: true + +## scrolling + history: 10000 + multiplier: 3 + +## Background opacity + opacity: 0.92 + +## Cursor +cursor: + style: + shape: Block + blinking: On + + unfocused_hollow: false + +## Live config reload +live_config_reload: true + +## Shell +#shell: +# program: /bin/zsh +# args: +# - --login diff --git a/config/i3/alacritty/colors.yml b/config/i3/alacritty/colors.yml new file mode 100644 index 0000000..aede44f --- /dev/null +++ b/config/i3/alacritty/colors.yml @@ -0,0 +1,29 @@ +## Colors configuration +colors: + # Default colors + primary: + # background: '#282828' + background: '#000000' + foreground: '#ebdbb2' + + # Normal colors + normal: + black: '#3C3C3C' + red: '#cc241d' + green: '#98971a' + yellow: '#d79921' + blue: '#458588' + magenta: '#b16286' + cyan: '#689d6a' + white: '#a89984' + + # Bright colors + bright: + black: '#928374' + red: '#fb4934' + green: '#b8bb26' + yellow: '#fabd2f' + blue: '#83a598' + magenta: '#d3869b' + cyan: '#8ec07c' + white: '#ebdbb2' diff --git a/config/i3/alacritty/fonts.yml b/config/i3/alacritty/fonts.yml new file mode 100644 index 0000000..1db8c37 --- /dev/null +++ b/config/i3/alacritty/fonts.yml @@ -0,0 +1,37 @@ +## Copyright (C) 2020-2023 Aditya Shakya +## +## Font configuration + +font: + # Normal (roman) font face + normal: + family: "JetBrainsMono Nerd Font" + #style: Regular + + # Bold font face + bold: + family: "JetBrainsMono Nerd Font" + #style: Bold + + # Italic font face + italic: + family: "JetBrainsMono Nerd Font" + #style: Italic + + # Bold italic font face + bold_italic: + family: "JetBrainsMono Nerd Font" + #style: Bold Italic + + # Point size + size: 16 + + # Offset + #offset: + # x: 0 + # y: 0 + + # Glyph offset + #glyph_offset: + # x: 0 + # y: 0 diff --git a/config/i3/config b/config/i3/config index 4075ad5..c4446ca 100644 --- a/config/i3/config +++ b/config/i3/config @@ -1,334 +1,326 @@ -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) -#bar { - #status_command i3status -#} +## Copyright (C) 2020-2023 Aditya Shakya +## +## i3wm configuration for Archcraft +## +## i3 config file (v4) -# This file has been auto-generated by i3-config-wizard(1). -# It will not be overwritten, so edit it as you like. -# -# Should you change your keyboard layout some time, delete -# this file and re-run i3-config-wizard(1). -# +##-- Include Config Files ---------------------- -# i3 config file (v4) -# -# Please see https://i3wm.org/docs/userguide.html for a complete reference! -# +## Tilde expands to the user’s home directory: +#include ~/.config/i3/01_theme.conf -set $mod Mod4 +## Environment variables are expanded: +#include $HOME/.config/i3/01_theme.conf -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. -font pango:DejaVu Sans Mono 10 +## Wildcards are expanded: +#include ~/.config/i3/config.d/*.conf -# This font is widely installed, provides lots of unicode glyphs, right-to-left -# text rendering and scalability on retina/hidpi displays (thanks to pango). -#font pango:DejaVu Sans Mono 8 +## Command substitution: +#include ~/.config/i3/`hostname`.conf -# The combination of xss-lock, nm-applet and pactl is a popular choice, so -# they are included here as an example. Modify as you see fit. +## i3 changes the working directory while parsing a config file +## so that relative paths are interpreted relative to the directory +## of the config file that contains the path: +#include 01_theme.conf -# xss-lock zen grabs a logind suspend inhibit lock and will use i3lock to lock the -# screen before suspend. -exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork +## To list all loaded configuration files, run `i3 --moreversion` -# NetworkManager is the most popular way to manage wireless networks on Linux, -# and nm-applet is a desktop environment-independent system tray GUI for it. -exec --no-startup-id nm-applet +#------ -exec --no-startup-id telegram-desktop -# exec --no-startup-id syncthing-gtk -exec --no-startup-id keepass -exec --no-startup-id onboard -exec --no-startup-id touchegg -exec --no-startup-id xscreensaver -# exec --no-startup-id mailspring -# exec --no-startup-id minetime +## Load i3 config files +include ~/.config/i3/config.d/*.conf -# No border :) -default_border pixel 1 -default_floating_border none -# Default colors -# class border backgr. text indicator child_border -client.focused #ffffff #888888 #000000 #ffffff #888888 -client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a -client.unfocused #a000ff #040404 #888888 #444444 #444444 -client.urgent #2f343a #600099 #ffffff #600099 #600099 -client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c +## Enable/Disable i3 bar +#include ~/.config/i3/i3status/statusbar.conf -client.background #000000 +##-- Mod Keys ---------------------------------- +set $MOD Mod4 +set $ALT Mod1 -# Use pactl to adjust volume in PulseAudio. -bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +8% -bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -7% -bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle +##-- General Settings -------------------------- -# Brightness settings -bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 5 -bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 5 +## Floating Modifier +## +## To move floating windows with your mouse, you can either grab their titlebar +## or configure the so-called floating modifier which you can then press and click +## anywhere in the window itself to move it. +## +## When holding the floating modifier, you can resize a floating window by pressing +## the right mouse button on it and moving around while holding it. +## If you hold the shift button as well, the resize will be proportional +## (the aspect ratio will be preserved). +floating_modifier $MOD -# Transparent lock -bindsym $mod+i exec xtrlock +#------ -# Multiple display settings -bindsym XF86Display exec --no-startup-id arandr +## Orientation for new workspaces +## +## New workspaces get a reasonable default orientation: Wide-screen monitors +## (anything wider than high) get horizontal orientation, rotated monitors +## (anything higher than wide) get vertical orientation. +## +## Syntax: default_orientation horizontal|vertical|auto +default_orientation auto -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod +#------ -# start a terminal -bindsym $mod+Return exec i3-sensible-terminal +## Layout mode for new containers +## +## This option determines in which mode new containers on workspace level will start. +## +## Syntax: workspace_layout default|stacking|tabbed +workspace_layout default -# kill focused window -bindsym $mod+w kill +#------ -# start dmenu (a program launcher) -#bindsym $mod+r exec dmenu_run -bindsym $mod+r exec --no-startup-id ~/.config/rofi/bin/menu_powermenu -#bindsym $mod+r exec --no-startup-id ~/rofi/files/powermenu/type-2/powermenu.sh -# start rofi -bindsym $mod+p exec "rofi -modes combi -show combi run,window" -# switch rofi -bindsym $mod+q exec rofi -show window -# rofi fb -bindsym $mod+g exec rofi -show file-browser-extended -# ssh rofi -#bindsym $mod+c exec rofi -show ssh -bindsym $mod+c exec --no-startup-id ~/.config/rofi/bin/menu_time -# lock screen -bindsym $mod+o exec ~/lock.sh -#bindsym $mod+o exec slimlock -# ristretto -bindsym $mod+e exec nemo +## Window title alignment +## +## This option determines the window title’s text alignment. Default is left +## +## Syntax: title_align left|center|right +title_align center -# There also is the (new) i3-dmenu-desktop which only displays applications -# shipping a .desktop file. It is a wrapper around dmenu, so you need that -# installed. -# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop +## Print all window titles in format of 'class | title' +for_window [class=".*"] title_format "%class | %title" -# change focus -bindsym $mod+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l focus right +## Enable window icons for all windows +for_window [all] title_window_icon off -# alternatively, you can use the cursor keys: -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right +## Enable window icons for all windows with extra horizontal padding +#for_window [all] title_window_icon padding 5px -# move focused window -bindsym $mod+Shift+h move left -bindsym $mod+Shift+j move down -bindsym $mod+Shift+k move up -bindsym $mod+Shift+l move right +#------ -# alternatively, you can use the cursor keys: -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right +## Default border style for new windows +## +## This option determines which border style new windows will have. The default is `normal`. +## Note that `default_floating_border` applies only to windows which are starting out +## as floating windows, e.g., dialog windows, but not windows that are floated later on. +## +## Setting border style to `pixel` eliminates title bars. The border style `normal` +## allows you to adjust edge border width while keeping your title bar. +## +## Syntax: +#default_border normal|none|pixel +#default_border normal|pixel +#default_floating_border normal|none|pixel +#default_floating_border normal|pixel +#default_border pixel 2 +#default_floating_border pixel 2 -# Resizing windows -bindsym $mod+Ctrl+Shift+Up resize shrink height 10 px or 10 ppt -bindsym $mod+Ctrl+Shift+Down resize grow height 10 px or 10 ppt -bindsym $mod+Ctrl+Shift+Right resize shrink width 10 px or 10 ppt -bindsym $mod+Ctrl+Shift+Left resize grow width 10 px or 10 ppt +#------ -bindsym $mod+Ctrl+Shift+k resize shrink height 10 px or 10 ppt -bindsym $mod+Ctrl+Shift+j resize grow height 10 px or 10 ppt -bindsym $mod+Ctrl+Shift+l resize shrink width 10 px or 10 ppt -bindsym $mod+Ctrl+Shift+h resize grow width 10 px or 10 ppt +## Hiding borders adjacent to the screen edges +## +## You can hide container borders adjacent to the screen edges using `hide_edge_borders` +## (the default is none). Hiding borders is useful if you are using scrollbars, +## or do not want to waste even two pixels in displayspace. +## +## The `smart` setting hides borders on workspaces with only one window visible, +## but keeps them on workspaces with multiple windows visible. +## +## The `smart_no_gaps` setting hides edge-specific borders of a container if the +## container is the only container on its workspace and the gaps to the screen edge are 0. +## +## Syntax: hide_edge_borders none|vertical|horizontal|both|smart|smart_no_gaps +hide_edge_borders none -# split in horizontal orientation -bindsym $mod+b split h +#------ -# split in vertical orientation -bindsym $mod+v split v +## Smart borders +## +## Smart borders will draw borders on windows only if there is more than one window +## in a workspace. This feature can also be enabled only if the gap size between +## window and screen edge is 0. +## +## Syntax: smart_borders on|off|no_gaps +#smart_borders on -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle +#------ -# change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+t layout tabbed -bindsym $mod+a layout toggle split +## Don’t focus window upon opening +## +## When a new window appears, it will be focused. The `no_focus` directive allows +## preventing this from happening and must be used in combination with [command_criteria]. +## +## Syntax: no_focus +#no_focus [window_role="pop-up"] -# toggle tiling / floating -bindsym $mod+Shift+space floating toggle +#------ -# change focus between tiling / floating windows -bindsym $mod+space focus mode_toggle +## Automatically putting workspaces on specific screens +## +## If you assign clients to workspaces, it might be handy to put the workspaces on +## specific screens. Also, the assignment of workspaces to screens will determine +## which workspace i3 uses for a new screen when adding screens or when starting +## (e.g., by default it will use 1 for the first screen, 2 for the second screen and so on). +## +## Syntax: workspace output [output2]… +## +## The `output` is the name of the RandR output you attach your screen to. +## On a laptop, you might have VGA1 and LVDS1 as output names. +## You can see the available outputs by running `xrandr --current` +#workspace 1 output LVDS1 +#workspace 2 output primary +#workspace 5 output VGA1 LVDS1 +#workspace "2: vim" output VGA1 -# focus the parent container -# bindsym $mod+a focus parent +#------ -# focus the child container -#bindsym $mod+d focus child +## Interprocess communication +## +## i3 uses Unix sockets to provide an IPC interface. This allows third-party programs +## to get information from i3, such as the current workspaces (to display a workspace bar), and to control i3. +## +## You can override the default path through the environment-variable `I3SOCK` +## or by specifying the `ipc-socket` directive.This is discouraged, though, +## since i3 does the right thing by default. If you decide to change it, +## it is strongly recommended to set this to a location in your home directory +## so that no other user can create that directory. +#ipc-socket ~/.i3/i3-ipc.sock -# Define names for default workspaces for which we configure key bindings later on. -# We use variables to avoid repeating the names in multiple places. -set $ws1 "1" -set $ws2 "2" -set $ws3 "3" -set $ws4 "4" -set $ws5 "5" -set $ws6 "6" -set $ws7 "7" -set $ws8 "8" -set $ws9 "9" -set $ws10 "10" -set $ws11 "A" -set $ws12 "B" -set $ws13 "C" -set $ws14 "D" -set $ws15 "E" -set $ws16 "F" -set $ws17 "G" -set $ws18 "H" -set $ws19 "I" -set $ws20 "J" +#------ -# switch to workspace -bindsym $mod+1 workspace $ws1 -bindsym $mod+2 workspace $ws2 -bindsym $mod+3 workspace $ws3 -bindsym $mod+4 workspace $ws4 -bindsym $mod+5 workspace $ws5 -bindsym $mod+6 workspace $ws6 -bindsym $mod+7 workspace $ws7 -bindsym $mod+8 workspace $ws8 -bindsym $mod+9 workspace $ws9 -bindsym $mod+0 workspace $ws10 -bindsym $mod+F1 workspace $ws11 -bindsym $mod+F2 workspace $ws12 -bindsym $mod+F3 workspace $ws13 -bindsym $mod+F4 workspace $ws14 -bindsym $mod+F5 workspace $ws15 -bindsym $mod+F6 workspace $ws16 -bindsym $mod+F7 workspace $ws17 -bindsym $mod+F8 workspace $ws18 -bindsym $mod+F9 workspace $ws19 -bindsym $mod+F10 workspace $ws20 +## Focus follows mouse +## +## By default, window focus follows your mouse movements as the mouse crosses window borders. +## However, if you have a setup where your mouse usually is in your way +## (like a touchpad on your laptop which you do not want to disable completely), +## you might want to disable `focus follows mouse` and control focus only by using your keyboard. +## The mouse will still be useful inside the currently active window (for example to click on links in your browser window). +## +## Syntax: focus_follows_mouse yes|no +focus_follows_mouse yes -# Scratchpad -# Make the currently focused window a scratchpad -bindsym $mod+Shift+minus move scratchpad -# Show the first scratchpad window -bindsym $mod+minus scratchpad show +#------ -# move focused container to workspace -bindsym $mod+Shift+1 move container to workspace $ws1 -bindsym $mod+Shift+2 move container to workspace $ws2 -bindsym $mod+Shift+3 move container to workspace $ws3 -bindsym $mod+Shift+4 move container to workspace $ws4 -bindsym $mod+Shift+5 move container to workspace $ws5 -bindsym $mod+Shift+6 move container to workspace $ws6 -bindsym $mod+Shift+7 move container to workspace $ws7 -bindsym $mod+Shift+8 move container to workspace $ws8 -bindsym $mod+Shift+9 move container to workspace $ws9 -bindsym $mod+Shift+0 move container to workspace $ws10 -bindsym $mod+Shift+F1 move container to workspace $ws11 -bindsym $mod+Shift+F2 move container to workspace $ws12 -bindsym $mod+Shift+F3 move container to workspace $ws13 -bindsym $mod+Shift+F4 move container to workspace $ws14 -bindsym $mod+Shift+F5 move container to workspace $ws15 -bindsym $mod+Shift+F6 move container to workspace $ws16 -bindsym $mod+Shift+F7 move container to workspace $ws17 -bindsym $mod+Shift+F8 move container to workspace $ws18 -bindsym $mod+Shift+F9 move container to workspace $ws19 -bindsym $mod+Shift+F10 move container to workspace $ws20 +## Mouse warping +## +## By default, when switching focus to a window on a different output +## (e.g. focusing a window on workspace 3 on output VGA-1, coming from workspace 2 on LVDS-1), +## the mouse cursor is warped to the center of that window. +## +## With the `mouse_warping` option, you can control when the mouse cursor should be warped. +## `none` disables warping entirely, whereas `output` is the default behavior described above. +## +## Syntax: mouse_warping output|none +mouse_warping none -# reload the configuration file -bindsym $mod+Shift+c reload -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" -# - #resize window (you can also use the mouse for that) - mode "resize" { - # These bindings trigger as soon as you enter the resize mode +#------ - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym j resize shrink width 10 px or 10 ppt - bindsym k resize grow height 10 px or 10 ppt - bindsym l resize shrink height 10 px or 10 ppt - bindsym semicolon resize grow width 10 px or 10 ppt +## Popups during fullscreen mode +## +## When you are in fullscreen mode, some applications still open popup windows (take Xpdf for example). +## This is because these applications might not be aware that they are in fullscreen mode +## (they do not check the corresponding hint). +## There are three things which are possible to do in this situation. +## +## Syntax: popup_during_fullscreen smart|ignore|leave_fullscreen +popup_during_fullscreen smart - # same bindings, but for the arrow keys - bindsym Left resize shrink width 10 px or 10 ppt - bindsym Down resize grow height 10 px or 10 ppt - bindsym Up resize shrink height 10 px or 10 ppt - bindsym Right resize grow width 10 px or 10 ppt +#------ - # back to normal: Enter or Escape or $mod+r - bindsym Return mode "default" - bindsym Escape mode "default" - bindsym $mod+r mode "default" - } -# -# Supposed to kill with center button -bindsym --release button2 killa +## Focus wrapping +## +## By default, when in a container with several windows or child containers, +## the opposite window will be focused when trying to move the focus over the edge of +## a container (and there are no other containers in that direction) — the focus wraps. +## +## Syntax: focus_wrapping yes|no|force|workspace +# Disable focus wrapping +#focus_wrapping no +# Force focus wrapping +#focus_wrapping force -# Custom config window -for_window [class="vlc"] floating enable -for_window [class="feh"] floating enable +#------ -# Assign to desktop -assign [class="Firefox"] 1 -assign [class="KeePass"] 3 -assign [class="Clementine"] 8 -assign [class="Telegram"] 9 -assign [class="Mailspring"] 7 -assign [class="MineTime"] 7 +## Forcing Xinerama +## +## As explained in-depth in https://i3wm.org/docs/multi-monitor.html, some X11 video +## drivers (especially the nVidia binary driver) only provide support for Xinerama +## instead of RandR. In such a situation, i3 must be told to use the inferior Xinerama +## API explicitly and therefore don’t provide support for reconfiguring your screens +## on the fly (they are read only once on startup and that’s it). +## +## Syntax: force_xinerama yes|no +#force_xinerama yes -#bindsym $mod+Return mode "resize" +#------ -# Workspace config -#workspace 1 output DisplayPort-2 +## Automatic back-and-forth when switching to the current workspace +## +## This configuration directive enables automatic `workspace back_and_forth` +## when switching to the workspace that is currently focused. +## +## Syntax: workspace_auto_back_and_forth yes|no +workspace_auto_back_and_forth yes -# i3 bar configuration -# ---------------------------------------------------------------------------- +#------ -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) -bar { - # status_command i3status -- - status_command py3status +## Delaying urgency hint reset on workspace change +## +## If an application on another workspace sets an urgency hint, switching to this +## workspace might lead to immediate focus of the application, which also means the +## window decoration color would be immediately reset to `client.focused`. +## This might make it unnecessarily hard to tell which window originally raised the event. +## +## In order to prevent this, you can tell i3 to delay resetting the urgency state by +## a certain time using the `force_display_urgency_hint` directive. +## Setting the value to 0 disables this feature. The default is 500ms. +## +## Syntax: force_display_urgency_hint ms +force_display_urgency_hint 500 ms - position top - tray_output DisplayPort-2 +#------ - colors { - background #000000 - statusline #a000ff - separator #aaaaaa +## Focus on window activation +## +## If a window is activated, e.g., via `google-chrome www.google.com`, it may request to take focus. +## Since this might not be preferable, different reactions can be configured. +## +## Note that this might not affect windows that are being opened. +## To prevent new windows from being focused. +## +## Syntax: focus_on_window_activation smart|urgent|focus|none +focus_on_window_activation smart - # Default conf - # focused_workspace #4c7899 #285577 #ffffff - focused_workspace #ffffff #888888 #000000 - active_workspace #888888 #444444 #ffffff - inactive_workspace #888888 #000000 #a000ff - urgent_workspace #2f343a #600099 #ffffff - binding_mode #2f343a #600099 #ffffff - } +#------ - separator_symbol "ʃ" - #separator_symbol "❰" - #separator_symbol "❱" - #separator_symbol " ▷ " - #separator_symbol " ∠ " - #separator_symbol "|" - #separator_symbol "ǁ" +## Drawing marks on window decoration +## +## If activated, marks on windows are drawn in their window decoration. +## However, any mark starting with an underscore in its name (_) will not be drawn +## even if this option is activated. +## +## The default for this option is yes. +## +## Syntax: show_marks yes|no +show_marks yes - strip_workspace_name no - strip_workspace_numbers yes +#------ - binding_mode_indicator no -} +## Tiling drag +## +## You can configure how to initiate the tiling drag feature. +## +## Syntax: +#tiling_drag off +#tiling_drag modifier|titlebar [modifier|titlebar] +tiling_drag modifier titlebar + +##-- Autostart --------------------------------- + +## Automatically starting applications on i3 startup +## +## By using the `exec` keyword outside a keybinding, you can configure which commands +## will be performed by i3 on initial startup. `exec` commands will not run when +## restarting i3, if you need a command to run also when restarting i3 you should +## use the `exec_always` keyword. These commands will be run in order. +## +## Syntax: +#exec [--no-startup-id] +#exec_always [--no-startup-id] +exec_always --no-startup-id ~/.config/i3/scripts/i3_autostart + +## The --no-startup-id parameter disables startup-notification support for this particular exec command. +## With startup-notification, i3 can make sure that a window appears on the workspace on which you used the exec command. diff --git a/config/i3/config.d/01_theme.conf b/config/i3/config.d/01_theme.conf new file mode 100644 index 0000000..6b34186 --- /dev/null +++ b/config/i3/config.d/01_theme.conf @@ -0,0 +1,91 @@ +## Copyright (C) 2020-2023 Aditya Shakya +## +## Theme + +##-- Theme Variables --------------------- + +#~ Fonts +set $i3_fonts JetBrainsMono Nerd Font 8 + +#~ Border +set $i3_border_size 1 +set $i3_border_style pixel + +#~ Gaps +set $i3_gaps_inner 15 +set $i3_gaps_outer 0 +set $i3_gaps_smart off + +#~ Colors +set $i3_cl_col_bg #282828 +set $i3_cl_col_fg #ebdbb2 +set $i3_cl_col_in #98971a +set $i3_cl_col_afoc #ffc86a +set $i3_cl_col_ifoc #458588 +set $i3_cl_col_ufoc #353535 +set $i3_cl_col_urgt #b16286 +set $i3_cl_col_phol #282828 + +##-- Fonts (Global) ---------------------- + +## i3 has support for both X core fonts and FreeType fonts (through Pango) to render window titles. +## To generate an X core font description, you can use `xfontsel` +#font +#font pango: [