Commit Graph

28 Commits

Author SHA1 Message Date
Sanel Zukan
a28b95f255 New logout dialog
Some compilation fix with the new FLTK versions
2008-10-08 13:22:45 +00:00
Sanel Zukan
f05e34c63b Updated changes for build_filename() 2008-10-02 08:23:53 +00:00
Sanel Zukan
e399841a6d a massive fix of FLTK headers inclusion; 2008-09-15 11:00:23 +00:00
Sanel Zukan
65492f45b7 Removed leftovers from sound stuff.
Replaced hardcoded values for screen sizes used by logout dialog with passed values.
Removed spawn_backtrace() function; not used any more.
Some code reordering
2008-09-08 11:09:37 +00:00
Sanel Zukan
c19f08178e Composite part now can be conditionally compiled
Added some more common colors in ede-settings.xml
2008-06-09 15:08:45 +00:00
Sanel Zukan
1fe32fef71 Let etip-compiler be silent.
Removed Crash handler code from evoke. ecrasher is for that.
Add some transparency to desktop icons when they are moved.
2008-01-15 14:42:44 +00:00
Sanel Zukan
7ff8841ea8 A lot of changes, especially the ways how screen is repainted (in composite).
Composite will now draw only damaged regions, and their damage is (now) correctly
reported, mostly due changes in main FLTK loop.

Also there are two ways how evoke will be running: if USE_FLTK_LOOP_EMULATION
is defined (default yes), it will fully emulate FLTK loop (as done before). Oposite 
way (without emulation) it will relay on FLTK message passing, but it is very unpredictable 
since FLTK will sometime miss SelectionClear events (XSETTINGS relay on it), probably due
large XDamageNotify throttling. When emulation is used, there are no such problems
since all events are processed before they are routed to FLTK.

In composite is added another way of repainting (when USE_CHECK is defined), and it will
relay on Fl::add_check() function; there are some differences between this function
and timer used for screen refresh. Timer will try to refresh it every XX ms and when
there are large number of XDamageNotify reports, this will not be suitable for 
movements smoothing on the screen; on other hand add_check() will call callback every
time when event is processed, which brings smooth movements. For now only timer is used
untill I finish compositing stuff.

Also composite will handle messages from it's own add_handler() since (somehow), all pending
XDamageNotify events will not be correctly reported inside EvokeService handler.

And about splash... splash will now keep it's window at the top, no matter what window is
raised. This is a small hack until I implement _NET_WM_WINDOW_TYPE_SPLASH in edewm (I don't
have to say that this hack works for all wm's I tested :P).

Sound from splash is removed; reason for this is when evoke starts childs (only when X session
was started), device descriptors will be used by childs too making sound device unusable and 
marked as busy. This can be solved by using better sound library, which is story for itself...
2008-01-14 12:50:30 +00:00
Sanel Zukan
d7db3f0d0f Added composite stuff (alpha stage, of course).
A lot of things are pending for implementation like region translucency, shadows, fading...
Per window translucency is in, but now working as expected.
2007-12-28 10:58:56 +00:00
Sanel Zukan
8ff399f71e Removed obsolete code.
Adapted new dir_list.
Now pid and status for childs are reported directly via channel instead
storing (and locking) them in global variables.
2007-12-03 13:39:22 +00:00
Sanel Zukan
667ce4722f New settings manager based on XSettingsManager. Also it have
ability to serialize data at the shutdown and load it at the startup.
2007-10-26 12:01:01 +00:00
Sanel Zukan
6170d43d19 Reworked process handler due a large number of races. Now process reports
should not interfere with popped up message boxes. Still there is a issue
with childs during splash startup: when one of them crashes with core dump
crash dialog will not be shown, but the main process handler correctly returns crash flag.
2007-09-24 11:47:42 +00:00
Sanel Zukan
5284410840 After splash would finish, evoke would ignore first request to run external command, althought
second and rest would be fine. That is hopefully fixed now.

Splash window still gets hidden by old eiconman; for other apps it is fine. Pending for revision.
2007-09-20 08:47:50 +00:00
Sanel Zukan
762ad9883d Finished manager part of XSETTINGS. Left to be done is to implement the same for the clients ;) 2007-09-19 14:12:34 +00:00
Sanel Zukan
04a87a7f7c Fixed issues with add_fd() addon. Dialogs popped up, especially from
service_watcher() would not be drawn correctly yielding program hang since
add_fd() would not send events to fltk.

Also commented hack from Splash to keep it's window at the top of all;
now, using add_fd() evoke will get events before fltk which is what I want.
Not tested with other wm's.

Note: enabling that hack will surely crash evoke unless fl_handle() is removed
from main evoke loop.
2007-09-18 15:43:01 +00:00
Sanel Zukan
ad69c2fc2c Replaced X event notifying via add_fd(). Now all X events could be reported
without possible stealing from fltk. Prevous, add_handler(), would send only
unknown events for fltk which leave us without really important ones, like selection events
used by XSETTINGS manager.

Added XSETTINGS support (yet unfinished) which will make evoke as XSETTINGS manager.
2007-09-18 14:06:09 +00:00
Sanel Zukan
00f5f2d59a Evoke will now correctly shutdown (try) all running windows, when
session should be logged out. Previous version (althought commented) was
closing all windows (buttons and rest are counted too), not their main
window. Thanks to some old code from babaya project I found, XmuClientWindow
is what I needed, so emulation is provided to avoid linking with libXmu.

Also added some more signals to detect quitting.

Pending issue: I'm getting strange sound driver locks when X are started
via evoke. This is un-reporoduceable when evoke is started from gui console. 
This still needs to be investigate.
2007-09-17 10:36:24 +00:00
Sanel Zukan
841a106a28 Reordering... 2007-09-14 12:46:09 +00:00
Sanel Zukan
0876c5271d Recognize return codes and display appropriate dialog. Works only if
executable was not found or file is not executable.
Add mutexes since childs return codes comes from second thread. This
will also prevent races when report dialogs are shown.
2007-09-14 12:31:03 +00:00
Sanel Zukan
f0e0bc9032 Allow autostart programs be started without dialog
Documentation update
ImagesDirectory key renamed to DataDirectory; images renamed
to data to follow later changes
2007-09-11 14:06:44 +00:00
Sanel Zukan
df0031d9dd Startup make some noise :)
Crash dialog will cleanup generated data. Also will
check availability to write/read data it generates.
2007-09-03 12:24:01 +00:00
Sanel Zukan
8c57ce3e43 Commands can contain $TERM to allow running apps in terminal.
Some heuristic gui/console determination, but pretty sucks for now.
2007-08-31 13:41:27 +00:00
Sanel Zukan
9a5e7129e2 Autostart directory support added. Items does not get executed yet.
Dialog for autostart added.
2007-08-28 15:54:52 +00:00
Sanel Zukan
25b80eaffa core file is now given from CrashDialog
Added run_program()
Added new splash image
New spawn_program() error codes
2007-08-07 11:54:57 +00:00
Sanel Zukan
a80b5dcb2a Runing programs can spit core if they crashed. It will be picked up
by gdb and debug it with nice dialog.
Processes are now kept in list so pid/cmd can be easily tracked.
Rest...
2007-08-06 12:39:15 +00:00
Sanel Zukan
3c5ae7bbd0 Added logout dialog, bone documentation, more cmd options... forgot the rest 2007-07-31 15:37:12 +00:00
Sanel Zukan
d48f8e4c24 Removed 'wait' parameter from spawn_program 2007-07-30 13:30:41 +00:00
Sanel Zukan
df1dfbfc41 Work, work... 2007-07-30 13:25:13 +00:00
Sanel Zukan
a569d78563 Imported evoke 2007-07-11 16:03:18 +00:00