resolve conflicts

This commit is contained in:
JEEVITHA KANNAN K S 2024-10-26 08:26:28 +05:30
commit e8ceb48734
No known key found for this signature in database
GPG Key ID: 5904C34A2F7CE333
14 changed files with 71 additions and 33 deletions

View File

@ -16,6 +16,7 @@ cd linutil
``` ```
## 3. Make your changes ## 3. Make your changes
- **Edit the files you want to change**: Make your changes to the relevant files. - **Edit the files you want to change**: Make your changes to the relevant files.
- **Test your changes**: Run `cargo run` to test your modifications in a local environment and ensure everything works as expected. - **Test your changes**: Run `cargo run` to test your modifications in a local environment and ensure everything works as expected.
@ -60,6 +61,7 @@ cd linutil
## 11. Documentation ## 11. Documentation
- **Update the documentation**: If your change affects the functionality, please update the relevant documentation files to reflect this. - **Update the documentation**: If your change affects the functionality, please update the relevant documentation files to reflect this.
- **Automatic generation**: If you decide to add functionality through a new shell script, make sure to fill out all fields in `tab_data.toml` and run `cargo xtask docgen`.
## 12. License ## 12. License

19
.github/release.yml vendored
View File

@ -1,20 +1,23 @@
changelog: changelog:
categories: categories:
- title: '🚀 Features' - title: '🚀 Features'
labels: label: 'enhancement'
- 'feature'
- 'enhancement'
- title: '🐛 Bug Fixes' - title: '🐛 Bug Fixes'
labels: label: 'bug'
- 'fix' - title: '⚙️ Refactoring'
- 'bugfix' label: 'refactor'
- 'bug' - title: '🧩 UI/UX'
label: 'UI/UX'
- title: '📚 Documentation' - title: '📚 Documentation'
label: 'documentation' label: 'documentation'
- title: '🔒 Security' - title: '🔒 Security'
label: 'security' label: 'security'
- title: '🧰 GitHub Actions' - title: '🧰 GitHub Actions'
label: 'github actions' label: 'github_actions'
- title: '🦀 Rust'
label: 'rust'
- title: '📃 Scripting'
label: 'script'
exclude: exclude:
labels: labels:
- 'skip-changelog' - 'skip-changelog'

View File

@ -22,7 +22,7 @@ jobs:
- name: Copy Contributing Guidelines - name: Copy Contributing Guidelines
run: | run: |
echo "<!-- THIS FILE IS GENERATED AUTOMATICALLY. EDIT .github/CONTRIBUTING.md -->\n\n$(cat .github/CONTRIBUTING.md)" > 'docs/contributing.md' echo -e "<!-- THIS FILE IS GENERATED AUTOMATICALLY. EDIT .github/CONTRIBUTING.md -->\n\n$(cat .github/CONTRIBUTING.md)" > 'docs/contributing.md'
- uses: stefanzweifel/git-auto-commit-action@v5 - uses: stefanzweifel/git-auto-commit-action@v5
with: with:

View File

@ -35,10 +35,10 @@ installLinutil() {
printf "%b\n" "${YELLOW}Installing rustup...${RC}" printf "%b\n" "${YELLOW}Installing rustup...${RC}"
case "$PACKAGER" in case "$PACKAGER" in
pacman) pacman)
elevated_execution "$PACKAGER" -S --needed --noconfirm rustup elevated_execution "$PACKAGER" -S --needed --noconfirm curl rustup man-db
;; ;;
dnf) dnf)
elevated_execution "$PACKAGER" install -y rustup elevated_execution "$PACKAGER" install -y curl rustup man-pages man-db man
;; ;;
zypper) zypper)
elevated_execution "$PACKAGER" install -n curl gcc make elevated_execution "$PACKAGER" install -n curl gcc make
@ -54,12 +54,23 @@ installLinutil() {
rustup default stable rustup default stable
cargo install --force linutil_tui cargo install --force linutil_tui
printf "%b\n" "${GREEN}Installed successfully.${RC}" printf "%b\n" "${GREEN}Installed successfully.${RC}"
installExtra
;; ;;
*) printf "%b\n" "${RED}Linutil not installed.${RC}" ;; *) printf "%b\n" "${RED}Linutil not installed.${RC}" ;;
esac esac
esac esac
} }
installExtra() {
printf "%b\n" "${YELLOW}Installing the manpage...${RC}"
"$ESCALATION_TOOL" mkdir -p /usr/share/man/man1
curl 'https://raw.githubusercontent.com/ChrisTitusTech/linutil/refs/heads/main/man/linutil.1' | "$ESCALATION_TOOL" tee '/usr/share/man/man1/linutil.1' > /dev/null
printf "%b\n" "${YELLOW}Creating a Desktop Entry...${RC}"
"$ESCALATION_TOOL" mkdir -p /usr/share/applications
curl 'https://raw.githubusercontent.com/ChrisTitusTech/linutil/refs/heads/main/linutil.desktop' | "$ESCALATION_TOOL" tee /usr/share/applications/linutil.desktop > /dev/null
printf "%b\n" "${GREEN}Done.${RC}"
}
checkEnv checkEnv
checkEscalationTool checkEscalationTool
checkAURHelper checkAURHelper

23
core/tabs/system-setup/system-cleanup.sh Normal file → Executable file
View File

@ -26,16 +26,21 @@ cleanup_system() {
elevated_execution "$PACKAGER" -Rns $(pacman -Qtdq) --noconfirm > /dev/null 2>&1 elevated_execution "$PACKAGER" -Rns $(pacman -Qtdq) --noconfirm > /dev/null 2>&1
;; ;;
*) *)
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}" printf "%b\n" "${RED}Unsupported package manager: ${PACKAGER}. Skipping.${RC}"
return 1
;; ;;
esac esac
} }
common_cleanup() { common_cleanup() {
elevated_execution find /var/tmp -type f -atime +5 -delete if [ -d /var/tmp ]; then
elevated_execution find /tmp -type f -atime +5 -delete elevated_execution find /var/tmp -type f -atime +5 -delete
elevated_execution find /var/log -type f -name "*.log" -exec truncate -s 0 {} \; fi
if [ -d /tmp ]; then
elevated_execution find /tmp -type f -atime +5 -delete
fi
if [ -d /var/log ]; then
elevated_execution find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;
fi
elevated_execution journalctl --vacuum-time=3d elevated_execution journalctl --vacuum-time=3d
} }
@ -45,8 +50,12 @@ clean_data() {
case $clean_response in case $clean_response in
y|Y) y|Y)
printf "%b\n" "${YELLOW}Cleaning up old cache files and emptying trash...${RC}" printf "%b\n" "${YELLOW}Cleaning up old cache files and emptying trash...${RC}"
find "$HOME/.cache/" -type f -atime +5 -delete if [ -d "$HOME/.cache" ]; then
find "$HOME/.local/share/Trash" -mindepth 1 -delete find "$HOME/.cache/" -type f -atime +5 -delete
fi
if [ -d "$HOME/.local/share/Trash" ]; then
find "$HOME/.local/share/Trash" -mindepth 1 -delete
fi
printf "%b\n" "${GREEN}Cache and trash cleanup completed.${RC}" printf "%b\n" "${GREEN}Cache and trash cleanup completed.${RC}"
;; ;;
*) *)

View File

@ -13,7 +13,7 @@ change_orientation() {
printf "%b\n" "${YELLOW}=========================================${RC}" printf "%b\n" "${YELLOW}=========================================${RC}"
printf "%b\n" "${YELLOW} Change Monitor Orientation${RC}" printf "%b\n" "${YELLOW} Change Monitor Orientation${RC}"
printf "%b\n" "${YELLOW}=========================================${RC}" printf "%b\n" "${YELLOW}=========================================${RC}"
printf "%b" "${YELLOW}Choose a monitor to configure: ${RC}" printf "%b\n" "${YELLOW}Choose a monitor to configure: ${RC}"
i=1 i=1
for monitor in $monitor_array; do for monitor in $monitor_array; do
printf "%b\n" "$i. ${GREEN}$monitor${RC}" printf "%b\n" "$i. ${GREEN}$monitor${RC}"

View File

@ -13,7 +13,7 @@ disable_monitor() {
printf "%b\n" "${YELLOW}=========================================${RC}" printf "%b\n" "${YELLOW}=========================================${RC}"
printf "%b\n" "${YELLOW} Disable Monitor${RC}" printf "%b\n" "${YELLOW} Disable Monitor${RC}"
printf "%b\n" "${YELLOW}=========================================${RC}" printf "%b\n" "${YELLOW}=========================================${RC}"
printf "%b" "Choose a monitor to disable: " printf "%b\n" "Choose a monitor to disable: "
i=1 i=1
for monitor in $monitor_array; do for monitor in $monitor_array; do
printf "%b\n" "$i. ${GREEN}$monitor${RC}" printf "%b\n" "$i. ${GREEN}$monitor${RC}"

View File

@ -13,7 +13,7 @@ enable_monitor() {
printf "%b\n" "${YELLOW}=========================================${RC}" printf "%b\n" "${YELLOW}=========================================${RC}"
printf "%b\n" "${YELLOW} Enable Monitor${RC}" printf "%b\n" "${YELLOW} Enable Monitor${RC}"
printf "%b\n" "${YELLOW}=========================================${RC}" printf "%b\n" "${YELLOW}=========================================${RC}"
printf "%b" "${YELLOW}Choose a monitor to enable: ${RC}" printf "%b\n" "${YELLOW}Choose a monitor to enable: ${RC}"
i=1 i=1
for monitor in $monitor_array; do for monitor in $monitor_array; do

View File

@ -1,6 +1,6 @@
#!/bin/sh -e #!/bin/sh -e
. ./utility_functions.sh . ../utility_functions.sh
. ../../common-script.sh . ../../common-script.sh

View File

@ -13,10 +13,10 @@ manage_arrangement() {
printf "%b\n" "${YELLOW}=========================================${RC}" printf "%b\n" "${YELLOW}=========================================${RC}"
printf "%b\n" "${YELLOW} Manage Monitor Arrangement${RC}" printf "%b\n" "${YELLOW} Manage Monitor Arrangement${RC}"
printf "%b\n" "${YELLOW}=========================================${RC}" printf "%b\n" "${YELLOW}=========================================${RC}"
printf "%b" "${YELLOW}Choose the monitor to arrange: ${RC}" printf "%b\n" "${YELLOW}Choose the monitor to arrange: ${RC}"
i=1 i=1
for monitor in $monitor_array; do for monitor in $monitor_array; do
printf "%b\n" "$i. ${YELLOW}$monitor${RC}" printf "%b\n" "$i. ${GREEN}$monitor${RC}"
i=$((i + 1)) i=$((i + 1))
done done

View File

@ -16,7 +16,7 @@ set_primary_monitor() {
printf "%b\n" "${YELLOW}Choose a monitor to set as primary:${RC}" printf "%b\n" "${YELLOW}Choose a monitor to set as primary:${RC}"
i=1 i=1
for monitor in $monitor_array; do for monitor in $monitor_array; do
printf "%b\n" "$i. ${YELLOW}$monitor${RC}" printf "%b\n" "$i. ${GREEN}$monitor${RC}"
i=$((i + 1)) i=$((i + 1))
done done

View File

@ -1,4 +1,6 @@
<!-- THIS FILE IS GENERATED AUTOMATICALLY. EDIT .github/CONTRIBUTING.md -->\n\n# Contributing Guidelines for Linutil <!-- THIS FILE IS GENERATED AUTOMATICALLY. EDIT .github/CONTRIBUTING.md -->
# Contributing Guidelines for Linutil
Thank you for considering contributing to Linutil! We appreciate your effort in helping improve this project. To ensure that your contributions align with the goals and quality standards of Linutil, please follow these guidelines: Thank you for considering contributing to Linutil! We appreciate your effort in helping improve this project. To ensure that your contributions align with the goals and quality standards of Linutil, please follow these guidelines:
@ -16,6 +18,7 @@ cd linutil
``` ```
## 3. Make your changes ## 3. Make your changes
- **Edit the files you want to change**: Make your changes to the relevant files. - **Edit the files you want to change**: Make your changes to the relevant files.
- **Test your changes**: Run `cargo run` to test your modifications in a local environment and ensure everything works as expected. - **Test your changes**: Run `cargo run` to test your modifications in a local environment and ensure everything works as expected.
@ -60,6 +63,7 @@ cd linutil
## 11. Documentation ## 11. Documentation
- **Update the documentation**: If your change affects the functionality, please update the relevant documentation files to reflect this. - **Update the documentation**: If your change affects the functionality, please update the relevant documentation files to reflect this.
- **Automatic generation**: If you decide to add functionality through a new shell script, make sure to fill out all fields in `tab_data.toml` and run `cargo xtask docgen`.
## 12. License ## 12. License

View File

@ -1,5 +1,5 @@
use crate::{state::ListEntry, theme::Theme}; use crate::{state::ListEntry, theme::Theme};
use crossterm::event::{KeyCode, KeyEvent}; use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
use ego_tree::NodeId; use ego_tree::NodeId;
use linutil_core::Tab; use linutil_core::Tab;
use ratatui::{ use ratatui::{
@ -116,21 +116,27 @@ impl Filter {
pub fn handle_key(&mut self, event: &KeyEvent) -> SearchAction { pub fn handle_key(&mut self, event: &KeyEvent) -> SearchAction {
//Insert user input into the search bar //Insert user input into the search bar
match event.code { match event.code {
KeyCode::Char('c') if event.modifiers.contains(KeyModifiers::CONTROL) => {
return self.exit_search()
}
KeyCode::Char(c) => self.insert_char(c), KeyCode::Char(c) => self.insert_char(c),
KeyCode::Backspace => self.remove_previous(), KeyCode::Backspace => self.remove_previous(),
KeyCode::Delete => self.remove_next(), KeyCode::Delete => self.remove_next(),
KeyCode::Left => return self.cursor_left(), KeyCode::Left => return self.cursor_left(),
KeyCode::Right => return self.cursor_right(), KeyCode::Right => return self.cursor_right(),
KeyCode::Esc => {
self.input_position = 0;
self.search_input.clear();
return SearchAction::Exit;
}
KeyCode::Enter => return SearchAction::Exit, KeyCode::Enter => return SearchAction::Exit,
KeyCode::Esc => return self.exit_search(),
_ => return SearchAction::None, _ => return SearchAction::None,
}; };
SearchAction::Update SearchAction::Update
} }
fn exit_search(&mut self) -> SearchAction {
self.input_position = 0;
self.search_input.clear();
SearchAction::Exit
}
fn cursor_left(&mut self) -> SearchAction { fn cursor_left(&mut self) -> SearchAction {
self.input_position = self.input_position.saturating_sub(1); self.input_position = self.input_position.saturating_sub(1);
SearchAction::None SearchAction::None

View File

@ -119,7 +119,10 @@ impl AppState {
match self.focus { match self.focus {
Focus::Search => ( Focus::Search => (
"Search bar", "Search bar",
Box::new([Shortcut::new("Finish search", ["Enter"])]), Box::new([
Shortcut::new("Abort search", ["Esc", "CTRL-c"]),
Shortcut::new("Search", ["Enter"]),
]),
), ),
Focus::List => { Focus::List => {