MGP(1)

πŸ“¦
version 1.13a+upstream20090219 Β· 2 versions
, in debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– MGP πŸ’–

okay bestie, gather round, because this is MagicPoint β€” an X11 based presentation tool β€” and it's genuinely iconic. πŸŽ€


✨ SYNOPSIS ✨

mgp [-dhlnoqvBCGORSV] [-b bgcolor] [-c vfcap] [-f vfont] [-g geometry]
    [-p page] [-t timeslot] [-w wdir] [-x engine] [-D htmldir]
    [-E htmlimage] [-F mode,effect,value] [-Q quality]
    [-T timestampfile] [-X gsdevice] file

πŸ¦‹ DESCRIPTION πŸ¦‹

mgp is an X11 based presentation tool. The whole design philosophy is literally "make simple presentations easy while to make complicated presentations possible." no cap. πŸ’…

Your presentation file (suffix is typically .mgp) is just plain text, so you can whip one up fast in your favorite editor (like Emacs, bestie, we see you).

The .mgp file is made of text plus control commands β€” stuff like pagebreak, centering, and/or inline image. Control commands go at the beginning of lines and start with one % sign. You can also pull in a whole bunch of different image format files into the presentation file. obsessed. πŸ–ΌοΈ

mgp uses Japanese/English fonts in all kinds of sizes. It uses X11 scalable fonts provided by X11 servers. And if it was configured that way at compilation time, mgp can also utilize the Japanese outline font library, "VFlib". fancy ✨

The following options are available:


πŸ‘‘ OPTIONS πŸ‘‘

  • -b bgcolor β€” sets the background color to bgcolor. (the default value is black) πŸ–€
  • -c vfcap β€” specify a VFlib configuration file.
  • -d [interval] β€” demonstration mode. It browses every page automatically, spending interval seconds on each page, and then terminates. If interval isn't specified, it gets set to 0. autoplay era 🎬
  • -f vfont β€” specify the font name to be used by VFlib. (the default value is minsl)
  • -g geometry β€” set the size and location of the window. Heads up bestie, -g implies -o. And if you specify the geometry, mgp will not override the window manager.
  • -h β€” display the usage and exit, without doing a presentation at all. just a lil peek πŸ‘€
  • -l β€” there are two kinds of fonts available by VFlib: outline font</> and bitmap font</>. By specifying -l, you disable the use of outline fonts.
  • -n β€” mgp normally accepts any key inputs from the invoked terminal as KEY OPERATION (described below). -n disables this feature. ⚠️ heads up: this option may be removed in the future release.
  • -o β€” do not override window manager. (by default, mgp overrides the window manager and occupies the whole display)
  • -p page β€” start the presentation from page, rather than the first page. skip to the good part πŸ’«
  • -q β€” do not beep on errors. 🀫
  • -t timeslot β€” specify the timeslot assigned to the presentation, in minutes. The timer is invoked when the second page is displayed, and the remaining presentation time is indicated by the length of a bar shown at the bottom of the display. The timebar updates when some X11 event is raised β€” for instance, some keypress. The timebar will be green if you have more than 50% of the timeslot, yellow while you have more than 30% of the timeslot, and red for the other cases. When the assigned timeslot is expired, the exceeding time is also shown, as a timebar growing from left to right. The current page is indicated by the position of a small vertical bar; that vertical bar is drawn at the leftend when the first page is displayed, and at the rightend when the last page is displayed. ⏰
  • --title name β€” set the title of the window to name.
  • -v β€” display the MagicPoint version and exit, without performing a presentation.
  • -w wdir β€” specifies the working directory used for storing embedded images, if any. To generate an embedded MGP file, use mgpembed(1).
  • -x engine β€” do not use the rendering engine specified by engine. engine can be VFlib or FreeType.
  • -B β€” omit the background image. πŸ™ˆ
  • -C β€” use private colormap.
  • -D htmldir β€” generate html pages of the presentation into htmldir. You will need xwintoppm(1) (included in the mgp kit), plus pnmscale(1), cjpeg(1), and djpeg(1) (included in netpbm and the Independent Jpeg Group jpeg package).
  • -E htmlimage β€” specifies the html image type. Right now "jpg" and "png" are supported. The default value is "jpg". It only works when the -D option is set.
  • -F mode,effect,value β€” specifies forward page cache options. mode, effect and value are numbers. mode specifies the caching mode: mode 0 means caching is executed after 2 seconds idle, mode 1 means caching is executed immediately. effect specifies the 'special effect' for the forward page cache; currently two special effects are supported β€” effect 1 means that the next page will come in from the left side, effect 2 means that the current page will go out to the left side, and effect 0 means no special effect. value specifies the speed of the special effect: value 1 means the highest speed, and a higher value decreases the effect speed. ✨
  • -G β€” specifies to turn on the page guide function. At the bottom of the screen, the titles of the next page and the previous page are displayed, to assist the presentation. The page guide can be turned on and off by keyboard too.
  • -O β€” obey the window manager, but with less decoration around the window. The behavior of this option is affected by how the window manager is implemented; this option may have no effect on some of the window managers. πŸ’€
  • -Q quality β€” set background image quality (0-100).
  • -R β€” mgp will usually reload the presentation file if it gets updated, based on the file modification time taken by stat(2). -R disables this auto-reloading feature.
  • -S β€” be secure. Skips directives that fork/exec the child process. It is suggested to use this option if you got some presentation file from others. This is enabled by default. πŸ”’
  • -U β€” be unsecure. Enables directives that fork/exec the child process. Allows one to use non-ASCII filename. ⚠️
  • -T timestampfile β€” if this option is specified, mgp will modify the content of timestampfile every time it updates the presentation window. This option is useful for an external process to understand when mgp modifies the window.
  • -V β€” be verbose. Generate debugging output to standard output. πŸ›
  • -X gsdevice β€” mgp sometimes invokes ghostscript(1) to render postscript images. -X enables you to specify the device to be used by ghostscript(1). If you specify gsdevice with a trailing +, pnmscale(1) and pnmdepth(1) will be invoked for anti-aliasing. The default gsdevice is "pnmraw+".

⌨️ KEY OPERATION ⌨️

The keyboard/mouse commands are:

  • mouse button 1 (leftmost button) β€” go forward a page. Space key, downward cursor key, scroll down key, "f" key, "j" key, and "n" key have the same effect. If <number> is specified, go forward <number> pages.
  • mouse button 3 (rightmost button) β€” go to the previous page. "b" key, "k" key, "p" key, backspace key, scroll up key and upward cursor key have the same effect. If <number> is specified, go back <number> pages.
  • 0 - 9 (number buttons) β€” set the prefix number in decimal. i.e. <number> = <number> * 10 + <keyN> - <key0>. For example, by typing in "10g" you can jump to page 10. πŸ”’
  • g β€” go to the <number> page. If number of 0 is specified, go to the last page.
  • control key β€” display the page listing menu. See below for details.
  • G β€” enable/disable page guide. See the description for option -G for details.
  • x β€” enable/disable rakugaki (jotting) mode. You can make an annotation (by mouse) on the presentation. Mouse button 2 (middle) has the same effect. ✏️
  • X β€” change the pen color for rakugaki (jotting) mode.
  • t β€” enable/disable the timebar if the -t timeslot option is specified.
  • c β€” enable/disable forward page cache.
  • w β€” toggle full screen mode with EWMH. (You need an EWMH-aware window manager, and you need to run mgp with -o or -g option)
  • control-L β€” repaint the current page. Use this if you messed up the page by jotting too much. 😭
  • control-R β€” reload the current presentation file. If the current page becomes unavailable, the page pointer will be moved back to 1.
  • escape key β€” quit the currently running mgp. "q" key also has the same effect.

During the presentation, you can see the page list at the bottom of the window when you press a Control Key. Choosing a page with the mouse and clicking it with the leftmost mouse button lets you go to the corresponding page directly. Releasing the Control Key makes the page list disappear and you can continue with the current page. This function is useful during the Q-and-A period after your presentation completes. 🫢


πŸŽ€ CONFIGURATION FILES πŸŽ€

mgp will look at a file named ~/.mgprc in your home directory. The path to this file can be overridden with the environment variable MGPRC. The content of the file must be a limited set of magicpoint directives, one directive per line, without the % sign. Lines that start with #, or empty lines, will be silently ignored. See SYNTAX for eligible directives.

mgp imports various image draw functions from xloadimage(1). This means the location of image files can be specified by the ~/.xloadimagerc file. If you specify the presentation file with its directory, that directory is searched first, and then the path specified in the ~/.xloadimagerc is searched. πŸ”


🌈 ENVIRONMENT 🌈

  • MGPRC β€” full path of the configuration file. When unset, ~/.mgprc is used.

🚨 SECURITY ISSUES 🚨

The presentation file can include directives to call an external process, just like a shell process. Therefore, the presentation file should be treated just like a shell script or perl script. It is STRONGLY recommended to review the content of the presentation file before invoking mgp, if you got the file from others. By adding the -S option to the command line argument, directives that call external processes will be skipped. stay safe bestie 🫢


πŸ”— SEE ALSO πŸ”—

mgp2ps(1), xloadimage(1), mgpembed(1)


πŸ’Œ AUTHOR CONTACT πŸ’Œ

Yoshifumi Nishida <nishida@csl.sony.co.jp>


🌟 CONTRIBUTION 🌟

Jun-ichiro Hagino <itojun@itojun.org>, Akira Kato <kato@wide.ad.jp>, Atsushi Onoe <onoe@sm.sony.co.jp>, Kazu Yamamoto <Kazu@Mew.org>, Youjiro Uo <yuo@nui.org>, and Masaki Minami <Masaki@Minami.org> extensively contributed improvements, bug fixes, and documents. Special thanks to Chaki Kusakari <chaki@sfc.wide.ad.jp>. πŸ‘‘


…and bestie, that's not even all of it πŸ’–

πŸ’– HISTORY πŸ’–

Okay so storytime bestie, because the origin lore here is genuinely adorable 🫢

mgp was created shortly after the autumn camp of WIDE Project in 1997 ✨ Like, right after camp, someone was clearly sitting there going "the vibes were immaculate, I need to make slides about it" and boom, a whole presentation tool was born.

And the original name? Not mgp. It was called tp β€” which stands for TinyPoint πŸ₯Ή so smol, so humble, so 1997. Baby mgp in its tp era fr fr.


And that's a wrap on the whole page, bestie!! πŸŽ€ This one came to you from the Debian crew, dated November 1997, and filed under section MGP(1). Go make something iconic with it πŸ’…βœ¨πŸŒΈ

πŸ“¦ where this page comes from