mirror of
https://github.com/quine-global/hyper.git
synced 2026-01-13 12:38:39 -09:00
* `child_pty` => `pty.js` * Create a frameless window on Windows and Linux * Add a brand new UI for Linux and Windows 💅 * [Windows] Fix plugin installation * [Windows] Fix the `build` script * [Windows] Add a bigger `icon.ico` * [Mac] Add `WebKitAppRegion: drag` when running on macOS * Fix code style 🤔 * Add `appveyor.yml` * Fix code style (again) * [Windows] Fix AppVeyor's `install` script * [Windows] Try a new AppVeyor config * [Windows] Set the binary path so Spectron can run the tests * [Windows] Try to build on x64 * Try again to build on x64 * Try one more time 😩 * Throw an error to indicate that `pty.js` was built incorrectly * [Win/Linux] Add `display: hidden` to <Tabs /> if tabs.length === 1 * [Win/Linux] Reorganize SVGs – via @CodeTheory * [Win/Linux] Fix the hamburger menu height * Make the SVGs look better with `shape-rendering: crispEdges;` * [Win/Linux] Add config options for the window controls and the 🍔 menu * Add `electron-squirrel-startup` dependency * [Win] Handle Squirrel commands * [Win/Linux] Fix default color for the 🍔 and window controls – via @CodeTheory * [Win/Linux] Add some padding - via @CodeTheory * [Win/Linux] Add hover states – via @CodeTheory * [Win] Fix empty window/tab titles * [Win] Fix opening Preferences (#978) * [Win] Fix opening Preferences * Update ui.js * Update ui.js * Enhance messages and default editor * [Win] Add dependency instructions to the README.md [skip ci] * Fix code style * [Win/Linux] Check the number of open windows before quitting the app
70 lines
1.9 KiB
JavaScript
70 lines
1.9 KiB
JavaScript
import Terms from '../components/terms';
|
|
import {connect} from '../utils/plugins';
|
|
import {
|
|
resizeSession,
|
|
sendSessionData,
|
|
exitSessionBrowser,
|
|
setSessionXtermTitle,
|
|
setActiveSession
|
|
} from '../actions/sessions';
|
|
import getRootGroups from '../selectors';
|
|
|
|
const TermsContainer = connect(
|
|
state => {
|
|
const {sessions} = state.sessions;
|
|
return {
|
|
sessions,
|
|
cols: state.ui.cols,
|
|
rows: state.ui.rows,
|
|
termGroups: getRootGroups(state),
|
|
activeRootGroup: state.termGroups.activeRootGroup,
|
|
activeSession: state.sessions.activeUid,
|
|
customCSS: state.ui.termCSS,
|
|
write: state.sessions.write,
|
|
fontSize: state.ui.fontSizeOverride ?
|
|
state.ui.fontSizeOverride :
|
|
state.ui.fontSize,
|
|
fontFamily: state.ui.fontFamily,
|
|
fontSmoothing: state.ui.fontSmoothingOverride,
|
|
padding: state.ui.padding,
|
|
cursorColor: state.ui.cursorColor,
|
|
cursorShape: state.ui.cursorShape,
|
|
borderColor: state.ui.borderColor,
|
|
colors: state.ui.colors,
|
|
foregroundColor: state.ui.foregroundColor,
|
|
backgroundColor: state.ui.backgroundColor,
|
|
bell: state.ui.bell,
|
|
bellSoundURL: state.ui.bellSoundURL,
|
|
copyOnSelect: state.ui.copyOnSelect,
|
|
modifierKeys: state.ui.modifierKeys
|
|
};
|
|
},
|
|
dispatch => {
|
|
return {
|
|
onData(uid, data) {
|
|
dispatch(sendSessionData(uid, data));
|
|
},
|
|
|
|
onTitle(uid, title) {
|
|
// we need to trim the title because `cmd.exe` likes to report ' ' as the title
|
|
dispatch(setSessionXtermTitle(uid, title.trim()));
|
|
},
|
|
|
|
onResize(uid, cols, rows) {
|
|
dispatch(resizeSession(uid, cols, rows));
|
|
},
|
|
|
|
onURLAbort(uid) {
|
|
dispatch(exitSessionBrowser(uid));
|
|
},
|
|
|
|
onActive(uid) {
|
|
dispatch(setActiveSession(uid));
|
|
}
|
|
};
|
|
},
|
|
null,
|
|
{withRef: true}
|
|
)(Terms, 'Terms');
|
|
|
|
export default TermsContainer;
|