Openbox:Pipemenus

From Openbox

(Difference between revisions)
Jump to: navigation, search
(System Information)
m
 
(18 intermediate revisions by one user not shown)
Line 3: Line 3:
  
 
See the [[Help:Menus#Pipe_menus|menu documentation]] for how to use pipe menus in your Openbox installation.
 
See the [[Help:Menus#Pipe_menus|menu documentation]] for how to use pipe menus in your Openbox installation.
 
  
 
== Application Menus ==
 
== Application Menus ==
 +
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
|- style="padding: 1px;"
 
|- style="padding: 1px;"
Line 33: Line 33:
 
''Automagically creates Openbox application menus by analyzing xdg information provided by desktop files.''
 
''Automagically creates Openbox application menus by analyzing xdg information provided by desktop files.''
 
|}
 
|}
 
  
 
== Desktop Environment Integration ==
 
== Desktop Environment Integration ==
 +
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
|- style="padding: 1px;"
 
|- style="padding: 1px;"
Line 66: Line 66:
 
'''[[Openbox:Pipemenus:recentfilesxbel|recentfilesxbel]]'''
 
'''[[Openbox:Pipemenus:recentfilesxbel|recentfilesxbel]]'''
 
|valign="middle"|
 
|valign="middle"|
Bash
+
UNIX sh
 
|valign="middle"|
 
|valign="middle"|
 
''Shows your recent documents using the newer xbel format. by [[User:davidbarr|davidbarr]]''
 
''Shows your recent documents using the newer xbel format. by [[User:davidbarr|davidbarr]]''
Line 76: Line 76:
 
|valign="middle"|
 
|valign="middle"|
 
''Pipes the rox-filer bookmarks from ~/.config/rox..../bookmarks.xml into the Openbox menu. Running one opens the bookmark in rox-filer.''
 
''Pipes the rox-filer bookmarks from ~/.config/rox..../bookmarks.xml into the Openbox menu. Running one opens the bookmark in rox-filer.''
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
'''[https://github.com/vapniks/ob-pipe-menus/tree/master/clipboard_manager clipboard_menu]'''
 
|valign="middle"|
 
Python
 
|valign="middle"|
 
''Menu of recently copied text clips, selecting an item pastes it (requires parcellite or clipit) by Joe Bloggs''
 
 
|}
 
|}
  
 
+
===Personalisation===
==Personalisation==
+
<span id="Background_Management"></span>
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
|- style="padding: 1px;"
 
|- style="padding: 1px;"
Line 101: Line 94:
 
''Openbox 3 theme changer by Mike Hokenson''
 
''Openbox 3 theme changer by Mike Hokenson''
 
<!-- END OF EXAMPLE -->
 
<!-- END OF EXAMPLE -->
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|'''[https://github.com/vapniks/ob-pipe-menus show_ob_keybindings]'''
 
|valign="middle"|Python
 
|valign="middle"|''View/edit keybindings by Joe Bloggs''
 
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
Line 112: Line 101:
 
|valign="middle"|
 
|valign="middle"|
 
''Openbox 3 desktop wallpaper changer by Mike Hokenson''
 
''Openbox 3 desktop wallpaper changer by Mike Hokenson''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|'''[https://github.com/vapniks/ob-pipe-menus show_ob_keybindings]'''
 +
|valign="middle"|Python
 +
|valign="middle"|''View/edit keybindings by Joe Bloggs''
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
Line 119: Line 112:
 
|valign="middle"|
 
|valign="middle"|
 
''A pipe menu which uses Feh to select the wallpaper from the chosen directory by Mulberry''
 
''A pipe menu which uses Feh to select the wallpaper from the chosen directory by Mulberry''
 +
|}
 +
 +
== Media & Games ==
 +
 +
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 +
|- style="padding: 1px;"
 +
|width="25%" valign="middle"|'''Script'''
 +
|width="10%" valign="middle"|'''Implementation'''
 +
|width="*%" valign="middle"|'''Description'''
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
'''[https://bbs.archlinux.org/viewtopic.php?id=43432 Weather Pipe Menu]'''
+
'''[https://github.com/Eli2/xmms2-OpenboxMenu xmms2-OpenboxMenu]'''
 
|valign="middle"|
 
|valign="middle"|
 
Python
 
Python
 
|valign="middle"|
 
|valign="middle"|
''Shows the weather forecast of the city passed as argument.''
+
''xmms2 Pipe menu client''
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
'''[http://bitbucket.org/palobo/simpletasks/ Palobo's Openbox SimpleTasks Tasklist]'''
+
'''[[Openbox:Pipemenus:AudaciousControl|Audacious Control]]'''
 
|valign="middle"|
 
|valign="middle"|
Python
+
Bash
 
|valign="middle"|
 
|valign="middle"|
''A simple task list in the form of a pipe menu. Simple features are supported for the time being. Adding tasks. Clicking on a task renders it completed and is therefore removed from the list.''
+
''Controls Audacious from a pipe menu by Matsuda Shinpei''
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
'''[[Openbox:Pipemenus:feeder-python|feeder]]'''
+
'''[[Openbox:Pipemenus:Audacious_control_alternative|Audacious Control (alternative)]] '''
 
|valign="middle"|
 
|valign="middle"|
Python
+
Perl
 
|valign="middle"|
 
|valign="middle"|
''A script to pipe RSS and Podcast feeds into the Openbox menu by Vlad George''
+
''A menu to control Audacious. Uses a builtin client for Audacious and depends on wmctrl. By [[User:AaylaSecura|AaylaSecura]]''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[[Openbox:Pipemenus:MPD_control|MPD/MPC Control]]'''
 +
|valign="middle"|
 +
Perl
 +
|valign="middle"|
 +
''Control MPD/MPC from a pipe menu. Depends on MPC and one of gtkdialog/matedialog/zenity. By [[User:AaylaSecura|AaylaSecura]]''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[http://www.gozer.org/programs/c/files/my_q3stat.c my_q3stat]'''
 +
|valign="middle"|
 +
C
 +
|valign="middle"|
 +
''A script to query Quake 3 servers by Mike Hokenson''
 
|}
 
|}
 
  
 
== System Integration ==
 
== System Integration ==
 +
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
|- style="padding: 1px;"
 
|- style="padding: 1px;"
Line 167: Line 183:
 
'''[[Openbox:Pipemenus:Date_Menu|date-menu]]'''
 
'''[[Openbox:Pipemenus:Date_Menu|date-menu]]'''
 
|valign="middle"|
 
|valign="middle"|
Bash
+
UNIX sh
 
|valign="middle"|
 
|valign="middle"|
 
''A simple date, time, and calendar.''
 
''A simple date, time, and calendar.''
Line 184: Line 200:
 
|valign="middle"|
 
|valign="middle"|
 
''A simple script to show acpi settings battery and temperature.''
 
''A simple script to show acpi settings battery and temperature.''
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
'''[[Openbox:Pipemenus:Dirsmenu|Directory Menu]]'''
 
|valign="middle"|
 
Perl
 
|valign="middle"|
 
''Pipe menu for recursive directory listings.''
 
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
Line 200: Line 209:
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
'''[[Openbox:Pipemenus:mntmenu|mntmenu]]'''
+
'''[https://github.com/whiteinge/ob-randr ob-randr]'''
 
|valign="middle"|
 
|valign="middle"|
Perl
+
Python
 
|valign="middle"|
 
|valign="middle"|
''Pipe menu that parses /etc/fstab for user mountable filesystems and allows the user to mount them. By Matthew Fitzgibbons.''
+
''Easily change resolution, rotation, scaling, panning, and other xrandr operations as well as quickly see the capabilities of connected displays.''
 
|}
 
|}
  
== Multimedia & Graphics ==
+
=== Devices & Files ===
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
|- style="padding: 1px;"
 
|- style="padding: 1px;"
Line 215: Line 224:
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
'''[https://github.com/whiteinge/ob-randr ob-randr]'''
+
'''[[Openbox:Pipemenus:mntmenu|mntmenu]]'''
 
|valign="middle"|
 
|valign="middle"|
Python
+
Perl
 
|valign="middle"|
 
|valign="middle"|
''Easily change resolution, rotation, scaling, panning, and other xrandr operations as well as quickly see the capabilities of connected displays.''
+
''Pipe menu that parses /etc/fstab for user mountable filesystems and allows the user to mount them. By Matthew Fitzgibbons.''
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
'''[https://github.com/Eli2/xmms2-OpenboxMenu xmms2-OpenboxMenu]'''
+
'''[[Openbox:Pipemenus:obdevicemenu|obdevicemenu]]'''
|valign="middle"|
+
Python
+
|valign="middle"|
+
''xmms2 Pipe menu client''
+
|- style="background: #eee; padding: 1px;"
+
|valign="middle"|
+
'''[[Openbox:Pipemenus:AudaciousControl|Audacious Control]]'''
+
 
|valign="middle"|
 
|valign="middle"|
 
Bash
 
Bash
 
|valign="middle"|
 
|valign="middle"|
''Controls Audacious from a pipe menu by Matsuda Shinpei''
+
''Uses udisks to easily mount, unmount or eject removable devices. Extensive configuration allows notifications about success or failure of operation, & modification of several other options. By Jamie Nguyen.''
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
'''[[Openbox:Pipemenus:Audacious_control_alternative|Audacious Control (alternative)]] '''
+
'''[[Openbox:Pipemenus:Dirsmenu|Directory Menu]]'''
 
|valign="middle"|
 
|valign="middle"|
 
Perl
 
Perl
 
|valign="middle"|
 
|valign="middle"|
''A menu to control Audacious. Uses a builtin client for Audacious and depends on wmctrl. By [[User:AaylaSecura|AaylaSecura]]''
+
''Pipe menu for recursive directory listings.''
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
'''[[Openbox:Pipemenus:MPD_control|MPD/MPC Control]]'''
+
'''[https://xyne.archlinux.ca/projects/obfilebrowser/ obfilebrowser]'''
 
|valign="middle"|
 
|valign="middle"|
Perl
+
Python
 
|valign="middle"|
 
|valign="middle"|
''Control MPD/MPC from a pipe menu. Depends on MPC and one of gtkdialog/matedialog/zenity. By [[User:AaylaSecura|AaylaSecura]]''
+
''Display files and directories and generates submenus with commands to open files with their associated applications. By Xyne''
 
|}
 
|}
 
  
 
== Miscellaneous ==
 
== Miscellaneous ==
=== Games ===
+
 
 +
=== Internet ===
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
|- style="padding: 1px;"
 
|- style="padding: 1px;"
Line 258: Line 260:
 
|width="10%" valign="middle"|'''Implementation'''
 
|width="10%" valign="middle"|'''Implementation'''
 
|width="*%" valign="middle"|'''Description'''
 
|width="*%" valign="middle"|'''Description'''
<!-- here is an example entry for a pipemenu. please maintain the style -->
 
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
'''[http://www.gozer.org/programs/c/files/my_q3stat.c my_q3stat]'''
+
'''[[User:Spoiledbroth/ob-chromium|Chromium bookmarks]]'''
 
|valign="middle"|
 
|valign="middle"|
C
+
Perl
 
|valign="middle"|
 
|valign="middle"|
''A script to query Quake 3 servers by Mike Hokenson''
+
''Create a pipemenu of chromium/google-chrome bookmarks by [[User:Spoiledbroth|Spoiledbroth]]''
<!-- END OF EXAMPLE -->
+
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[[Openbox:Pipemenus:obm-mozilla|Firefox bookmarks]]'''
 +
|valign="middle"|
 +
Python
 +
|valign="middle"|
 +
''Create a pipemenu of Firefox bookmarks by Manuel Colmenero.''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[[Openbox:Pipemenus:feeder-python|feeder]]'''
 +
|valign="middle"|
 +
Python
 +
|valign="middle"|
 +
''A script to pipe RSS and Podcast feeds into the Openbox menu by Vlad George''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[https://bbs.archlinux.org/viewtopic.php?id=43432 Weather Pipe Menu]'''
 +
|valign="middle"|
 +
Python
 +
|valign="middle"|
 +
''Shows the weather forecast of the city passed as argument.''
 
|}
 
|}
=== Browser Integration ===
+
 
 +
=== Utilities ===
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
{| border="0" width="100%" cellspacing="1" cellpadding="5" align="left"
 
|- style="padding: 1px;"
 
|- style="padding: 1px;"
Line 276: Line 298:
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
'''[[User:Spoiledbroth/ob-chromium|Chromium bookmarks]]'''
+
'''[https://github.com/vapniks/ob-pipe-menus/tree/master/clipboard_manager clipboard_menu]'''
 
|valign="middle"|
 
|valign="middle"|
Perl
+
Python
 
|valign="middle"|
 
|valign="middle"|
''Create a pipemenu of chromium/google-chrome bookmarks by [[User:Spoiledbroth|Spoiledbroth]]''
+
''Menu of recently copied text clips, selecting an item pastes it (requires parcellite or clipit) by Joe Bloggs''
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
'''[[Openbox:Pipemenus:obm-mozilla|Firefox bookmarks]]'''
+
'''[http://bitbucket.org/palobo/simpletasks/ Palobo's Openbox SimpleTasks Tasklist]'''
 
|valign="middle"|
 
|valign="middle"|
 
Python
 
Python
 
|valign="middle"|
 
|valign="middle"|
''Create a pipemenu of Firefox bookmarks by Manuel Colmenero.''
+
''A simple task list in the form of a pipe menu. Simple features are supported for the time being. Adding tasks. Clicking on a task renders it completed and is therefore removed from the list.''
 
|}
 
|}
 
  
 
== Script collections ==
 
== Script collections ==
Line 297: Line 318:
  
 
=== External links ===
 
=== External links ===
 +
* [https://wiki.archlinux.org/index.php/Openbox#Pipes ArchWiki Openbox Pipes]
 +
* [https://bbs.archlinux.org/search.php?action=search&keywords=openbox+pipe+menu&author=&forums=27&search_in=0&sort_by=0&sort_dir=DESC&show_as=topics Arch Linux Forums pipe menus]
 
* [http://zhar.net/projects/openbox/ zhar.net Openbox stuff]
 
* [http://zhar.net/projects/openbox/ zhar.net Openbox stuff]
** A collection of pipe menus by John Eikenberry.
 
 
* [http://web.archive.org/web/20150215210422/http://david.chalkskeletons.com/scripts/ Mulberry's Openbox Pipe menu scripts]
 
* [http://web.archive.org/web/20150215210422/http://david.chalkskeletons.com/scripts/ Mulberry's Openbox Pipe menu scripts]
** A repository of pipe menus which originally appeared on this page around 2012.
 
 
* [http://obmenu.sourceforge.net/ Manuel Colmenero's Openbox Menu Editor]  
 
* [http://obmenu.sourceforge.net/ Manuel Colmenero's Openbox Menu Editor]  
** This contains several menus, including an XDG menu, a Firefox bookmark menu, and others.
 
 
* [https://github.com/BunsenLabs/bunsen-pipemenus BunsenLabs Pipe menus repository]  
 
* [https://github.com/BunsenLabs/bunsen-pipemenus BunsenLabs Pipe menus repository]  
** Several pipe menus: ssh_config, compositor handling, gfx settings and more. Requires some reworking as they contain refs to BunsenLabs' configs etc.
 
 
* [https://github.com/antonio-malcolm/corgi-scripts Antonio Malcolm's Corgi Scripts repository]  
 
* [https://github.com/antonio-malcolm/corgi-scripts Antonio Malcolm's Corgi Scripts repository]  
** A library of shell scripts, functions, & Openbox pipe menus (includes menus for samba, audio, display, network & power management).
 
 
* [http://dev.yeuxdelibad.net/coolrepo/Scripts/Openbox/ yeuxdelibad.net Openbox repo]
 
* [http://dev.yeuxdelibad.net/coolrepo/Scripts/Openbox/ yeuxdelibad.net Openbox repo]
** A repository of french-language pipe menus, [https://yeuxdelibad.net/Logiciel-libre/Tutoriels/Openbox.html discussed here].
 
 
* [http://www.murga-linux.com/puppy/viewtopic.php?t=87588 Nathan F's obpipes]
 
* [http://www.murga-linux.com/puppy/viewtopic.php?t=87588 Nathan F's obpipes]
** A tar of three pipe menus (wallpaper, places, mpd control) by Nathan F.
 

Latest revision as of 13:28, 24 March 2018

(thumbnail)
Example of a pipe menu in action.

Pipe menus are generated at run time (on-the-fly) based on output of scripts. These are also called "dynamic menus," and are often used to provide added functionality to Openbox or integration with other software on the system. A number of scripts for generating pipe menus have been collected on this page. Please note many of these scripts have not been reviewed, and were not written by people directly involved with the project.

See the menu documentation for how to use pipe menus in your Openbox installation.

Contents

[edit] Application Menus

Script Implementation Description

openbox-xdgmenu

C

Create an XDG menu

Openbox Application Menu

Perl

Reads .desktop files from multiple directories to construct a flat menu. Useful if your system doesn't have working XDG or Debian menus.

obamenu

Python

Automagically creates Openbox application menus by analyzing xdg information provided by desktop files.

[edit] Desktop Environment Integration

Script Implementation Description

gtk-bookmarks

Bash

Simple bash script to create a pipe menu from ~/.gtk-bookmarks by Mulberry

thunar-bookmarks

Perl

A pipe menu that duplicates ~/.gtk-bookmarks (Nautilus, PCManFM, Thunar), by dbbolton

dolphin-bookmarks

Perl

A pipe menu that duplicates user-places.xbel (Dolphin, etc) by dbbolton

recentfilesxbel

UNIX sh

Shows your recent documents using the newer xbel format. by davidbarr

rox-filer bookmarks

Python

Pipes the rox-filer bookmarks from ~/.config/rox..../bookmarks.xml into the Openbox menu. Running one opens the bookmark in rox-filer.

[edit] Personalisation

Script Implementation Description

ob3_theme

C

Openbox 3 theme changer by Mike Hokenson

ob3_wall

C

Openbox 3 desktop wallpaper changer by Mike Hokenson

show_ob_keybindings Python View/edit keybindings by Joe Bloggs

bmenu-1.0

Python

A pipe menu which uses Feh to select the wallpaper from the chosen directory by Mulberry

[edit] Media & Games

Script Implementation Description

xmms2-OpenboxMenu

Python

xmms2 Pipe menu client

Audacious Control

Bash

Controls Audacious from a pipe menu by Matsuda Shinpei

Audacious Control (alternative)

Perl

A menu to control Audacious. Uses a builtin client for Audacious and depends on wmctrl. By AaylaSecura

MPD/MPC Control

Perl

Control MPD/MPC from a pipe menu. Depends on MPC and one of gtkdialog/matedialog/zenity. By AaylaSecura

my_q3stat

C

A script to query Quake 3 servers by Mike Hokenson

[edit] System Integration

Script Implementation Description

ob-cpufreq-0.2

Python

See your CPU frequency by John McKnight

ob-sysinfo

Perl

A similar system information script written in Perl and easy to modify/extend by dbbolton

date-menu

UNIX sh

A simple date, time, and calendar.

Reboot Menu

Perl

Allows you to reboot to the any of the options in your grub.conf.

battery

Bash

A simple script to show acpi settings battery and temperature.

processes

Python

Reads out info from /proc and pipes it to a menu. Renice, kill or restart apps through the menu. Has a filter, so not all apps/daemons are shown in the menu. By Vlad George.

ob-randr

Python

Easily change resolution, rotation, scaling, panning, and other xrandr operations as well as quickly see the capabilities of connected displays.

[edit] Devices & Files

Script Implementation Description

mntmenu

Perl

Pipe menu that parses /etc/fstab for user mountable filesystems and allows the user to mount them. By Matthew Fitzgibbons.

obdevicemenu

Bash

Uses udisks to easily mount, unmount or eject removable devices. Extensive configuration allows notifications about success or failure of operation, & modification of several other options. By Jamie Nguyen.

Directory Menu

Perl

Pipe menu for recursive directory listings.

obfilebrowser

Python

Display files and directories and generates submenus with commands to open files with their associated applications. By Xyne

[edit] Miscellaneous

[edit] Internet

Script Implementation Description

Chromium bookmarks

Perl

Create a pipemenu of chromium/google-chrome bookmarks by Spoiledbroth

Firefox bookmarks

Python

Create a pipemenu of Firefox bookmarks by Manuel Colmenero.

feeder

Python

A script to pipe RSS and Podcast feeds into the Openbox menu by Vlad George

Weather Pipe Menu

Python

Shows the weather forecast of the city passed as argument.

[edit] Utilities

Script Implementation Description

clipboard_menu

Python

Menu of recently copied text clips, selecting an item pastes it (requires parcellite or clipit) by Joe Bloggs

Palobo's Openbox SimpleTasks Tasklist

Python

A simple task list in the form of a pipe menu. Simple features are supported for the time being. Adding tasks. Clicking on a task renders it completed and is therefore removed from the list.

[edit] Script collections

[edit] External links

Personal tools