Giter Site home page Giter Site logo

kraxen72 / tint2.dotfiles Goto Github PK

View Code? Open in Web Editor NEW

This project forked from owl4ce/dotfiles

0.0 1.0 0.0 120.97 MB

:rice_scene: Aesthetic OpenboxWM Environment

Home Page: https://youtu.be/GJ2EL9n2U-0

License: GNU General Public License v3.0

Shell 5.03% Python 2.15% Scheme 4.80% Perl 4.03% CSS 31.30% Vim Script 1.26% JavaScript 51.45%

tint2.dotfiles's Introduction

owl4ce/dotfiles

:octocat: Hi there! Thanks for visiting!

owl4ce/dotfiles.minimal

This is my personal configuration for my favorite openbox window manager and some applications too.

I hope you understand everything here. ๐Ÿ˜‰

Here are some details about my setup

  • Window Manager โ€ข Openbox ๐ŸŽจ 4 changable mode!
  • Display Manager โ€ข SLiM ๐ŸŒผ beautiful UI! deprecated
  • Shell โ€ข Zsh ๐Ÿš with oh my zsh framework! optional
  • Terminal โ€ข URxvt, Termite available
  • Openbox Menu โ€ข Obmenu-generator
  • Panel โ€ข Tint2 ๐Ÿง material icon font!
  • Compositor โ€ข Picom ๐Ÿฉ rounded corners!
  • Notify Daemon โ€ข Dunst ๐Ÿƒ minimalism!
  • Application Launcher โ€ข Rofi ๐Ÿš€ blazing fast!
  • File Manager โ€ข Thunar ๐Ÿ”– customized sidebar & icon!
  • GUI & CLI IDE โ€ข Geany, Neovim

๐ŸŽ Changelogs

owl4ce/dotfiles
v3.0
  • Visual Mode:

    • Both modes (minimal) have their own window button styles, margins, sidebar rofi, and dunst layouts.
    • Removed eyecandy tint2 from Joyful Desktop v2
    • Better Tint2 (added temp executor, etc.)
    • Added rotation mode (crossover, except minimal mode.)
  • Major Changes:

    • Removed SLiM sync background, custom slim themes, and unnecessary files/config.
    • All scripts are reproduced all with central variables in one file.
    • Reverse terminal background and foreground (urxvt/termite)
    • Nvim Config - Thanks to @elenapan
    • SLiM Themes (optional) - See here
    • URxvt Font Resizer - See keybinds
    • Included Networkmanager_dmenu
    • Oh My ZSH Theme - Rounded
    • Rofi v1.6.0 Supported
    • New Ncmpcpp UI
    • Neofetch Images
    • New Wallpapers
v3.1
  • Screenshot Script: Rounded corners & Quality
  • Terminal UI improvements, particularly font size
  • Bug fixes and improvements
  • Rounded picom as default
  • New Wallpapers

๐ŸŽ‘ Setup

This is how to install these dotfiles for automatic settings OpenboxWM custom environment.

Introduction of Linux Rice

Please read this and this.

*nixporn

Installation (dependencies)

Please adjust your choice about dependencies below, this is my complete setup as I use single OpenboxWM with multimedia application I use.

Detailed environment

Please refer to wiki/Detailed-Environment.

Debian & Ubuntu (and all based distributions)
$ sudo apt install rsync python psmisc wireless-tools openbox obconf alsa-utils brightnessctl nitrogen dunst tint2 gsimplecal rofi lxappearance qt5ct qt5-style-plugins lxpolkit xautolock rxvt-unicode xclip scrot thunar thunar-archive-plugin thunar-media-tags-plugin thunar-volman ffmpegthumbnailer tumbler w3m w3m-img geany viewnior mpv mpd mpc ncmpcpp pavucontrol parcellite neofetch htop imagemagick ffmpeg playerctl xsettingsd
oh-my-zsh & plugins (optional)
  • $ sudo apt install zsh
  • $ chsh -s `which zsh` # Change default shell to zsh for current user
  • $ sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
  • $ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  • $ git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  • zsh-completions
picom
  • $ sudo apt install libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev libxcb-xinerama0-dev libxcb-glx0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl1-mesa-dev  libpcre2-dev  libevdev-dev uthash-dev libev-dev libx11-xcb-dev
  • $ git clone https://github.com/yshui/picom.git && cd picom/
  • $ git submodule update --init --recursive
  • $ meson --buildtype=release . build
  • $ ninja -C build
  • $ ninja -C build install
obmenu-generator

I haven't tested it yet.

  • $ sudo su
  • echo 'deb http://download.opensuse.org/repositories/home:/Head_on_a_Stick:/obmenu-generator/Debian_10/ /' > /etc/apt/sources.list.d/home:Head_on_a_Stick:obmenu-generator.list
  • wget -nv https://download.opensuse.org/repositories/home:Head_on_a_Stick:obmenu-generator/Debian_10/Release.key -O Release.key
  • apt-key add - < Release.key
  • apt update
  • apt install obmenu-generator libgtk2-perl
  • See Installation from Git


Arch Linux (and all based distributions)

Make sure your AUR Helper is yay.

$ yay -S rsync python psmisc wireless_tools openbox obconf alsa-utils brightnessctl nitrogen dunst tint2 gsimplecal rofi lxappearance qt5ct qt5-styleplugins lxsession xautolock rxvt-unicode-patched xclip scrot thunar thunar-archive-plugin thunar-media-tags-plugin thunar-volman ffmpegthumbnailer tumbler w3m geany viewnior mpv mpd mpc ncmpcpp pavucontrol parcellite neofetch htop picom-git obmenu-generator gtk2-perl imagemagick ffmpeg playerctl xsettingsd
oh-my-zsh & plugins (optional)
  • $ sudo pacman -S zsh zsh-completions
  • $ chsh -s `which zsh` # Change default shell to zsh for current user
  • $ sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
  • $ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  • $ git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

Another Linux Distribution

Customize/port dependencies yourself!
For example:

If it's not there, compile it manually from git source code or from elsewhere.

Optional: betterdiscord, gimp, nano + nano syntax highlighting, neovim, slim, spotify, termite, xfce4-power-manager.

Installation (dotfiles)

Most of .files

You can clone or download it as a zip. After that put all files in the dotfiles folder to user's home directory.

I recommend with rsync

  • $ git clone https://github.com/owl4ce/dotfiles.git && cd dotfiles
  • $ rsync -avxHAXP --exclude '.git*' .* ~/

    -a : all files, with permissions, etc..
    -v : verbose, mention files
    -x : stay on one file system
    -H : preserve hard links (not included with -a)
    -A : preserve ACLs/permissions (not included with -a)
    -X : preserve extended attributes (not included with -a)
    -P : show progress

Icons
  • $ cd ~/.icons && tar -Jxvf Papirus-Custom.tar.xz && tar -Jxvf Papirus-Dark-Custom.tar.xz
  • $ sudo ln -s ~/.icons/Papirus-Custom /usr/share/icons/Papirus-Custom
  • $ sudo ln -s ~/.icons/Papirus-Dark-Custom /usr/share/icons/Papirus-Dark-Custom

    Why I need to link icons to user system resources?
    That's needed by dunst in order to display most of icon from notification that spawned by application.

    Why not just move it directly to user system resources?
    Actually it's up to you, but I recommend sticking to ~/.icons plus link to /usr because I'm using Arch on top of other linux distributions with same homedir. More effective than copying icons to both roots.

Refresh Font Cache
$ fc-cache -rv
Root Privileges with SUID
  • poweroff
  • reboot
  • brightnessctl
  • others if needed
$ sudo chmod u+s `which {poweroff,reboot,brightnessctl}`

For brightnessctl I recommend adding users to video group.

The step you are waiting for

The final step is login into openbox-session, basically login from display manager you use such as lightdm, gdm, etc. If you are using ~/.xinitrc, simply add

  • Systemd Linux Distribution
    exec openbox-session
  • Non-Systemd Linux Distribution
    exec dbus-launch --exit-with-session openbox-session

User configuration

  • SLiM Themes optional

    See

    In fact, I use SLiM just for lockscreen.

    floflo-batik

    Just click on the image above!

  • Chromium-based browser suggested

    See

    Settings: chrome://settings/

    • Themes: Use GTK+
    • Use system title bar and borders

    brave.thumbnail

    Brave

  • Spotify - Spicetify Theme suggested

    See

    spicetify.dribbblish-mechanical

    spicetify.dribbblish-eyecandy

    Just click on the image above!

  • Battery Indicator optional
    Because on the tint2 panel I turned off battery status. Alternatively, install xfce4-power-manager and enable system tray icon in xfce4-power-manager-settings, then relogin openbox-session.

  • Dunst Notification Action - Default Web Browser

    middle click

    ~/.config/dunst/dunstrc-mech
    ~/.config/dunst/dunstrc-mech-MINMOD
    ~/.config/dunst/dunstrc-eyc
    ~/.config/dunst/dunstrc-eyc-MINMOD

    ...
    
    42 browser = brave-bin
    
    ...
  • URxvt - Default Web Browser

    middle click

    ~/.Xresources

    ...
    
    63 URxvt.url-select.launcher:        brave-bin
    
    ...

    See keybinds

  • URxvt - Application Icon
    ~/.Xresources

    ...
    
    17 URxvt.iconFile:                   /home/username/.icons/gladient/term.png
    
    ...
  • URxvt - Transparent Background optional

    If you want to turn on transparency on urxvt, follow this step.

    ~/.Xresources

    ...
    
    15 URxvt.depth:                      32
    
    ...
    
    68 #define black0                    [90]#373E4D
    
    ...
    
    84 #define white0                    [90]#F9F9F9
    
    ...

    [90] is the opacity level that will be applied to urxvt. After that do this to reload configuration.

    $ xrdb ~/.Xresources

    urxvt.transparency

    The issue is when displaying an image from pixmap (pixbuf) it becomes completely transparent except for internalBorder. So if you don't use ncmpcpp albumart, you can ignore it.

    urxvt.transparency.issues

  • Global Variables
    ~/.owl4ce_var

    ...
    
     95 #-------------------------------------------------------------------------#
     96 # TINT2 EXECUTOR                                                          #
     97 #-------------------------------------------------------------------------#
     98
     99 INT_ETH="enp4s0"
    100 INT_WIFI="wlp3s0"
    101
    102 TEMP_DEV="thermal_zone0"
    103
    104 #-------------------------------------------------------------------------#
    105 # SCREENSHOT OPTIONS                                                      #
    106 #-------------------------------------------------------------------------#
    107 # This will create "Screenshots" folder inside SAVE_DIR                   #
    108 #-------------------------------------------------------------------------#
    109
    110 SAVE_DIR="$HOME/Pictures"
    111 FRAME_COLOR="#ffffff" # RGBA supported
    112 TIMER_SEC="5"
    113 QUALITY="100" # 1-100, high value means high size low compression
    114
    115 #-------------------------------------------------------------------------#
    116 # XAUTOLOCK - 5 means 5 minutes                                           #
    117 #-------------------------------------------------------------------------#
    118 
    119 AUTOLOCK_MINUTE="5"
    120
    121 #-------------------------------------------------------------------------#
    122 # BRIGHTNESS & AUDIO (pulseaudio) VOLUME STEPS LEVEL                      #
    123 #-------------------------------------------------------------------------#
    124
    125 AUDIO_STEPS="5" # Real value
    126 BRIGHTNESS_STEPS="5" # Percentage, 5 means 5%

    TEMP_DEV: Check here

    /sys/devices/virtual/thermal/
  • Available Default Apps
    ~/.scripts/default-apps/list

    • Terminal: urxvt/termite
    • Lockscreen: anything
    • Music Player: mpd/spotify
    • File Manager: anything
    1 terminal="urxvt"
    2 lockscreen="slimlock"
    3 musicpl="mpd"
    4 filemanager="thunar"
  • Tray Icons
    ~/.config/openbox/tray
    An example is turning on nm-applet, because by default I don't use it and use networkmanager_dmenu instead. Remove hashtags before nm-applet.

    1 #
    2 # This tray will restart after changing visual mode
    3 # Please add "&" after command
    4 #
    5 # ---
    6
    7 parcellite &
    8 #nm-applet &
  • Neovim
    ~/.config/nvim/
    You know what to do with Vim-plug.

  • MPD Music Directory
    ~/.mpd/mpd.conf

    ...
    
    6 music_directory     "~/Music"
    
    ...
  • Ncmpcpp Music Directory
    Auto connect with MPD

    How to use ncmpcpp albumart?
    It's easy, put album|cover|folder|artwork|front.jp?g|png|gif|bmp into folder with song album. Recommended image size is 500px ( 1:1 ) or more. See keybinds

  • Audio Server optional
    ~/.config/openbox/autostart
    This is optional for Linux distributions that don't use systemd as their init, actually pulseaudio can be triggered from increasing-decreasing audio volume.

    • Pulseaudio

      ...
      
      9  # there was once a pulseaudio here
      10 [[ "$(pstree)" != *"pulseaudio"* ]] && pulseaudio --start --log-target=syslog &
      
      ...

      Or if you use pipewire as pulseaudio.

    • Pipewire as Pulseaudio

      Realtime and low-latency. More details at ArchWiki / Gentoo Wiki.
      Make sure pulseaudio is uninstalled or disable autospawn.
      /etc/pulse/client.conf

      ...
      
      25  autospawn = no
      
      ...
      ...
      
      9  # there was once a pulseaudio here
      10 [[ "$(pstree)" != *"pipewire"* ]] && pipewire &> /dev/null &
      
      ...
  • Neofetch Image
    ~/.config/neofetch/config.conf

    ...
    
    641 # Image Source
    642 #
    643 # Which image or ascii file to display.
    644 #
    645 # Default:  'auto'
    646 # Values:   'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
    647 #           'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
    648 # Flag:     --source
    649 #
    650 # NOTE: 'auto' will pick the best image source for whatever image backend is used.
    651 #       In ascii mode, distro ascii art will be used and in an image mode, your
    652 #       wallpaper will be used.
    653 #image_source="auto"
    654 #image_source="${HOME}/.config/neofetch/images/arch.png"
    655 #image_source="${HOME}/.config/neofetch/images/arch_dark.png"
    656 #image_source="${HOME}/.config/neofetch/images/artix.png"
    657 #image_source="${HOME}/.config/neofetch/images/bedrock.png"
    658 #image_source="${HOME}/.config/neofetch/images/gentoo.png"
    659 #image_source="${HOME}/.config/neofetch/images/gentoo_dark.png"
    660 image_source="${HOME}/.config/neofetch/images/lofi.png"
    661 #image_source="${HOME}/.config/neofetch/images/ubuntu.png"
    662 #image_source="${HOME}/.config/neofetch/images/ubuntu_dark.png"
    663 #image_source="${HOME}/.config/neofetch/images/void.png"
    664 #image_source="${HOME}/.config/neofetch/images/void_dark.png"
    
    ...
    See Images
    Arch Gentoo Ubuntu Void
    Arch Gentoo Ubuntu Void
    Arch Dark Gentoo Dark Ubuntu Dark Void Dark
    Arch Gentoo Ubuntu Void
    Artix LoFi Bedrock
    Artix LoFi Bedrock

๐Ÿ“ Notes

Color Scheme

owl4ce.color-scheme

Why use this setup?

owl4ce.ps_mem

๐Ÿ’Œ

Please don't underrate, I've configured them all since April 2020 and have been stuDYING them since October 2019. Awesome open-source. If you support it, star it or make a PR. Or if there is a problem with configuration you can make an issue here.

Thank you!

Feel free to modify..

Stargazers over time

โ™ฅ๏ธ Credits / Thanks

tint2.dotfiles's People

Contributors

lyaguxafrog avatar mochidaz avatar owl4ce avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.