Skip to content

Commit 70a8232

Browse files
committed
feat: major update with browser selection, fish enhancements, and dotfiles sync
- feat: add browser selection during setup (zen-browser/vivaldi choice) - feat: add get_browser_choice function to prompt user for browser selection - feat: add configure_browser function to update dotfiles based on selection - feat: add zen-browser to AUR packages in packages.json - feat: integrate browser package installation into install functions - feat: add multiple new fish shell functions (aur-push, cargo-dev, git-prune, git-files, gt, compress, vpn-replace, treload, source-activate-py, source-fish) - feat: add fish shell completion for setup command - feat: add fish_frozen_theme configuration - feat: add fish_variables file for persistent variables - feat: add five new cava shader files (bar_spectrum, northern_lights, pass_through, spectrogram, winamp_line_style_spectrum) - feat: add zellij sysmon layout for system monitoring - feat: add hyprland sources_specific directory with change_wallpaper.conf and monitors.conf - change: update setup.sh to add browser selection prompt, configure_browser function, and conditional package installation based on browser choice - change: update packages.json to add zen-browser to AUR packages section with description and reorganize browser packages - change: update app_variables.conf example to set zen-browser as default with vivaldi as commented alternative and improve variable organization - change: update windows_and_workspaces.conf example to use zen browser class for workspace 2, add alternative browser rules, and improve window rule organization - change: update hyprland.conf to adjust compositor settings, pyprland.toml for plugin configuration, autostart.conf to use $browser variable, keybindings.conf for improved shortcuts, input.conf for device settings, and environment_variables.conf for environment setup - change: update change_wallpaper.sh to use sources_specific directory, improve hyprpaper IPC handling with retry logic, add better error handling, and support hyprpaper 0.8.0+ format - change: update Startup_check.sh, float_calendar.sh, notes.sh, toggle_floating.sh, toggle_waybar.sh, fix-dolphin.sh, and hyprsunset.sh with improved error handling and functionality - change: update waybar config.jsonc to reorganize modules (add custom/lmstudio, custom/razerbattery, custom/vpn, custom/input-method), add signal handling (on-sigusr2), update ignore-list for alacritty, and improve module configuration - change: update waybar brightness.sh to improve backlight control, clipboard.sh for better clipboard handling, and weather.sh for weather display improvements - change: update waybar style.css to enhance visual theming, improve module styling, and add better color schemes - change: update fish 01-env.fish to add LC_ALL setting, expand PATH with comprehensive system and user paths, change default terminal to alacritty and browser to zen - change: update fish 02-aliases.fish with new aliases, 04-apps.fish for application shortcuts, and config.fish for shell initialization improvements - change: update fish_prompt.fish with enhanced prompt display, fish_user_key_bindings.fish for key binding improvements, get_os.fish for better OS detection, vim.fish for editor integration, and other functions with bug fixes and enhancements - change: update zellij config.kdl to add new panes, improve layout configuration, enhance key bindings, and add better session management - change: update btop config to improve resource display formatting, enhance color schemes, and optimize performance monitoring settings - change: update kitty config to enhance terminal appearance, improve font rendering, add better color schemes, and optimize performance settings - change: update swaync config.json to improve notification layout and style.css to enhance notification theming and visual appearance - change: update dolphinrc to improve file manager view settings, default behaviors, and user interface preferences - change: update xdg-desktop-portal hyprland-portals.conf to improve portal configuration and file picker settings - change: update README.md to document browser selection feature, update package lists, improve examples with $browser variable usage, and enhance overall documentation - change: update src/main.rs to improve Rust code structure, add better error handling, and enhance functionality - change: update .gitignore to exclude dev/COMMIT directory from version control
1 parent 1b283f2 commit 70a8232

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+2110
-363
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,6 @@ RELEASE.md
1717
# Added by cargo
1818
/target
1919

20-
Documents/*
20+
Documents/*
21+
22+
dev/COMMIT

README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ It sets up the following Components/Apps:
9696
- Screenshot Tool (Hyprshot with Satty)
9797
- Calculator (Qalculate-gtk)
9898
- Firewall (Firewalld)
99-
- Browser (Vivaldi)
99+
- Browser (User-selectable: zen-browser or Vivaldi)
100100

101101
**CLI Applications**
102102
- Custom Stow (Stow - Custom Script for easy Config Management)
@@ -308,9 +308,10 @@ cd ~/Hyprland-Simple-Setup
308308
- fish (Shell)
309309
- konsole (KDE terminal)
310310

311-
**Browsers**
312-
- vivaldi
313-
- vivaldi-ffmpeg-codecs
311+
**Browsers** (User-selectable during setup)
312+
- zen-browser (AUR, default)
313+
- vivaldi (pacman)
314+
- vivaldi-ffmpeg-codecs (pacman, required for Vivaldi)
314315

315316
**System Integration**
316317
- xdg-desktop-portal-hyprland
@@ -473,7 +474,8 @@ To run the script (Default Key Shortcut: Super(mainMod) + W):
473474
# Example window rules
474475
windowrulev2 = float,class:^(org\.pulseaudio\.pavucontrol)$
475476
windowrulev2 = center,class:^(org\.pulseaudio\.pavucontrol)$
476-
windowrule = workspace 2, ^(vivaldi-stable)$
477+
windowrule = workspace 2 silent, match:class zen
478+
# Alternative: windowrule = workspace 2 silent, match:class vivaldi-stable
477479
windowrule = opacity 0.95, ^(Code)$
478480
```
479481

@@ -493,7 +495,7 @@ To run the script (Default Key Shortcut: Super(mainMod) + W):
493495
- Add or modify autostart programs in `~/.config/hypr/sources/exec_once.conf`:
494496
```bash
495497
# User applications
496-
exec-once = vivaldi-stable
498+
exec-once = [workspace 2 silent] $browser
497499
exec-once = [workspace 3] code
498500
```
499501

dotfiles/.config/btop/btop.conf

Lines changed: 72 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
#? Config file for btop v. 1.4.0
1+
#? Config file for btop v.1.4.6
22

33
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
44
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
55
color_theme = "/usr/share/btop/themes/onedark.theme"
66

77
#* If the theme set background should be shown, set to False if you want terminal background transparency.
8-
theme_background = False
8+
theme_background = false
99

1010
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
11-
truecolor = True
11+
truecolor = true
1212

1313
#* Set to true to force tty mode regardless if a real tty has been detected or not.
1414
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
15-
force_tty = False
15+
force_tty = false
1616

1717
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
1818
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
@@ -22,10 +22,13 @@ presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:defaul
2222

2323
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
2424
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
25-
vim_keys = False
25+
vim_keys = false
2626

2727
#* Rounded corners on boxes, is ignored if TTY mode is ON.
28-
rounded_corners = True
28+
rounded_corners = true
29+
30+
#* Use terminal synchronized output sequences to reduce flickering on supported terminals.
31+
terminal_sync = true
2932

3033
#* Default symbols to use for graph creation, "braille", "block" or "tty".
3134
#* "braille" offers the highest resolution but might not be included in all fonts.
@@ -50,7 +53,7 @@ graph_symbol_net = "default"
5053
graph_symbol_proc = "default"
5154

5255
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
53-
shown_boxes = "cpu mem net proc"
56+
shown_boxes = "cpu mem net proc gpu0"
5457

5558
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
5659
update_ms = 2000
@@ -60,37 +63,40 @@ update_ms = 2000
6063
proc_sorting = "memory"
6164

6265
#* Reverse sorting order, True or False.
63-
proc_reversed = False
66+
proc_reversed = false
6467

6568
#* Show processes as a tree.
66-
proc_tree = True
69+
proc_tree = true
6770

6871
#* Use the cpu graph colors in the process list.
69-
proc_colors = True
72+
proc_colors = true
7073

7174
#* Use a darkening gradient in the process list.
72-
proc_gradient = True
75+
proc_gradient = true
7376

7477
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
75-
proc_per_core = False
78+
proc_per_core = false
7679

7780
#* Show process memory as bytes instead of percent.
78-
proc_mem_bytes = True
81+
proc_mem_bytes = true
7982

8083
#* Show cpu graph for each process.
81-
proc_cpu_graphs = True
84+
proc_cpu_graphs = true
8285

8386
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
84-
proc_info_smaps = False
87+
proc_info_smaps = false
8588

8689
#* Show proc box on left side of screen instead of right.
87-
proc_left = False
90+
proc_left = false
8891

8992
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
90-
proc_filter_kernel = False
93+
proc_filter_kernel = false
9194

9295
#* In tree-view, always accumulate child process resources in the parent process.
93-
proc_aggregate = False
96+
proc_aggregate = false
97+
98+
#* Should cpu and memory usage display be preserved for dead processes when paused.
99+
keep_dead_proc_usage = false
94100

95101
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
96102
#* Select from a list of detected attributes from the options menu.
@@ -104,25 +110,28 @@ cpu_graph_lower = "Auto"
104110
show_gpu_info = "Auto"
105111

106112
#* Toggles if the lower CPU graph should be inverted.
107-
cpu_invert_lower = True
113+
cpu_invert_lower = true
108114

109115
#* Set to True to completely disable the lower CPU graph.
110-
cpu_single_graph = False
116+
cpu_single_graph = false
111117

112118
#* Show cpu box at bottom of screen instead of top.
113-
cpu_bottom = False
119+
cpu_bottom = false
114120

115121
#* Shows the system uptime in the CPU box.
116-
show_uptime = True
122+
show_uptime = true
123+
124+
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
125+
show_cpu_watts = true
117126

118127
#* Show cpu temperature.
119-
check_temp = True
128+
check_temp = true
120129

121130
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
122131
cpu_sensor = "Auto"
123132

124133
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
125-
show_coretemp = True
134+
show_coretemp = true
126135

127136
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
128137
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
@@ -134,63 +143,66 @@ cpu_core_map = ""
134143
temp_scale = "celsius"
135144

136145
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
137-
base_10_sizes = False
146+
base_10_sizes = false
138147

139148
#* Show CPU frequency.
140-
show_cpu_freq = True
149+
show_cpu_freq = true
150+
151+
#* How to calculate CPU frequency, available values: "first", "range", "lowest", "highest" and "average".
152+
freq_mode = "first"
141153

142154
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
143155
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
144156
clock_format = "%X"
145157

146158
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
147-
background_update = True
159+
background_update = true
148160

149161
#* Custom cpu model name, empty string to disable.
150162
custom_cpu_name = ""
151163

152164
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
153-
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
165+
#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user"
154166
disks_filter = ""
155167

156168
#* Show graphs instead of meters for memory values.
157-
mem_graphs = True
169+
mem_graphs = true
158170

159171
#* Show mem box below net box instead of above.
160-
mem_below_net = False
172+
mem_below_net = false
161173

162174
#* Count ZFS ARC in cached and available memory.
163-
zfs_arc_cached = True
175+
zfs_arc_cached = true
164176

165177
#* If swap memory should be shown in memory box.
166-
show_swap = True
178+
show_swap = true
167179

168180
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
169-
swap_disk = True
181+
swap_disk = true
170182

171183
#* If mem box should be split to also show disks info.
172-
show_disks = True
184+
show_disks = true
173185

174186
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
175-
only_physical = True
187+
only_physical = true
176188

177189
#* Read disks list from /etc/fstab. This also disables only_physical.
178-
use_fstab = True
190+
use_fstab = true
179191

180192
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
181-
zfs_hide_datasets = False
193+
zfs_hide_datasets = false
182194

183195
#* Set to true to show available disk space for privileged users.
184-
disk_free_priv = False
196+
disk_free_priv = false
185197

186198
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
187-
show_io_stat = True
199+
show_io_stat = true
188200

189201
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
190-
io_mode = False
202+
io_mode = false
191203

192204
#* Set to True to show combined read/write io graphs in io mode.
193-
io_graph_combined = False
205+
io_graph_combined = false
194206

195207
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
196208
#* Example: "/mnt/media:100 /:20 /boot:1".
@@ -202,32 +214,44 @@ net_download = 100
202214
net_upload = 100
203215

204216
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
205-
net_auto = True
217+
net_auto = true
206218

207219
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
208-
net_sync = True
220+
net_sync = true
209221

210222
#* Starts with the Network Interface specified here.
211223
net_iface = ""
212224

225+
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
226+
base_10_bitrate = "Auto"
227+
213228
#* Show battery stats in top right if battery is present.
214-
show_battery = True
229+
show_battery = true
215230

216231
#* Which battery to use if multiple are present. "Auto" for auto detection.
217232
selected_battery = "Auto"
218233

219234
#* Show power stats of battery next to charge indicator.
220-
show_battery_watts = True
235+
show_battery_watts = true
221236

222-
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
237+
#* Set loglevel for "~/.local/state/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
223238
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
224239
log_level = "WARNING"
225240

241+
#* Automatically save current settings to config file on exit.
242+
save_config_on_exit = true
243+
226244
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
227-
nvml_measure_pcie_speeds = True
245+
nvml_measure_pcie_speeds = true
246+
247+
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
248+
rsmi_measure_pcie_speeds = true
228249

229250
#* Horizontally mirror the GPU graph.
230-
gpu_mirror_graph = True
251+
gpu_mirror_graph = true
252+
253+
#* Set which GPU vendors to show. Available values are "nvidia amd intel"
254+
shown_gpus = "nvidia amd intel"
231255

232256
#* Custom gpu0 model name, empty string to disable.
233257
custom_gpu_name0 = ""

0 commit comments

Comments
 (0)