XFCE
Xfce is a modular lightweight desktop manager.
My favourite part about XFCE is that it is modular in two ways.
- No component depends on any other component, leaving you free to pick-and-choose.
- You can modify/extend each component
Xfce is also built on-top of openbox, which means you can trim the fat, and introduce only the parts of XFCE on top of the openbox base.
Install
Base Install
sudo pacman -S xfce4 ## Base XFCE sudo pacman -S xfce4 xfce4-whiskermenu packer -S xfce-theme-manager startxfce4NOTE use F11 to make an application fullscreen.
NOTE if you want transparency, you'll need to autostart xcompmgr. I have instructions elsewhere on how to do this.
NOTE XFCE is nice, but it's window controls aren't ideal. I prefer replacing xfwm with openbox for better controls, and less GUIish config
# otherwise, Xfdesktop is rendered overtop of feh sudo pacman -Rs xfdesktop# /etc/X11/xorg.conf xinerama=1 #(restart x)Disable xfdesktop
# Uninstalling xfdesktop will disable your desktop, but will let feh # manage the wallpaper. I don't really care for a desktop, always hidden # anyways. sudo pacman -Rs xfdesktopHotkeys
WhiskerMenu > Search > Window Manager Tweaks > Accessibility: - Key Used to grab and move windows: Super WhiskerMenu > Settings > Keyboard > Application Shortcuts : st -g 12000x700 # Win+Shift+Enter transset-df -a --dec 0.05 # Win+ "-" transset-df -a --inc 0.05 # Win+ "+" transset-df -a -t .92 # Win+A /usr/bin/dmenu_run # Win+P /usr/bin/xfce4-popup-whiskermenu # Win /usr/bin/xdotool windowkill `/usr/bin/xdotool getactivewindow` # Win+C WhiskerMenu > Search > Window Manager: Keyboard: Close Window # Win+c Move Window to Bottom Workspace # Win+Down Move Window to Top Workspace # Win+Up Move Window to Left Workspace # Win+left Move Window to Right Workspace # Win+RightThemes
WhiskerMenu > Apperance > Style: Mediteranean Dark WhiskerMenu > Window Manager > Focus: Focus Follows Mouse Advanced: Snap windows to other windows WhiskerMenu > Search > Window Manager > Style WhiskerMenu > Search > Xfce Theme Manager: Advanced > Uncheck Window BordersDisable Session Saving
Session saving is both annoying, and makes all of my startup programs run twice you'll notice conky keeps multiplying every time that you log in very annoying. To disable session saving:
sudo mkdir /etc/xdg/xfce4/kiosk# /etc/xdg/xfce4/kiosk/kioskrc [xfce4-session] SaveSession=NONEMenu > Settings > Settings Manager: - Settings Editor > xfce4-session - Uncheck Save on Exit# log out of xfce, CTRL+ALT+F2 cd ~/.cache/sessions/ # remove all files (from last saved session) rebootWorkspace Setup
# On Panel, create workspace Whisker > Workspace Set workspaces to 9Autostart
It seems the only solution for autostarting programs in XFCE is creating a .desktop file in '~/.config/autostart'. Creating a .xsessionrc, .xsession, or adding instructions to .xinitrc would not work for XFCE.
Whisker > Sesion and Startup > Application Autostart Name: wpstart Command: /home/will/.start# ~/.config/autostart/xstartup.desktop [Desktop Entry] Encoding=UTF-8 Type=Application Name=wpstart Name[en_US]=wpstart Exec=/home/will/.start Comment[en_US]=Create '~/.start'. No program that requires root privileges can be run with this. (If you need a program that runs as root, just create a service for it)
Thunar Automounting
For more precision instead of gvfs you can use autofs, but this keeps things simple for girlfriend/friends.
Install
sudo pacman -S gvfs- Applications Menu > Settings > Removable Drives and Media - Mount removable drives when hot-plugged - Mount removable media when inserted
Openbox
Like I mentioned before, my largest gripes with XFCE are that it is not customizeable enough, and you need to jump hoops in order to to configure it. Here is how to replace xfwm with openbox for more powerful and simpler hotkey configuration, alongside some of XFCE's conveniences such as the whisker-menu.
Setup
# Replace xfwm4 with openbox (better window navigation) if [[ "$DESKTOP_SESSION" == "Xfce Session" ]] ; then openbox --replace & exit fi# /home/will/.start # If you want openbox to manage all hotkeys, temporarily comment out the above # code so you're running xfwm, and manually unset all hotkeys in: Whisker > Window Manager Whisker > KeyboardMultimedia Keys
# openbox multimedia keys are not being detected for some reason, so instead # I bound them using XFCE's keyboard menu Whisker > keyboard /home/will/progs/bash/arch/notifyVolume 'vol' '+' /home/will/progs/bash/arch/notifyVolume 'vol' '-' /home/will/progs/bash/arch/notifyVolume 'vol' ':'
Extending
Panel Plugins
If you'd like to add custom items to your XFCE panel (start-bar).
https://github.com/xfce-mirror/xfce4-rss-plugin example written in python https://wiki.xfce.org/dev/howto/panel_plugins official docs