Add i3, i3status and rofi configs.
This commit is contained in:
		
							parent
							
								
									b5b389df3e
								
							
						
					
					
						commit
						719c3eb09f
					
				| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -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"
 | 
			
		||||
| 
						 | 
				
			
			@ -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"
 | 
			
		||||
| 
						 | 
				
			
			@ -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"
 | 
			
		||||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue