https://wiki.archlinux.org/api.php?action=feedcontributions&user=Trizenx&feedformat=atomArchWiki - User contributions [en]2024-03-28T16:37:47ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=List_of_applications/Multimedia&diff=468875List of applications/Multimedia2017-02-23T12:02:11Z<p>Trizenx: /* Lyrics fetchers */ updated URL</p>
<hr />
<div><noinclude><br />
[[Category:Applications]]<br />
[[Category:Multimedia]]<br />
[[es:List of applications/Multimedia]]<br />
[[it:List of applications/Multimedia]]<br />
[[ja:アプリケーション一覧/マルチメディア]]<br />
[[ru:List of applications/Multimedia]]<br />
[[uk:List of applications/Multimedia]]<br />
[[zh-hans:List of applications/Multimedia]]<br />
[[zh-hant:List of applications/Multimedia]]<br />
{{List of applications navigation}}<br />
</noinclude><br />
== Multimedia ==<br />
<br />
=== Codecs ===<br />
<br />
See the main article: [[Codecs]].<br />
<br />
=== Image ===<br />
<br />
==== Image viewers ====<br />
<br />
See also [[Wikipedia:Comparison of image viewers]].<br />
<br />
===== Console =====<br />
<br />
* {{App|fbi|Image viewer for the linux framebuffer console.|https://www.kraxel.org/blog/linux/fbida/|{{Pkg|fbida}}}}<br />
* {{App|fbv|Very simple graphic file viewer for the framebuffer console.|http://s-tech.elsat.net.pl/fbv/|{{Pkg|fbv}}}}<br />
* {{App|fim|Highly customizable and scriptable framebuffer image viewer based on fbi.|http://www.nongnu.org/fbi-improved/|{{AUR|fim}}}}<br />
* {{App|jfbview|Framebuffer PDF and image viewer based on Imlib2. Features include Vim-like controls, rotation and zoom, zoom-to-fit, and fast multi-threaded rendering.|http://seasonofcode.com/pages/jfbview.html|{{AUR|jfbview}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|Deepin Image Viewer|Image viewer for the Deepin desktop environment.|https://github.com/linuxdeepin/deepin-image-viewer|{{Pkg|deepin-image-viewer}}}}<br />
* {{App|Ephoto|A light image viewer based on EFL.|https://www.enlightenment.org/about-ephoto|{{AUR|ephoto-git}}}}<br />
* {{App|[[Wikipedia:Eye_of_GNOME|Eye of GNOME]]|Image viewing and cataloging program, which is a part of the GNOME desktop environment.|https://wiki.gnome.org/Apps/EyeOfGnome|{{Pkg|eog}}}}<br />
* {{App|Eye of MATE|Simple graphics viewer for the MATE desktop.|https://github.com/mate-desktop/eom|GTK+ 2: {{Pkg|eom}}, GTK+ 3: {{Pkg|eom-gtk3}}}}<br />
* {{App|EyeSight|Image viewer for the Hawaii desktop environment.|http://hawaiios.org/projects/eyesight/|{{AUR|eyesight}}}}<br />
* {{App|[[feh]]|Fast, lightweight image viewer that uses imlib2.|http://feh.finalrewind.org|{{Pkg|feh}}}}<br />
* {{App|GalaPix|OpenGL-based image viewer for simultaneously viewing and zooming large collections of image files,|https://github.com/Galapix/galapix|{{AUR|galapix}}}}<br />
* {{App|[[Wikipedia:Geeqie|Geeqie]]|Image browser and viewer (fork of GQview) that adds additional functionality such as support for RAW files.|http://geeqie.org/|{{Pkg|geeqie}}}}<br />
* {{App|Gimmage|Gtkmm image viewer.|https://sourceforge.net/projects/gimmage.berlios/|{{Pkg|gimmage}}}}<br />
* {{App|GNOME Photos|Access, organize, and share your photos on GNOME.|https://wiki.gnome.org/Apps/Photos|{{Pkg|gnome-photos}}}}<br />
* {{App|GPicView|Simple and fast image viewer for X, which is part of the [[LXDE]] desktop.|http://lxde.sourceforge.net/gpicview/|GTK+ 2: {{Pkg|gpicview}}, GTK+ 3: {{AUR|gpicview-gtk3}}}}<br />
* {{App|[[Wikipedia:GQview|GQview]]|Image browser that features single click access to view images and move around the directory tree|http://gqview.sourceforge.net/|{{AUR|gqview-devel}}}}<br />
* {{App|[[Wikipedia:GThumb|gThumb]]|Image viewer for the GNOME desktop.|https://wiki.gnome.org/Apps/gthumb|{{Pkg|gthumb}}}}<br />
* {{App|[[Wikipedia:Gwenview|Gwenview]]|Fast and easy to use image viewer for the KDE desktop.|http://gwenview.sourceforge.net/|{{Pkg|gwenview}}}}<br />
* {{App|imv|Lightweight image viewer with support for Wayland and animated GIFs which uses FreeImage.|https://www.github.com/eXeC64/imv/|{{AUR|imv}}}}<br />
* {{App|LxImage-Qt|The LXQt image viewer.|https://github.com/lxde/lximage-qt|{{Pkg|lximage-qt}}}}<br />
* {{App|meh|meh is a small, simple, super fast image viewer using raw XLib.|http://www.johnhawthorn.com/meh/|{{AUR|meh-git}}}}<br />
* {{App|Mirage|PyGTK image viewer featuring support for crop and resize, custom actions and a thumbnail panel.|https://sourceforge.net/projects/mirageiv.berlios/|{{Pkg|mirage}}}}<br />
* {{App|nomacs|Free (GPLv3) Qt image viewer for many operating systems. It is feature-rich but starts fast and can be configured to show additional widgets or only the image.|http://www.nomacs.org/|{{Pkg|nomacs}}}}<br />
* {{App|Pantheon Photos|Image viewer for Pantheon.|https://launchpad.net/pantheon-photos|{{Pkg|pantheon-photos}}}}<br />
* {{App|Phototonic|Fast and functional image viewer and organizer (Qt).|http://oferkv.github.io/phototonic/|{{AUR|phototonic}}}}<br />
* {{App|PhotoQt|Fast and highly configurable image viewer with a simple and nice interface.|http://photoqt.org/|{{AUR|photoqt}}}}<br />
* {{App|Quick Image Viewer|Very small and fast image viewer based on GTK+ and imlib2.|http://spiegl.de/qiv/|{{Pkg|qiv}}}}<br />
* {{App|Ristretto|Fast and lightweight image viewer for the Xfce desktop environment.|http://docs.xfce.org/apps/ristretto/start|{{Pkg|ristretto}}}}<br />
* {{App|Shotwell|A digital photo organizer designed for the GNOME desktop environment|https://wiki.gnome.org/Apps/Shotwell|{{Pkg|shotwell}}}}<br />
* {{App|[[sxiv]]|Simple image viewer based on imlib2 that works well with tiling window managers.|https://github.com/muennich/sxiv|{{Pkg|sxiv}}}}<br />
* {{App|Viewnior|Minimalistic GTK+ image viewer featuring support for flipping, rotating, animations and configurable mouse actions.|http://siyanpanayotov.com/project/viewnior/|{{Pkg|viewnior}}}}<br />
* {{App|Xloadimage|Classic X image viewer.|http://sioseis.ucsd.edu/xloadimage.html|{{Pkg|xloadimage}}}}<br />
* {{App|[[Wikipedia:XnView|XnView MP]]|Efficient proprietary image viewer, browser and converter.|http://www.xnview.com/en/xnviewmp/|{{AUR|xnviewmp}}}}<br />
* {{App|[[Wikipedia:Xv_(software)|xv]]|Shareware program written by John Bradley to display and modify digital images under the X Window System. Last released in 1994.|http://www.trilon.com/xv/|{{AUR|xv}}}}<br />
<br />
==== Graphics and image manipulation ====<br />
<br />
===== Raster editors =====<br />
<br />
See also [[Wikipedia:Comparison of raster graphics editors]].<br />
<br />
* {{App|AzPainter|A Painting software. |http://azpainter.sourceforge.jp/|{{AUR|azpainter}}}}<br />
* {{App|[[Wikipedia:darktable|darktable]]|Photography workflow and RAW development application.|http://www.darktable.org/|{{Pkg|darktable}}}}<br />
* {{App|dcraw|Converts many camera RAW formats.|http://www.cybercom.net/~dcoffin/dcraw/|{{Pkg|dcraw}}}}<br />
* {{App|[[Wikipedia:digiKam|digiKam]]|KDE-based image organizer with built-in editing features via a plugin architecture. digiKam asserts it is more full featured than similar applications with a larger set of image manipulation features including RAW image import and manipulation.|http://www.digikam.org/|{{Pkg|digikam}}}}<br />
* {{App|[[GIMP]]|Image editing suite in the vein of proprietary editors such as [[Wikipedia:Adobe Photoshop|Adobe Photoshop]]. GIMP ([[GNU]] Image Manipulation Program) has been started in the mid 1990s and has acquired a large number of [[CMYK support in The GIMP|plugins]] and additional tools.|http://www.gimp.org/|{{Pkg|gimp}}}}<br />
* {{App|[[Wikipedia:GNU Paint|Gpaint]]|[[Wikipedia:PC_Paintbrush|Paintbrush]] clone for GNOME.|http://www.gnu.org/software/gpaint/|{{AUR|gpaint}}}}<br />
* {{App|[[Wikipedia:GraphicsMagick|GraphicsMagick]]|Fork of ImageMagick designed to have API and command-line stability. It also supports multi-CPU for enhanced performance and thus is used by some large commercial sites (Flickr, etsy) for its performance.|http://www.graphicsmagick.org/|{{Pkg|graphicsmagick}}}}<br />
* {{App|[[Wikipedia:ImageMagick|ImageMagick]]|Command-line image manipulation program. It is known for its accurate format conversions with support for over 100 formats. Its API enables it to be scripted and it is usually used as a backend processor.|http://www.imagemagick.org/script/index.php|{{Pkg|imagemagick}}}}<br />
* {{App|[[Wikipedia:KolourPaint|KolourPaint]]|Free raster graphics editor for KDE, similar to Microsoft's Paint application before Windows 7, but with some additional features such as support for transparency. Part of {{Grp|kde-applications}} and {{Grp|kdegraphics}} groups.|http://kolourpaint.org|{{Pkg|kolourpaint}}}}<br />
* {{App|[[Wikipedia:Krita|Krita]]|Digital painting and illustration software included based on the KDE platform.|http://krita.org/|{{Pkg|krita}}}}<br />
* {{App|Luminance HDR|Open source graphical user interface application that aims to provide a workflow for HDR imaging.|http://qtpfsgui.sourceforge.net/|{{Pkg|luminancehdr}}}}<br />
* {{App|mtPaint|Graphics editing program geared towards creating indexed palette images and pixel art.|http://mtpaint.sourceforge.net/|{{Pkg|mtpaint}}}}<br />
* {{App|[[Wikipedia:MyPaint|MyPaint]]|Free software graphics application for digital painters.|http://mypaint.org|{{Pkg|mypaint}}}}<br />
* {{App|[[Wikipedia:Pinta (software)|Pinta]]|Drawing and editing program modeled after [[Wikipedia:Paint.net|Paint.NET]]. Its goal is to provide a simplified alternative to GIMP for casual users.|http://pinta-project.com/|{{Pkg|pinta}}}}<br />
* {{App|[[Wikipedia:XPaint|XPaint]]|Color image editing tool which features most standard paint program options.|http://sourceforge.net/projects/sf-xpaint/|{{AUR|xpaint}}}}<br />
<br />
Some image viewers like Ephoto, GNOME Photos, [[Wikipedia:GThumb|gThumb]], nomacs, Pantheon Photos, Phototonic, [[Wikipedia:Shotwell_(software)|Shotwell]] and [[Wikipedia:XnView|XnView MP]] also provide some basic image manipulation functionality.<br />
<br />
===== Vector graphics - illustration =====<br />
<br />
See also [[Wikipedia:Comparison of vector graphics editors]].<br />
<br />
* {{App|[[Wikipedia:Asymptote_(vector_graphics_language)|Asymptote]]|A descriptive vector graphics language (like PGF/TikZ and Metapost) with a C-like syntax and LaTeX support.|http://asymptote.sourceforge.net|{{Pkg|asymptote}}}}<br />
* {{App|[[Wikipedia:Dia_(software)|Dia]]|GTK+-based diagram creation program.|https://wiki.gnome.org/Apps/Dia|{{Pkg|dia}}}}<br />
* {{App|[[Wikipedia:Graphviz|Graphviz]]|Set of tools for drawing graphs in the descriptive DOT language.|http://www.graphviz.org|{{Pkg|graphviz}}}}<br />
* {{App|[[Wikipedia:Inkscape|Inkscape]]|Vector graphics editor, with capabilities similar to [[Wikipedia:Adobe Illustrator|Illustrator]], [[Wikipedia:CorelDRAW|CorelDraw]], or [[Wikipedia:Xara X|Xara X]], using the SVG (Scalable Vector Graphics) file format. Inkscape supports many advanced SVG features (markers, clones, alpha blending, etc.) and great care is taken in designing a streamlined interface. It is very easy to edit nodes, perform complex path operations, trace bitmaps and much more. It's developers also aim to maintain a thriving user and developer community by using open, community-oriented development.|http://inkscape.org/|{{Pkg|inkscape}}}}<br />
* {{App|[[Wikipedia:Karbon (software)|Karbon]]|Vector graphics editor, part of the Calligra Suite.|http://www.calligra-suite.org/karbon/|{{Pkg|calligra}}}}<br />
* {{App|[[Wikipedia:Pencil2D|Pencil Project]]|An open-source GUI prototyping and mockup tool.|http://pencil.evolus.vn/|{{AUR|pencil}}}}<br />
* {{App|qasm2circ|Quantum circuit generator for latex|http://www.media.mit.edu/quanta/qasm2circ/|{{AUR|qasm2circ}}}}<br />
* {{App|[[Wikipedia:SK1_(program)|sK1]]|Replacement for Adobe Illustrator or CorelDraw, oriented for "prepress ready" PostScript & PDF output.|http://sk1project.net/|{{Pkg|sk1}}}}<br />
* {{App|[[Wikipedia:Xara_Xtreme_LX|Xara LX]]|Advanced vector graphics program, the open source version of the commercial Xara X.|http://www.xaraxtreme.org/|{{AUR|xaralx}}}}<br />
* {{App|[[Wikipedia:yEd|yEd]]|General-purpose diagramming program for flowcharts, network diagrams, UML diagrams, BPMN diagrams, mind maps, organization charts, and Entity Relationship diagrams.|http://www.yworks.com/en/products_yed_about.html|{{AUR|yed}}}}<br />
<br />
===== Vector graphics - CAD =====<br />
<br />
See also [[Wikipedia:List of computer-aided design editors]].<br />
<br />
* {{App|[[Wikipedia:BRL-CAD|BRL-CAD]]|Constructive solid geometry (CSG) solid modeling computer-aided design (CAD) system that includes an interactive geometry editor, ray tracing support for graphics rendering and geometric analysis, computer network distributed framebuffer support, scripting, image-processing and signal-processing tools.|http://brlcad.org/|{{AUR|brlcad}}}}<br />
* {{App|DraftSight|Dassault Systemes' freeware 2D CAD application. DraftSight allows users to access DWG/DXF files, regardless of which CAD software was originally used to create them.|http://www.3ds.com/products-services/draftsight/overview/|{{AUR|draftsight}}}}<br />
* {{App|[[Wikipedia:FreeCAD|FreeCAD]]|CAD/CAE program, based on OpenCascade, Qt and Python with features such as macro recording, workbenches and the ability to run as server.|https://github.com/FreeCAD/FreeCAD|{{Pkg|freecad}}}}<br />
* {{App|LeoCAD|CAD program for creating virtual LEGO models. It has an easy to use interface and currently includes over 6000 different pieces created by the LDraw community.|http://leocad.org|{{AUR|leocad}}}}<br />
* {{App|[[Wikipedia:LibreCAD|LibreCAD]]|Powerful 2D CAD application based on Qt. It has been forked from QCad Community Edition.|http://www.librecad.org/|{{Pkg|librecad}}}}<br />
* {{App|[[Wikipedia:OpenSCAD|OpenSCAD]]|Open source 2D/3D CAD using programmers approach.|http://www.openscad.org|{{Pkg|openscad}} {{AUR|openscad-git}}}}<br />
* {{App|[[Wikipedia:QCad|QCAD]]|Powerful 2D CAD application that began in 1999. QCaD includes DFX standard file format and supports HPGL format.|http://www.qcad.org/|{{Pkg|qcad}}}}<br />
<br />
===== 3D modeling/rendering =====<br />
<br />
See also [[Wikipedia:Comparison of 3D computer graphics software]].<br />
<br />
* {{App|[[Wikipedia:Art_of_Illusion|Art of Illusion]]|3D modeling and rendering studio written in Java.|http://www.artofillusion.org/|{{AUR|aoi}}}}<br />
* {{App|[[Wikipedia:Blender_(software)|Blender]]|fully integrated 3D graphics creation suite capable of 3D modeling, texturing, and animation, among other things.|http://www.blender.org/|{{Pkg|blender}}}}<br />
* {{App|[[Wikipedia:MakeHuman|MakeHuman™]]|Parametrical modeling program for creating human bodies.|http://www.makehuman.org/|{{AUR|makehuman}}}}<br />
* {{App|[[Wikipedia:POV-Ray|POV-Ray]]|Script-based raytracer for creating 3D graphics.|http://www.povray.org/|{{Pkg|povray}}}}<br />
* {{App|[[Wikipedia:Wings3d|Wings 3D]]|Advanced subdivision modeler that is both powerful and easy to use.|http://www.wings3d.com/|{{Pkg|wings3d}}}}<br />
<br />
==== Screen capture ====<br />
<br />
See also: [[Taking a screenshot]].<br />
<br />
=== Audio ===<br />
<br />
==== Audio systems ====<br />
<br />
See the main article: [[Sound system]].<br />
<br />
See also [[Wikipedia:Sound server]].<br />
<br />
* {{App|wineasio|Provides an ASIO to JACK driver for ''wine''. ASIO is the most common Windows low-latency driver, so is commonly used in audio workstation programs.|http://sourceforge.net/projects/wineasio/|{{AUR|wineasio}}}}<br />
<br />
==== Audio players ====<br />
<br />
See also [[Wikipedia:Comparison of audio player software]].<br />
<br />
===== Music player daemons and clients =====<br />
<br />
See also: [[Music_Player_Daemon#Clients|List of MPD clients]]<br />
<br />
* {{App|[[Music Player Daemon]]|Lightweight and scalable choice for music management.|http://www.musicpd.org/|{{Pkg|mpd}}}}<br />
* {{App|[[Wikipedia:XMMS2|XMMS2]]|Complete rewrite of the popular music player.|https://xmms2.org|{{Pkg|xmms2}}}}<br />
<br />
===== Command-line players =====<br />
<br />
* {{App|[[cmus]]|Very feature-rich ncurses-based music player.|http://cmus.github.io/|{{Pkg|cmus}}}}<br />
* {{App|Cplay|Curses front-end for various audio players (ogg123, mpg123, mpg321, splay, madplay, and mikmod, xmp, and sox).|http://directory.fsf.org/wiki/Cplay|{{AUR|cplay}}}}<br />
* {{App|Herrie|Minimalistic console-based music player with native AudioScrobbler support.|http://herrie.info/|{{AUR|herrie}}}}<br />
* {{App|[[Moc|MOC]]|Ncurses console audio player with support for the MP3, OGG, and WAV formats.|http://moc.daper.net/|{{Pkg|moc}}}}<br />
* {{App|MPFC|Gstreamer-based audio player with curses interface.|https://code.google.com/archive/p/mpfc/|{{AUR|mpfc}}}}<br />
* {{App|[[Wikipedia:Mpg123|mpg123]]|Fast free MP3 console audio player for Linux, FreeBSD, Solaris, HP-UX and nearly all other UNIX systems (also decodes MP1 and MP2 files).|http://www.mpg123.org/|{{Pkg|mpg123}}}}<br />
* {{App|mps-youtube|Terminal based YouTube jukebox with playlist management. Plays audio/video through mplayer/mpv.|https://github.com/mps-youtube/mps-youtube|{{Pkg|mps-youtube}}}}<br />
* {{App|pancake|Cli pandora client built with urwid.|https://github.com/osum4est/pancake/}}<br />
* {{App|[[pianobar]]|Console-based frontend for Pandora.|http://6xq.net/projects/pianobar/|{{Pkg|pianobar}}}}<br />
* {{App|shell-fm|Console-based player for the streams provided by [http://www.last.fm/ last.fm].|https://github.com/jkramer/shell-fm/|{{AUR|shell-fm}}{{Broken package link|{{aur-mirror|shell-fm}}}}}}<br />
* {{App|[[Wikipedia:VLC_media_player|VLC]]|Highly portable multimedia player with ncurses interface module, and multimedia framework capable of reading most audio and video formats as well as DVDs, Audio CDs, VCDs, and various streaming protocols.|https://www.videolan.org/vlc/|{{Pkg|vlc}}}}<br />
* {{App|whistle|a curses-based commandline audio player.|https://github.com/ap0calypse/whistle/|{{AUR|whistle-git}}}}<br />
<br />
===== GUI players =====<br />
<br />
* {{App|[[Amarok]]|Mature Qt-based player known for its plethora of features.|http://amarok.kde.org/|{{Pkg|amarok}}}}<br />
* {{App|[[Audacious]]|[[Wikipedia:Winamp|Winamp]] clone like Beep and old XMMS versions.|http://audacious-media-player.org/|{{Pkg|audacious}}}}<br />
* {{App|[[Wikipedia:Banshee (media player)|Banshee]]|[[Wikipedia:iTunes|iTunes]] clone, built with GTK+ and [[Mono]], feature-rich and more actively developed.|http://banshee.fm/|{{AUR|banshee}}}}<br />
* {{App|[[Wikipedia:Clementine_(software)|Clementine]]|Amarok 1.4 clone, ported to Qt 4.|http://www.clementine-player.org/|{{Pkg|clementine}}}}<br />
* {{App|Cuberok|Music player and collection manager with a lightweight interface.|https://code.google.com/archive/p/cuberok/|{{AUR|cuberok}}}}<br />
* {{App|DeaDBeeF|Light and fast music player with many features, no GNOME or KDE dependencies, supports console-only, as well as a GTK+ GUI, comes with many plugins, and has a metadata editor.|http://deadbeef.sourceforge.net/|{{Pkg|deadbeef}}}}<br />
* {{App|[[Exaile]]|GTK+ clone of Amarok.|http://www.exaile.org/|{{AUR|exaile}}}}<br />
* {{App|gmusicbrowser|Open-source jukebox for large collections of MP3/OGG/FLAC files.|http://gmusicbrowser.org/|{{AUR|gmusicbrowser}}}}<br />
* {{App|GNOME Music|Music is the new GNOME music playing application. It aims to combine an elegant and immersive browsing experience with simple and straightforward controls.|https://wiki.gnome.org/Apps/Music|{{Pkg|gnome-music}}}}<br />
* {{App|Goggles Music Manager|Music collection manager and player that automatically categorizes your music, supports gapless playback, features easy tag editing, and internet radio support. Uses the [[Wikipedia:Fox toolkit|Fox toolkit]].|http://gogglesmm.github.io/|{{Pkg|gogglesmm}}}}<br />
* {{App|Guayadeque|Full featured media player that can easily manage large collections and uses the GStreamer media framework.|http://guayadeque.org/|{{AUR|guayadeque}}}}<br />
* {{App|[[Wikipedia:JuK|JuK]]|JuK is an audio jukebox application, supporting collections of MP3, Ogg Vorbis, and FLAC audio files.|https://www.kde.org/applications/multimedia/juk/|{{Pkg|kdemultimedia-juk}}}}<br />
* {{App|Kaku|An highly integrated music player supports different online platform like YouTube, SoundCloud, Vimeo and more.|http://kaku.rocks/|{{AUR|kaku-bin}}}}<br />
* {{App|Listen|Listen is a Music player and management for GNOME written in python.|https://launchpad.net/listen|{{AUR|listen}}}}<br />
* {{App|Lollypop|A GNOME music player.|https://gnumdk.github.io/lollypop-web/|{{Pkg|lollypop}}}}<br />
* {{App|LXMusic|A minimalist xmms2-based music player.|http://wiki.lxde.org/en/LXMusic|{{Pkg|lxmusic}}}}<br />
* {{App|Miam-player|Cross-platform open source music player.|http://miam-player.org/|{{AUR|miam-player}}}}<br />
* {{App|Muine|A music player written in C Sharp.|http://muine.gooeylinux.org/|{{Pkg|muine}}}}<br />
* {{App|Musique|Just another music player, only better.|http://flavio.tordini.org/musique|{{AUR|musique}}}}<br />
* {{App|[[Wikipedia:Nightingale (software)|Nightingale]]|Open source clone of iTunes-based on [[Wikipedia:Songbird (software)|Songbird]], that uses Mozilla technologies and the GStreamer framework.|http://getnightingale.com/|{{AUR|nightingale-git}}}}<br />
* {{App|Noise|Simple, fast, and good looking music player. The official elementary music player. |https://launchpad.net/noise|{{Pkg|noise-player}}}}<br />
* {{App|Nuvola Player|Integrated Google Music, 8tracks and Hype Machine player.|https://tiliado.eu/nuvolaplayer/|{{AUR|nuvolaplayer}}}}<br />
* {{App|pithos|Python/GTK Pandora Radio desktop client.|https://pithos.github.io/|{{AUR|pithos}}}}<br />
* {{App|Potamus|Lightweight, intuitive GTK+ audio player with an emphasis on high audio quality.|http://offog.org/code/potamus.html|{{AUR|potamus}}{{Broken package link|{{aur-mirror|potamus}}}}}}<br />
* {{App|Pragha|GTK+ music manager. (fork of the Consonance Music Manager)|https://pragha-music-player.github.io/|{{Pkg|pragha}}}}<br />
* {{App|Qmmp|Qt-based multimedia player with a user interface that is similar to Winamp or XMMS.|http://qmmp.ylsoftware.com/|{{Pkg|qmmp}}}}<br />
* {{App|[[Wikipedia:Quod Libet (software)|Quod Libet]]|Audio player written with PyGTK and GStreamer with support for regular expressions in playlists.|https://github.com/quodlibet/quodlibet/|{{Pkg|quodlibet}}}}<br />
* {{App|[[Wikipedia:Rhythmbox|Rhythmbox]]|GTK+ clone of iTunes, used by default in GNOME.|https://wiki.gnome.org/Apps/Rhythmbox|{{Pkg|rhythmbox}}}}<br />
* {{App|[[Spotify]]|Proprietary music streaming service. It supports local playback and streaming from Spotify's vast library (requires a free account).|http://www.spotify.com/|{{AUR|spotify}}}}<br />
* {{App|[[SpotCommander]]|A remote control for Spotify, optimized for mobile devices. It works on any device with a modern browser, and it's free and open source.|http://olejon.github.io/spotcommander/|{{AUR|spotcommander}}}}<br />
* {{App|Tomahawk|Music player application written in C++/Qt. It decouples the name of the song from the source it was shared from - and fulfills the request using all of your available sources.|http://www.tomahawk-player.org/|{{AUR|tomahawk}}}}<br />
* {{App|[[Wikipedia:VLC_media_player|VLC]]|Highly portable multimedia player and multimedia framework capable of reading most audio and video formats as well as DVDs, Audio CDs, VCDs, and various streaming protocols.|https://www.videolan.org/vlc/|{{Pkg|vlc}}}}<br />
* {{App|[[wikipedia:XMMS|XMMS]]|Skinnable GTK+ standalone media player similar to Winamp.|http://legacy.xmms2.org/|{{AUR|xmms}}}}<br />
<br />
==== Volume managers ====<br />
<br />
* {{App|GVolWheel|An audio mixer which lets you control the volume through a tray icon.|http://sourceforge.net/projects/gvolwheel/|{{AUR|gvolwheel}}}}<br />
*{{App|pa-applet|PulseAudio system tray applet with volume bar.|https://github.com/fernandotcl/pa-applet|{{Aur|pa-applet-git}}}}<br />
* {{App|PNMixer|A fork of Obmixer. It has many new features such as ALSA channel selection, connect/disconnect detection, shortcuts, etc.|https://github.com/nicklan/pnmixer/wiki|{{AUR|pnmixer}}}}<br />
*{{App|Volctl|Per-application volume control for GNU/Linux desktops.|https://buzz.github.io/volctl/|{{Aur|volctl}}}}<br />
*{{App|[[Volnoti]]|A lightweight volume notification daemon for GNU/Linux and other POSIX operating systems.|https://github.com/davidbrazdil/volnoti|{{Aur|volnoti}}}}<br />
* {{App|Volti|A GTK application for controlling audio volume from system tray with an internal mixer and support for multimedia keys that uses only ALSA.|https://github.com/gen2brain/volti|{{AUR|volti}}}}<br />
* {{App|VolumeIcon|Another volume control for your system tray with channel selection, themes and an external mixer.|http://softwarebakery.com/maato/volumeicon.html|{{Pkg|volumeicon}}}}<br />
* {{App|VolWheel|A little application which lets you control the sound volume easily through a tray icon you can scroll on.|http://oliwer.net/b/volwheel.html|{{Pkg|volwheel}}}}<br />
<br />
==== CD ripping ====<br />
<br />
See [[Optical disc drive#CD 2]].<br />
<br />
==== Visualization ====<br />
<br />
* {{App|[[Wikipedia:MilkDrop|ProjectM]]|Music visualizer which uses 3D accelerated iterative image-based rendering.|http://projectm.sourceforge.net/|{{Pkg|projectm}}}}<br />
* {{App|[[Wikipedia:VSXu|VSXu]]|Free to use program that lets you create and perform real-time audio visual presets.|http://www.vsxu.com/|{{AUR|vsxu}}}}<br />
* {{App|C.A.V.A.|Console-based audio visualizer for Alsa, MPD and PulseAudio.|https://karlstav.github.io/cava/|{{AUR|cava}}}}<br />
* {{App|cli-visualizer|A highly configurable CLI-based audio visualizer.|https://github.com/dpayne/cli-visualizer|{{AUR|cli-visualizer}}}}<br />
<br />
==== Audio tag editors ====<br />
<br />
* {{App|Audio Tag Tool|Tool to edit tags in MP3 and Ogg Vorbis files.|http://tagtool.sourceforge.net/|{{AUR|tagtool}}}}<br />
* {{App|[[Wikipedia:EasyTag|EasyTag]]|Utility for viewing, editing and writing ID3 tags of music files, supports many audio formats.|http://easytag.sourceforge.net/|{{Pkg|easytag}}}}<br />
* {{App|[[Wikipedia:Ex Falso (software)|Ex Falso]]|Cross-platform free and open source audio tag editor and library organizer.|https://github.com/quodlibet/quodlibet/|{{AUR|exfalso}}}}<br />
* {{App|ID3 Mass Tagger|Command-line utility to edit ID3 1.x and 2.x tags.|http://squell.github.io/id3/|{{Pkg|id3}}}}<br />
* {{App|Kid3|MP3, Ogg/Vorbis, FLAC, MPC, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV and AIFF files tag editor.|http://kid3.sourceforge.net/|{{Pkg|kid3}}}}<br />
* {{App|MP3Info|MP3 technical info viewer and ID3 1.x tag editor.|http://ibiblio.org/mp3info/|{{Pkg|mp3info}}}}<br />
* {{App|[[Wikipedia:MusicBrainz Picard|MusicBrainz Picard]]|Cross-platform audio tag editor written in Python (the official MusicBrainz tagger).|http://musicbrainz.org/doc/MusicBrainz_Picard|{{Pkg|picard}}}}<br />
* {{App|[[Wikipedia:Puddletag|Puddletag]]|Replacement for the famous MP3tag for Windows.|http://puddletag.sourceforge.net/|{{Pkg|puddletag}}}}<br />
* {{App|taffy|Simple command-line tag editor for many audio formats.|https://github.com/jangler/taffy|{{AUR|taffy}}}}<br />
* {{App|Tag Editor|A tag editor with Qt 5 GUI and command-line interface supporting MP4/AAC (iTunes), ID3v1, ID3v2, Ogg/Vorbis and Matroska.|https://github.com/Martchus/tageditor|{{AUR|tageditor}}}}<br />
* {{App|Qoobar|Universal QT-based audio tagger (specialized for classical music)|http://qoobar.sourceforge.net/en/index.htm|{{AUR|qoobar}}}}<br />
<br />
==== Sound editing ====<br />
<br />
* {{App|[[Wikipedia:Ardour (software)|Ardour]]|Multichannel hard disk recorder and digital audio workstation.|http://ardour.org/|{{Pkg|ardour}}}}<br />
* {{App|[[Wikipedia:Audacity (audio editor)|Audacity]]|Program that lets you manipulate digital audio waveforms.|http://audacity.sourceforge.net/|{{Pkg|audacity}}}}<br />
* {{App|Bitwig Studio|Proprietary professional digital audio workstation.|http://bitwig.com/|{{AUR|bitwig-studio}}}}<br />
* {{App|Gnac|Audio converter for GNOME.|http://gnac.sourceforge.net/|{{Pkg|gnac}}}}<br />
* {{App|GNOME Sound Recorder|The Sound Recorder application enables you to record and play .flac, .ogg (OGG audio, or .oga), and .wav sound files.|https://wiki.gnome.org/Design/Apps/SoundRecorder|{{Pkg|gnome-sound-recorder}}}}<br />
* {{App|[[Wikipedia:Jokosher|Jokosher]]|Non-linear multi-track digital audio editor that is being developed in Python, using the GTK+ interface and GStreamer as an audio back-end.|https://launchpad.net/jokosher/|{{AUR|jokosher}}}}<br />
* {{App|KWave|Sound editor for KDE.|http://kwave.sourceforge.net/|{{AUR|kwave-git}}}}<br />
* {{App|[[LMMS]]|The Linux MultiMedia Studio. Free cross-platform software which allows you to produce music with your computer.|http://lmms.sourceforge.net/|{{Pkg|lmms}}}}<br />
* {{App|[[Wikipedia:Qtractor|Qtractor]]|Qt-based hard disk recorder and digital audio workstation application that aims to provide digital audio workstation software simple enough for the average home user, and yet powerful enough for the professional user.|http://qtractor.sourceforge.net/qtractor-index.html|{{Pkg|qtractor}}}}<br />
* {{App|[[Wikipedia:Rosegarden|Rosegarden]]|Digital audio workstation program developed with ALSA and Qt that acts as an audio and MIDI sequencer, scorewriter and musical composition and editing tool.|http://www.rosegardenmusic.com/|{{Pkg|rosegarden}}}}<br />
* {{App|XCFA|Tool to extract the contens of audio CDs and convert them to various formats.|http://www.xcfa.tuxfamily.org/|{{AUR|xcfa}}}}<br />
<br />
=== Video ===<br />
<br />
==== Video players ====<br />
<br />
See also [[Wikipedia:Comparison of video player software]].<br />
<br />
===== Console =====<br />
<br />
* {{App|[[FFmpeg|FFplay]]|Very simple and portable media player using the FFmpeg libraries and the SDL library.|http://ffmpeg.org/|{{Pkg|ffmpeg}}}}<br />
* {{App|[[GStreamer|gst-play-1.0]]|Simple command line playback testing tool for GStreamer.|https://gstreamer.freedesktop.org/|{{Pkg|gst-plugins-base-libs}}}}<br />
* {{App|[[MPlayer]]|Video player that supports a complete and versatile array of video and audio formats.|http://www.mplayerhq.hu/design7/news.html|{{Pkg|mplayer}}}}<br />
* {{App|[[mpv]]|Movie player based on MPlayer and mplayer2.|http://mpv.io|{{Pkg|mpv}}}}<br />
* {{App|[[Wikipedia:xine|xine-ui]]|Free multimedia player.|http://www.xine-project.org|{{Pkg|xine-ui}}}}<br />
* {{App|[[VLC media player|VLC media player (Ncurses interface)]]|Command-line version of the famous video player that can play smoothly high definition videos in the TTY. Can be launched with {{ic|vlc -I ncurses}}.|https://www.videolan.org/vlc/|{{Pkg|vlc}}}}<br />
<br />
===== Graphical =====<br />
<br />
See also: [[MPlayer#Frontends/GUIs]], [[mpv#Front ends]].<br />
<br />
* {{App|Deepin Movie|Movie player based on QtAV.|https://github.com/linuxdeepin/deepin-movie|{{Pkg|deepin-movie}}}}<br />
* {{App|[[Wikipedia:Kdemultimedia#Dragon Player|Dragon Player]]|Simple video player for KDE. Part of the {{Grp|kdemultimedia}} group.|http://www.kde.org/applications/multimedia/dragonplayer/|{{Pkg|dragon}}}}<br />
* {{App|[[Wikipedia:GNOME Videos|GNOME Videos]]|Media player (audio and video) for the GNOME desktop that uses GStreamer. Part of {{Grp|gnome}}|https://wiki.gnome.org/Apps/Videos|{{Pkg|totem}}}}<br />
* {{App|[[Wikipedia:Kaffeine|Kaffeine]]|Very versatile KDE media player that, by default, utilizes VLC as its backend and has excellent support of digital TV (DVB).|http://kaffeine.kde.org/|{{Pkg|kaffeine}}}}<br />
* {{App|Parole|Modern media player based on the GStreamer framework.|http://goodies.xfce.org/projects/applications/parole/|{{Pkg|parole}}}}<br />
* {{App|Rage|Video and audio player written with Enlightenment Foundation Libraries with some extra bells and whistles.|http://www.enlightenment.org/p.php?p&#61;about/rage|{{AUR|rage}}}}<br />
* {{App|Snappy|Powerful media player with a minimalistic interface that uses GStreamer.|https://wiki.gnome.org/Apps/Snappy|{{Pkg|snappy-player}}}}<br />
* {{App|QMLPlayer|Simple media player based on QtAV.|http://www.qtav.org/|{{Pkg|qtav}}}}<br />
* {{App|QMPlay2|QMPlay2 is a QT based video player. It can play and stream all formats supported by ffmpeg and libmodplug. It has on integrated module system, which includes a Youtube browser.|3=http://qt-apps.org/content/show.php/QMPlay2?content=153339|4={{AUR|qmplay2}}}}<br />
* {{App|[[VLC media player]]|Middleweight video player with support for a wide variety of audio and video formats.|https://www.videolan.org/vlc/|{{Pkg|vlc}}}}<br />
* {{App|Whaaw! Media Player|Lightweight GStreamer-based audio and video player that can serve as a good alternative to Totem for those who do not like all of those GNOME dependencies.|http://home.gna.org/whaawmp/|{{AUR|whaawmp}}}}<br />
* {{App|Xnoise|GTK+ and GStreamer-based media player for both audio and video with "a slick GUI, great speed and lots of features." (development ceased)|http://www.xnoise-media-player.com/|{{Pkg|xnoise}}}}<br />
<br />
==== Subtitles ====<br />
<br />
* {{App|Gaupol|Full-featured subtitle editor.|http://home.gna.org/gaupol|{{Pkg|gaupol}}}}<br />
* {{App|[[Wikipedia:Gnome Subtitles|Gnome Subtitles]]|Video subtitle editor for GNOME.|http://www.gnomesubtitles.org/|{{Pkg|gnome-subtitles}}}}<br />
* {{App|Penguin Subtitle Player|Penguin Subtitle Player is an open-source, cross-platform standalone subtitle player, as an alternative to Greenfish Subtitle Player, SrtViewer (Mac), SRTPlayer, JustSubsPlayer and Free Subtitle Player.|https://github.com/carsonip/Penguin-Subtitle-Player|{{AUR|penguin-subtitle-player-git}}}}<br />
* {{App|subdl|Automatic subtitle downloader.|https://github.com/akexakex/subdl|{{Pkg|subdl}}}}<br />
* {{App|SubtitlesPrinter|Print subtitles above a X-screen, independently of the video player.|https://github.com/OlivierMarty/SubtitlesPrinter|{{AUR|subtitles-printer-git}}}}<br />
* {{App|Subtitle Composer|open-source Subtitle editor with Qt 5 based GUI supporting various formats, features different player backends, able to display wave form|https://github.com/maxrd2/subtitlecomposer|{{AUR|subtitlecomposer}}}}<br />
<br />
==== DVD ripping ====<br />
<br />
See [[Optical disc drive#DVD 2]].<br />
<br />
==== Video editors ====<br />
<br />
See also [[Wikipedia:Comparison of video editing software]].<br />
<br />
===== Console =====<br />
<br />
* {{App|[[Wikipedia:Avidemux|Avidemux]]|Free video editor designed for simple cutting, filtering and encoding tasks.|http://fixounet.free.fr/avidemux/|{{Pkg|avidemux-cli}}}}<br />
* {{App|[[FFmpeg]]|Complete, cross-platform solution to record, convert and stream audio and video.|http://ffmpeg.org/|{{Pkg|ffmpeg}}}}<br />
* {{App|HandBrake-CLI|Simple yet powerful video transcoder ideal for batch mkv/x264 ripping.|http://handbrake.fr/|{{Pkg|handbrake-cli}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|[[Wikipedia:Avidemux|Avidemux]]|Free video editor designed for simple cutting, filtering and encoding tasks.|http://fixounet.free.fr/avidemux/| {{Pkg|avidemux-qt}}}}<br />
* {{App|[[Wikipedia:Cinelerra|Cinelerra (Community Version)]]|Professional video editing and compositing environment.|http://cinelerra-cv.org/|{{Pkg|cinelerra-cv}}}}<br />
* {{App|Flowblade|Flowblade is a multitrack non-linear video editor for Linux, designed to provide a fast, robust editing experience.|https://github.com/jliljebl/flowblade|{{AUR|flowblade}}}}<br />
* {{App|HandBrake|Simple yet powerful video transcoder ideal for batch mkv/x264 ripping. GTK+ version.|http://handbrake.fr/|{{Pkg|handbrake}}}}<br />
* {{App|[[Wikipedia:Kdenlive|Kdenlive]]|Non-linear video editor designed for basic to semi-professional work.|http://kdenlive.org/|{{Pkg|kdenlive}}}}<br />
* {{App|[[Wikipedia:Lightworks|Lightworks]]|A proprietary professional non-linear editing system for editing and mastering digital video in various formats.|http://www.lwks.com/|{{AUR|lwks}}}}<br />
* {{App|[[Wikipedia:LiVES|LiVES]]|Video editor and VJ (live performance) platform.| http://lives-video.com/ |{{AUR|lives}}}}<br />
* {{App|[[Wikipedia:OpenShot_Video_Editor|Open Shot]]|Non-linear video editor based on MLT framework.|http://www.openshotvideo.com/|{{Pkg|openshot}}}}<br />
* {{App|[[Wikipedia:Pitivi|PiTiVi]]|Video editor designed to be intuitive and integrate well in the GNOME desktop.|http://www.pitivi.org/ |{{Pkg|pitivi}}}}<br />
* {{App|[[Wikipedia:Shotcut|Shotcut]]|Shotcut is a free, open source, cross-platform video editor.|http://www.shotcut.org/ |{{AUR|shotcut-bin}}}}<br />
* {{App|Transmageddon|Simple python application for transcoding video into formats supported by GStreamer.|http://www.linuxrising.org/ |{{Pkg|transmageddon}}}}<br />
* {{App|[[Wikipedia:Blender_(software)#Video_editing|Blender]]|Fully integrated 3D graphics creation suite with a built-in non-linear video editor.|http://www.blender.org/|{{Pkg|blender}}}}<br />
<br />
==== Screencast ====<br />
<br />
See also [[Wikipedia:Comparison of screencasting software]].<br />
<br />
Screencast utilities allow you to create a video of your desktop or individual windows.<br />
<br />
* {{App|byzanz|Simple screencast tool that produces GIF animations.|http://blogs.gnome.org/otte/2009/08/30/byzanz-0-2-0/|{{Pkg|byzanz}}}}<br />
* {{App|glc|Screencast tool that can capture the sound and video from OpenGL applications, such as games, where regular X11 screencast tools produce choppy results.|https://github.com/nullkey/glc|{{AUR|glc}}{{Broken package link|{{aur-mirror|glc}}}}}}<br />
* {{App|Green Recorder|A simple yet functional desktop recorder for Linux systems.|https://github.com/green-project/green-recorder|{{AUR|green-recorder}}}}<br />
* {{App|Istanbul|Simple desktop session recorder that produces ogg videos.|https://wiki.gnome.org/Projects/Istanbul|{{AUR|istanbul}}}}<br />
* {{App|Kazam|Screencasting program with design in mind. Handles multiscreen setups.|https://launchpad.net/kazam|{{AUR|kazam}}}}<br />
* {{App|OBS|Free and open source software for video recording and live streaming.|https://obsproject.com/|{{Pkg|obs-studio}}}}<br />
* {{App|[[Wikipedia:RecordMyDesktop|RecordMyDesktop]]|An easy to use utility that records your desktop into the ogg format with a CLI, Qt or GTK+ interface.|http://recordmydesktop.sourceforge.net/|{{Pkg|recordmydesktop}} {{Pkg|gtk-recordmydesktop}} {{Pkg|qt-recordmydesktop}}}}<br />
* {{App|simplescreenrecorder|A feature-rich screen recorder written in C++/Qt4 that supports X11 and OpenGL.|http://www.maartenbaert.be/simplescreenrecorder/|{{Pkg|simplescreenrecorder}}}}<br />
* {{App|vokoscreen|Simple screencast tool, GUI ffmpeg.|http://www.kohaupt-online.de/hp|{{AUR|vokoscreen}}}}<br />
* {{App|[[Wikipedia:XVidCap|XVidCap]]|Application used for recording a screencast or digital recording of an X Window System screen output with an audio narration.|http://xvidcap.sourceforge.net/|{{AUR|xvidcap}}}}<br />
* {{App|FFcast|FFmpeg-based screencast tool written in Bash.|https://github.com/lolilolicon/FFcast|{{AUR|ffcast}}}}<br />
* {{App|peek|Simple screencast tool that produces GIF animations.|https://github.com/phw/peek|{{AUR|peek}}}}<br />
<br />
=== Mobile phone managers ===<br />
<br />
* {{App|[[Wikipedia:Gnokii|gnokii]]|Tools and user space driver for use with mobile phones.|http://www.gnokii.org/|{{Pkg|gnokii}}}}<br />
* {{App|GNOME Phone Manager|Control your mobile phone from your GNOME desktop.|https://wiki.gnome.org/PhoneManager|{{Pkg|gnome-phone-manager}}}}<br />
* {{App|KDE Connect|A project that aims to communicate all your devices.|http://community.kde.org/KDEConnect|{{Pkg|kdeconnect}}}}<br />
<br />
=== Digital camera managers ===<br />
<br />
See [[Digital Cameras#Other frontend applications for libgphoto2]].<br />
<br />
=== Optical media burning ===<br />
<br />
See [[Optical disc drive#Burning CD/DVD/BD with a GUI]].<br />
<br />
=== Podcasts ===<br />
<br />
see [[List of applications/Internet#Podcast_clients|Podcast clients]]<br />
<br />
=== Collection managers ===<br />
<br />
* {{App|[[Beets]]|Music library organizer, tagger and more.|http://beets.radbox.org/|{{Pkg|beets}}}}<br />
* {{App|Demlo|Batch music tagger, encoder, renamer and more.|http://ambrevar.bitbucket.org/demlo/|{{AUR|demlo}}}}<br />
* {{App|[[Wikipedia:GCstar|GCstar]]|GNOME application for organizing various collections (board games, comic books, movies, stamps, etc.).|http://www.gcstar.org/|{{Pkg|gcstar}}}}<br />
* {{App|[[Kodi]]|Application for organizing various collections and automatically retrieving info about them (video, music, photos).|https://kodi.tv/|{{Pkg|kodi}}}}<br />
* {{App|[[Wikipedia:Tellico|Tellico]]|KDE application for organizing various collections (books, video, music, coins, etc.).|http://tellico-project.org/|{{Pkg|tellico}}}}<br />
<br />
=== Lyrics fetchers ===<br />
<br />
* {{App|clyrics|An extensible lyrics fetcher, with daemon support for cmus and mocp.|https://github.com/trizen/clyrics|{{AUR|clyrics}}}}</div>Trizenxhttps://wiki.archlinux.org/index.php?title=Fbpad&diff=288019Fbpad2013-12-15T05:46:48Z<p>Trizenx: /* Watching YouTube */ youtube-viewer exists in Community.</p>
<hr />
<div>{{DISPLAYTITLE:fbpad}}<br />
[[Category:Terminal emulators]]<br />
{{Article summary start|Summary}}<br />
{{Article summary text|Information on installing, configuring, and using fbpad}}<br />
{{Article summary end}}<br />
<br />
[http://repo.or.cz/w/fbpad.git fbpad] is a small framebuffer terminal that manages many terminals through single character tags. It is exceptionally lightweight, being written in C and using its own font format, tinyfont, which avoids [[xorg]] font dependencies. fbpad optionally supports 256 colors, bold fonts, and saving the framebuffer contents to memory, all which combined make fbpad a viable alternative to the [[X]] server for many purposes.<br />
<br />
==Installation==<br />
<br />
{{AUR|fbpad-git}} can be installed from the [[Arch User Repository|AUR]], which by default imports the "bold" and "scrsnap" branches of fbpad, which add in 256-colors and bold fonts, and saving the contents of the framebuffer, respectively. fbpad is customized via a {{ic|config.h}} file, and edits to the {{ic|config.h}} file are incorporated into fbpad after recompiling fbpad, using the command {{ic|makepkg --skipinteg -i}}. <br />
<br />
==Configuration==<br />
<br />
Users most likely will want to edit the definitions in the {{ic|config.h}} for fonts (more on this later), {{ic|SHELL}}, {{ic|MAIL}}, and {{ic|EDITOR}} prior to use, to their preferred programs.<br />
<br />
[[dwm]] users should have no problems accustoming to fbpad. fbpad-specific keybindings are initiated with the modifier key, which is hardcoded as the {{ic|Alt}} key, just like in dwm. {{ic|Alt+j}} and {{ic|Alt+k}} switch between terminals in an open tag, {{ic|Alt+o}} switches to the last open tag, and {{ic|Alt+p}} shows the list of open tags, to name a few. Users comfortable with manually patching source code can edit the {{ic|fbpad.c}} file to edit/add keybindings. <br />
<br />
If you re-compile fbpad often, you would probably like to be able to reload fbpad without having to manually re-launch it. The following code starts fbpad post login in tty1 and will reload it if you quit fbpad with {{ic|Ctrl+Alt+q}}.<br />
<br />
{{bc|<nowiki><br />
if [[ $(tty) = /dev/tty1 ]]; then<br />
while true; do<br />
fbpad >/dev/null 2>&1<br />
done<br />
fi<br />
</nowiki>}}<br />
<br />
Place this at the end of your shellrc file.<br />
<br />
===Tag Colors===<br />
<br />
The default background of the list of tags is hardcoded as white, the foreground of empty tags as black, the foreground of fully occupied tags as green (each tag may contain two terminals), and the foreground of tags that are not fully occupied as blue. This color scheme clearly is not for everyone, but this is easily remedied with the following patch:<br />
<br />
{{bc|1=<br />
--- a/fbpad.c 2011-11-11 13:02:22.834825518 -0500<br />
+++ b/fbpad.c 2011-11-11 13:04:07.016043271 -0500<br />
@@ -110,7 +110,7 @@<br />
<br />
static void showtags(void)<br />
{<br />
- int colors[] = {15, 4, 2};<br />
+ int colors[] = {8, 2, 9};<br />
int c = 0;<br />
int r = pad_rows() - 1;<br />
int i;<br />
@@ -128,7 +128,7 @@<br />
nt++;<br />
pad_put(i == ctag ? '(' : ' ', r, c++, FGCOLOR, BGCOLOR);<br />
if (TERMSNAP(i))<br />
- pad_put(tags[i], r, c++, !nt ? BGCOLOR : colors[nt], 15);<br />
+ pad_put(tags[i], r, c++, !nt ? 8 : colors[nt], BGCOLOR);<br />
else<br />
pad_put(tags[i], r, c++, colors[nt], BGCOLOR);<br />
pad_put(i == ctag ? ')' : ' ', r, c++, FGCOLOR, BGCOLOR);<br />
}}<br />
<br />
To use, replace "8" with the desired color for empty tags (in both instances), "2" with the desired color for not fully occupied tags, and "9" with the desired color for fully occupied tags, where the colors 0-15 are defined in the {{ic|config.h}} file. This patch also makes the default background color the background color of your terminal, which the writer finds to be a more natural choice.<br />
<br />
Note that the second "8" is the color for tags for which fbpad saves the framebuffer contents. If you choose to define {{ic|TAGS_SAVED}} as {{ic|TAGS}}, then you will want your default foreground color and the color for saved tags to be the same, i.e. "8" in both instances. Otherwise, you may define {{ic|TAGS_SAVED}} as a concatenated string of the tags to be saved, and change the second "8" to the color you wish to indicate saved tags by. The writer herself saves all tags for convenience. <br />
<br />
Save the patch as {{ic|fbpad-tagcolor.diff}}, add {{ic|'fbpad-tagcolor.diff'}} to your source array, and the following line to the {{ic|PKGBUILD}} after the line that copies the {{ic|config.h}} file:<br />
<br />
patch -p1 -i "${srcdir}/${_gitname}-tagcolor.diff" || return 1<br />
<br />
===Fonts===<br />
<br />
The font format for fbpad is the "tinyfont", and there exists a utility, {{AUR|ft2tf}}, which converts TTF files to the tinyfont format. You will need to edit the {{ic|config.h}} file in the ft2tf build directory to point to the TTF file of your desired font. For instance, if the font file {{ic|MonteCarloFixed.ttf}} was located in {{ic|$HOME/.fonts}} directory, you would edit line 10 of the {{ic|config.h}} to look like the following:<br />
<br />
{"/home/archie/.fonts/MonteCarloFixed12.ttf", 6},<br />
<br />
if your username was "archie", and the font size of Monte Carlo you wished to create was size 6. Delete other font lines you see other than this one, unless you wish to supplement your font with the glyphs from another font, in which case, add lines like the one above for your other TTF fonts.<br />
<br />
Then, run {{ic|makepkg -skipinteg -i}} to rebuild and reinstall the package with your customized settings.<br />
<br />
After installing ft2tf, the following command creates a tinyfont file:<br />
<br />
$ ft2tf > MyFont.tf<br />
<br />
where "MyFont" can be replaced with a name of your choosing.<br />
<br />
Remember to edit your {{ic|config.h}} to point to the directory where you save your {{ic|MyFont.tf}}. If your font also has a bold face, repeat the process of editing the ft2tf {{ic|config.h}} file, this time specifying the location of the boldface TTF file in the ft2tf {{ic|config.h}}, rebuilding with makepkg, and adding the final boldface tinyfont location to your fbpad {{ic|config.h}}.<br />
<br />
Also note that some fonts might require modification of the {{ic|WIDTHDIFF}} and {{ic|HEIGHTDIFF}} to have the proper width and height, respectively.<br />
<br />
===Color Support===<br />
<br />
By default, the AUR package installs the custom terminfo for fbpad, but you will need to add {{bc|1=export TERM=fbpad-256}} to your shellrc to take advantage of the 256 color support. Clearly, commands not spawned in your default shell (for instance, those for {{ic|EDITOR}} and {{ic|MAIL}}) will not read your shellrc file, so you will need to edit their definitions in your {{ic|config.h}} file to have the commands for {{ic|EDITOR}} and {{ic|MAIL}} run in a parent shell. For instance, the author of this article, who uses [[zsh]], changed the default command for {{ic|MAIL}} from:<br />
<br />
#define MAIL "mailx"<br />
<br />
to<br />
<br />
#define MAIL "zsh -i -c mailx"<br />
<br />
Additionally, to have colors with the {{ic|ls}} command, "fbpad-256" needs to be added to the list of terms that {{ic|ls}} knows can handle color. Per the {{ic|README}}, run the following command in your shell:<br />
<br />
$ dircolors --print-database | sed '/^TERM linux$/aTERM fbpad-256' >$HOME/.dircolors<br />
<br />
and add {{ic|eval `dircolors ~/.dircolors`}} to your shellrc file so that the custom dircolors file, with the fbpad-256 term added, may be loaded.<br />
<br />
==Usage==<br />
<br />
The following are examples of how some general desktop needs may be implemented in fbpad.<br />
<br />
===Copying Text===<br />
<br />
As everything is done mouselessly in fbpad, to copy text, users can make a "screenshot" of all the text on the screen with the {{ic|Alt+s}} command. This will save all viewable text to the file {{ic|/tmp/scr}}. Then, if your shell supports editing the commandline with [[vim]] (for instance, the edit-command-line ZLE function in zsh), you can open the {{ic|/tmp/scr}} file as a new buffer in vim and use its copy keybindings to paste the needed text into your original buffer. [[Emacs]] users probably can adopt a similar scheme to copy text.<br />
<br />
===Watching YouTube===<br />
<br />
If one is using [[MPlayer]] with the video output driver set to {{ic|fbdev2}}, {{Pkg|youtube-viewer}} can be used for searching YouTube and watching with MPlayer from the commandline in fbpad. Alternatively, one can add the following script as an external browser in the commandline web browser {{Pkg|w3m}}, and launch playback of videos from YouTube websites with one's media player of choice. The script below employs {{AUR|fbff-git}}, a lightweight media player also written by the author of fbpad, and {{AUR|yturl}}, a simple program, that, rather UNIX-like, functions solely to convert YouTube URLs into directly watchable URLs.<br />
<br />
{{bc|1=<br />
#!/bin/sh<br />
video=$(yturl $1)<br />
fbff -f $video > /dev/null 2>&1<br />
}}<br />
<br />
Save the file in your {{ic|PATH}} as {{ic|youtube.sh}}, and add it as an external browser to w3m by opening w3m, hitting the {{ic|o}} key to edit options, and edit the "External Browser" field under "External Program Settings" by entering in the field "youtube.sh". Hit "OK", and you are done. Now, when wishing to watch a video, with YouTube open, hit the {{ic|M}} key, and the video will begin streaming instantly in fbff.<br />
<br />
==Recommended Programs==<br />
<br />
Here are a few recommendations for programs that enhance the usability of a framebuffer-based desktop:<br />
<br />
* {{Pkg|dvtm}} - a dynamic virtual terminal manager (think dwm, but for the console)<br />
* {{AUR|fbcat}} - a framebuffer screenshot grabber<br />
* {{AUR|fbff-git}} - an ffmpeg-based media player<br />
* {{AUR|fbpdf-git}} - a MuPDF-based PDF viewer, optionally supports DjVu or rendering via poppler<br />
* {{Pkg|fbv}} - an image viewer<br />
* [[screen]] - a terminal multiplexer<br />
* {{Pkg|w3m}} - a commandline web browser<br />
<br />
==External Links==<br />
* [https://bbs.archlinux.org/viewtopic.php?pid=1019748 fbpdf, fbpad, and fbff - A Minimal Framebuffer Software Suite]<br />
* [http://litcave.rudi.ir litcave], the homepage of Ali Gholami Rudi's software projects</div>Trizenxhttps://wiki.archlinux.org/index.php?title=AUR_helpers&diff=288003AUR helpers2013-12-15T02:30:29Z<p>Trizenx: /* Quick Comparison Table */</p>
<hr />
<div>[[Category:Arch User Repository]]<br />
[[Category:Package management]]<br />
[[es:Aurbuild]]<br />
[[fr:Assistants AUR]]<br />
[[ja:AUR Helpers]]<br />
[[ru:AUR Helpers]]<br />
[[tr:AUR_Yardımcı_Uygulamaları]]<br />
[[zh-CN:AUR Helpers]]<br />
{{Warning|None of these tools are officially supported by Arch devs. See [https://bbs.archlinux.org/viewtopic.php?pid&#61;828254#p828254 this forum thread].}}<br />
<br />
'''AUR Helpers''' are written to make using the [[Arch User Repository]] more comfortable.<br />
<br />
== AUR uploader helpers ==<br />
<br />
* {{App|aurploader|prompts the user for an AUR username and password and will then upload PKGBUILD tarballs to the AUR. Before uploading each package, the user is prompted to select a category. When the uploads have completed, the user is asked if the cookie file should be kept so that the script can be run again without needing the AUR username and password to be re-entered. It can include comments, vote and toggle notifications as well. It is now part of the python3-aur package, which includes modules for AUR automation and some other helpers. |http://xyne.archlinux.ca/projects/python3-aur|{{AUR|python3-aur}}}}<br />
<br />
* {{App|aurup|a command line tool to upload AUR packages|http://www.pierloz.com/Aurup/|{{AUR|aurup}}}}<br />
<br />
* {{App|burp|fast and simple AUR uploader written in C. Supports persistent cookies for seamless logins|https://github.com/falconindy/burp|{{pkg|burp}}}}<br />
<br />
== AUR search/build helpers ==<br />
This is a list of helper utilities that search and/or build packages.<br />
<br />
* {{App|[[aur.sh]]|A ~150 byte Bash script outside the package system that downloads and builds AUR packages named on the command line (and their dependencies). Useful for bootstrapping more full-featured AUR helpers.|https://github.com/stuartpb/aur.sh|4=<span class="plainlinks" style="font-family: monospace">bash <(curl [http://aur.sh/ aur.sh]) -si ''[package ...]''</span>}}<br />
<br />
* {{App|[[aura]]|a secure, multilingual package manager for Arch Linux written in Haskell. Has all pacman options, new ones for managing AUR packages, and a nifty logo.|https://github.com/fosskers/aura|{{AUR|aura}}}}<br />
<br />
* {{App|aurifere|AUR wrapper for lazy people in Python.|https://github.com/madjar/aurifere|{{AUR|aurifere-git}}}}<br />
<br />
* {{App|aurinstaller|a full of bugs bash AUR helper.|https://github.com/umby213/aurinstaller|{{AUR|aurinstaller-git}}}}<br />
<br />
* {{App|aurnotify|a tool set to notify the status of your favorite packages from AUR.|http://adesklets.sourceforge.net/desklets.html|{{AUR|aurnotify}}}}<br />
<br />
* {{App|aurbuild|tool to download and build packages from the AUR.|http://aurbuild.berlios.de/|{{AUR|aurbuild}}}}<br />
<br />
* {{App|aurget|aims to be a simple, pacman-like interface to the AUR. It tries to make the AUR convenient; whether the user wishes to find, download, build, install, or update AUR packages quickly. Aurget does not wrap any pure pacman commands, this is by design|http://pbrisbin.com/posts/aurget/|{{AUR|aurget}}}}<br />
<br />
* {{App|aurora|very simple frontend for the AUR. It allows the user to install AUR packages, download the AUR packages (for manual installation) and also offers an AUR upgrade feature. By design, aurora does not wrap pacman|http://bitbucket.org/bbenne10/aurora|{{AUR|aurora-hg}}}}<br />
<br />
* {{App|aurpac|light'n'fast AUR and pacman frontend|http://3ed.jogger.pl/2009/02/15/aurpac/|{{AUR|aurpac}}}}<br />
<br />
* {{App|aurquery|caching wrapper around the AUR's RPC interface using the python3-aur modules |http://xyne.archlinux.ca/projects/python3-aur|{{AUR|python3-aur}}}}}}<br />
<br />
* {{App|[[autoaur]]|script for automatic mass downloading, updating, building, and installing groups of AUR packages|https://github.com/stefanhusmann/autoaur|{{AUR|autoaur}}}}<br />
<br />
* {{App|1=cower|2=fast and simple AUR search and download agent, which will also check for updates and download dependencies.<br />
:* [https://bbs.archlinux.org/viewtopic.php?id=97137 Forum page]|3=https://github.com/falconindy/cower|4={{AUR|cower}}}}<br />
<br />
* {{App|meat|front-end for cower ( see above ) and it is fully written in bash<br />
:{{Note|Meat is currently in development/alpha state.}}|https://github.com/e36freak/meat|{{AUR|meat-git}}}}<br />
<br />
* {{App|owl|pacman and cower wrapper focused on simplicity|https://github.com/baskerville/owl<br />
:* [https://bbs.archlinux.org/viewtopic.php?id=129609 Forum page]|https://github.com/baskerville/owl|{{AUR|owl-git}}}}<br />
<br />
* {{App|1=[[pacaur]]|2=fast workflow AUR helper, using cower as backend. It aims at speed and simplicity, and is designed to minimize user prompt interaction and to use an uncluttered interface.<br />
:* [https://bbs.archlinux.org/viewtopic.php?pid=937423 Forum page]|3=https://github.com/Spyhawk/pacaur|4={{AUR|pacaur}}}}<br />
<br />
* {{App|1=packer|2=wrapper for pacman and the AUR. It was designed to be a simple and very fast replacement for the basic functionality of Yaourt. It has commands to install, update, search, and show information for any package in the main repositories and in the AUR. Use pacman for other commands, such as removing a package<br />
:* [https://bbs.archlinux.org/viewtopic.php?id=88115 Forum page]<br />
:* [https://github.com/keenerd/packer/wiki Wiki]|3=https://github.com/keenerd/packer|4={{AUR|packer}}}}<br />
<br />
* {{App|1=paktahn|2=yaourt replacement. Includes improvements such as a local cache for fast searches and interactive installation. Last Updated: 2013-04-15 08:17<br />
:* [https://bbs.archlinux.org/viewtopic.php?id=77674&p=1 Forum page]<br />
|3=https://github.com/skypher/paktahn|4={{AUR|paktahn}}}}<br />
<br />
* {{App|1=pbfetch|2=script which can be used as a pacman-independent AUR helper or a pacman wrapper with additional AUR functionality. Pbfetch aims to be a simple and fast versus the well established yaourt. Pbfetch can be used as a shortcut to simply download PKGBUILDs from AUR or automatically build with dependency resolution among other things. The user can select which AUR packages to upgrade using a simple menu as well as update all AUR packages<br />
:* [https://bbs.archlinux.org/viewtopic.php?id=87789 Forum page]<br />
|3=https://github.com/dalingrin/pbfetch|4={{AUR|pbfetch-git}}}}<br />
<br />
* {{App|pbget|simple command-line tool for retrieving PKGBUILDs and local source files for Arch Linux. It is able to retrieve files from the official SVN and CVS web interface, the AUR and the ABS rsync server|http://xyne.archlinux.ca/projects/pbget|{{AUR|pbget}}}}<br />
<br />
* {{App|1=PKGBUILDer|2=a python3 AUR helper with dependency support. It was (probably) the first helper supporting updates through multiinfo. Contains many useful features and is written to be fast and verbose, to eliminate long waiting times.|3=https://github.com/Kwpolska/pkgbuilder|4={{AUR|pkgbuilder}}}}<br />
<br />
* {{App|1=pkgman|2=script which helps to manage a local repository. It retrieves the PKGBUILD and related files for given name from ABS or AUR and lets you edit them, automatically generates checksums, backs up the source tarball, builds and adds the package to your local repository. Then you can install it as usual with pacman. It also has AUR support for submitting tarballs and leaving comments<br />
:* [https://bbs.archlinux.org/viewtopic.php?id=49023 Forum page]<br />
|3=http://sourceforge.net/apps/mediawiki/pkgman/index.php|4={{AUR|pkgman}}}}<br />
<br />
* {{App|pywer|A python rewrite of cower with a library ({{ic|libaur}}) for use in python scripts, currently in development. It does not build packages. Checks for updates, searches for packages and maintainers and gets information on packages. | http://kaictl.net/docs/pywer/ https://github.com/KaiSforza/pywer | {{AUR|python-pywer-git}}}}<br />
<br />
* {{App|spinach|just another bash AUR helper|http://floft.net/wiki/Scripts/Spinach|{{AUR|spinach}}}}<br />
<br />
* {{App|1=srcman|2=pacman/makepkg wrapper written in Bash, which transparently handles pacman operations on 'source packages'. This means, for example, that packages can be specified for installation either explicitly (pacman's {{Ic|-U}} operation) or can be installed from a (source) repository (-S operation). The address of an AUR pacman database can be found in the corresponding forum thread, by the way. The primary goal of this project is to provide a complete pacman wrapper and therefore, srcman supports all current pacman operations for binary ''and'' source packages|3=https://bbs.archlinux.org/viewtopic.php?id=65501|4={{AUR|srcman}}}}<br />
<br />
* {{App|trizen|A lightweight wrapper for AUR in Perl.|https://github.com/trizen/trizen|{{AUR|trizen}}}}<br />
<br />
* {{App|yaah|A minimalist wrapper for AUR in Bash.|https://bitbucket.org/the_metalgamer/yaah/|{{AUR|yaah}}}}<br />
<br />
* {{App|[[yaourt]] (Yet Another User Repository Tool)|community-contributed wrapper for pacman which adds seamless access to the AUR, allowing and automating package compilation and installation from your choice of the thousands of PKGBUILDs in the AUR, in addition to the many thousands of available Arch binary packages. Yaourt uses the same exact syntax as pacman, which saves you from relearning an entirely new method of system maintenance, but also adds new options. Yaourt expands the power and simplicity of pacman by adding even more useful features and provides pleasing, colorized output, interactive search mode, and much more|http://archlinux.fr/yaourt-en|{{AUR|yaourt}}}}<br />
<br />
== AUR maintaining helpers ==<br />
* {{App|pkgcheck|Uses rules in PKGBUILDs to parse upstream version information or looks for changes by checksuming the web page|https://bbs.archlinux.org/viewtopic.php?id=162816|Repository: [https://github.com/onny/pkgcheck Github]}}<br />
<br />
* {{App|pkgbuild-watch|Looks for changes on the upstream web pages|http://kmkeen.com/pkgbuild-watch|{{AUR|pkgbuild-watch}}}}<br />
<br />
* {{App|pkglivecheck|Parses the source url from PKGBUILDs and tries to find new versions of packages by incrementing the version number and sending requests to the webserver|https://mailman.archlinux.org/pipermail/pacman-dev/2013-April/017048.html |Repositoy: [https://github.com/anatol/pkglivecheck Github]}}<br />
<br />
== Others ==<br />
Other useful libraries.<br />
<br />
* {{App|haskell-archlinux|library to programmatically access the AUR and package metadata from the Haskell programming language|http://hackage.haskell.org/package/archlinux|{{AUR|haskell-archlinux}}}}<br />
<br />
* {{App|parched|pacman package and PKGBUILD parser module written in python|https://github.com/sebnow/parched|{{AUR|parched-git}}}}<br />
<br />
== Quick Comparison Table ==<br />
<br />
{{note|''Secure'' means that the application, by default, doesn't source the PKGBUILD at all, or, before doing it, reminds the user and offers him the opportunity to inspect it manually. Some helpers are known to source PKGBUILDs before the user can inspect them, for example for dependency resolution, and this can allow malicious code to be executed.}}<br />
<br />
{| border="1" cellpadding="4" cellspacing="0" <br />
! Name !! Written in !! Active Project !! Official Repo support !! Pacman-like Syntax !! Shell Tab Completion !! Secure (<small>see&nbsp;note&nbsp;above</small>) !! Multilingual !! Specificity<br />
|- <br />
! [[aura]] <br />
| Haskell || {{Yes}} || {{Yes}} || {{Yes}} || Bash/zsh || {{Yes}} || {{Yes}} || Handles Backups, Downgrades, ABS Support<br />
|-<br />
! aurget<br />
| Bash || {{Yes}} || {{No}} || {{Yes}} || Bash || {{No}} || {{No}} || -<br />
|-<br />
! aurora<br />
| Python3 || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || -<br />
|-<br />
! cower<br />
| C || {{Yes}} || {{No}} || {{No}} || Bash/zsh || {{Yes}} || {{No}} || Minimalist helper without automatic build support.<br />
|-<br />
! owl<br />
| Dash || {{Yes}} || {{Yes}} || {{No}} || Bash || {{Yes}} || {{No}} || -<br />
|-<br />
! [[pacaur]]<br />
| Bash/C || {{Yes}} || {{Yes}} || {{Yes}} || Bash || optional || {{Yes}} || Minimize user interaction.<br />
|-<br />
! packer<br />
| Bash || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || -<br />
|-<br />
! paktahn<br />
| Lisp || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || -<br />
|-<br />
! pbfetch<br />
| Bash || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || -<br />
|-<br />
! PKGBUILDer<br />
| Python3 || {{Yes}} || {{Yes}} ({{Ic|pb}} command) || {{No}} || {{No}} || {{No}} || {{Yes}} || - <br />
|-<br />
! pywer<br />
| Python3 || {{Yes}} || {{No}} (read only libaur.repos) || {{No}} || {{Yes}} (zsh) || {{Yes}} || {{No}} || Includes python3 {{ic|libaur}} library<br />
|-<br />
! spinach<br />
| Bash || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || -<br />
|-<br />
! trizen<br />
| Perl || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || Full dependencies support for AUR packages.<br />
|-<br />
! yaah<br />
| Bash || {{Yes}} || {{No}} || {{No}} || Bash || {{Yes}} || {{No}} || Minimalist helper without automatic build support.<br />
|-<br />
! [[yaourt]]<br />
| Bash/C || {{Yes}} || {{Yes}} || {{Yes}} || Bash/zsh/fish || {{Yes}} || {{Yes}} || Handles Backups, ABS support<br />
|}<br />
<br />
== See also ==<br />
* [[pacman GUI Frontends]]</div>Trizenxhttps://wiki.archlinux.org/index.php?title=Openbox&diff=288000Openbox2013-12-15T01:45:15Z<p>Trizenx: /* obmenu-generator */ Removed the '-p' switch which is only used for creating a new pipe menu.xml</p>
<hr />
<div>[[Category:Stacking WMs]]<br />
[[cs:Openbox]]<br />
[[de:Openbox]]<br />
[[es:Openbox]]<br />
[[fr:Openbox]]<br />
[[it:Openbox]]<br />
[[ja:Openbox]]<br />
[[ko:Openbox]]<br />
[[lt:Openbox]]<br />
[[nl:Openbox]]<br />
[[pl:Openbox]]<br />
[[ru:Openbox]]<br />
[[sk:Openbox]]<br />
[[sr:Openbox]]<br />
[[tr:Openbox]]<br />
[[zh-CN:Openbox]]<br />
[[zh-TW:Openbox]]<br />
{{Related articles start}}<br />
{{Related|Desktop Environment}}<br />
{{Related|Display Manager}}<br />
{{Related|File manager functionality}}<br />
{{Related|Window Manager}}<br />
{{Related|Oblogout}}<br />
{{Related articles end}}<br />
<br />
Openbox is a lightweight, powerful, and highly configurable ''stacking'' [[Window_Manager|window manager]] with extensive standards support. It may be built upon and run independently as the basis of a unique [[desktop environment]], or within other integrated desktop environments such as [[KDE]] and [[Xfce]], as an alternative to the window managers they provide. The [[LXDE]] desktop environment is itself built around Openbox.<br />
<br />
A comprehensive list of features are documented at the [http://openbox.org/ official Openbox website]. This article pertains to specifically installing Openbox under Arch Linux.<br />
<br />
== Installation ==<br />
<br />
Install {{Pkg|openbox}}, available in the [[official repositories]].<br />
<br />
== Openbox Sessions ==<br />
<br />
Again, Openbox may be run independently as a standalone window manager, or within other integrated desktop environments such as [[KDE]] and [[XFCE]] as an alternative to the window managers they provide.<br />
<br />
=== Standalone ===<br />
<br />
Many popular [[Display_Manager|display managers]] such as [[LXDM]], [[SLiM]], and [[LightDM]] will automatically detect Openbox, allowing for it to be run as a standalone session.<br />
<br />
However, it may be necessary to manually specify the command to start an openbox session where intending to set it as a default session for [[SLiM]], or where not using a display manager at all (e.g. logging in at the command line, followed by the command {{ic|startx}}). In either instance, it will be necessary to modify the [[Xinitrc]] file in order to add the following command:<br />
<br />
exec openbox-session<br />
<br />
=== Within other desktop environments ===<br />
<br />
When replacing the native window manager of a desktop environment with Openbox, any desktop compositing effects - such a transparency - provided by that native window manager will be lost. This is because Openbox itself does not provide any compositing functionality. However, it is easily possible to use a separate compositing program to [[Openbox#Compositing effects|re-enable compositing]]. <br />
<br />
==== GNOME ====<br />
Openbox does not seem to work with [[GNOME|GNOME 3]]. The {{ic|Gnome-Shell}} touch-style interface requires both its native window manager and its native gtk-window-decorator packages to function. Furthermore, attempting to run Openbox within the {{ic|Classic-Gnome-Shell}} interface results in the loss of the {{ic|gnome-panel}}. Ceasing Openbox and attempting to restore the native window manager will result in crashing the desktop. Gnome 3 is tightly integrated, and is therefore deliberately designed not to be modular in nature (i.e. allowing components to be changed).<br />
<br />
==== KDE ====<br />
See the [[KDE#Using Openbox in KDE|using Openbox in KDE]] section of the main [[KDE]] article.<br />
<br />
==== Xfce ====<br />
See the [[Xfce#Using Openbox in XFCE|using Openbox in XFCE]] section of the main [[XFCE]] article.<br />
<br />
== System Configuration==<br />
<br />
Those installing Openbox - particularly as a stand-alone Window Manager - will have noticed that several elements may fail to work properly, or even work at all. Examples of the common problems encountered are:<br />
<br />
* '''File Managers''': Other partitions are not displayed or accessable. The trash function - where provided - does not work <br />
* '''Authentication''': Passwords are not stored / remembered during sessions<br />
* '''Secure Shell (SSH)''': SSH agent will not start<br />
* '''Wireless Connection''': Instant failure when attempting to connect to wifi (related to authentication) <br />
* '''Themes''': Application windows are mismatched or haphazard-looking<br />
* '''Folders''': Expected folders such as {{ic|Documents}}, {{ic|Downloads}} and so forth are missing from the {{ic|Home}} folder<br />
* '''System Tray''': Installed packages fail to autostart or can be seen running twice<br />
<br />
Most of these problems are actually the result of [[Dbus]] and [[GTK]] issues, both of which can be fixed simultaneously by editing the [[xprofile|~/.xprofile]] file - or if using [[SLiM]] as a [[display manager]] instead - by editing the [[xinitrc|~/.xinitrc]] file. It will also be necessary to install some key packages to ensure full functionality.<br />
<br />
=== D-Bus ===<br />
<br />
File manager, authentication, SSH agent, and WiFi-connection problems will likely be due to that [[D-Bus]] is not functioning correctly. Most [[display manager]]s such as [[GDM]], [[KDM]], [[LightDM]] and [[LXDM]] will handle this for you.<br />
<br />
When using [[xinit]] or certain other DMs (such as [[XDM]] and [[SLiM]]), make sure {{ic|~/.xinitrc}} is based on {{ic|/etc/skel/.xinitrc}} (so that it sources {{ic|/etc/X11/xinit/xinitrc.d/}}, see [[xinitrc]] for more information).<br />
<br />
=== GTK 2 ===<br />
<br />
Problems with the theme and look will likely be due to the absence of the appropriate command to ensure that a uniform look must be applied to applications that use GTK 2. Again, edit {{ic|~/.xinitrc}} and/or {{ic|~/.xprofile}} with the following command:<br />
<br />
export GTK2_RC_FILES="$HOME/.gtkrc-2.0" <br />
<br />
The {{ic|~/.gtkrc-2.0}} file will be automatically generated where using [[LXDE | lxappearance]] to set themes.<br />
<br />
It will also be necessary to install {{Pkg|libgnomeui}} to ensure that [[Qt]] is also able to find GTK themes.<br />
<br />
=== XDG ===<br />
<br />
In addition to sourcing the '''local''' {{ic|~/.config/openbox/autostart}} file to autostart applications, Openbox will also source {{ic|.desktop}} files automatically installed by some packages in the '''global''' {{ic|/etc/xdg/autostart}} directory. The package responsible for allowing Openbox to additionally source the {{ic|/etc/xdg/autostart}} directory is {{Pkg|python2-xdg}}. <br />
<br />
For example, where initially autostarting a package such as the [[NetworkManager|Network Manager]] applet ('''nm-applet''') locally, should {{Pkg|python2-xdg}} be installed at a later time - either explicitly or as a dependency for another package - its global XDG {{ic|.desktop}} file will then also be sourced as a consequence, resulting in seeing two icons running in the system tray. It is therefore recommended to install {{Pkg|python2-xdg}} explicitly, as this will ensure that applications that should automatically autostart when installed will do so.<br />
<br />
=== Home folders ===<br />
{{tip|This fix will be especially helpful for those who wish to use a file manager to manage their desktop, as it will automatically create a special {{ic|~/Desktop}} directory, which will house all files and application shortcuts stored on the desktop itself.}}<br />
<br />
Where expected {{ic|Home}} folders such as {{ic|Downloads}}, {{ic|Documents}}, etc., are not present, then please review the [[Xdg user directories]] article.<br />
<br />
=== Authentication and Passwords ===<br />
<br />
For authentication (e.g. WiFi passwords, etc.), it will be necessary to install the appropriate packages. They are:<br />
<br />
* {{Pkg|polkit}}: Application development toolkit for controlling system-wide privileges; see [[polkit]]<br />
* {{Pkg|lxpolkit}}: Simple policykit authentication agent for LXDE ({{Pkg|polkit-gnome}} currently does not work properly)<br />
* {{Pkg|gnome-keyring}}: store / remember passwords; see [[GNOME Keyring]]<br />
<br />
== Openbox Configuration ==<br />
<br />
{{warning|Edit these files as the user you will be using Openbox with. Not as root!}}<br />
{{tip|Local configuration files will always override global equivalents. These files may also be manually edited by any appropriate text editor, such as Leafpad or Geany; there is no need to use [[sudo]] or '''gksu''' commands to edit them.}}<br />
<br />
Four key files form the basis of the openbox configuration, each serving a unique role. They are: {{ic|rc.xml}}, {{ic|menu.xml}}, {{ic|autostart}}, and {{ic|environment}}. Although these files are discussed in more detail below, to start configuring Openbox, it will first be necessary to create a '''local''' Openbox profile (i.e for your specific user account) based on them. This can be done by copying them from the '''global''' {{ic|/etc/xdg/openbox}} profile (applicable to any and all users) as a template:<br />
<br />
$ mkdir -p ~/.config/openbox<br />
$ cp -R /etc/xdg/openbox/* ~/.config/openbox<br />
<br />
=== rc.xml ===<br />
{{tip|Custom keyboard shortcuts (keybindings) must be added to the {{ic|<keyboard>}} section of this file, and underneath the {{ic|<nowiki><!-- Keybindings for running aplications --></nowiki>}} heading.}}<br />
<br />
{{ic|~/.config/openbox/rc.xml}} is the main configuration file, responsible for determining the behaviour and settings of the overall session, including:<br />
<br />
* Keyboard shortcuts (e.g. starting applications; controlling the volume)<br />
* Theming<br />
* Desktop and Virtual desktop settings, and<br />
* Application Window settings<br />
<br />
This file is also pre-configured, meaning that it will only be necessary to amend existing content in order to customise behaviour to suit personal preference.<br />
<br />
=== menu.xml ===<br />
<br />
{{ic|~/.config/openbox/menu.xml}} defines the type and behaviour of the desktop menu, accessable by right-clicking the background. Although the default provided is a '''static menu''' (meaning that it will not automatically update when new applications are installed), it is possible to employ the use of '''dynamic menus''' that will automatically update as well. <br />
<br />
The available options are discussed extensively below in the [[Openbox#Menus|Menus]] section.<br />
<br />
=== autostart ===<br />
{{tip|Be aware that some applications will automatically start via {{ic|.desktop}} files installed in the {{ic|/etc/xdg/autostart/}} or {{ic|~/.config/autostart/}} directories.}}<br />
<br />
{{ic|~/.config/openbox/autostart}} determines which applications are to be launched upon beginning the Openbox session. These may include:<br />
<br />
* Panels and/or docks<br />
* Compositors<br />
* Background providers<br />
* Screensavers<br />
* Applications to autoload or autostart (e.g. [[Conky]])<br />
* [[Daemon]] processes (e.g. File Managers for automounting and other functions)<br />
* Other appropriate commands (e.g. disable [[DPMS]])<br />
<br />
==== Listing commands ====<br />
<br />
There are two very important points to note when adding commands to the {{ic|~/.config/openbox/autostart}} file:<br />
<br />
* Each and every command '''must''' be terminated with an ampersand ({{ic|&}}). Where a command does not end with an ampersand, then no further commands listed below it will be executed.<br />
* It is strongly recommended to add delays to the execution of some or all commands in the autostart file, even if only by a single second. The consequence of not doing so is that all commands will be executed simultaneously, potentially resulting in the mis- or non-starting of items. The syntax of the command to delay the execution of commands (in seconds) is:<br />
<br />
(sleep <number of seconds>s && <command>) &<br />
<br />
For example, to delay the execution of [[Conky]] by 3 seconds, the command would be (and note the termination of it with an ampersand):<br />
<br />
(sleep 3s && conky) &<br />
<br />
Here is a more complete example of a possible {{ic|~/.config/openbox/autostart}} file:<br />
<br />
## Autostart File ##<br />
<br />
##Disable DPMS<br />
xset -dpms; xset s off &<br />
<br />
##Compositor<br />
compton -CGb &<br />
<br />
##Background<br />
(sleep 1s && nitrogen --restore) &<br />
<br />
##tint2 panel<br />
(sleep 1s && tint2) &<br />
<br />
##Sound Icon<br />
(sleep 1s && volumeicon) &<br />
<br />
##Screensaver<br />
(sleep 1s && xscreensaver -no-splash) &<br />
<br />
##Conky<br />
(sleep 3s && conky) &<br />
<br />
##Disable touchpad<br />
/user/bin/synclient TouchpadOff=1 &<br />
<br />
=== environment ===<br />
{{note|This is the least important file, and many users may not need to edit it at all.}}<br />
<br />
{{ic|~/.config/openbox/environment}} can be used to export and set relevant environmental variables such as to:<br />
<br />
* Define new pathways (e.g. execute commands that would otherwise require the entire pathway to be listed with them)<br />
* Change language settings, and<br />
* Define other variables to be used (e.g. the fix for GTK theming could be listed here)<br />
<br />
=== Optional GUI configuration packages ===<br />
<br />
Several GUIs are available to quickly and easily configure your Openbox desktop. From the official repositories these include:<br />
<br />
* {{Pkg|obconf}}: Basic Openbox configuration manager<br />
* {{Pkg|lxappearance-obconf}}: LXDE configuration manager (provides additional options)<br />
* {{Pkg|lxinput}}: LXDE keyboard and mouse configuration<br />
* {{Pkg|lxrandr}}: LXDE monitor configuration<br />
<br />
Others, such as {{AUR|obkey}} (configure keyboard shortcuts via the {{ic|rc.xml}} file) and {{AUR|ob-autostart}} (configure the Openbox {{ic|autostart}} file) are available from the [[AUR]]. Programs and applications relating to the configuration of Openbox's desktop menu are discussed in the [[Openbox#Menus|Menus]] section.<br />
<br />
== Openbox Reconfiguration ==<br />
{{tip|where not already present, it would be worthwhile adding this command to a menu and/or as a keybind for convenience.}}<br />
<br />
Openbox will not always automatically reflect any changes made to its configuration files within a session. As a consequence, it will be necessary to manually reload those files after they have been edited. To do so, enter the following command:<br />
<br />
$ openbox --reconfigure<br />
<br />
Where intending to add this command as a keybinnd to {{ic|~/.config/openbox/rc.xml}}, it will only be necessary to list the command as {{ic|reconfigure}}. An example has been provided below, using the {{ic|Super}}+{{ic|F11}} keybind:<br />
<br />
<keybind key="W-F11"><br />
<action name="Reconfigure"/><br />
</keybind><br />
<br />
== Keybinds ==<br />
All keybinds must be added to the {{ic|~/.config/openbox/rc.xml}} file, and below the {{ic|<nowiki><!-- Keybindings for running aplications --></nowiki>}} heading. Although a brief overview has been provided here, a more in-depth explanation of keybindings can be found at [http://openbox.org/wiki/Help:Bindings openbox.org].<br />
<br />
=== Special keys ===<br />
While the use of standard alpha-numeric keys for keybindings is self-explanatory, special names are assigned to other types of keys, such as {{ic|modifers}}, {{ic|multimedia}} keys and {{ic|navigation}} keys.<br />
<br />
==== Modifiers ====<br />
{{ic|Modifer}} keys play an important role in keybindings (e.g. holding down the {{ic|shift}} or {{ic|CTRL / control}} key in combination with another key to undertake an action). Using modifers helps to prevent conflicting keybinds, whereby two or more actions are linked to the same key or combination of keys. The syntax to use a modifer with another key is:<br />
<br />
"<modifier>-<key>"<br />
<br />
The modifer codes are as follows:<br />
<br />
* {{ic|S}}: Shift<br />
* {{ic|C}}: Control / CTRL<br />
* {{ic|A}}: Alt<br />
* {{ic|W}}: Super / Windows<br />
* {{ic|M}}: Meta<br />
* {{ic|H}}: Hyper (If it is bound to something) <br />
<br />
For example, the code below would use {{ic|super}} and {{ic|t}} to launch {{pkg|lxterminal}}<br />
<br />
<keybind key="W-t"><br />
<action name="Execute"><br />
<command>lxterminal</command><br />
</action><br />
</keybind><br />
<br />
==== Multimedia keys ====<br />
Where available, it is possible to set the appropriate {{ic|multimedia}} keys to perform their intended functions, such as to control the volume and/or the screen brightness. These will usually be integrated into the {{ic|function}} keys, and are identified by their appropriate symbols. See the [[Multimedia Keys]] article for further information.<br />
<br />
The volume and brightness multimedia codes are as follows (note that commands will still have to be assigned to them to actually function):<br />
<br />
* {{ic|XF86AudioRaiseVolume}}: Increase volume<br />
* {{ic|XF86AudioLowerVolume}}: Decrease volume<br />
* {{ic|XF86AudioMute}}: Mute / unmute volume<br />
* {{ic|XF86MonBrightnessUp}}: Increase screen brightess<br />
* {{ic|XF86MonBrightnessDown}}: Decrease screen brightness<br />
<br />
Examples of how these may be used in {{ic|~/.config/openbox/rc.xml}} have been provided below.<br />
<br />
==== Navigation keys ====<br />
These are the directional / arrow keys, usually used to move the cursor up, down, left, or right. The (self-explanatory) navigation codes are as follows:<br />
<br />
* {{ic|Up}}: Up<br />
* {{ic|Down}}: Down<br />
* {{ic|Left}}: Left<br />
* {{ic|Right}}: Right<br />
<br />
=== Volume Control ===<br />
What commands should be used for controlling the volume will depend on whether [[ALSA]], [[PulseAudio]], or [[OSS]] is used for sound.<br />
<br />
==== ALSA ====<br />
If [[ALSA]] is used for sound, the {{ic|amixer}} program can be used to adjust the volume, which is part of the {{Pkg|alsa-utils}} package. The following example - using the {{ic|multimedia}} keys intended to control the volume - will adjust the volume by +/- 5% (which may be changed, as desired):<br />
<br />
<keybind key="XF86AudioRaiseVolume"><br />
<action name="Execute"><br />
<command>amixer set Master 5%+ unmute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioLowerVolume"><br />
<action name="Execute"><br />
<command>amixer set Master 5%- unmute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioMute"><br />
<action name="Execute"><br />
<command>amixer set Master toggle</command><br />
</action><br />
</keybind><br />
<br />
==== Pulseaudio ====<br />
Where using [[PulseAudio]] with [[ALSA]] as a backend, the {{ic|amixer}} program commands will have to be modifed, as illustrated below in comparison to the ALSA example:<br />
<br />
<keybind key="XF86AudioRaiseVolume"><br />
<action name="Execute"><br />
<command>amixer -D pulse set Master 5%+ unmute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioLowerVolume"><br />
<action name="Execute"><br />
<command>amixer -D pulse set Master 5%- unmute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioMute"><br />
<action name="Execute"><br />
<command>amixer set Master toggle</command><br />
</action><br />
</keybind><br />
<br />
==== OSS ====<br />
{{note|This option may be suitable for more experienced users.}}<br />
<br />
Where using [[OSS]], it is possible to create keybindings to raise or lower specific mixers. This allows, for example, the volume of a specific application (such as an audio player) to be changed without changing the overall system volume settings in turn. In this instance, the application must first have been [[OSS#Configuring_Applications_for_OSS|configured]] to use its own mixer. <br />
<br />
In the following example, [[MPD]] has been configured to use its own mixer - also named {{ic|mpd}} - to increase and decrease the volume by a single decibel at a time. The {{ic|--}} that appears after the {{ic|ossmix}} command has been added to prevent a negative value from being treated as an argument: <br />
<br />
<keybind key="[chosen keybind]"><br />
<action name="Execute"><br />
<command>ossmix -- mpd +1</command><br />
</action><br />
</keybind><br />
<keybind key="[chosen keybind]"><br />
<action name="Execute"><br />
<command>ossmix -- mpd -1</command><br />
</action><br />
</keybind><br />
<br />
=== Brightness control ===<br />
<br />
The {{ic|xbacklight}} program is used to control screen brightness, which is part of the [[Xorg]] X-Window system. In the example below, the {{ic|multimedia}} keys intended to control the screen brightness will adjust the settings by +/- 10%:<br />
<br />
<keybind key="XF86MonBrightnessUp"><br />
<action name="Execute"><br />
<command>xbacklight +10</command><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessDown"><br />
<action name="Execute"><br />
<command>xbacklight -10</command><br />
</action><br />
</keybind><br />
<br />
=== Window Snapping ===<br />
Many desktop environments and window managers support ''window snapping'' (e.g. Windows 7 Aero snap), whereby they will automatically snap into place when moved to the edge of the screen. This effect can also be simulated in Openbox through the use of keybinds on focused windows. <br />
<br />
As illustrated in the example below, percentages must be used to determine window sizes (see [http://openbox.org/wiki/Help:Actions openbox.org] for further information). In this instance, The {{ic|super}} key is used in conjunction with the {{ic|navigation}} keys:<br />
<br />
<keybind key="W-Left"><br />
<action name="UnmaximizeFull"/><br />
<action name="MaximizeVert"/><br />
<action name="MoveResizeTo"><br />
<width>50%</width><br />
</action><br />
<action name="MoveToEdge"><direction>west</direction></action><br />
</keybind><br />
<keybind key="W-Right"><br />
<action name="UnmaximizeFull"/><br />
<action name="MaximizeVert"/><br />
<action name="MoveResizeTo"><br />
<width>50%</width><br />
</action><br />
<action name="MoveToEdge"><direction>east</direction></action><br />
</keybind><br />
<br />
However, it should be noted that once a window has been 'snapped' to an edge, it will remain vertically maximised unless subsequently maximised and then restored. The solution is to implement additional keybinds - in this instance using the {{ic|down}} and {{ic|up}} keys - to do so. This will also make pulling 'snapped' windows from screen edges faster as well:<br />
<br />
<keybind key="W-Down"><br />
<action name="Unmaximize"/><br />
</keybind><br />
<keybind key="W-Up"><br />
<action name="Maximize"/><br />
</keybind><br />
<br />
This [http://ubuntuforums.org/showthread.php?t=1796793 Ubuntu forum thread] provides more information. Applications such as {{pkg|opensnap-git}} are also available from the AUR to automatically simulate window snapping behaviour without the use of keybinds.<br />
<br />
=== Desktop Menu ===<br />
<br />
It is also possible to create a keybind to access the desktop menu. For example, the following code will bring up the menu by pressing {{ic|CTRL}} + {{ic|m}}:<br />
<br />
<keybind key="C-m"><br />
<action name="ShowMenu"><br />
<menu>root-menu</menu><br />
</action><br />
</keybind><br />
<br />
== Menus ==<br />
It is possible to employ three types of menu in Openbox: {{ic|static}}, {{ic|pipes}} (dynamic), and {{ic|generators}} (static or dynamic). They may also be used alone or in any combination.<br />
<br />
===Static===<br />
As the name would suggest, this default type of menu does not change in any way, and may be manually edited and/or (re)generated automatically through the use on an appropriate software package.<br />
<br />
Fast and efficient, while this type of menu can be used to select applications, it can also be useful to access specific functions and/or perform specific tasks (e.g. desktop configuration), leaving the access of applications to another process (e.g. the {{pkg|synapse}} or {{pkg|xfce4-appfinder}} applications).<br />
<br />
The {{ic|~/.config/openbox/menu.xml}} file will be the sole source of static desktop menu content.<br />
<br />
==== menumaker ====<br />
{{warning|A root terminal '''must''' be installed in order to use MenuMaker, even though a standard user terminal may be used to run it. {{pkg|xterm}} is a good choice.}}<br />
<br />
{{pkg|menumaker}} automatically generates {{ic|xml}} menus for several window managers, including Openbox, [[Fluxbox]], [[IceWM]] and [[XFCE]]. It will search for all installed executable programs and consequently create a menu file for them. It is also possible to configure MenuMaker to exclude certain application types (e.g. relating to [[Gnome]] or [[KDE]]), if desired.<br />
<br />
Once installed and executed, it will automatically generate a new {{ic|~/.config/openbox/menu.xml}} file. To avoid overwriting an existing file, enter:<br />
<br />
$ mmaker -v OpenBox3<br />
<br />
Otherwise, to overwrite an existing file, add the {{ic|force}} argument ({{ic|f}}):<br />
<br />
$ mmaker -vf OpenBox3<br />
<br />
Once a new {{ic|~/.config/openbox/menu.xml}} file has been generated it may then be manually edited, or configured using a GUI menu editor, such as {{pkg|obmenu}}.<br />
<br />
==== obmenu ====<br />
{{warning|{{ic|obm-xdg}} - a pipe menu to generate a list of [[GTK]] and [[Gnome]] applications - is also provided with obmenu. However, it has long-running bugs whereby it may produce an invalid output, or even not function at all. Consequently it has been omitted from discussion.}}<br />
<br />
{{pkg|obmenu}} is a user-friendly GUI application to edit {{ic|~/.config/openbox/menu.xml}}, without the need to code in {{ic|xml}}.<br />
<br />
==== xdg-menu ====<br />
{{pkg|archlinux-xdg-menu}} will automatically generate a menu based on {{ic|xdg}} files contained within the {{ic|/etc/xdg/}} directory for numerous Window Managers, including Openbox. Review the [[Xdg-menu#OpenBox]] article for further information.<br />
<br />
==== logout menu options ====<br />
{{tip|The commands provided can also be attached to [[Openbox#Keybinds|keybinds]].}}<br />
<br />
The {{ic|~/.config/openbox/menu.xml}} file can be edited in order to provide a sub-menu with the same options as provided by [[Openbox#oblogout|oblogout]]. The sample script below will provide all of these options, with the exception of the ability to lock the screen:<br />
<br />
<menu id="exit-menu" label="Exit"><br />
<item label="Log Out"><br />
<action name="Execute"><br />
<command>openbox --exit</command><br />
</action><br />
</item><br />
<item label="Shutdown"><br />
<action name="Execute"><br />
<command>systemctl poweroff</command><br />
</action><br />
</item><br />
<item label="Restart"><br />
<action name="Execute"><br />
<command>systemctl reboot</command><br />
</action><br />
</item><br />
<item label="Suspend"><br />
<action name="Execute"><br />
<command>systemctl suspend</command><br />
</action><br />
</item><br />
<item label="Hibernate"><br />
<action name="Execute"><br />
<command>systemctl hibernate</command><br />
</action><br />
</item><br />
</menu><br />
<br />
Once the entries have been composed, add the following line to present the sub-menu where desired within the main desktop menu (usually as the last entry):<br />
<br />
<menu id="exit-menu"/><br />
<br />
===Pipes===<br />
{{tip|It is entirely feasible for a static menu to contain one or more pipe sub-menus. The functionality of some pipe menus may also rely on the installation of relevant software packages.}}<br />
<br />
This type of menu is in essence a script that provides dynamic, refreshed lists on-the-fly as and when run. These lists may be used for multiple purposes, including to list applications, to provide information, and to provide control functions. Pre-configured pipe menus can be installed, although not from the [[official repositories]]. More experienced users can also modify and/or create their own custom scripts. Again, {{ic|~/.config/openbox/menu.xml}} may and commonly will contain several pipe menus.<br />
<br />
====Examples====<br />
* {{AUR|openbox-xdgmenu}}: fast xdg-menu converter to xml-pipe-menu<br />
* {{AUR|obfilebrowser}}: Application and file browser<br />
* {{AUR|obdevicemenu}}: Management of removable media with [[Udisks#Udisks|Udisks]]<br />
* [https://bbs.archlinux.org/viewtopic.php?pid=1345031 wifi pipe menu]: Wireless networking using [[Netctl]]<br />
<br />
[http://openbox.org/download-pipemenus.php Openbox.org] also provides a further list of pipe menus.<br />
<br />
===Generators===<br />
This type of menu is akin to those provided by the taskbars of desktop environments such as [[XFCE]] or [[LXDE]]. Automatically updating on-the-fly, this type of menu can be powerful and very convenient. It may also be possible to add custom categories and menu entries; read the documentation for your intended dynamic menu to determine if and how this can be done.<br />
<br />
A menu generator will have to be executed from the {{ic|~/.config/openbox/menu.xml}} file.<br />
<br />
==== obmenu-generator ====<br />
{{tip|icons can still be disabled in {{AUR|obmenu-generator}}, even where enabled in {{ic|~/.config/openbox/rc.xml}}.}}<br />
<br />
{{AUR|obmenu-generator}} is currently only available from the [[AUR]], although it is still highly recommended. With the ability to be used as a static or dynamic menu, it is highly configurable, powerful, and versatile. Menu categories and individual entries may also be easily hidden, customised, and/or added with ease. The [http://trizenx.blogspot.co.uk/2012/02/obmenu-generator.html official homepage] provides further information and screenshots.<br />
<br />
Below is an example of how obmenu-generator would be dynamically executed without icons in {{ic|~/.config/openbox/menu.xml}}:<br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<openbox_menu><br />
<menu id="root-menu" label="OpenBox 3" execute="/usr/bin/obmenu-generator"><br />
</menu><br />
</openbox_menu><br />
<br />
To automatically iconify entries, the {{ic|-i}} option would be added:<br />
<br />
<menu id="root-menu" label="OpenBox 3" execute="/usr/bin/obmenu-generator -i"><br />
<br />
==== openbox-menu ====<br />
{{tip|If this menu produces an error, it may be solved by enabling icons in {{ic|~/.config/openbox/rc.xml}}.}}<br />
<br />
{{pkg|openbox-menu}} uses the [[LXDE]] [http://sourceforge.net/projects/lxde/files/menu-cache/ menu-cache] to create dynamic menus. The [http://mimasgpc.free.fr/openbox-menu_en.html official homepage] provides further information and screenshots.<br />
<br />
==== obmenugen ==== <br />
<br />
{{AUR|Obmenugen}} is currently only available from the [[AUR]], and can be used to a generate static or dynamic application menu based on {{ic|.desktop}} files. The [http://obmenugen.sourceforge.net/ official homepage] provides further information.<br />
<br />
=== Menu icons ===<br />
<br />
To show icons next to menu entries, it will be necessary to ensure they are enabled in the {{ic|<menu>}} section of the {{ic|~/.config/openbox/rc.xml}} file:<br />
<br />
<applicationIcons>yes</applicationIcons><br />
<br />
Where using a static menu, it will then be necessary to edit the {{ic|~/.config/openbox/menu.xml}} file to provide both the {{ic|icon <nowiki>=</nowiki>}} command, along with the full path and icon name for each entry. An example of the syntax used to provide an icon for a category is:<br />
<br />
<menu id="apps-menu" label="[label name]" icon="[pathway to icon]/[icon name]"><br />
<br />
=== Desktop menu as a panel menu ===<br />
{{tip|XDoTool can simulate any keybind for any action, and as such, it may therefore be used for many other purposes...}}<br />
<br />
{{pkg|xdotool}} is a package that can issue commands to simulate key presses / keybinds, meaning that it is possible to use it to invoke keybind-related actions without having to actually press their assigned keys. As this includes the ability to invoke an assigned keybind for the Openbox desktop menu, it is therefore possible to use XDoTool to turn the Openbox desktop menu into a panel menu. Especially where the desktop menu is heavily customised and feature-rich, this may prove very useful to:<br />
<br />
* Replace an existing panel menu<br />
* Implement a panel menu where otherwise not provided or possible (e.g. for {{AUR|tint2-svn}})<br />
* Compensate where losing access to the desktop menu due to the use of an application like [[Openbox#xfdesktop|xfdesktop]] to [[Openbox#Desktop_Icons_and_Wallpapers|manage the desktop]].<br />
<br />
Once XDoTool has been installed - if not already present - it will be necessary to create a keybind to access the root menu in {{ic|~/.config/openbox/rc.xml}}, and again below the {{ic|<nowiki><</nowiki>!-- Keybindings for running aplications --<nowiki>></nowiki>}} heading. For example, the following code will bring up the menu by pressing {{ic|CTRL}} + {{ic|m}}:<br />
<br />
<keybind key="C-m"><br />
<action name="ShowMenu"><br />
<menu>root-menu</menu><br />
</action><br />
</keybind><br />
<br />
Openbox must then be [[Openbox#Openbox_Reconfiguration|re-configured]]. In this instance, XDoTool will be used to simulate the {{ic|CTRL}} + {{ic|m}} keypress to access the desktop menu with the following command (note the use of {{ic|+}} in place of {{ic|-}}):<br />
<br />
xdotool key control+m<br />
<br />
How this command may be used as a panel launcher / icon is largely dependent on the features of panel used. While some panels will allow the above command to be executed directly in the process of creating a new launcher, others may require the use of an executable script. As an example, a custom executable script called {{ic|obpanelmenu.sh}} will be created in the {{ic|~/.config}} folder:<br />
<br />
$ <text editor> ~/.config/obpanelmenu.sh<br />
<br />
Once the empty file has been opened, the appropriate XDoTool command must be added to the empty file (i.e. to simulate the {{ic|CTRL}} + {{ic|m}} keypress for this example):<br />
<br />
xdotool key control+m<br />
<br />
After the file has been saved and closed, it may then be made into an executable script with the following command:<br />
<br />
$ chmod +x ~/.config/obpanelmenu.sh<br />
<br />
Executing it will bring up the Openbox desktop menu. Consequently, where using a panel that supports drag-and-drop functionality to add new launchers, simply drag the executable script onto it before changing the icon to suit personal taste. For instructions on how to use this executable script with {{AUR|tint2-svn}} - a derivative of the popular {{pkg|tint2}} panel that allows launchers to be added - see [[Tint2#Application_Launchers_in_tint2-svn_.28AUR.29|Tint2-Svn launchers]].<br />
<br />
== GTK Desktop Theming ==<br />
{{tip|It is '''strongly advised''' to install the {{pkg|obconf}} and {{pkg|lxappearance-obconf}} GUI applications to configure visual settings and theming. The latter is particularly important as it is responsible for generating the {{ic|~/.gtkrc-2.0}} file (see the [[Openbox#GTK_2|GTK fix]] section).}}<br />
<br />
It is important to note that a substantial range of both '''Openbox-specific''' and generalised, '''Openbox-compatible''' [[GTK]] themes are available to change the look of window decorations and the desktop menu. ''Generalised'' themes are designed to be simultaneously compatible with a range of popular desktop environments and/or window managers, commonly including Openbox. For example, {{AUR|gtk-theme-numix-blue}} supports both Openbox and [[XFCE]].<br />
<br />
=== Configuration ===<br />
<br />
{{Pkg|obconf}} and/or {{Pkg|lxappearance-obconf}} should be used to select and configure available GTK themes. See [[Uniform Look for Qt and GTK Applications]] for information about theming Qt based applications like [[Virtualbox]] or [[Skype]].<br />
<br />
=== Installation: Official and AUR ===<br />
<br />
A good selection of {{pkg|openbox-themes}} are available from the official repositories.<br />
<br />
Both Openbox-specific and Openbox-compatible themes installed from the [[Official_repositories|official repositories]] and/or the [[AUR]] will be automatically installed to the {{ic|/usr/share/themes}} directory. Both will also be immediately available for selection.<br />
<br />
=== Installation: Other Sources ===<br />
<br />
[http://www.box-look.org/index.php?xcontentmode=7402 box-look.org] is an excellent and well-established source of themes. [http://www.deviantart.com/ deviantART.com] is another excellent resource. Many more can be found through the utilisation of a search engine.<br />
<br />
==== Zip and tar files ====<br />
<br />
Themes downloaded from other sources such as [http://box-look.org/ box-look.org] will usually be compressed in a {{ic|.tar.gz}} or {{ic|.zip}} format. Although [[tar]] will have been installed as part of the base arch installation to extract {{ic|.tar.gz}} files, it will be necessary to install a program such as {{pkg|unzip}} to extract {{ic|.zip}} files in the terminal. user-friendly GUI archivers are also available; see [[List_of_Applications#Compression_tools]] for further information.<br />
<br />
Extracted theme files should also be placed in the {{ic|/usr/share/themes}} directory. For example, assuming downloaded content is automatically stored in the {{ic|~/Downloads}} folder, to simultaneously extract and move a {{ic|.tar.gz}} theme file, the syntax of the command would be:<br />
<br />
# tar xvf ~/Downloads/<theme file name>.tar.gz -C /usr/share/themes/<br />
<br />
To use {{pkg|unzip}} in the same scenario for a {{ic|.zip}} theme file, the syntax of the command would be:<br />
<br />
# unzip ~/Downloads/<theme file name>.zip -d /usr/share/themes/<br />
<br />
Alternatively, it is also possible to simply move / copy and paste the extracted files to the {{ic|/usr/share/themes}} directory using an installed file manager as '''root'''.<br />
<br />
=== Troubleshooting ===<br />
<br />
There are two particular problems that may be encountered on rare occasions, especially where downloading themes from unsupported websites. These have been addressed below.<br />
<br />
==== Theme cannot be used ====<br />
If for any reason the newly extracted theme cannot be selected, open the theme directory to first ensure that it is indeed compatible with Openbox by determining that an {{ic|openbox-3}} directory is present, and that within this directory a {{ic|themerc}} file is also present. An {{ic|.obt}} ('''O'''pen'''B'''ox '''T'''heme) file may also be present in some instances, which can then be manually loaded in {{pkg|obconf}}.<br />
<br />
Where expected files and directories are present and correct, then on occasion it is possible that the theme author has not correctly set permission to access the file (e.g. permission may still be for the account of the author, rather than for '''root'''). To eliminate this possibility, ensure the folder and file permissions are for '''root''':<br />
<br />
# chown -R root /user/share/themes<br />
<br />
==== Theme looks broken ====<br />
Of course, the first line of enquiry would be to check that it is not just a badly made, broken theme! Otherwise, ensure that the [[Openbox#GTK_2|Openbox GTK fix]] has been implemented, and then re-start the session. Unfortunately some older themes can simply break if not maintained sufficiently to keep pace with the changes incurred by [[GTK]] updates. To avoid such occurrences, it is best to check that desired themes have recently been created or at least updated / patched.<br />
<br />
=== Edit or create new themes ===<br />
{{tip|Where deciding to modify an existing theme (e.g. the colour scheme), it would be best to work on a copy of it, rather than the original. This will retain the original should anything go wrong, and ensure that your changes are not over-written through an update.}}<br />
<br />
The process of creating new or modifying existing themes is covered extensively at the official [http://openbox.org/wiki/Help:Themes openbox.org] website. A user-friendly GUI to do so - {{AUR|obtheme}} - is also available from the [[AUR]].<br />
<br />
== Compositing effects ==<br />
Openbox does not natively provide support for compositing, and it will therefore be necessary to install a compositor for this purpose. The use of compositing enables various desktop visual effects, including transparency, fading, and shadows. Although compositing is not a necessary component, it can help to provide a more pleasant-looking environment, and avoid common issues such as screen distortion when [[Openbox#Oblogout|oblogout]] is used, and visual glitches when terminal window transparency has been enabled. Three of the most common choices are:<br />
<br />
* [[Compton]]: Powerful and reliable, with extensive options<br />
* [[Xcompmgr]]: Older and simpler version of compton<br />
* [[Cairo Compmgr]]: Advanced compositing effects, plugin support, and a user-friendly GUI. Also more buggy and far heavier use of system resources.<br />
<br />
== Mouse cursor and application icon themes ==<br />
<br />
Any mouse cursor and/or application icon theme may be used with Openbox. Numerous themes are available from both the [[official repositories]] and the [[AUR]].<br />
<br />
=== xcursor themes (mouse) === <br />
{{tip|Review the [[Xcursor]] article for an in-depth explanation.}}<br />
<br />
Standard xcursor theme packages available from the official repositories include {{Pkg|xcursor-themes}}, {{Pkg|xcursor-bluecurve}}, {{Pkg|xcursor-vanilla-dmz}}, and {{Pkg|xcursor-pinux}}. To search the official repositories for all available xcursor themes, enter the following command:<br />
<br />
$ pacman -Ss xcursor<br />
<br />
Installed x-cursor themes may then be set though using the {{pkg|obconf}} and {{pkg|lxappearance-obconf}} GUI applications. It may then be necessary to either log out and back in again to implement the change, or to [[Openbox#Openbox_Reconfiguration|reconfigure Openbox]].<br />
<br />
=== Application icon themes ===<br />
<br />
Standard xcursor theme packages available from the official repositories include the {{Pkg|gnome-icon-theme}} and {{Pkg|lxde-icon-theme}}. A nice icon theme currently available from the AUR is {{AUR|numix-icon-theme-git}}. To search the official repositories for all available icon themes, enter the following command:<br />
<br />
$ pacman -Ss icon-theme<br />
<br />
Again, installed icon themes may then be set though using the {{pkg|obconf}} and {{pkg|lxappearance-obconf}} GUI applications. It may then be necessary to either log out and back in again to implement the change, or to [[Openbox#Openbox_Reconfiguration|reconfigure Openbox]].<br />
<br />
== Desktop Icons and Wallpapers ==<br />
Openbox does not natively support the use of desktop icons or wallpapers. As a consequence, it will be necessary to install additional applications for this purpose, where desired.<br />
<br />
=== Desktop management using file managers ===<br />
Some file managers have the capacity to fully '''manage the desktop''', meaning that they may be used to provide wallpapers and enable the use if icons on the desktop. The [[LXDE]] desktop environment itself uses PCManFM for this purpose.<br />
<br />
*[[PCManFM]]: See the [[PCManFM#Desktop_management|PCManFM desktop management]] article.<br />
*[[SpaceFM]]: See the [[SpaceFM#Desktop_management|SpaceFM desktop management]] article.<br />
<br />
=== Wallpaper / background programs ===<br />
{{tip|The wallpaper programs listed here will have many more options than shown in this brief overview, including the ability to use solid colours for backgrounds. Review their documentation and man pages for more information.}}<br />
<br />
There are numerous packages available to set desktop backgrounds in Openbox, each of which will need to be autostarted in the {{ic|~/.config/openbox/autostart}} file. A few of the most well known have been listed.<br />
<br />
==== nitrogen ====<br />
{{tip|If nitrogen does not show in the desktop menu, then it can be manually added.}}<br />
<br />
[[nitrogen]] is a user-friendly choice, as it also provides a GUI window to browse and set installed images. To access the GUI, enter the following command in a terminal:<br />
<br />
$ nitrogen<br />
<br />
To use nitrogen as the background provider, add the following command to the {{ic|~/.config/openbox/autostart}} file so that it will restore the last set wallpaper:<br />
<br />
nitrogen --restore &<br />
<br />
==== feh ====<br />
[[Feh]] is a popular image viewer that may also be used to set wallpapers. In this instance, it will be necessary to add the full directory path and name of the image to be used as the wallpaper. To use Feh as the background provider, add the following command to the {{ic|~/.config/openbox/autostart}} file:<br />
<br />
feh --bg-scale </path/to/image.file> &<br />
<br />
==== hestroot ====<br />
{{pkg|hsetroot}} is a command-line tool specifically designed to set wallpapers. As with Feh, it will be necessary to add the full directory path and name of the image to be used as the wallpaper. To use HSetRoot as the background provider, add the following command to the {{ic|~/.config/openbox/autostart}} file:<br />
<br />
hsertroot -fill </path/to/image.file> &<br />
<br />
==== xsetroot ====<br />
{{ic|xsetroot}} is installed as part of the [[Xorg]] X-Windows system, and may be used to set simple background colours. For example, to use XSetRoot to set a black background, the following would be added to the {{ic|~/.config/openbox/autostart}} file:<br />
<br />
xsetroot -solid "#000000" &<br />
<br />
=== Icon programs ===<br />
While there are programs dedicated to enabling desktop icons alone, it would seem that they have greater drawbacks than the utilisation of file managers for the task. These programs are discussed briefly, below.<br />
<br />
==== idesk ====<br />
[[idesk]] is a simple program that can enable icons in addition to managing wallpaper. It will be necessary to create an {{ic|~/.idesktop}} directory, and desktop icons must also be manually created. To use idesk to provide icons, add the following command to the {{ic|~/.config/openbox/autostart}} file:<br />
<br />
idesk &<br />
<br />
==== xfdesktop ====<br />
{{pkg|xfdesktop}} is the desktop manager for [[XFCE]]. The [[Thunar]] file manager will also be downloaded as a dependency. Where this is used, the Openbox desktop menu will no longer be accessible by right-clicking the background. <br />
<br />
As such, it will consequently be necessary to access it by other means, such as by [[Openbox#Desktop_Menu|creating a keybind]], and/or by - where permitted - re-configuring an installed panel to use the [[Openbox#Desktop_menu_as_a_panel_menu|desktop menu as a panel menu]]. To use xfdesktop to provide icons, add the following command to the {{ic|~/.config/openbox/autostart}} file:<br />
<br />
xfdesktop &<br />
<br />
=== conky reconfiguration ===<br />
Particularly where using a file manager to manage the desktop, it will be necessary to edit {{ic|~/.conkyrc}} to change the {{ic|own_window_type}} command in order for [[conky]] to continue to be displayed (where used). The revised command that should be used is:<br />
<br />
own_window_type normal<br />
<br />
== File managers ==<br />
<br />
Multiple [[List of Applications#File managers|file managers]] may be used with Openbox, including [[PCManFM]], [[SpaceFM]], [[Thunar]], {{pkg|xfe}}, and {{pkg|qtfm}}. Thunar is the native file manager for [[Xfce]], and if installing be aware that some Xfce-related dependencies will also be installed, including {{pkg|exo}} (set default applications) and '''xfce4-about''' (provide information about the Xfce deskop environment). The menu entries for these may consequently have to be hidden.<br />
<br />
A file manager alone will not provide the same features and functionality as provided by default in full desktop environments like [[Xfce]] and [[KDE]]. For example, it may not be initially possible to view or access other partitions or access removable media. See [[File manager functionality]] for further information.<br />
<br />
== oblogout ==<br />
<br />
See the [[Oblogout]] article for an overview on how to use this useful, graphical logout script.<br />
<br />
== Openbox for multihead users ==<br />
<br />
While Openbox provides better than average multihead support on its own, the {{AUR|openbox-multihead-git}} package from the [[AUR]] provides a development branch called '''Openbox Multihead''' that gives multihead users per-monitor desktops. This model is not commonly found in floating window managers, but exists mainly in tiling window managers. It is explained well on the [http://xmonad.org/tour.html#workspace Xmonad web site]. Also, please see [https://github.com/BurntSushi/openbox-multihead/blob/multihead/README.MULTIHEAD README.MULTIHEAD] for a more comprehensive description of the new features and configuration options found in Openbox Multihead.<br />
<br />
Openbox Multihead will function like normal Openbox when only a single head is available.<br />
<br />
A downside to using Openbox Multihead is that it breaks the EWMH assumption that one and only one desktop is visible at any time. Thus, existing pagers will not work well with it. To remedy this, {{AUR|pager-multihead-git}} can be found in the [[AUR]] and is compatible with Openbox Multihead. [http://imgur.com/a/cnZeq#y04nk Screenshots].<br />
<br />
Finally, a new version of [[PyTyle]] that will work with Openbox Multihead can also be found in the [[AUR]]: {{AUR|pytyle3-git}}.<br />
<br />
Both ''pytyle3'' and ''pager-multihead-git'' will work without Openbox Multihead if only one monitor is active.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Packages for beginners === <br />
{{tip|See the [[List of Applications]] article for many more possibilities.}}<br />
<br />
The packages listed below have been listed to aid newer users:<br />
<br />
* Display Manager: [[LXDM]] or [[LightDM]]<br />
* Audio: [[ALSA]]<br />
* Volume: {{pkg|volumeicon}} or {{AUR|pnmixer}} with {{pkg|gnome-alsamixer}}<br />
* Network: [[Network manager]] with {{pkg|network-manager-applet}}<br />
* Panel: [[Tint2]] or [[Tint2#Application_Launchers_in_tint2-svn_.28AUR.29|Tint2-svn]]<br />
* Background: [[Nitrogen]] or [[Feh]]<br />
* Menu: [[Openbox#obmenu-generator|OBMenu-Generator]]<br />
* Compositor: [[Compton]]<br />
* Desktp Notifications: {{pkg|xfce4-notifyd}}<br />
* Logout script: [[Oblogout]]<br />
* File Manager: [[PCManFM]], [[SpaceFM]], or [[Thunar]]<br />
* Clipboard Manager: {{pkg|parcellite}}<br />
* Configuration GUIs: {{pkg|obconf}}, {{pkg|lxappearance-obconf}}, {{pkg|lxrandr}}, {{pkg|lxinput}}, {{AUR|tintwizard}} or {{AUR|tintwizard-svn}}<br />
<br />
=== Set Default Applications / File Associations ===<br />
<br />
See the [[Default Applications]] article:<br />
<br />
=== Terminal content copy and paste ===<br />
Within a terminal, either:<br />
<br />
* {{ic|Ctrl+Ins}} will copy and {{ic|Shift+Ins}} will paste. <br />
* {{ic|Ctrl+Shift+c}} will copy and '''mouse middle-click''' will paste.<br />
<br />
=== Ad-hoc window transparency ===<br />
{{Warning|This may not work where other actions are defined within the action group.}}<br />
The program {{pkg|transset-df}} is available in the official repositories, and can enable window transparency on-the-fly.<br />
<br />
For example, using the following code in the {{ic|<mouse>}} section of the {{ic|~/.config/openbox/rc,xml}} file will enable control of application window transparency by hovering the mouse-pointer over the title bar and scrolling with the middle button:<br />
<br />
<context name="Titlebar"><br />
. . .<br />
<mousebind button="Up" action="Click"><br />
<action name= "Execute" ><br />
<execute>transset-df -p .2 --inc </execute><br />
</action><br />
</mousebind><br />
<mousebind button="Down" action="Click"><br />
<action name= "Execute" ><br />
<execute>transset-df -p .2 --dec </execute><br />
</action><br />
</mousebind><br />
. . .<br />
</context><br />
<br />
=== Xprop values for applications ===<br />
{{Pkg|xorg-xprop}} is available in the official repositories, and can be used to relay property values for selected applications. Where frequently using per-application settings, the following [[Bash#Aliases|Bash Alias]] may be useful:<br />
dy:<br />
<br />
alias xp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\""'<br />
<br />
To use Xorg-XProp, run using the alias given {{ic|xp}}, and click on the active program desired to define with per-application settins. The results displayed will only be the information that Openbox itself requires, namely the {{ic|WM_WINDOW_ROLE}} and {{ic|WM_CLASS}} (name and class) values:<br />
<br />
WM_WINDOW_ROLE(STRING) = "roster"<br />
WM_CLASS(STRING) = "gajim.py", "Gajim.py"<br />
WM_CLASS(STRING) = "NAME", "CLASS"<br />
<br />
==== Firefox ====<br />
For whatever reason, Firefox and like-minded equivalents ignore application rules (e.g. ''<desktop>'') unless {{ic|class&#61;"Firefox*"}} is used. This applies irrespective of whatever values '''xprop''' may report for the program's {{ic|WM_CLASS}}.<br />
<br />
=== Switching between keyboard layouts ===<br />
See the article section [[Keyboard Configuration in Xorg#Switching between keyboard layouts|switching between keyboard layouts]] for instructions.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Windows load behind the active window ===<br />
<br />
Some application windows (such as Firefox windows) may load behind the currently active window, causing you to need to switch to the window you just created to focus it. To fix this behavior add this to your {{ic|~/.config/openbox/rc.xml}} file, inbetween the {{ic|1=<openbox_config>}} and {{ic|1=</openbox_config>}} tags:<br />
<br />
{{bc|1=<br />
<applications><br />
<application class="*"><br />
<focus>yes</focus><br />
</application><br />
</applications><br />
}}<br />
<br />
== See also ==<br />
<br />
* [http://openbox.org/ Openbox Website] - Official website<br />
* [http://planetob.openmonkey.com/ Planet Openbox] - Openbox news portal<br />
* [http://www.box-look.org/ Box-Look.org] - A good resource for themes and related artwork<br />
* [https://bbs.archlinux.org/viewtopic.php?id=93126 Openbox Hacks and Configs Thread] @ Arch Linux Forums<br />
* [https://bbs.archlinux.org/viewtopic.php?id=45692 Openbox Screenshots Thread] @ Arch Linux Forums<br />
* [http://urukrama.wordpress.com/openbox-guide/ An Openbox guide]</div>Trizenx