Commit graph

1169 commits

Author SHA1 Message Date
Charlie Brej
dcd543c17d [script] Allow inline array definitions
This can be used to initialise an array:
arr = [12, 43];	   // arr[0] = 12; arr[1] = 43;

Or create an empty object:
obj = [];
2009-10-04 17:46:59 +01:00
Charlie Brej
9ca46671bb [script] Add do-while loops
Format is:
    do {operations} while (condition);
or
    do operation; while (condition);

Like in C, the semicolon at the end is necessary.
2009-10-04 17:36:22 +01:00
Ray Strode
a29f25bc6c [branch-merge] Add x11 renderer plugin
This merges the "x11-renderer" branch to master.

In order to make debugging splash plugins easier,
and in order to make debugging multi-head renderering
possible on single head displays, Charlie wrote an
X11 rendering plugin.

This plugin displays plymouth in a running X session,
instead of on the console.

It currently only supports graphical plugins.  At some
point it may grow support for text plugins, too, using
vte.  That will take some reworking of the plymouth
daemon core.

This could some day serve as a basis for providing a
graphical theme chooser application (like
gnome-screensaver-preferences), although it's not clear
yet that's a good idea.

Right now, it's a great debugging and development tool,
though.
2009-10-04 10:47:36 -04:00
Ray Strode
08466deaf8 [x11] Throttle plymouth to X server
Some drivers completely choke with the amount of data plymouth is
sending over the wire.  This makes sure that plymouth doesn't
keep assaulting the X server when it's already overworked by asking
the server to return back a pixel before continuing.
2009-10-04 10:45:38 -04:00
Ray Strode
9fba779c39 [x11] Tile windows initially 2009-10-04 10:45:38 -04:00
Ray Strode
478a2948ef [x11] Move windows when dragged
Since they don't have title bars now, we need to
provide and easy way for them to be moved around.
2009-10-04 10:45:37 -04:00
Ray Strode
eb8e93f383 [x11] Hide title bar
It's not useful.
2009-10-04 10:45:37 -04:00
Ray Strode
84421722c1 [x11] Ignore ply_console_set_mode calls
Since X is rendering to the console, we don't need
(or want) to move the console between KD_GRAPHICS
and KD_TEXT mode.
2009-10-04 10:45:37 -04:00
Ray Strode
0bade767b8 [console] Generalize mode override api
Previously it was force_text_mode ().

Now, we do ignore_mode_changes ().  The
force_text_mode() behavior can be emulated by
setting the console mode to text mode and then
calling the new API.

This will be useful because we can make
ply_console_set_mode a NOOP for renderers that
don't render directly to the console.
2009-10-04 10:45:37 -04:00
Ray Strode
5b0910dc5f [x11] Don't allow windows to be resized
We don't handle the display resizing, so disallow it.
2009-10-04 10:45:37 -04:00
Ray Strode
997f9fe9fe [x11] Draw to back pixmap instead of on exposes
It's a little more efficient.
2009-10-04 10:45:37 -04:00
Ray Strode
d83209248a [x11] Process events only as they come in
Previously, we were waking up an processing events
in a loop.  Now we only do it when there are events.
2009-10-04 10:45:37 -04:00
Charlie Brej
654c14e680 [renderer] Add start of X11 plugin
This renderer is useful for testing plymouth splash
plugins without leaving X. It simulates a multi-head
display by creating two X windows each representing
one monitor.
2009-10-04 10:45:36 -04:00
Ray Strode
a8676e2c08 [renderer] Move VT switching to renderer plugins
Since not all renderer plugins should switch VTs we
do it from the individual plugins now.
2009-10-04 10:45:36 -04:00
Ray Strode
e73e8cadd6 [event-loop] ignore EAGAIN
Sometimes when debugging under gdb, epoll_wait spuriously
returns EAGAIN.

We treat it like EINTR now.
2009-10-04 10:44:16 -04:00
Ray Strode
9fd849e130 [text-progress-bar] Don't segfault if no os string
Some distributions won't have a release file that
we know about.  In those cases, we shouldn't crash.
2009-10-01 10:22:28 -04:00
Ray Strode
a76c5bc4b7 [drm] Force raw mode on each draw cycle
This is just

602d997200

all over again.
2009-09-29 13:18:54 -04:00
Ray Strode
d294f5d891 [terminal] Force raw mode when reopening terminal
If we need to reopen the terminal for whatever reason,
we'll also need to reset its attributes for input to work.
2009-09-29 13:18:54 -04:00
Ray Strode
651f748111 Bump to 0.8.0
Next release will be 0.8.0 (it's a bit off though)
2009-09-28 18:11:05 -04:00
Ray Strode
3fe3aabc7b [branch-merge] Support multi-head renderering
This merges the "seat-rework" branch to master.

Instead of talking to /dev/fb, we now use libdrm
to set up the drawing area.  This gives us the
functionality we need for querying the user's
monitor layout.

There are cases where /dev/fb works when the new
interfaces don't.  For those cases we fall back
to /dev/fb.
2009-09-28 18:03:11 -04:00
Ray Strode
6ceccc7ce8 [throbber] Properly finish animation before stopping
I can't say I have any idea what I was trying to do before
but it's clearly bogus.
2009-09-28 17:55:35 -04:00
Ray Strode
1cf529bd9b [animation] Make ply_animation_start idempotent 2009-09-28 17:55:34 -04:00
Ray Strode
1b10da8890 [animation] Use default event loop 2009-09-28 17:55:34 -04:00
Ray Strode
0b763c61b4 [drm] Force fb backend if 1 head and ttm driver
Drivers backed by TTM memory manager don't support mapping the
kernel backed framebuffer console, so can't be used for doing
a smooth transition (unless you use /dev/fb).  In single head
configurations, there isn't a big advantage to using libdrm
anyway, so we bail for TTM drivers.
2009-09-28 17:55:34 -04:00
Ray Strode
fe6ee7723a [drm] Add initial support for nvidia cards 2009-09-28 17:55:34 -04:00
Ray Strode
70b9868a62 [drm] Add initial support for radeon cards 2009-09-28 17:55:34 -04:00
Ray Strode
f2048af97d [drm] Add initial support for intel cards 2009-09-28 17:55:34 -04:00
Ray Strode
920051bc55 [drm] Add start of a drm plugin
This commit adds most of the non-driver specific bits
necessary for backing a renderer plugin.

Subsequent commits will add the driver specific bits.
2009-09-28 17:55:19 -04:00
Ray Strode
069839a58b [utils] Add ply_round_to_multiple macro
We'll need something like this for rowstride calculation
2009-09-28 11:23:40 -04:00
Ray Strode
4c45ba1df7 [libplybootsplash] Drop window class
It's been obsoleted by the display, keyboard, console and terminal
classes.
2009-09-28 11:23:40 -04:00
Ray Strode
c788111616 [libply] Drop frame-buffer class
We no longer use it now that we have the pixel-display class,
pixel buffers, etc.
2009-09-28 11:23:40 -04:00
Ray Strode
b71822f58c [image] Drop test code
It won't work when frame buffer is removed.

I really want to redo how tests are done anyway, to be
more automated.
2009-09-28 11:23:40 -04:00
Ray Strode
c858c06ad5 [utils] drop ply_switch_to_vt
It's been replaced by ply_console_set_active_vt, and won't
work right because of ply-console anyway.
2009-09-28 11:23:40 -04:00
Ray Strode
a9160a9b54 [main] switch to vt that plymouth is running on at startup 2009-09-28 11:23:40 -04:00
Ray Strode
ae60ff52cd [main] Update to use new multihead interface 2009-09-28 11:23:39 -04:00
Ray Strode
4b64ff4e56 [two-step] Update to use new multihead interface 2009-09-28 11:23:39 -04:00
Ray Strode
dfa457ba50 [trigger] add new ignore_next_pull method
It can be cumbersome to wait for multiple operations to finish before
pulling a trigger.  In those cases, one option would be to have a
separate trigger for each operation, and then wait until every trigger
is pulled before pulling the main trigger.

This commit instead allows a trigger to get pulled more
than once before it actually fires.  By calling ignore_next_pull
once for each suboperaton, and immediately pulling the trigger,
it won't fire until the last operation finishes.
2009-09-28 11:23:39 -04:00
Ray Strode
1a516d3635 [throbgress] Update to use new multihead interface 2009-09-28 11:23:39 -04:00
Ray Strode
d0f225b93a [text] Update to use new multihead interface 2009-09-28 11:23:39 -04:00
Ray Strode
6e97f03437 [space-flares] Update to use new multihead interface 2009-09-28 11:23:39 -04:00
Ray Strode
5d0a49bc19 [script] Update to use new multihead interface 2009-09-28 11:23:38 -04:00
Ray Strode
b66fda6700 [fade-throbber] Update to use new multihead interface 2009-09-28 11:23:38 -04:00
Ray Strode
20b9f2e65b [details] Update to use new multihead interface 2009-09-28 11:23:38 -04:00
Ray Strode
096d21883e [text-progress-bar] Use text display instead of window 2009-09-28 11:23:38 -04:00
Ray Strode
98ef9818a7 [progress-bar] Use pixel display instead of window 2009-09-28 11:23:38 -04:00
Ray Strode
f9fd1c105c [progress-animation] Use pixel display instead of window 2009-09-28 11:23:38 -04:00
Ray Strode
9c13072679 [throbber] Use pixel display instead of window 2009-09-28 11:23:37 -04:00
Ray Strode
7376ad9d95 [animation] Use pixel display instead of window 2009-09-28 11:23:37 -04:00
Ray Strode
d27523ddcf [entry] Use pixel display instead of window 2009-09-28 11:23:37 -04:00
Ray Strode
d60e817609 [label] Use pixel display instead of window 2009-09-28 11:23:37 -04:00