Layouts
A Layout is a saved multi-pane arrangement: several streams side by side in one window, with each stream's tail in its own pane.
Creating a layout
+ ▸ New Layout…
Fields:
- Icon - any SF Symbol. The Suggested row leads with every Kind's default glyph; pick one of those and the icon keeps tracking the Kind you choose below. Pick anything else and the icon locks to your custom choice.
- Name - sidebar label.
- Kind - choose the slot geometry:
- 2 Vertical Split - two panes side by side.
- 2 Horizontal Split - two panes stacked top/bottom.
- 2×2 Grid - four equal panes.
- Wide Top + 2 Below - one wide pane on top, two below.
- 2 Above + Wide Bottom - two panes on top, one wide below.
- Wide Left + 2 Right - one wide pane on the left, two on the right.
- 2 Left + Wide Right - two panes on the left, one wide on the right.
- 3 Vertical Split - three panes side by side.
- 3×3 Grid - nine equal panes.
- Merge Streams - no panes; every assigned stream's lines are interleaved into one timeline. See Merged view below.
- Monitor Board - no panes; a dashboard of Monitor cards, the same UI the desktop widget shows. See Monitor Boards below.
Save and the layout appears in the Layouts section of the sidebar.
There is no Group field in this sheet - layouts are grouped from the sidebar. Right-click a layout and use Move to Group (the submenu appears once you have at least one Layout Group), or create the layout from a Layout Group's own New Layout… and it lands in that group.
Filling slots
Open the layout from the sidebar. Each slot starts empty with a "Drop a stream here" placeholder. Drag any stream from the sidebar into a slot to assign it. A slot can also hold a Monitor (its live match list) or a whole Monitor Board - drag either from the sidebar the same way (see A board in a pane).
To swap, drag a different stream onto an occupied slot - it replaces the previous assignment. To clear a slot, right-click it and pick Remove from Layout.
A layout that drives nothing - every slot still empty - shows an orange warning badge in the sidebar; its tooltip names what to add for that kind of layout.
Resizing panes
Drag the divider between any two panes. LogRaker remembers the ratio per-layout (stored on Layout.dividerRatios).
If you ever want to reset back to the kind's default ratios, right-click the layout in the sidebar and pick Reset Layout.
Merged view
Some layouts support a merged view - toggle it with the Merge by Time toolbar button (it flips to Show Split View when merged). When on, all the slot streams' lines are merged into a single timeline, ordered by arrival, with a small color marker on each line indicating which stream it came from. Useful for cross-correlating events across services.
The noise-triage dimming works here too - and the merged view is where it shines, since several streams' chatter interleaves: right-click a line (or use the View ▸ 'Dim' commands) and the pattern lands on that line's own stream, dimming every line like it wherever it appears in the merge. 'Focus on Similar Lines' works the other way round and covers the whole merge: every line that does not match fades, the other sources included, so one click leaves only the lines you picked. The pill bar above the merged text gathers every source's patterns in one place, and 'Hide Dimmed' collapses the noise across all of them.
GCP lines in the merged view can be tinted by execution the same way they are in single panes - see Execution highlighting. With the timeline strip shown, selecting any merged line moves the red playhead to that line's instant.
Toggle off to return to the per-slot panes.
Monitor Boards
A Monitor Board layout shows Monitors as cards - name, big match count, and when the last match landed - drawn with the same views as the LogRaker desktop widget, so a board and a widget look alike. Because a Board is a Layout, you can put it in a Layout Group, and open it in its own window with Open in New Window.
Monitor cards and stream cards
A board holds two kinds of cards: Monitor cards (match count, sparkline) and stream cards - drag a stream from the sidebar onto the board for a live status card: the sidebar's activity pulse, card-sized, sweeping like a heartbeat monitor while output arrives - the trace draws in from the left and dies away behind the beam - and running out in quiet; a sparkline of the stream's line volume, drawn in the connection state's color (green streaming, amber connecting, red error, gray stopped) - its busyness at a glance, scrubbable like any other - and when the last line arrived. One board then answers "is it up" and "is it erroring" at the same time. Stream cards move, resize, select, and invert exactly like Monitor cards; double-click opens the stream, and dropping a stream on a board starts its tail if it wasn't running.
Placing and moving cards
A board works like the desktop: cards stay exactly where you put them. Drag a Monitor from the sidebar onto the board to add its card, and drop it wherever you want - top-left, three down the left edge, or off on its own with space around it. A dashed snap frame marks the cell the card will land in, so cards stay aligned to each other without being packed together. Drag a card the same way to move it - and dragging a card that is part of a multi-selection moves the whole selection together, every card keeping its offset, with snap frames marking all the destination cells; one Cmd+Z undoes the whole group move. Cards never displace one another: dragging over a cell that already holds a card is refused (for a group, the drop is refused unless every destination cell is free), so drop it on an empty cell. A card landing in a cell plays a short snap, which you can turn off in Settings ▸ Accessibility. Click a card to select it, Cmd-click (or Shift-click) to add or remove one from the selection, and drag across empty board space to rubber-band everything the band touches. Right-click for Open Monitor, Reset Count, and Remove from Board - acting on the whole selection when you right-click inside it, so the rings always show what the menu will do. Resetting several counts, or removing several cards, is a single Cmd+Z. Adding, moving, and removing are all undoable with Cmd+Z.
Keyboard control
The board is keyboard-friendly too: once it has focus (click anywhere on it), the arrow keys move the selection from card to card - hold Shift to extend the selection instead - Cmd+arrows move the selected cards themselves - a whole column sideways, half a tile vertically - and a multi-selection shifts as one group (the destination cells must be free, like when dragging; the move is undoable and plays the same snap), Return opens the selected card's Monitor or stream, Delete removes the selected cards from the board, Cmd+A selects every card, and Esc clears the selection.
Opening, resizing, resetting
Double-click a card to open that Monitor in the main window's sidebar. Resize the cards the way you resize a window: move the pointer to a card's bottom-right corner - it becomes the resize cursor - and drag. Every card on the board resizes together, since a board's tiles are one uniform size. The size is remembered per board, saved with your configuration, and syncs across your Macs; right-click the layout in the sidebar and pick Reset All Counts to acknowledge every card's matches at once (one Cmd+Z undoes the lot), or Reset Layout to put the cards back to their default size and pack them into a tidy block at the top-left - one Cmd+Z restores your arrangement if you change your mind.
A board's toolbar is deliberately bare: there is no tailer to pause, reload, or clear, no time axis to scrub, and no line list to filter, so those controls are hidden rather than shown greyed out. Card actions live on the card's own right-click menu.
A board as a wall display
A board makes a good wall display: open it in its own window (Open in New Window) and take that window full screen (the green button, or Ctrl+Cmd+F) for a kiosk view - nothing on screen but the cards. While the board is full screen the display stays awake, and the pointer hides after a few seconds at rest (moving it brings it back). Move the pointer to the top of the screen for the menu bar, and leave with Esc or Ctrl+Cmd+F as usual. Only board windows do this; other windows in full screen leave display sleep alone.
The board scrolls, so a card you place far to the right stays where it is - and stays reachable - when you shrink the window.
Counts and colors
Each card's count uses that Monitor's own widget color (Monitor editor ▸ Color). A card whose Monitor you delete becomes a "Monitor not found" tile rather than disappearing.
Counts update live as matches arrive - in-app, so they move immediately rather than on the widget's refresh schedule.
Arranging by activity
Right-click and pick Arrange to choose the board's placement mode. Manually (the default) is the free-form desktop behavior. By Activity lets the board arrange itself: cards pack into a tidy grid with red cards first (a Monitor at its red threshold, a stream in error), then amber, then the busiest of the rest, re-sorting live as activity shifts - problems move to the front of the wall on their own. Monitor cards and stream cards keep to separate blocks: Monitors fill the top rows, streams start on their own row below, so the two kinds never interleave. Your manual arrangement is never lost: switching back to Manually restores every card to exactly where you had it. While By Activity is on, the board owns placement, so card-move drags and Cmd+arrows are refused; everything else works as usual.
Card style
Right-click any card (or empty board space) and pick Edit Style… to style the whole board's cards - the style is per board, never per card. Inverted colors fills each card with its Monitor's color (including activity-derived green / amber / red) and flips the text to black or white for contrast - a wall of filled tiles reads as a status board from across the room; a card with no matches keeps the neutral tile. Two further switches show or hide the timestamp line and the sparkline strip. Changes apply live everywhere the board shows, undo with Cmd+Z, and the style syncs and is saved with the layout. Every card also wears a subtle top-lit sheen, the same depth cue the desktop widget's material has - and a selected card flips its lighting, so it reads as pressed in.
Sparklines
Each card also carries a sparkline - match activity over the last 24 hours, one point per hour, drawn as a small line graph under the count. Quiet stretches render in gray, and spikes blend into the Monitor's own color as they climb; the newest point wears a dot in that color, so a card that's busy right now stands out from one that was busy earlier. A flat gray line with a gray dot means a quiet day. Hover over the sparkline to scrub it - a playhead follows the pointer from hour to hour, and a tooltip shows each point's time range and match count. Double-click a spike to investigate it: the Monitor (or stream) opens with its timeline already narrowed to that hour, so you land straight on what happened. Right-clicking a spike offers the same jump - the Open item scopes itself to that hour ("Open Monitor at 14:00").
Section labels
Big boards read better with headings: right-click empty board space and pick Add Label… to place a section label - a floating text heading ("Production", "Boat") with no tile behind it, sitting on one grid cell. Labels move, select, and delete exactly like cards (drag them, Cmd+arrows, Delete, Cmd+Z undoes everything); double-click a label - or right-click it and pick Rename Label… - to change its text. Labels are half-height tiles, and the board's vertical grid moves in half-tile steps - drag any card (or press Cmd+up/down) to nudge it half a block at a time - so a heading sits snugly above its row instead of costing a full one. Labels annotate your arrangement, so while the board is arranged By Activity they hide, and they return untouched when you switch back to Manually. Labels are saved and restored with your configuration and sync with iCloud like the rest of the board.
A board in a pane
A Monitor Board can also live inside another layout: drag the board from the sidebar into any empty slot of a split or grid layout, and the cell shows the board's live cards next to your stream and Monitor panes. It is the same board - not a copy - so adding, moving, or resizing cards in the cell, in the board's own window, or on another Mac all stay in step, and the counts tick live everywhere at once. Inside the cell the board behaves exactly as it does standalone: drop Monitors onto it, drag cards around, rubber-band a selection, resize from a card's corner, scroll to reach far-flung cards.
The cell gets the same header as a Monitor pane - the board's icon, name, and Monitor count. Right-click it for Edit Layout…, Go to Monitor Board (jumps to the board in the main window), Reset All Counts (acknowledges every card's matches in one undoable step), and Remove from Layout (empties the cell; the board itself is untouched). Dropping the board and removing it are both undoable with Cmd+Z, and the assignment is saved and restored with your configuration and syncs with iCloud.
The layout's own Reset All Counts (right-click it in the sidebar) sees through embedded boards, so it also acknowledges the cards of any board the layout embeds. Deleting a board layout, or changing its Kind away from Monitor Board, simply empties any cell that embedded it. While a layout embeds a board, the Kind picker won't offer Merge Streams or Monitor Board - neither kind can show a board pane.
Drop bars
Each slot has a small "drop bar" at the top showing a pill for its assigned stream - color-coded per stream so the matching markers on each line in the merged view are recognizable.
Status & matches in the sidebar
Each Layout's sidebar row summarizes what's inside it at a glance, without opening it:
- a status LED for the worst status across the layout's streams - green when all is well, yellow/orange while connecting or reconnecting, red the moment any stream errors; and
- a red match badge (with the vibrating alarm bell) totalling the matches across the layout's monitors.
Collapse a Layout group - or the Ungrouped row - and it rolls the same summary up across every layout inside.
To clear that match badge, right-click the layout and pick Reset All Counts: it acknowledges the matches on every Monitor the layout drives, in one step that Cmd+Z undoes. The item appears on any layout holding Monitors - a Monitor Board, or an ordinary split layout with a Monitor pane - and greys out when nothing is unseen, exactly like the same item on a Monitor Group.
Aligning source clocks
Logs from different sources don't always share a clock. A remote device's clock can drift seconds away from your Mac, and a cloud service keeps its own time - so the same event shows up at different timestamps in each log and the panes won't line up.
Align to Ref Time nudges one source's whole timeline so a pair of corresponding events coincides:
- In the source you trust, right-click the line at the moment you want as the reference and choose Set Ref Time.
- In the other source, right-click the line for the same event and choose Align to Ref Time. That source shifts so its line lands on the reference instant.
Align to Ref Time stays disabled until you've set a reference, and only applies to a different source than the one the reference came from.
The correction is stored per source, so every stream from that source shifts together. It is remembered between launches and saved with Save Configuration…. Undo (⌘Z) reverts an align.
You'll see it in two places, each showing the offset and what it was measured against:
- a small clock badge in that source's pane header (hover for the detail), and
- an Aligned: … line in the source's detail pane (select the source in the sidebar), next to its time zone.
To remove it, right-click any line from that source and choose Clear Time Alignment.
What alignment does and doesn't do
Alignment corrects gross clock skew - the kind (a second or more) that throws off merged-view ordering and side-by-side comparison. It does not calibrate to the millisecond, on purpose: the sub-second gap between two corresponding events is mostly real - network latency, plus the fact that "sent" and "received" are genuinely different instants - not clock error to be removed. So LogRaker lines the events up at the second scale while keeping each source's own sub-second reading intact, rather than faking an exact match.