mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2024-12-25 12:44:35 +00:00
Add some custom scripts
This commit is contained in:
parent
edc7a37a1e
commit
63c6f643a9
54
home/.local/scripts/emoji-font-setup.sh
Executable file
54
home/.local/scripts/emoji-font-setup.sh
Executable file
|
@ -0,0 +1,54 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
if [[ $(id -u) -ne 0 ]] ; then echo "Please run as root" ; exit 1 ; fi
|
||||
|
||||
echo "Setting up Noto Emoji font..."
|
||||
# Install noto-fonts-emoji repository as the basic emoji font
|
||||
pacman -S noto-fonts-emoji --needed
|
||||
# Install powerline-fonts for powerline statusline
|
||||
pacman -S powerline-fonts --needed
|
||||
echo "Font packages installed, setting up font-config"
|
||||
# Make sure noto emojis are preferred font /etc/fonts/local.conf
|
||||
# another way to do this would be to manually figure out the number and use /etc/fonts/conf.d/01-notosans.conf
|
||||
# note that the `01` might be too agressive and override other fonts, it is therefore easier to just use `local.conf`
|
||||
# if you still want to use the manual numbered representation, make sure to store the file into /etc/fonts/conf.avail/XX-notosans.conf
|
||||
# from which you will then make a symlink pointing to /etc/fonts/conf.d (same name)
|
||||
echo '<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Noto Sans</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
<family>Noto Emoji</family>
|
||||
<family>DejaVu Sans</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Noto Serif</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
<family>Noto Emoji</family>
|
||||
<family>DejaVu Serif</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Noto Mono</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
<family>Noto Emoji</family>
|
||||
<family>DejaVu Sans Mono</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
||||
|
||||
' > /etc/fonts/local.conf
|
||||
# Update font cache
|
||||
fc-cache -f
|
||||
echo "Noto Emoji Font installed! You will need to restart application to see changes."
|
||||
|
7
home/.local/scripts/fixcam.sh
Executable file
7
home/.local/scripts/fixcam.sh
Executable file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Fix camera autofocus and exposure
|
||||
v4l2-ctl -d /dev/video0 --set-ctrl=focus_auto=0
|
||||
v4l2-ctl -d /dev/video0 --set-ctrl=exposure_auto=3
|
||||
v4l2-ctl -d /dev/video0 --set-ctrl=sharpness=150
|
||||
v4l2-ctl -d /dev/video0 --set-ctrl=exposure_auto_priority=0
|
21
home/.local/scripts/install_virtmic.sh
Executable file
21
home/.local/scripts/install_virtmic.sh
Executable file
|
@ -0,0 +1,21 @@
|
|||
#!/bin/bash
|
||||
|
||||
# This script will create a virtual microphone for PulseAudio to use and set it as the default device.
|
||||
|
||||
# Load the "module-pipe-source" module to read audio data from a FIFO special file.
|
||||
echo "Creating virtual microphone."
|
||||
pactl load-module module-pipe-source source_name=virtmic file=$HOME/.config/pulse/audioFiles/virtmic format=s16le rate=16000 channels=1
|
||||
|
||||
# Set the virtmic as the default source device.
|
||||
echo "Set the virtual microphone as the default device."
|
||||
pactl set-default-source virtmic
|
||||
|
||||
# Create a file that will set the default source device to virtmic for all
|
||||
PulseAudio client applications.
|
||||
echo "default-source = virtmic" > $HOME/.config/pulse/client.conf
|
||||
|
||||
# Write the audio file to the named pipe virtmic. This will block until the named pipe is read.
|
||||
echo "Writing audio file to virtual microphone."
|
||||
while true; do
|
||||
ffmpeg -re -i input.wav -f s16le -ar 16000 -ac 1 - > $HOME/.config/pulse/audioFiles/virtmic
|
||||
done
|
7
home/.local/scripts/uninstall_virtmic.sh
Executable file
7
home/.local/scripts/uninstall_virtmic.sh
Executable file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Uninstall the virtual microphone.
|
||||
|
||||
pactl unload-module module-pipe-source
|
||||
rm $HOME/.config/pulse/client.conf
|
||||
|
BIN
home/.local/scripts/usbreset
Executable file
BIN
home/.local/scripts/usbreset
Executable file
Binary file not shown.
40
home/.local/scripts/usbreset.c
Normal file
40
home/.local/scripts/usbreset.c
Normal file
|
@ -0,0 +1,40 @@
|
|||
/* usbreset -- send a USB port reset to a USB device */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
#include <linux/usbdevice_fs.h>
|
||||
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
const char *filename;
|
||||
int fd;
|
||||
int rc;
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf(stderr, "Usage: usbreset device-filename\n");
|
||||
return 1;
|
||||
}
|
||||
filename = argv[1];
|
||||
|
||||
fd = open(filename, O_WRONLY);
|
||||
if (fd < 0) {
|
||||
perror("Error opening output file");
|
||||
return 1;
|
||||
}
|
||||
|
||||
printf("Resetting USB device %s\n", filename);
|
||||
rc = ioctl(fd, USBDEVFS_RESET, 0);
|
||||
if (rc < 0) {
|
||||
perror("Error in ioctl");
|
||||
return 1;
|
||||
}
|
||||
printf("Reset successful\n");
|
||||
|
||||
close(fd);
|
||||
return 0;
|
||||
}
|
Loading…
Reference in a new issue