Openbox:Pipemenus
From Openbox
Spoiledbroth (Talk | contribs) m (rev) |
Spoiledbroth (Talk | contribs) (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'' | ||
+ | |} | ||
− | |||
− | |||
− | |||
== 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'' | ||
+ | |} | ||
− | |||
== 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'' | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 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.'' | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== 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]]'' | ||
+ | |} | ||
− | |||
− | |||
− | |||
== 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.'' | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 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]]'' | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 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 --> | ||
+ | |} | ||
− | |||
== 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.'' | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 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 15: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 |
C |
Openbox 3 theme changer by Mike Hokenson | |
show_ob_keybindings | Python | View/edit keybindings by Joe Bloggs |
Background Management
Script | Implementation | Description |
C |
Openbox 3 desktop wallpaper changer by Mike Hokenson |
Desktop Environment Integration
Script | Implementation | Description |
Perl |
A pipe menu that duplicates ~/.gtk-bookmarks (Nautilus, PCManFM, Thunar), by dbbolton | |
Perl |
A pipe menu that duplicates user-places.xbel (Dolphin, etc) by dbbolton | |
Bash |
Shows your recent documents using the newer xbel format. by davidbarr | |
Python |
Pipes the rox-filer bookmarks from ~/.config/rox..../bookmarks.xml into the Openbox menu. Running one opens the bookmark in rox-filer. | |
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 |
C |
Create an XDG 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. | |
Python |
Automagically creates Openbox application menus by analyzing xdg information provided by desktop files. |
Browser Integration
Script | Implementation | Description |
Perl |
Create a pipemenu of chromium/google-chrome bookmarks by Spoiledbroth |
System Information
Script | Implementation | Description |
Python |
See your CPU frequency by John McKnight | |
Perl |
A similar system information script written in Perl and easy to modify/extend by dbbolton | |
Bash |
A simple date, time, and calendar. | |
Perl |
Allows you to reboot to the any of the options in your grub.conf. | |
Bash |
A simple script to show acpi settings battery and temperature. | |
Perl |
Pipe menu for recursive directory listings. |
Sound & Media
Script | Implementation | Description |
Python |
xmms2 Pipe menu client | |
Bash |
Controls Audacious from a pipe menu by Matsuda Shinpei | |
Perl |
A menu to control Audacious. Uses a builtin client for Audacious and depends on wmctrl. By AaylaSecura | |
Perl |
Control MPD/MPC from a pipe menu. Depends on MPC and one of gtkdialog/matedialog/zenity. By AaylaSecura |
Games
Script | Implementation | Description |
C |
A script to query Quake 3 servers by Mike Hokenson |
Miscellaneous
Script | Implementation | Description |
Python |
Shows the weather forecast of the city passed as argument. | |
Python |
Easily change resolution, rotation, scaling, panning, and other xrandr operations as well as quickly see the capabilities of connected displays. | |
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
- Manuel Colmenero's Openbox Menu Editor This contains several menus, including an XDG menu, a Firefox bookmark menu, and others.