, but this code // executes before the first paint, when

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Breakfast with the Boevés - News & Stories | 鶹

Skip to main content

Spark

Breakfast with the Boevés

Sun, Dec 01, 2019

As I was reading about Edgar Boevé’s passing in the latest issue of Spark, it triggered a memory of being a student in his summer session art class in 1973.

The daily class was divided into two parts with a 20-minute break in the middle. On a certain Tuesday, I went to the first half and didn’t go back after the break. The following day we were to have class at his house so he could show us the full array of art that he had. He set the class time at 7 a.m. What I didn’t know is that during the second half (which I had skipped), he changed the start time to 8 a.m.

When I showed up at his house the following day at 7 a.m., Ervina answered the door and asked what I wanted. When I told her that I was there for the art class, she said that I must have missed class the day before because he changed the time to 8 a.m. I said, “Great, I’ll go have breakfast and be back in an hour.” At that point she invited me in for breakfast. She made scrambled eggs, toast, and poured me a glass of orange juice. We talked for about 20 minutes until Edgar sat down at the table for breakfast. He greeted me, and then the three of us talked for about 40 minutes until the rest of the class arrived.

Awkward, funny, but truly amazing. This is validation of what was written about Edgar and Ervina in the Spark. They opened their home to students.

— Scott Ravenhorst ’75
Irvine, Calif.