-
Notifications
You must be signed in to change notification settings - Fork 0
/
config
158 lines (122 loc) · 5.01 KB
/
config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# General Configuration
set $mod Mod4
font pango:monospace 12
# Autostart
exec_always feh --bg-scale /home/soyed/Pictures/wp.jpeg
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
exec --no-startup-id nm-applet
exec --no-startup-id picom --config ~/.config/picom.conf
# Volume Controls
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
# Window Movement and Management
tiling_drag modifier titlebar
bindsym $mod+Return exec --no-startup-id flatpak run com.raggesilver.BlackBox
bindsym $mod+Shift+q kill
# Use Rofi as the dmenu replacement
bindsym $mod+d exec rofi -show drun
#Focus and Movement
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
# Window Movement
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right
# Define Rofi commands for WiFi and power management
set $rofi_wifi_cmd "nmcli --fields SSID,RATE device wifi list | awk '{print $1 , $2}' | rofi -dmenu -p 'Select network:' -width 5 -lines 5 | awk '{print $1} ' | xargs -I{} nmcli device wifi connect {}"
set $rofi_power_cmd "echo -e 'Shutdown\nReboot\nSuspend' | rofi -dmenu -p 'Power:' | xargs -I{} systemctl {}"
# Keybindings to trigger Rofi with the defined commands
bindsym $mod+Shift+w exec --no-startup-id $rofi_wifi_cmd
bindsym $mod+Shift+p exec --no-startup-id $rofi_power_cmd
# Splitting and Layout
bindsym $mod+h split h
bindsym $mod+v split v
bindsym $mod+f fullscreen toggle
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+Shift+space floating toggle
# Workspaces
set $bg #1e1e2e
set $fg #cdd6f4
set $ws1 "1: "
set $ws2 "2:"
set $ws3 "3: "
set $ws4 "4: "
set $ws5 "5: "
set $ws6 "6: "
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
# Additional Applications
for_window [class="code"] move container to workspace $ws2
for_window [class="Navigator"] move container to workspace $ws3
for_window [class="spotify"] move container to workspace $ws4
# Restart and Exit
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
bindsym --release $mod+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'"
#rb
default_border none
# Resize Mode
mode "resize" {
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
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
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
for_window [class="Firefox"] border none
# Colors
client.focused #212739 #171421 #f0f0f0 #285577
client.focused_inactive #182b32 #252522 #f0f0f0 #0b6e48
client.unfocused #182b32 #252525 #f0f0f0 #222222
client.urgent #212739 #252522 #f0f0f0 #900000
bar {
status_command i3blocks
position top
tray_output none
colors {
background $bg
statusline $fg
focused_workspace $bg $bg #913cde
active_workspace $bg $bg $fg
inactive_workspace $bg $bg $fg
urgent_workspace $bg $bg $fg
}
# Add spacing between blocks
separator_symbol " "
}
# Add gaps between windows
gaps inner 10
bindsym $mod+Shift+x exec i3lock -i /home/soyed/Pictures/lock.png
# Save full-screen screenshot with a specific filename and path
bindsym Print exec bash -c 'gnome-screenshot -f "/home/soyed/Pictures/Screenshots/scht_$(date +%Y-%m-%d_%H-%M-%S).png"'
# Save selected area screenshot with a specific filename and path
bindsym $mod+Shift+s exec bash -c 'import "/home/soyed/Pictures/Screenshots/scht_$(date +%Y-%m-%d_%H-%M-%S).png"'
# Set outer gaps
gaps outer 7
# Set inner gaps (between windows)
gaps inner 8