Openbox:Pipemenus

From Openbox

(Difference between revisions)
Jump to: navigation, search
m (refactor.)
m (Refactor and condense)
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.
  
==Openbox Configuration==
+
 
 +
== 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 9: Line 10:
 
|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/my_stuff/c/c/ob3_theme.c ob3_theme]'''
+
'''[https://launchpad.net/openbox-xdgmenu/+download openbox-xdgmenu]'''
 
|valign="middle"|
 
|valign="middle"|
 
C
 
C
 
|valign="middle"|
 
|valign="middle"|
''Openbox 3 theme changer by Mike Hokenson''
+
''Create an XDG menu''
<!-- END OF EXAMPLE -->
+
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
|valign="middle"|'''[https://github.com/vapniks/ob-pipe-menus show_ob_keybindings]'''
+
|valign="middle"|
|valign="middle"|Python
+
'''[[Openbox:Pipemenus:obam|Openbox Application Menu]]'''
|valign="middle"|''View/edit keybindings by Joe Bloggs''
+
|valign="middle"|
|}
+
Perl
 
+
|valign="middle"|
 
+
''Reads .desktop files from multiple directories to construct a flat menu. Useful if your system doesn't have working XDG or Debian menus.''
== Background Management ==
+
{| 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"|
'''[http://www.gozer.org/programs/c/c/ob3_wall.c ob3_wall]'''
+
'''[http://rmoe.anukis.de/obamenu.html obamenu]'''
 
|valign="middle"|
 
|valign="middle"|
C
+
Python
 
|valign="middle"|
 
|valign="middle"|
''Openbox 3 desktop wallpaper changer by Mike Hokenson''
+
''Automagically creates Openbox application menus by analyzing xdg information provided by desktop files.''
 
|}
 
|}
  
Line 85: Line 78:
  
  
== XDG Application Menus ==
+
==Personalisation==
 
{| 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 91: Line 84:
 
|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"|
'''[https://launchpad.net/openbox-xdgmenu/+download openbox-xdgmenu]'''
+
'''[http://www.gozer.org/my_stuff/c/c/ob3_theme.c ob3_theme]'''
 
|valign="middle"|
 
|valign="middle"|
 
C
 
C
 
|valign="middle"|
 
|valign="middle"|
''Create an XDG menu''
+
''Openbox 3 theme changer by Mike Hokenson''
 +
<!-- 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"|
'''[[Openbox:Pipemenus:obam|Openbox Application Menu]]'''
+
'''[http://www.gozer.org/programs/c/c/ob3_wall.c ob3_wall]'''
 
|valign="middle"|
 
|valign="middle"|
Perl
+
C
 
|valign="middle"|
 
|valign="middle"|
''Reads .desktop files from multiple directories to construct a flat menu. Useful if your system doesn't have working XDG or Debian menus.''
+
''Openbox 3 desktop wallpaper changer by Mike Hokenson''
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
'''[http://rmoe.anukis.de/obamenu.html obamenu]'''
+
'''[https://bbs.archlinux.org/viewtopic.php?id=43432 Weather Pipe Menu]'''
 
|valign="middle"|
 
|valign="middle"|
 
Python
 
Python
 
|valign="middle"|
 
|valign="middle"|
''Automagically creates Openbox application menus by analyzing xdg information provided by desktop files.''
+
''Shows the weather forecast of the city passed as argument.''
|}
+
 
+
 
+
== Browser Integration ==
+
{| 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"|
'''[[User:Spoiledbroth/ob-chromium|Chromium bookmarks]]'''
+
'''[http://bitbucket.org/palobo/simpletasks/ Palobo's Openbox SimpleTasks Tasklist]'''
 
|valign="middle"|
 
|valign="middle"|
Perl
+
Python
 
|valign="middle"|
 
|valign="middle"|
''Create a pipemenu of chromium/google-chrome bookmarks by [[User:Spoiledbroth|Spoiledbroth]]''
+
''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.''
 
|}
 
|}
  
Line 182: Line 172:
  
  
== Sound & Media ==
+
== Multimedia & Graphics ==
 
{| 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 188: Line 178:
 
|width="10%" valign="middle"|'''Implementation'''
 
|width="10%" valign="middle"|'''Implementation'''
 
|width="*%" valign="middle"|'''Description'''
 
|width="*%" valign="middle"|'''Description'''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[https://github.com/whiteinge/ob-randr ob-randr]'''
 +
|valign="middle"|
 +
Python
 +
|valign="middle"|
 +
''Easily change resolution, rotation, scaling, panning, and other xrandr operations as well as quickly see the capabilities of connected displays.''
 
|- style="background: #eee; padding: 1px;"
 
|- style="background: #eee; padding: 1px;"
 
|valign="middle"|
 
|valign="middle"|
Line 219: Line 216:
  
  
== Games ==
+
== Miscellaneous ==
 +
=== Games ===
 
{| 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 235: Line 233:
 
<!-- END OF EXAMPLE -->
 
<!-- END OF EXAMPLE -->
 
|}
 
|}
 
+
=== Browser Integration ===
 
+
== Miscellaneous ==
+
 
{| 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 243: Line 239:
 
|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"|
'''[https://bbs.archlinux.org/viewtopic.php?id=43432 Weather Pipe Menu]'''
+
'''[[User:Spoiledbroth/ob-chromium|Chromium bookmarks]]'''
 
|valign="middle"|
 
|valign="middle"|
Python
+
Perl
 
|valign="middle"|
 
|valign="middle"|
''Shows the weather forecast of the city passed as argument.''
+
''Create a pipemenu of chromium/google-chrome bookmarks by [[User:Spoiledbroth|Spoiledbroth]]''
<!-- END OF EXAMPLE -->
+
|- style="background: #eee; padding: 1px;"
+
|valign="middle"|
+
'''[https://github.com/whiteinge/ob-randr ob-randr]'''
+
|valign="middle"|
+
Python
+
|valign="middle"|
+
''Easily change resolution, rotation, scaling, panning, and other xrandr operations as well as quickly see the capabilities of connected displays.''
+
|- style="background: #eee; padding: 1px;"
+
|valign="middle"|
+
'''[http://bitbucket.org/palobo/simpletasks/ Palobo's Openbox SimpleTasks Tasklist]'''
+
|valign="middle"|
+
Python
+
|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.''
+
 
|}
 
|}
  

Revision as of 20:47, 27 February 2018

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

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.


Desktop Environment Integration

Script Implementation Description

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

Bash

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.

clipboard_menu

Python

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


Personalisation

Script Implementation Description

ob3_theme

C

Openbox 3 theme changer by Mike Hokenson

show_ob_keybindings Python View/edit keybindings by Joe Bloggs

ob3_wall

C

Openbox 3 desktop wallpaper changer by Mike Hokenson

Weather Pipe Menu

Python

Shows the weather forecast of the city passed as argument.

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.


System Information

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

Bash

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.

Directory Menu

Perl

Pipe menu for recursive directory listings.


Multimedia & Graphics

Script Implementation Description

ob-randr

Python

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

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


Miscellaneous

Games

Script Implementation Description

my_q3stat

C

A script to query Quake 3 servers by Mike Hokenson

Browser Integration

Script Implementation Description

Chromium bookmarks

Perl

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


Script collections

External links

Personal tools