Open mikasaid opened 3 years ago
Hi there! Thanks for visiting!
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
This is step-by-step how to install these .files for automatic setup OpenboxWM custom environment.
Customize your choice about dependencies below, this is my complete setup as I use single OS, single OpenboxWM with my preference utility application. In fact, what is in the column is a minimal recommendation.
Detailed environment
Please refer to wiki/Detailed-Environment.Warning!
This configuration is highly dependent tobash
,sed
, andcoreutils
.
Assume that you are usingsudo
ordoas
. Installation feels like LFS?π Attention!
- Rofi must be above version
1.6.x
, so for Debian-based you may need to compile manually from source. - issue- If your Linux distribution repository only contains pure
rxvt-unicode
without patch for wide unicode and others, an example is on Arch Linux which provides purerxvt-unicode
andrxvt-unicode-patched
version in the AUR repository. The problem is that the urxvt in the AUR hasn't been updated yet, and the link for the urxvt source-code for that version has been removed from the original link. Therefore, userxvt-unicode
from the main repo of each linux distribution that you use. Debian is different (already patched). - issue- You may want to use
polkit-gnome
instead oflxsession
/lxpolkit
. Because, currently thelxsession
in Gentoo/Linux is really bad (dependency hell).
yay -S rsync python psmisc xorg-xprop xorg-xwininfo imagemagick ffmpeg wireless_tools openbox
pulseaudio pulseaudio-alsa alsa-utils brightnessctl nitrogen dunst tint2 gsimplecal rofi
qt5-styleplugins lxsession xautolock rxvt-unicode-patched xclip scrot thunar thunar-archive-plugin
thunar-volman ffmpegthumbnailer tumbler viewnior mpv mpd mpc ncmpcpp pavucontrol parcellite
neofetch w3m htop picom-git obmenu-generator gtk2-perl playerctl xsettingsd
Optional: betterdiscord, geany + geany plugins, gimp, nano + nano syntax highlighting, neovim, spotify, termite, xfce4-power-manager.
Are all directories required?
π€
Please refer to wiki/Detailed-Environment.
You can clone or download as a archive. After that put all files in the dotfiles folder to user's home directory.
Assume you are cloning in the
directory for example.
/Documents
cd /Documents/ && git clone https://github.com/owl4ce/dotfiles.git
I recommend with rsync.
rsync -avxHAXP --exclude '.git*' --exclude 'LICENSE' --exclude '*.md' dotfiles/ ~/
Explanation
Options | Function -- | -- -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 --exclude | exclude files matching PATTERNDifferences
cp
is for duplicating stuff and by default only ensures files have unique full path names.rsync
is for synchronising stuff and uses the size and timestamp of files to decide if they should be replaced. It has many more options and capabilities thancp
.I recommend to not deleting dotfiles folder after cloning from this repository, because to make upgrades easier. Read the update section.
Note
pushd
is same ascd
, but can return back to the first directory (checkpoint).
pushd ~/.icons/ && tar -Jxvf Papirus-Custom.tar.xz && tar -Jxvf Papirus-Dark-Custom.tar.xz && sudo ln -vs ~/.icons/Papirus-Custom /usr/share/icons/Papirus-Custom && sudo ln -vs ~/.icons/Papirus-Dark-Custom /usr/share/icons/Papirus-Dark-Custom && popd
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.
fc-cache -rv
brightnessctl
For
brightnessctl
, I recommend adding users to video group.
sudo chmod u+s $(command -v brightnessctl)
The final step is login into openbox-session, basically login from display manager you use such as lightdm, gdm, etc.
Note
Make sure thesh
symlinks tobash
, as it's very dependent on bash.[ "$(readlink /bin/sh)" != "bash" ] && sudo ln -vfs bash /bin/sh
If you are using ~/.xinitrc
without display manager, simply add
Systemd Linux Distribution
exec openbox-session
Init-Freedom Linux Distribution
exec dbus-launch --exit-with-session openbox-session
Then you can proceed to user's configuration. Explore!
Suggested replacement commands
ls
β exa
134 alias ls="exa -lgh --icons --group-directories-first"
135 alias la="exa -lgha --icons --group-directories-first"
...
cat
β bat
Suggestion for tiling users
I recommend compiling it from source. Then put zentile binary your PATH, for example in ~/.local/bin/
killall zentile
" style="box-sizing: border-box; position: relative !important; margin-bottom: 16px; color: rgb(201, 209, 217); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(13, 17, 23); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
# To run in the background (detached)
zentile &!# To kill (or pkill)
killall zentile
Since I recommend using rsync from start, the easiest way is to list the files that will not be updated to avoid changing personal files with files in this repository. First, update local repository with git repository.
Remember where you cloned this repository.
For example, from the start we assumed that it was in.
/Documents
cd /Documents/ &&
pushd dotfiles/ && git pull && popd
Then list the files excluded by rsync (PATTERN). For example,/Documents/owl4ce_drsyncexc
.git*
LICENSE
*.md
*.joy
BetterDiscord
geany
GIMP
gtk-3.0
config.conf
nvim
autostart
environment
tray
shared
sidebar
termite
Thunar
xfconf
.fonts
.nothing
.mpd
.gtkrc-2.0
.zshrc
.nanorc
.Xresources
.xsettingsd
Use
find
command to check PATTERN,find dotfiles/ -iname 'PATTERN'
and whatever the file is. Next, of course is rsync.
rsync -avxHAXP --exclude-from /Documents/owl4ce_drsyncexc dotfiles/ /
SLiM Themes optional
Chromium-based Web Browser suggested
Spotify - Spicetify Theme suggested
Telegram Desktop suggested
Capitaine Cursors Theme suggested
Touchpad tap-to-click (libinput) optional/etc/X11/xorg.conf.d/30-touchpad.conf
Section "InputClass"
Identifier "touchpad"
Driver "libinput"
MatchIsTouchpad "on"
Option "Tapping" "on"
Option "TappingButtonMap" "lmr"
EndSection
User's Preferences required/.owl4ce_var
Manage all your settings there. I hope all comments there are easy to understand. ^^
User's 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.
How about battery indicator?
Because on the tint2 panel I turned off battery status. Alternatively, installxfce4-power-manager
and enable system tray icon inxfce4-power-manager-settings
.
Remove hashtags for all your needs, then relogin openbox-session.
Warning! Putting a tray here means that when switching Visual Mode, the program will be restarted.
1 #
2 # This tray will restart after switching modes
3 # Please add "&" after command
4 #
5 # ---
6
7 parcellite &
8 #nm-applet &
9 #xfce4-power-manager &
Available Default Apps/.scripts/default-apps/list
urxvt
termite
mpd
spotify
1 terminal="urxvt"
2 lockscreen="slimlock"
3 musicpl="mpd"
4 filemanager="thunar"
Neovim/.config/nvim/
You know what to do with Vim-plug.
MPD Music Directory/.mpd/mpd.conf
6 music_directory "~/Music"
...
" style="box-sizing: border-box; position: relative !important; margin-bottom: 16px;">
...6 music_directory "~/Music"
...
Ncmpcpp Music Directory
Auto connect with MPD.
How to use ncmpcpp albumart? (URxvt)
It's easy, putalbum|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
QT Themer (env var) optional/.config/openbox/environment
This is optional if you're having issues like blind text with background from Mechanical Theme (Fleon GTK), as it basically uses plugins (QT5 to GTK2). Remove gtk2
after the equal sign, then relogin openbox-session.
7 # Use qt5-styleplugins for QT Themes
8 export QT_QPA_PLATFORMTHEME=gtk2
...
" style="box-sizing: border-box; position: relative !important; margin-bottom: 16px;">
...7 # Use qt5-styleplugins for QT Themes
8 export QT_QPA_PLATFORMTHEME=gtk2...
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/sakura.png"
662 #image_source="${HOME}/.config/neofetch/images/ubuntu.png"
663 #image_source="${HOME}/.config/neofetch/images/ubuntu_dark.png"
664 #image_source="${HOME}/.config/neofetch/images/void.png"
665 #image_source="${HOME}/.config/neofetch/images/void_dark.png"
...
" style="box-sizing: border-box; position: relative !important; margin-bottom: 16px;">
...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/sakura.png"
662 #image_source="${HOME}/.config/neofetch/images/ubuntu.png"
663 #image_source="${HOME}/.config/neofetch/images/ubuntu_dark.png"
664 #image_source="${HOME}/.config/neofetch/images/void.png"
665 #image_source="${HOME}/.config/neofetch/images/void_dark.png"...
Color Scheme
Nord Color Palette compatible
Widget? We don't do that here. My main philosophy in building this is as a minimal replacement for Desktop Environment without any desktop decoration e.g icons and widgets, but it can be adapted to taste of user with an overall theme based on one color palette and can be easily switched between Mechanical-Eyecandy. I admit, the downside is that it relies heavily on the GNU/Linux operating system since bashism is not POSIX-compliant to other shell. Most of the size of this repository is large due to wallpapers, icons, and git caches.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 (please check previous issues if any) you can make an issue here. Also if you want a discussion.Thank you!Feel free to modify.. under GPL-3.0Why openbox? Really a perfect next-gen window manager, easily configurable, and less resources usage.Openbox isn't dead, but completed features.
If you enjoy my dotfiles and would like to show your appreciation, you may want to tip me here. It is never required but always wholeheartedly appreciated.
Thank you from the bottom of my heart!
3DrjWyd6Xgv4tKoL56mPtoQX4fL4LbR7zf
0x818fC9B82548C1020ed7370DFeb04BCbADc59191
Inspiration and resources
Knowledge and other resources
Contributors
Softwares
Our local linux community Linuxer Desktop Art and @dotfiles_id, also r/unixporn.
Β© All artist who make icons, illustrations, and wallpapers.
The original source that I found:
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
v3.0
v3.1
v3.2 latest
This is step-by-step how to install these .files for automatic setup OpenboxWM custom environment.
Introduction of Linux Rice
Please read this and/or this.
Installation (dependencies)
Debian & Ubuntu (and all based distributions)
alsa-utils brightnessctl nitrogen dunst tint2 gsimplecal rofi qt5-style-plugins lxpolkit xautolock
rxvt-unicode xclip scrot thunar thunar-archive-plugin thunar-volman ffmpegthumbnailer tumbler
viewnior mpv mpd mpc ncmpcpp pavucontrol parcellite neofetch w3m w3m-img htop playerctl xsettingsd
oh-my-zsh & plugins optional
picom
obmenu-generator
Arch Linux (and all based distributions)
oh-my-zsh & plugins optional
Another Linux Distribution
Optional: betterdiscord, geany + geany plugins, gimp, nano + nano syntax highlighting, neovim, spotify, termite, xfce4-power-manager.
Installation (dotfiles)
Most of .files
You can clone or download as a archive. After that put all files in the dotfiles folder to user's home directory.
I recommend with rsync.
Icons
Refresh Font Cache
Root Privileges with SUID
brightnessctl
sudo chmod u+s $(command -v brightnessctl)
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
without display manager, simply addSystemd Linux Distribution
exec openbox-session
Init-Freedom Linux Distribution
exec dbus-launch --exit-with-session openbox-session
Then you can proceed to user's configuration. Explore!
Additional
Suggested replacement commands
ls
βexa
~/.zshrc
134 alias ls="exa -lgh --icons --group-directories-first"
135 alias la="exa -lgha --icons --group-directories-first"
...
cat
βbat
Suggestion for tiling users
I recommend compiling it from source. Then put zentile binary your PATH, for example in
<div class="highlight highlight-source-shell position-relative" data-snippet-clipboard-copy-content="# To run in the background (detached)~/.local/bin/
zentile &!
To kill (or pkill)
killall zentile
" style="box-sizing: border-box; position: relative !important; margin-bottom: 16px; color: rgb(201, 209, 217); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(13, 17, 23); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
Update
Since I recommend using rsync from start, the easiest way is to list the files that will not be updated to avoid changing personal files with files in this repository. First, update local repository with git repository.
Then list the files excluded by rsync (PATTERN). For example,
/Documents/owl4ce_drsyncexcand whatever the file is. Next, of course is rsync.
rsync -avxHAXP --exclude-from /Documents/owl4ce_drsyncexc dotfiles/
/User's configuration
SLiM Themes optional
See
Chromium-based Web Browser suggested
See
Spotify - Spicetify Theme suggested
See
Telegram Desktop suggested
See
Capitaine Cursors Theme suggested
See
Touchpad tap-to-click (libinput) optional
/etc/X11/xorg.conf.d/30-touchpad.conf
More information.
User's Preferences required
/.owl4ce_var
Manage all your settings there. I hope all comments there are easy to understand. ^^
User's Tray Icons
/.config/openbox/trayAn example is turning on
nm-applet
, because by default I don't use it and use networkmanager_dmenu instead.Remove hashtags for all your needs, then relogin openbox-session.
Available Default Apps
/.scripts/default-apps/list
urxvt
termite
mpd
spotify
Neovim
/.config/nvim/You know what to do with Vim-plug.
MPD Music Directory
<div class="highlight highlight-source-haproxy-config position-relative" data-snippet-clipboard-copy-content=".../.mpd/mpd.conf
6 music_directory "~/Music"
...
" style="box-sizing: border-box; position: relative !important; margin-bottom: 16px;">
Ncmpcpp Music Directory
Auto connect with MPD.
Audio Server optional
/.config/openbox/autostartThis is optional for Linux distributions that don't use systemd as their init, actually pulseaudio can be triggered from increasing-decreasing audio volume.
QT Themer (env var) optional
<div class="highlight highlight-source-haproxy-config position-relative" data-snippet-clipboard-copy-content=".../.config/openbox/environment
This is optional if you're having issues like blind text with background from Mechanical Theme (Fleon GTK), as it basically uses plugins (QT5 to GTK2). Remove
gtk2
after the equal sign, then relogin openbox-session.7 # Use qt5-styleplugins for QT Themes
8 export QT_QPA_PLATFORMTHEME=gtk2
...
" style="box-sizing: border-box; position: relative !important; margin-bottom: 16px;">
Neofetch Image
<div class="highlight highlight-source-haproxy-config position-relative" data-snippet-clipboard-copy-content="...~/.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/sakura.png"
662 #image_source="${HOME}/.config/neofetch/images/ubuntu.png"
663 #image_source="${HOME}/.config/neofetch/images/ubuntu_dark.png"
664 #image_source="${HOME}/.config/neofetch/images/void.png"
665 #image_source="${HOME}/.config/neofetch/images/void_dark.png"
...
" style="box-sizing: border-box; position: relative !important; margin-bottom: 16px;">
See Images
Color Scheme
Nord Color Palette compatible
Widget? We don't do that here. My main philosophy in building this is as a minimal replacement for Desktop Environment without any desktop decoration e.g icons and widgets, but it can be adapted to taste of user with an overall theme based on one color palette and can be easily switched between Mechanical-Eyecandy. I admit, the downside is that it relies heavily on the GNU/Linux operating system since bashism is not POSIX-compliant to other shell. Most of the size of this repository is large due to wallpapers, icons, and git caches.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 (please check previous issues if any) you can make an issue here. Also if you want a discussion.Thank you!Feel free to modify.. under GPL-3.0Why openbox? Really a perfect next-gen window manager, easily configurable, and less resources usage.Openbox isn't dead, but completed features.
If you enjoy my dotfiles and would like to show your appreciation, you may want to tip me here. It is never required but always wholeheartedly appreciated.
Thank you from the bottom of my heart!π
3DrjWyd6Xgv4tKoL56mPtoQX4fL4LbR7zf
0x818fC9B82548C1020ed7370DFeb04BCbADc59191
Inspiration and resources
Knowledge and other resources
Contributors
Ekaunt - Better promptmenu
HopeBaron - Termite config
Justin Faber - Rofi matched lines indicator
Made with contributors-img.
Softwares
Our local linux community Linuxer Desktop Art and @dotfiles_id, also r/unixporn.
Β© All artist who make icons, illustrations, and wallpapers.
The original source that I found: