Openbox:Pipemenus

From Openbox

(Difference between revisions)
Jump to: navigation, search
m (rev)
(Major refactor. Enjoy. \(-.-)/)
Line 3: Line 3:
 
See the [[Help:Menus#Dynamic_menus|menu documentation]] for how to use pipe menus in your Openbox menus.
 
See the [[Help:Menus#Dynamic_menus|menu documentation]] for how to use pipe menus in your Openbox menus.
  
== Openbox Configuration ==
+
==Openbox Configuration==
 +
{| 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'''
 +
<!-- here is an example entry for a pipemenu. please maintain the style -->
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[http://www.gozer.org/my_stuff/c/c/ob3_theme.c ob3_theme]'''
 +
|valign="middle"|
 +
C
 +
|valign="middle"|
 +
''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''
 +
|}
  
* [http://www.gozer.org/my_stuff/c/c/ob3_theme.c ob3_theme.c] Theme Changer. - Mike Hokenson
 
 
* [https://github.com/vapniks/ob-pipe-menus show_ob_keybindings.py] View/edit keybindings. - Joe Bloggs
 
  
 
== Background Management ==
 
== 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;"
 +
|valign="middle"|
 +
'''[http://www.gozer.org/programs/c/c/ob3_wall.c ob3_wall]'''
 +
|valign="middle"|
 +
C
 +
|valign="middle"|
 +
''Openbox 3 desktop wallpaper changer by Mike Hokenson''
 +
|}
  
* [http://www.gozer.org/programs/c/c/ob3_wall.c ob3_wall.c] Change wallpaper. - Mike Hokenson
 
  
 
== Desktop Environment Integration ==
 
== Desktop Environment 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;"
 +
|valign="middle"|
 +
'''[http://github.com/dbbolton/pipemenus/blob/master/thunar-bookmarks.pl thunar-bookmarks]'''
 +
|valign="middle"|
 +
Perl
 +
|valign="middle"|
 +
''A pipe menu that duplicates ~/.gtk-bookmarks (Nautilus, PCManFM, Thunar), by [[User:dbbolton|dbbolton]]''
 +
|- style="background: #eee; padding: 1px;"
 +
|width="25%" valign="middle"|
 +
'''[http://github.com/dbbolton/pipemenus/blob/master/dolphin-bookmarks.pl dolphin-bookmarks]'''
 +
|valign="middle"|
 +
Perl
 +
|valign="middle"|
 +
''A pipe menu that duplicates user-places.xbel (Dolphin, etc) by [[User:dbbolton|dbbolton]]''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[[Openbox:Pipemenus:recentfilesxbel|recentfilesxbel]]'''
 +
|valign="middle"|
 +
Bash
 +
|valign="middle"|
 +
''Shows your recent documents using the newer xbel format. by [[User:davidbarr|davidbarr]]''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[http://icculus.org/openbox/pipemenus/bookmarks.py rox-filer bookmarks]'''
 +
|valign="middle"|
 +
Python
 +
|valign="middle"|
 +
''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''
 +
|}
  
* [http://github.com/dbbolton/pipemenus/blob/master/thunar-bookmarks.pl thunar-bookmarks.pl] A Perl script that duplicates ~/.gtk-bookmarks (Nautilus, PCManFM, Thunar), from [[User:dbbolton|dbbolton]].
 
 
* [http://github.com/dbbolton/pipemenus/blob/master/dolphin-bookmarks.pl dolphin-bookmarks.pl] A similar menu for Dolphin (uses ''user-places.xbel''), from [[User:dbbolton|dbbolton]].
 
 
* [[Openbox:Pipemenus:recentfilesxbel]] Shows your recent documents using the newer xbel format.
 
 
* [http://icculus.org/openbox/pipemenus/bookmarks.py bookmarks.py] Pipes the rox-filer bookmarks from ~/.config/rox..../bookmarks.xml into the Openbox menu. Running one in the menu opens the bookmark with rox-filer.
 
 
* [https://github.com/vapniks/ob-pipe-menus/tree/master/clipboard_manager ob_clipboard_pipe_menu.py] Menu of recently copied text clips, selecting an item pastes it (requires parcellite or clipit to be installed) - Joe Bloggs
 
  
 
== XDG Application Menus ==
 
== XDG Application Menus ==
 +
{| 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;"
 +
|valign="middle"|
 +
'''[https://launchpad.net/openbox-xdgmenu/+download openbox-xdgmenu]'''
 +
|valign="middle"|
 +
C
 +
|valign="middle"|
 +
''Create an XDG menu''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[[Openbox:Pipemenus:obam|Openbox Application Menu]]'''
 +
|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.''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[http://rmoe.anukis.de/obamenu.html obamenu]'''
 +
|valign="middle"|
 +
Python
 +
|valign="middle"|
 +
''Automagically creates Openbox application menus by analyzing xdg information provided by desktop files.''
 +
|}
  
* [https://launchpad.net/openbox-xdgmenu/+download openbox-xdgmenu] Create an XDG menu.
 
 
* [http://mimasgpc.free.fr/openbox-menu_en.html openbox-menu] This generates menus for Openbox from the applications installed on the system and keeps them always up to date.
 
 
* [[Openbox:Pipemenus:obam]] Openbox Application Menu reads .desktop files from multiple directories to construct a flat menu. This is especially useful if your system doesn't have working XDG or Debian menus.
 
  
 
== Browser Integration ==
 
== 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;"
 +
|valign="middle"|
 +
'''[[User:Spoiledbroth/ob-chromium|Chromium bookmarks]]'''
 +
|valign="middle"|
 +
Perl
 +
|valign="middle"|
 +
''Create a pipemenu of chromium/google-chrome bookmarks by [[User:Spoiledbroth|Spoiledbroth]]''
 +
|}
  
* [https://gsmblog.net/opera-bookmarks-pipemenu-for-openbox/ Opera bookmarks] Grabs your bookmarks from Opera. Clicking on them opens them in Opera. - Brendan Johan Lee
 
 
* [[User:Spoiledbroth/ob-chromium|Chromium bookmarks]] Create a pipemenu of chromium/google-chrome bookmarks (perl pipemenu) by [[User:Spoiledbroth]]
 
  
 
== System Information ==
 
== System Information ==
 +
{| 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;"
 +
|valign="middle"|
 +
'''[http://icculus.org/openbox/pipe/ob-cpufreq-0.2.py ob-cpufreq-0.2]'''
 +
|valign="middle"|
 +
Python
 +
|valign="middle"|
 +
''See your CPU frequency by John McKnight''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[https://github.com/dbbolton/pipemenus/raw/master/ob-sysinfo.pl ob-sysinfo]'''
 +
|valign="middle"|
 +
Perl
 +
|valign="middle"|
 +
''A similar system information script written in Perl and easy to modify/extend by [[User:dbbolton|dbbolton]]''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[[Openbox:Pipemenus:Date_Menu|date-menu]]'''
 +
|valign="middle"|
 +
Bash
 +
|valign="middle"|
 +
''A simple date, time, and calendar.''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[[Openbox:Pipemenus:obreboot|Reboot Menu]]'''
 +
|valign="middle"|
 +
Perl
 +
|valign="middle"|
 +
''Allows you to reboot to the any of the options in your grub.conf.''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[[Openbox:Pipemenus:battery|battery]]'''
 +
|valign="middle"|
 +
Bash
 +
|valign="middle"|
 +
''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.''
 +
|}
  
* [http://icculus.org/openbox/pipe/ob-cpufreq-0.2.py ob-cpufreq-0.2.py] See your CPU frequency. - John McKnight
 
 
* [https://github.com/dbbolton/pipemenus/raw/master/ob-sysinfo.pl ob-sysinfo.pl] A similar system information script written in Perl and easy to modify/extend. - [[User:dbbolton|dbbolton]]
 
 
* [http://openbox.org/wiki/Openbox:Pipemenus:Date_Menu date-menu.sh] A simple date, time, and calendar.
 
 
* [[Openbox:Pipemenus:obreboot]] Openbox Reboot Menu allows you to reboot to the any of the options in your grub.conf.
 
 
* [[Openbox:Pipemenus:battery]] A simple script to show acpi settings battery and temperature.
 
 
* [[Openbox:Pipemenus:Dirsmenu]] Another menu for recursive directory listing.
 
  
 
== Sound & Media ==
 
== Sound & Media ==
 +
{| 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;"
 +
|valign="middle"|
 +
'''[https://github.com/Eli2/xmms2-OpenboxMenu xmms2-OpenboxMenu]'''
 +
|valign="middle"|
 +
Python
 +
|valign="middle"|
 +
''xmms2 Pipe menu client''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[[Openbox:Pipemenus:AudaciousControl|Audacious Control]]'''
 +
|valign="middle"|
 +
Bash
 +
|valign="middle"|
 +
''Controls Audacious from a pipe menu by Matsuda Shinpei''
 +
|- style="background: #eee; padding: 1px;"
 +
|valign="middle"|
 +
'''[[Openbox:Pipemenus:Audacious_control_alternative|Audacious Control (alternative)]] '''
 +
|valign="middle"|
 +
Perl
 +
|valign="middle"|
 +
''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]]''
 +
|}
  
* [https://github.com/Eli2/xmms2-OpenboxMenu xmms2-OpenboxMenu] xmms2 Pipe Menu client
 
 
* [[Openbox:Popemenus:audacious-OpenboxPipemenu]] Control audacious from menu.
 
 
* [[Openbox:Pipemenus:Audacious_control_alternative]] Control Audacious from menu (alternative).
 
 
* [[Openbox:Pipemenus:MPD_control]] Control MPD from menu.
 
  
 
== Games ==
 
== 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'''
 +
<!-- here is an example entry for a pipemenu. please maintain the style -->
 +
|- 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''
 +
<!-- END OF EXAMPLE -->
 +
|}
  
* [http://www.gozer.org/programs/c/files/my_q3stat.c my_q3stat.c] Queries Quake 3 servers.
 
  
 
== Miscellaneous ==
 
== Miscellaneous ==
 +
{| 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'''
 +
<!-- here is an example entry for a pipemenu. please maintain the style -->
 +
|- 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.''
 +
<!-- 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.''
 +
|}
  
* [https://bbs.archlinux.org/viewtopic.php?id=43432 Openbox Weather Pipe Menu] Shows the weather forecast of the city passed as argument.
 
 
* [https://github.com/whiteinge/ob-randr ob-randr] Easily change resolution, rotation, scaling, panning, and other xrandr operations as well as quickly see the capabilities of connected displays.
 
 
* [http://bitbucket.org/palobo/simpletasks/ Palobo's Openbox SimpleTasks Tasklist] 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.
 
 
* [[Openbox:Pipemenus:Date_Menu]] Shows a calendar and date/time in a pipemenu.
 
 
* [[Openbox:Pipemenus:battery]] Shows battery status.
 
 
* [[Openbox:Pipemenus:recentfilesxbel]] Recent files list.
 
 
* [[Openbox:Popemenus:AudaciousControl]] Audacious control menu.
 
  
 
== Script Archives & Collections ==
 
== Script Archives & Collections ==
Line 88: Line 274:
  
 
* [[User:Spoiledbroth]]
 
* [[User:Spoiledbroth]]
 
+
=== External collections ===
 
* [http://zhar.net/projects/openbox/ John Eikenberry's Openbox Stuff]
 
* [http://zhar.net/projects/openbox/ John Eikenberry's Openbox Stuff]
  
 
* [http://obmenu.sourceforge.net/ Manuel Colmenero's Openbox Menu Editor] This contains several menus, including an XDG menu, a Firefox bookmark menu, and others.
 
* [http://obmenu.sourceforge.net/ Manuel Colmenero's Openbox Menu Editor] This contains several menus, including an XDG menu, a Firefox bookmark menu, and others.

Revision as of 14:01, 27 February 2018

Pipe menus are generated at run time (on-the-fly) based on output of scripts. These are also called "dynamic menus". A number of scripts used to generate dynamic menus written by various people are available here. Please note these scripts have not been reviewed.

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

Contents

Openbox Configuration

Script Implementation Description

ob3_theme

C

Openbox 3 theme changer by Mike Hokenson

show_ob_keybindings Python View/edit keybindings by Joe Bloggs


Background Management

Script Implementation Description

ob3_wall

C

Openbox 3 desktop wallpaper changer by Mike Hokenson


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


XDG 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.


Browser Integration

Script Implementation Description

Chromium bookmarks

Perl

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


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.


Sound & Media

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


Games

Script Implementation Description

my_q3stat

C

A script to query Quake 3 servers by Mike Hokenson


Miscellaneous

Script Implementation Description

Weather Pipe Menu

Python

Shows the weather forecast of the city passed as argument.

ob-randr

Python

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

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.


Script Archives & Collections

External collections

Personal tools