public FilezooPanel(Filezoo fz) : base("Filezoo Panel") { Fz = fz; Decorated = false; Resizable = false; SkipPagerHint = true; SkipTaskbarHint = true; FilezooWindow = new Window ("Filezoo"); Gdk.Colormap cm = FilezooWindow.Screen.RgbaColormap; if (cm != null && FilezooWindow.Screen.IsComposited) { Widget.DefaultColormap = cm; FilezooWindow.Colormap = cm; } FilezooWindow.Decorated = false; FilezooWindow.Add (Fz); byte r, g, b; r = (byte)(Fz.Renderer.BackgroundColor.R * 255); g = (byte)(Fz.Renderer.BackgroundColor.G * 255); b = (byte)(Fz.Renderer.BackgroundColor.B * 255); FilezooWindow.ModifyBg (StateType.Normal, new Gdk.Color(r,g,b)); Controls = new FilezooPanelControls(Fz, FilezooWindow); Add (Controls); Stick (); Fz.Width = 400; Fz.Height = 1000; }
public void Apply(Filezoo fz) { string[] args = Args; fz.QuitAfterFirstFrame = (Array.IndexOf(args, "--quit") > -1); args = Helpers.Without(args, "--quit"); if (args.Length > 0) fz.SetCurrentDir (args[args.Length - 1]); fz.Prefixes = Prefixes; fz.BreadcrumbFontFamily = "URW Gothic L"; fz.ToolbarTitleFontFamily = "Sans"; fz.ToolbarLabelFontFamily = "Sans"; fz.FileNameFontFamily = "URW Gothic L"; fz.FileInfoFontFamily = "Sans"; Style s = Widget.DefaultStyle; fz.ActiveColor = ToColor(s.Foreground(StateType.Normal)); // fz.Renderer.BackgroundColor = ToColor(s.Background(StateType.Normal)); fz.Renderer.BackgroundColor = new Color (0.2, 0.2, 0.2); // fz.Renderer.DirectoryFGColor = ToColor(s.Foreground(StateType.Normal)); // fz.Renderer.DirectoryBGColor = new Color (0.8, 0.95, 1.0); fz.Renderer.DirectoryBGColor = new Color (0.6, 0.65, 0.7); fz.Renderer.DirectoryFGColor = new Color (0.6, 0.65, 0.7); fz.Renderer.UnfinishedDirectoryColor = new Color (0.455, 0.4, 1); fz.Renderer.RegularFileColor = new Color (0.188, 0.755, 1); fz.Renderer.SymlinkColor = new Color (0.655, 0.588, 0.855); fz.Renderer.ExecutableColor = new Color (0.4, 0.855, 0.3); fz.Renderer.BlockDeviceColor = new Color (0.855,0.655,0); fz.Renderer.CharacterDeviceColor = new Color (0.75,0.5,0); fz.Renderer.FifoColor = new Color (0.75,0.1,0.32); fz.Renderer.SocketColor = new Color (0.95,0.2,0.52); fz.ActiveColor = fz.Renderer.RegularFileColor; fz.InActiveColor = fz.ActiveColor; fz.InActiveColor.A = 0.5; }
/** The Main method inits the Gtk application and creates a Filezoo instance to run. */ static void Main(string[] args) { Window win; Profiler p = Helpers.StartupProfiler; p.Restart (); p.MinTime = 0; Profiler.GlobalPrintProfile = true; Helpers.ShowTextExtents = false; Catalog.Init("i18n","./locale"); Application.Init (); p.Time ("Init done"); bool panelMode = (Array.IndexOf (args, "--panel") > -1); args = Helpers.Without(args, "--panel"); int panelBgIdx = Array.IndexOf(args, "--panel-bg"); string panelBg = ""; if (panelBgIdx > -1 && panelBgIdx != args.Length-1) { panelBg = args[panelBgIdx + 1]; args = Helpers.Without (args, panelBg); } args = Helpers.Without (args, "--panel-bg"); string dir = panelMode ? Helpers.HomeDir : "."; Filezoo fz = new Filezoo (dir); new FilezooConfig (args).Apply(fz); p.Time ("Created Filezoo"); byte r, g, b; r = (byte)(fz.Renderer.BackgroundColor.R * 255); g = (byte)(fz.Renderer.BackgroundColor.G * 255); b = (byte)(fz.Renderer.BackgroundColor.B * 255); fz.ModifyBg (StateType.Normal, new Gdk.Color(r,g,b)); if (panelMode) { win = new FilezooPanel (fz); // Gnome.PanelApplet applet = new Gnome.PanelApplet (); // applet.Add (win); // applet.ShowAll (); if (panelBg.Length > 0) { Gdk.Color c = new Gdk.Color(0,0,0); if (Gdk.Color.Parse(panelBg, ref c)) { win.ModifyBg (StateType.Normal, c); } else { Helpers.LogError("Failed to parse panel bg color: {0}", panelBg); } } } else { win = new Window ("Filezoo"); win.SetDefaultSize (420, 800); Gdk.Colormap cm = win.Screen.RgbaColormap; if (cm != null && win.Screen.IsComposited) { Widget.DefaultColormap = cm; win.Colormap = cm; } VBox vbox = new VBox (false, 0); FilezooControls controls = new FilezooControls(fz); vbox.PackStart (fz, true, true, 0); vbox.PackEnd (controls, false, false, 0); win.Add (vbox); win.ModifyBg (StateType.Normal, new Gdk.Color(r,g,b)); } win.DeleteEvent += new DeleteEventHandler (OnQuit); win.ShowAll (); Application.Run (); }
// string ToggleDown = "<span size=\"small\">∇</span>"; public FilezooPanelControls(Filezoo fz, Window fzw) : base(fz) { FilezooWindow = fzw; Toggle = new ToggleButton (ToggleUp); ((Label)(Toggle.Children[0])).UseMarkup = true; Toggle.CanFocus = false; Toggle.Clicked += delegate { ToggleFilezoo (); }; PackEnd(Toggle, false, false, 0); FilezooWindow.DeleteEvent += delegate (object o, DeleteEventArgs e) { Toggle.Active = false; e.RetVal = true; }; KeyReleaseEvent += delegate (object o, KeyReleaseEventArgs args) { if (args.Event.Key == Gdk.Key.Escape) { Fz.Cancelled = true; if (Fz.Selection.Count > 0) Fz.ClearSelection (); else Toggle.Active = false; } }; FilezooWindow.KeyReleaseEvent += delegate (object o, KeyReleaseEventArgs args) { if (args.Event.Key == Gdk.Key.Escape) { Fz.Cancelled = true; if (Fz.Selection.Count > 0) Fz.ClearSelection (); else Toggle.Active = false; } }; }