1
Fork 0

Add i3, i3status and rofi configs.

This commit is contained in:
Bauke 2024-02-24 13:13:53 +01:00
parent b5b389df3e
commit 719c3eb09f
Signed by: Bauke
GPG Key ID: C1C0F29952BCF558
5 changed files with 301 additions and 0 deletions

63
.config/i3/config Normal file
View File

@ -0,0 +1,63 @@
set $mod Mod4
font pango:Hasklig 10
# Run Nitrogen to restore the desktop wallpapers.
exec --no-startup-id nitrogen --restore
# Start the NetworkManager tray applet.
exec --no-startup-id nm-applet
# Use Mouse+$mod to drag floating windows.
floating_modifier $mod
# Disable moving the mouse to the container when switching workspaces.
mouse_warping none
# Define names for default workspaces.
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"
# Assign workspaces to monitors.
workspace $ws1 output HDMI-0
workspace $ws2 output HDMI-0
workspace $ws3 output HDMI-0
workspace $ws4 output HDMI-0
workspace $ws5 output HDMI-0
workspace $ws6 output HDMI-1
workspace $ws7 output HDMI-1
workspace $ws8 output HDMI-1
workspace $ws9 output HDMI-1
workspace $ws10 output HDMI-1
# Assign gaps to specific workspaces.
workspace $ws2 gaps inner 10
workspace $ws3 gaps inner 10
# Configuration for i3bar.
bar {
output primary # Only output to the primary display.
position bottom # Position at the bottom of the screen.
status_command i3status # Use i3status for the status contents.
tray_output primary # Show tray icons on the primary display.
}
# Assign clients to specific workspaces.
## To figure out the class name for a client, use xprop and click on the window.
## Example for Standard Notes: xprop | rg '^WM_CLASS'
## > WM_CLASS(STRING) = "standard notes", "Standard Notes"
## The first string is the instance and the second is the class.
assign [class="tauonmb"] $ws2
assign [class="Standard Notes"] $ws2
assign [class="Transmission-gtk"] $ws3
assign [class="KeePassXC"] $ws3
# Include the keybinds file.
include keybinds.conf

59
.config/i3/keybinds.conf Normal file
View File

@ -0,0 +1,59 @@
# i3 keybinds.
bindsym $mod+f fullscreen toggle
bindsym $mod+r mode "resize"
bindsym $mod+Shift+q kill
bindsym $mod+Shift+c reload
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Do you want to exit?' -B 'Yes' 'xfce4-session-logout'"
bindsym $mod+Shift+r restart
## Change focus.
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
## Move the focused window.
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
## Split container.
bindsym $mod+h split h
bindsym $mod+v split v
## Change container layout.
bindsym $mod+s layout stacking
bindsym $mod+z layout tabbed
bindsym $mod+e layout toggle split
## Switch to workspace.
bindsym $mod+ampersand workspace number $ws1
bindsym $mod+eacute workspace number $ws2
bindsym $mod+quotedbl workspace number $ws3
bindsym $mod+apostrophe workspace number $ws4
bindsym $mod+parenleft workspace number $ws5
bindsym $mod+section workspace number $ws6
bindsym $mod+egrave workspace number $ws7
bindsym $mod+exclam workspace number $ws8
bindsym $mod+ccedilla workspace number $ws9
bindsym $mod+agrave workspace number $ws10
## Move focused container to workspace.
bindsym $mod+Shift+ampersand move container to workspace number $ws1
bindsym $mod+Shift+eacute move container to workspace number $ws2
bindsym $mod+Shift+quotedbl move container to workspace number $ws3
bindsym $mod+Shift+apostrophe move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+section move container to workspace number $ws6
bindsym $mod+Shift+egrave move container to workspace number $ws7
bindsym $mod+Shift+exclam move container to workspace number $ws8
bindsym $mod+Shift+ccedilla move container to workspace number $ws9
bindsym $mod+Shift+agrave move container to workspace number $ws10
## Keybinds inside resize mode.
mode "resize" {
bindsym Right 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 Left resize grow width 10 px or 10 ppt
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
# Applications.
bindsym $mod+Return exec "kitty"
bindsym $mod+d exec "rofi -show drun"

18
.config/i3status/config Normal file
View File

@ -0,0 +1,18 @@
general {
colors = true
interval = 5
output_format = "i3bar"
}
tztime eu_brussels {
format = "%H:%M"
timezone = "Europe/Brussels"
}
tztime us_central {
format = "%H:%M"
timezone = "US/Central"
}
order += "tztime us_central"
order += "tztime eu_brussels"

17
.config/rofi/config.rasi Normal file
View File

@ -0,0 +1,17 @@
configuration {
font: "Hasklig 12";
modes: "drun,run";
terminal: "kitty";
filebrowser {
directories-first: true;
sorting-method: "name";
}
timeout {
action: "kb-cancel";
delay: 0;
}
}
@theme "theme.rasi"

144
.config/rofi/theme.rasi Normal file
View File

@ -0,0 +1,144 @@
* {
selected-normal-foreground: rgba ( 249, 249, 249, 100 % );
foreground: rgba ( 196, 203, 212, 100 % );
normal-foreground: @foreground;
alternate-normal-background: rgba ( 64, 69, 82, 59 % );
red: rgba ( 220, 50, 47, 100 % );
selected-urgent-foreground: rgba ( 249, 249, 249, 100 % );
blue: rgba ( 38, 139, 210, 100 % );
urgent-foreground: rgba ( 204, 102, 102, 100 % );
alternate-urgent-background: rgba ( 75, 81, 96, 90 % );
active-foreground: rgba ( 101, 172, 255, 100 % );
lightbg: rgba ( 238, 232, 213, 100 % );
selected-active-foreground: rgba ( 249, 249, 249, 100 % );
alternate-active-background: rgba ( 75, 81, 96, 89 % );
background: rgba ( 45, 48, 59, 95 % );
alternate-normal-foreground: @foreground;
normal-background: @background;
lightfg: rgba ( 88, 104, 117, 100 % );
selected-normal-background: rgba ( 64, 132, 214, 100 % );
border-color: rgba ( 124, 131, 137, 100 % );
spacing: 2;
separatorcolor: rgba ( 29, 31, 33, 100 % );
urgent-background: rgba ( 29, 31, 33, 17 % );
selected-urgent-background: rgba ( 165, 66, 66, 100 % );
alternate-urgent-foreground: @urgent-foreground;
background-color: rgba ( 0, 0, 0, 0 % );
alternate-active-foreground: @active-foreground;
active-background: rgba ( 29, 31, 33, 17 % );
selected-active-background: rgba ( 68, 145, 237, 100 % );
}
window {
background-color: @background;
border: 1;
padding: 5;
}
mainbox {
border: 0;
padding: 0;
}
message {
border: 2px 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
textbox {
text-color: @foreground;
}
listview {
fixed-height: 0;
border: 2px 0px 0px ;
border-color: @separatorcolor;
spacing: 2px ;
scrollbar: true;
padding: 2px 0px 0px ;
}
element {
border: 0;
padding: 1px ;
}
element-text {
background-color: inherit;
text-color: inherit;
}
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
scrollbar {
width: 4px ;
border: 0;
handle-color: @normal-foreground;
handle-width: 8px ;
padding: 0;
}
mode-switcher {
border: 2px 0px 0px ;
border-color: @separatorcolor;
}
button {
spacing: 0;
text-color: @normal-foreground;
}
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
entry {
spacing: 0;
text-color: @normal-foreground;
}
prompt {
spacing: 0;
text-color: @normal-foreground;
}
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}