Dual JList Layout
I am trying to create a JPanel that has a JList on the left, one on the right and a tool bar in the middle. (JLists are in a JScrollPane) It is for selecting items and moving them between the two lists. That part works fine but I cannot get the layout to work out. I can get it to look nice in one container, but it will not re-size correctly. What I want is with a horizontal re-size both lists expand equally and the tool bar stays the same size, and vertical re-size the lists grow and the tool bar does not change. I have tried border, flow, box, group layouts and each one has some kind of issue. I need the lists to expand and re-size properly within the panel, and the tool bar to stay the same and in the center. So far group worked out the best, but the left list box was the only one that would re-size. After the lists where created, they will not re-size or expand with the border layout. Any suggestions and is there a way to specify what components will re-size and in what direction, and what ones will stay at a static size. I am using Jigloo to help with the group layouts, but I did the others by hand.
try {
BorderLayout thisLayout = new BorderLayout();
this.setLayout(thisLayout);
this.setEnabled(false);
JPanel inPanel = new JPanel();
includeModel = new DefaultListModel();
include = new JList();
include.setModel(includeModel);
include.setCellRenderer(new CListCellRenderer());
inPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED),
"Selected", TitledBorder.LEADING, TitledBorder.DEFAULT_POSITION));
inPanel.add(new JScrollPane(include));
JPanel avaPanel = new JPanel();
avalibleModel = new DefaultListModel();
avalible = new JList();
avalible.setModel(avalibleModel);
avalible.setCellRenderer(new CListCellRenderer());
avaPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED),
"Avalible", TitledBorder.LEADING, TitledBorder.DEFAULT_POSITION));
avaPanel.add(new JScrollPane(avalible));
tools = new JToolBar();
tools.setOrientation(SwingConstants.VERTICAL);
tools.setFloatable(false);
this.add(inPanel, BorderLayout.LINE_START);
this.add(tools, BorderLayout.CENTER);
this.add(avaPanel, BorderLayout.LINE_END);
add = new JButton();
tools.add(add);
add.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Support/Back24.gif")));
add.setActionCommand("add");
add.setToolTipText("Add Item(s)");
add.addActionListener(this);
del = new JButton();
tools.add(del);
del.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Support/Forward24.gif")));
del.setActionCommand("del");
del.setToolTipText("Remove Item(s)");
del.addActionListener(this);
up = new JButton();
tools.add(up);
up.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Support/Up24.gif")));
up.setActionCommand("up");
up.setToolTipText("Shift Item Up");
up.addActionListener(this);
down = new JButton();
tools.add(down);
down.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Support/Down24.gif")));
down.setActionCommand("down");
down.setToolTipText("Shift Item Down");
down.addActionListener(this);
} catch (Exception e) {
e.printStackTrace();
}
kb9mfd wrote:
I think I answered my own question, I did not try gridbaglayout. It looks like that is the one I need to use.Here's one way, using GridBagLayout. Keep in mind:
1) This is only one of many different ways to do this. Nested panels with varying LayoutManagers, which is a common technique, could also be implemented
2) This code is for illustrative purposes only. Those who use GBL frequently (like myself) usually have a helper class or two to make the code easier to read and manage. As a result, the sample code here wouldn't be nearly as long.
3) You described desired behaviors for stretching horizontally and vertically. You didn't mention shrinking. Regardless of LM used, I typically wrap my content panel in a JScrollPane (not shown here) to prevent unwanted results due to shrinkage ("I WAS IN THE POOL! I WAS IN THE POOL!!!").
import java.awt.*;
import javax.swing.*;
public class Demo implements Runnable {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Demo());
public void run() {
String[] items = new String[] { "apple", "banana", "carrot", "date" };
JPanel swapPanel = createSwapPanel(items);
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(swapPanel, BorderLayout.CENTER);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
private JPanel createSwapPanel(Object[] items) {
JList availableList = new JList(items);
availableList.setPrototypeCellValue("XXXXXXXXXX");
availableList.setVisibleRowCount(6);
JScrollPane availableScroll = new JScrollPane(availableList);
availableScroll.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
availableScroll.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
JList selectedList = new JList();
selectedList.setPrototypeCellValue("XXXXXXXXXX");
selectedList.setVisibleRowCount(6);
JScrollPane selectedScroll = new JScrollPane(selectedList);
selectedScroll.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
selectedScroll.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
JButton addButton = new JButton(">");
JButton removeButton = new JButton("<");
JPanel p = new JPanel(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.weightx = 0.5;
gbc.weighty = 1.0;
gbc.anchor = GridBagConstraints.NORTHWEST;
gbc.fill = GridBagConstraints.BOTH;
gbc.gridheight = 4;
p.add(availableScroll, gbc);
gbc.gridx = 1;
gbc.gridy = 0;
gbc.weightx = 0.0;
gbc.weighty = 0.5;
gbc.anchor = GridBagConstraints.CENTER;
gbc.fill = GridBagConstraints.VERTICAL;
gbc.gridheight = 1;
p.add(Box.createVerticalGlue(), gbc);
gbc.gridx = 1;
gbc.gridy = 1;
gbc.weightx = 0.0;
gbc.weighty = 0.0;
gbc.anchor = GridBagConstraints.CENTER;
gbc.fill = GridBagConstraints.NONE;
gbc.gridheight = 1;
p.add(addButton, gbc);
gbc.gridx = 1;
gbc.gridy = 2;
gbc.weightx = 0.0;
gbc.weighty = 0.0;
gbc.anchor = GridBagConstraints.CENTER;
gbc.fill = GridBagConstraints.NONE;
gbc.gridheight = 1;
p.add(removeButton, gbc);
gbc.gridx = 1;
gbc.gridy = 3;
gbc.weightx = 0.0;
gbc.weighty = 0.5;
gbc.anchor = GridBagConstraints.CENTER;
gbc.fill = GridBagConstraints.VERTICAL;
gbc.gridheight = 1;
p.add(Box.createVerticalGlue(), gbc);
gbc.gridx = 2;
gbc.gridy = 0;
gbc.weightx = 0.5;
gbc.weighty = 1.0;
gbc.anchor = GridBagConstraints.NORTHWEST;
gbc.fill = GridBagConstraints.BOTH;
gbc.gridheight = 4;
p.add(selectedScroll, gbc);
return p;
}
Similar Messages
-
Need a Dual-Pane vertical layout instead of Tri-Pane
We are designing a help module with vertical dual pane layout
instead of default tri-pane layout. The top pane should contain the
usual buttons to search glossary etc.. the search box and the
results should come in the bottom pane only. Is there any way we
can archive this? Thanks in advanceWith my search and experiment till date, i am concluding this
as not possible. -
Dual automatic numbering in 1 page
hello
I need a way to add automatic numbering in a page, I know indesign can add this based on the page number, but I need to add 2 numberings in the same page.
So let's say I want to have a page from 10 to 26, I want to have in page 1 the numbers 10,11, in page 2 the numbers 12,13 and so on.
Is there a way to do this automatically and not by hand? I want to add a great number of pages which make it impossible to be done one by one.
thanksI want to print invoice booklets.
Traditionally I just make one page and then the printshop make a dual page layout and print them with an offset press. Before the offset deliver the paper it also do the numbering at both pages. That's all analog, so if you don't have the numbering module you have to use another machine to pass the papers again. So the numbering is the only variable on the print.
This is the cheaper method around so far, but I want to find a way to do it with a digital printer because the cost is comparable for short runs.
So I though the best way to do it is to make a big PDF with indesign with the page as master and automatic numbering and just generate as many pages as I need.
But I want to be able to print a composition of 2-3 pages at each A4 page I print, so I can cut down on cost, so the automatic numbering is of no help since I need to have 3 variable numbers on each page of indesign. -
XFCE - switch to US keyboard layout on screen lock
I have a dual keyboard layout, and when xscreensaver triggers, I have no indication which language am I in. This is not a problem with gnome screen saver, but with xscreensaver that comes with xfce4 there is no indicator, which is annoying. Also, no indication that caps-lock is on, but at least this could be detected by the LED.
I modified /usr/bin/xflock4, adding following line to beginning of the file:
/usr/bin/setxkbmap -layout "us,ru" -option "grp:lalt_lshift_toggle,terminate:ctrl_alt_bksp"
it works, but only when I lock the screen using "lock screen" button on xfce panel. When screen locks up due to timeout, keyboard layout stays as-is. It looks like there is a different command being used by power manager to turn off screen. Anyone knows how to hook into this?
Last edited by asg1448 (2014-07-28 22:40:09)More detail: Some keys on the keyboard do work, ie: caps lock toggles the led, and the function keys across the top seem to work {that is I can adjust brightness, and so forth}
the letter and numbers, and perhap others do not work. -
Simple dual screen issue.
Hi,
for some reason ever since I rebooted my macpro the dual screen layout has switched. On my right screen is the dock and upper info bar but I want that on the left screen. It has always been on the left screen till the reboot. I cant seem to find anything in the settings.
Thanks
Neil toorSystem Preferences -> Displays -> Arrangement.
Drag the menu bar to the screen you want it to be on, the Dock will follow. -
In 10g preview (9.0.5.0.0 Build 1375) there was support for configurable IDE layouts under Tools->Preferences->Layouts. In 10g (9.0.5.1 Build 1605) this feature is gone. Is there some way to configure this to work again? I have tried migrating from a previous version and starting a new install. Neither brings this feature back.
This was a nice feature it would be great to return it to the product.Is there any chance that feature could be returned to the product? Also, is there any work-around that would allow me to restore the layout to the JDeveloper default?
This feature very useful. For instance, I prefer a different editing view when doing code reviews. I use another view for doing day to day coding. Also, I have two monitors, but when I access my computer remotely I can only utilize one monitor. The custom layout feature allowed me to have single and dual monitor layouts. It allowed me to easily switch between the two. In the current product, if I move one of the windows to the second monitor and forget to return it, there is no way to restore that window to the primary monitor. -
Awesome systray is not showing all icons, perhaps overlapping widgets?
I have a problem with my Awesome configuration that results in some of the icons being missing or partially missing from my systray. I suspect this is because of some overlapping, since they are partially hidden. You can see the problem in the top right corner.
rc.lua:
-- Standard awesome library
require("awful")
require("awful.autofocus")
require("awful.rules")
-- Theme handling library
require("beautiful")
-- Notification library
require("naughty")
--Wiget Library
require("vicious")
-- awesoMPD Widget
--require("awesompd/awesompd")
-- {{{ Variable definitions
-- Themes define colours, icons, and wallpapers
beautiful.init("/usr/share/awesome/themes/blind-alien/theme.lua")
-- This is used later as the default terminal and editor to run.
terminal = "urxvt"
editor = os.getenv("EDITOR") or "vim"
editor_cmd = terminal .. " -e " .. editor
-- Enable or disable widgets:
-- You also have to edit the wiboxes!
useSysInfo = true
usePacman = true
useMpd = true
useWifi = false
useNet = true
useBat = false
useCpu = true
useMem = true
useTemp = false
-- Widget Settings
cpuCores = 2 --Number of CPU Cores
thermalZone = "coretemp.0" --Thermal Zone to read cpu temperature from (check vicious docu)
thermalData = "core" --Data Source: "proc", "core" or "sys"
netAdapter = "eth0" --Network adapter to monitor
wifiAdapter = "wlan0" --Wifi adapter for wifi widget
pacUpdate = "yaourt -Sy" --Command to update pacman cache
pacUpgrade = "yaourt -Su" --Command to upgrade system
networkManager = terminal .. " -e wicd-curses"
battery = "BAT1" --Battery to monitor
widthMpd = 420 --Width of MPD widget
-- Widget update intervals in seconds
updateCpu = 1
updatePac = 1801
updateMpd = 1
updateWifi = 7
updateNet = 1
updateBat = 31
updateMem = 7
-- For Dual-Screen setups:
-- Set "dualScreen" to "2" if you want a different, optimized widget layout for every screen.
-- If you set it to "-1" it will copy the same widget layout to both screens. (default Awesome behavior)
dualScreen = -1
screencount = screen.count()
-- Default modkey.
-- Usually, Mod4 is the key with a logo between Control and Alt.
-- If you do not like this or do not have such a key,
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with others.
modkey = "Mod4"
-- Table of layouts to cover with awful.layout.inc, order matters.
layouts =
awful.layout.suit.tile,
awful.layout.suit.tile.left,
awful.layout.suit.tile.bottom,
awful.layout.suit.tile.top,
awful.layout.suit.fair,
awful.layout.suit.fair.horizontal,
awful.layout.suit.magnifier,
awful.layout.suit.floating,
awful.layout.suit.max
-- {{{ Tags
-- Define a tag table which will hold all screen tags.
tags = {
--names = { "1", "2", "3", "4", "5", "6"},
--names = { "⌘", "♐", "⌥", "ℵ"},
--names = { "⠪", "⠫", "⠬", "⠭", "⠮", "⠳"},
names = { "⠐", "⠡", "⠪", "⠵", "⠻", "⠿" },
--names = { " ∙", "⠡", "⠲", "⠵", "⠻", "⠿"},
--names = { " ⠐ ", " ⠡ ", " ⠲ ", " ⠵ ", " ⠾ ", " ⠿ "},
--names = { "⢷", "⣨", "⡪", "⣌", "⣪", "⡝"},
layout = {
layouts[8], layouts[8], layouts[8], layouts[5], layouts[8], layouts[8]
for s = 1, screencount do
tags[s] = awful.tag(tags.names, s, tags.layout)
end
-- {{{ Menu
-- Create a laucher widget and a main menu
myawesomemenu = {
{ "manual", terminal .. " -e man awesome" },
{ "edit config", editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua" },
{ "restart WM", awesome.restart },
{ "logout", awesome.quit },
{ "shutdown" , "sudo /sbin/halt -p" },
{ "reboot" , "sudo /sbin/reboot" }
myinternet = {
{ "Chromium", "chromium" },
{ "Firefox" , "firefox" },
{ "IM" , "pidgin" },
{ "IRC" , "xchat"}
mymedia = {
{ "Spotify", "spotify" },
{ "Rhythmbox", "rhythmbox" },
{ "ncmpcpp", "urxvt -e ncmpcpp" },
{ "Gnome Mplayer", "gnome-mplayer" },
{ "VLC" , "vlc" }
mygraphics = {
{ "GIMP" , "gimp" },
{ "Inkscape" , "inkscape" },
{ "Image viewer" , "eog" }
myoffice = {
{ "Base" , "lobase" },
{ "Calc" , "localc" },
{ "Impress" , "loimpress" },
{ "LibreOffice" , "loffice" },
{ "Writer" , "lowriter" },
{ "Lyx" , "lyx" },
{ "Document viewer" , "evince" }
mysystem = {
{ "htop" , "urxvt -e htop" },
{ "Partition" , "gksudo gparted" },
{ "Sys mon" , "gnome-system-monitor" }
myutilities = {
{ "Gedit" , "gedit" },
{ "Virtualbox" , "VirtualBox" },
{ "File Manager" , "nautilus --no-desktop" }
myplaces = {
{ "Home" , "nautilus --no-desktop /home/johan/" },
{ "Documents" , "nautilus --no-desktop /home/johan/Documents/" },
{ "Downloads" , "nautilus --no-desktop /home/johan/Downloads/" },
{ "Music" , "nautilus --no-desktop /home/johan/Music/" },
{ "Pictures" , "nautilus --no-desktop /home/johan/Pictures/" }
myserverplaces = {
{ "Server root" , "nautilus --no-desktop /srv/" },
{ "Downloads" , "nautilus --no-desktop /srv/download/" },
{ "Movies" , "nautilus --no-desktop /srv/movies/" },
{ "Tv-Series" , "nautilus --no-desktop /srv/tv-series/" },
{ "Misc" , "nautilus --no-desktop /srv/misc/" }
mymainmenu = awful.menu({ items = {
{ "Terminal", terminal },
{ "Places" , myplaces },
{ "Server" , myserverplaces },
{ "Internet" , myinternet },
{ "Media" , mymedia },
{ "Graphics" , mygraphics },
{ "Office" , myoffice },
{ "Utilities" , myutilities },
{ "Systools" , mysystem },
{ "Awesome", myawesomemenu }
mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
menu = mymainmenu })
-- Separators
bubble = widget({ type = "textbox" })
spacer = widget({ type = "textbox" })
space = widget({ type = "textbox" })
separator = widget({ type = "textbox" })
bracketl = widget({ type = "textbox" })
bracketr = widget({ type = "textbox" })
vertline = widget({ type = "textbox" })
dash = widget({ type = "textbox" })
bubble.text = " ∘ "
spacer.text = " "
space.text = " "
--separator.text = "<span font_desc='ClearlyU'> ⡾ </span>"
separator.text = "] ["
vertline.text = "|"
dash.text = "-"
bracketl.text = "["
bracketr.text = "]"
-- Status Labels
cpuLabel = {}
for s = 1, cpuCores do
cpuLabel[s] = widget({ type = "textbox" })
cpuLabel[s].text = "Core " .. s
end
rlabel = widget({ type = "textbox" })
rlabel.text = "Root:"
hlabel = widget({ type = "textbox" })
hlabel.text = "Home:"
-- WIDGETS --
-- OS info
if useSysInfo == true then
sys = widget({ type = "textbox" })
vicious.register(sys, vicious.widgets.os, "$1 $2")
end
-- Pacman updates
if usePacman == true then
-- Widget
pnoghosticon = widget({ type = "imagebox" })
pnoghosticon.image = image(beautiful.widget_pacnoghost)
pnoghosticon.visible = true
pghosticon = awful.widget.launcher({
image = beautiful.widget_pacghost,
command = terminal .. " -e " .. pacUpgrade .. " && echo -e 'vicious.force({ pacup, })' | awesome-client"
pghosticon.visible = false
-- Icon
-- picon = widget({ type = "imagebox" })
-- picon.image = image(beautiful.widget_pacnew)
-- Use the Pacman icon as launcher to update the package list (change to fit your package-management system)
picon = awful.widget.launcher({
image = beautiful.widget_pacnew,
command = pacUpdate .. " && echo -e 'vicious.force({ pacup, })' | awesome-client"
runpicon = awful.widget.launcher({
image = beautiful.widget_pacman_run,
command = pacUpdate .. " && echo -e 'vicious.force({ pacup, })' | awesome-client"
runpicon.visible = false
pacup = widget({ type = "textbox" })
vicious.register(pacup, vicious.widgets.pkg,
function(widget, args)
local nr = tonumber(args[1])
if nr ~= 0 then
pnoghosticon.visible = false
pghosticon.visible = true
picon.visible = false
runpicon.visible = true
else
pghosticon.visible = false
pnoghosticon.visible = true
runpicon.visible = false
picon.visible = true
end
end, updatePac, "Arch")
end
-- MPD Widget
if useMpd == true then
-- PLAY, STOP, PREV/NEXT Buttons
-- requires modification of /usr/share/awesome/lib/awful/widget/launcher.lua
-- b = util.table.join(w:buttons(), button({}, 1, nil, function () util.spawn(args.command) end))
-- to:
-- b = util.table.join(w:buttons(), button({}, 1, nil, function () util.spawn_with_shell(args.command) end))
music_play = awful.widget.launcher({
image = beautiful.widget_play,
command = "mpc toggle && echo -e 'vicious.force({ mpdwidget, })' | awesome-client"
music_pause = awful.widget.launcher({
image = beautiful.widget_pause,
command = "mpc toggle && echo -e 'vicious.force({ mpdwidget, })' | awesome-client"
music_pause.visible = false
music_stop = awful.widget.launcher({
image = beautiful.widget_stop,
command = "mpc stop && echo -e 'vicious.force({ mpdwidget, })' | awesome-client"
music_prev = awful.widget.launcher({
image = beautiful.widget_prev,
command = "mpc prev && echo -e 'vicious.force({ mpdwidget, })' | awesome-client"
music_next = awful.widget.launcher({
image = beautiful.widget_next,
command = "mpc next && echo -e 'vicious.force({ mpdwidget, })' | awesome-client"
mpdicon = widget({ type = "imagebox" })
mpdicon.image = image(beautiful.widget_mpd)
-- Initialize widget
mpdwidget = widget({ type = "textbox" })
--mpdwidget.wrap = "none"
mpdwidget.width = widthMpd
--mpdwidget.wrap = "word_char"
-- Register Widget
--vicious.register(mpdwidget, vicious.widgets.mpd, "(${state}) : ${Artist} - ${Title} ]", 13)
-- Set the maximum width of the MPD widget inside the string.format function as "%.<length>s"
vicious.register(mpdwidget, vicious.widgets.mpd,
function(widget, args)
--local maxlength = 85
local font = beautiful.font
local string = args["{Artist}"] .. " - " .. args["{Title}"]
--local string = "[" .. args["{state}"] .. "]" .. " : " .. args["{Artist}"] .. " - " .. args["{Title}"]
--[[ if maxlength < string.len(string) then
return "<span font_desc='" .. font .. "'>" .. string.sub(string, 0, maxlength-6) .. "</span> ..."
else
return "<span font_desc='" .. font .. "'>" .. string .. "</span>"
end]]
if args["{state}"] == "Play" then
music_play.visible = false
music_pause.visible = true
else
music_play.visible = true
music_pause.visible = false
end
return string
end, updateMpd)
end
---- WIFI Widget
--if useWifi == true then
-- wifiwidget = widget({ type = "textbox" })
-- wifiwidget.width = 22
-- wifiwidget.align = "right"
-- --wifiimage = widget({ type = "imagebox" })
-- wifiimage0 = awful.widget.launcher({
-- image = beautiful.widget_wifi0,
-- command = networkManager
-- wifiimage0.image.visible = true
-- wifiimage1 = awful.widget.launcher({
-- image = beautiful.widget_wifi1,
-- command = networkManager
-- wifiimage1.image.visible = false
-- wifiimage2 = awful.widget.launcher({
-- image = beautiful.widget_wifi2,
-- command = networkManager
-- wifiimage2.image.visible = false
-- wifiimage3 = awful.widget.launcher({
-- image = beautiful.widget_wifi3,
-- command = networkManager
-- wifiimage3.image.visible = false
-- wifiimage4 = awful.widget.launcher({
-- image = beautiful.widget_wifi4,
-- command = networkManager
-- wifiimage4.image.visible = false
-- -- Register Widget
-- -- change to the desired network adapter if needed
-- --vicious.register(wifiwidget, vicious.widgets.wifi, "~ ${link}%", 5, "wlan0")
-- vicious.register(wifiwidget, vicious.widgets.wifi,
-- function(widget, args)
-- if tonumber(args["{link}"]) > 75 then
-- wifiimage0.visible = false
-- wifiimage1.visible = false
-- wifiimage2.visible = false
-- wifiimage3.visible = false
-- wifiimage4.visible = true
-- elseif tonumber(args["{link}"]) > 50 then
-- wifiimage0.visible = false
-- wifiimage1.visible = false
-- wifiimage2.visible = false
-- wifiimage3.visible = true
-- wifiimage4.visible = false
-- elseif tonumber(args["{link}"]) > 25 then
-- wifiimage0.visible = false
-- wifiimage1.visible = false
-- wifiimage2.visible = true
-- wifiimage3.visible = false
-- wifiimage4.visible = false
-- elseif tonumber(args["{link}"]) > 0 then
-- wifiimage0.visible = false
-- wifiimage1.visible = true
-- wifiimage2.visible = false
-- wifiimage3.visible = false
-- wifiimage4.visible = false
-- else
-- wifiimage0.visible = true
-- wifiimage1.visible = false
-- wifiimage2.visible = false
-- wifiimage3.visible = false
-- wifiimage4.visible = false
-- end
-- return string.format("%02d%%", tonumber(args["{link}"]))
-- end, updateWifi, wifiAdapter)
--end
-- NETWORK Widget
if useNet == true then
dnicon = widget({ type = "imagebox" })
upicon = widget({ type = "imagebox" })
dnicon.image = image(beautiful.widget_down)
upicon.image = image(beautiful.widget_up)
-- Initialize widget
netdnwidget = widget({ type = "textbox" })
netdnwidget.width = 55
--netdnwidget.align = "right"
netupwidget = widget({ type = "textbox" })
netupwidget.width = 55
--netupwidget.align = "right"
-- Register widget
-- change to the desired network adapter if needed
--vicious.register(netdnwidget, vicious.widgets.net, "${eth0 down_kb} kB/s", 1)
--vicious.register(netupwidget, vicious.widgets.net, "${eth0 up_kb} kB/s", 1)
-- The following code formats the output to fill with zeroes at the beginning i.e. 013 kB/s instead of 13 kB/s.
-- It also automatically switches to MB/s if there is more than 999 kB/s
vicious.register(netdnwidget, vicious.widgets.net,
function(widget, args)
if tonumber(args["{" .. netAdapter .. " down_kb}"]) > 999 then
return string.format("%04.1f MB/s", tonumber(args["{" .. netAdapter .. " down_mb}"]))
else
return string.format("%03d kB/s", tonumber(args["{" .. netAdapter .. " down_kb}"]))
end
end, updateNet)
vicious.register(netupwidget, vicious.widgets.net,
function(widget, args)
if tonumber(args["{" .. netAdapter .. " up_kb}"]) > 999 then
return string.format("%04.1f MB/s", tonumber(args["{" .. netAdapter .. " up_mb}"]))
else
return string.format("%03d kB/s", tonumber(args["{" .. netAdapter .. " up_kb}"]))
end
end, updateNet)
end
---- BATTERY widget
--if useBat == true then
-- baticon = widget({ type = "imagebox" })
-- --baticon.image = image(beautiful.widget_batfull)
-- --Initialize widget
-- batwidget = widget({ type = "textbox" })
-- batwidget.width = 22
-- batwidget.align = "right"
-- --Register widget
-- --vicious.register(batwidget, vicious.widgets.bat, "$1$2", 31, "BAT1")
-- vicious.register(batwidget, vicious.widgets.bat,
-- function(widget, args)
-- if string.match(args[1], "[+↯]") then
-- baticon.image = image(beautiful.widget_ac)
-- elseif tonumber(args[2]) > 40 then
-- baticon.image = image(beautiful.widget_batfull)
-- elseif tonumber(args[2]) > 20 then
-- baticon.image = image(beautiful.widget_batlow)
-- else
-- baticon.image = image(beautiful.widget_batempty)
-- end
-- if tonumber(args[2]) == 100 then
-- return "Full"
-- end
-- return args[2] .. "%"
-- end, updateBat, battery)
--end
-- {{{ CPU
--if useTemp == true then
-- -- Core Temp
-- tempwidget = widget({ type = "textbox" })
-- tempwidget.width = 26
-- tempwidget.align = "right"
-- vicious.register(tempwidget, vicious.widgets.thermal, "$1 C", updateCpu, { thermalZone, thermalData })
-- --vicious.register(tempwidget, vicious.widgets.thermal, "$1°C", 5, { "thermal_zone0", "sys" })
-- -- Icon
-- tempicon = widget({ type = "imagebox" })
-- tempicon.image = image(beautiful.widget_temp)
--end
-- Readout
if useCpu == true then
-- Icon
cpuicon = widget({ type = "imagebox" })
cpuicon.image = image(beautiful.widget_cpu)
-- Core 1 Meter
cpubar = {}
freq = {}
displayCores = {}
displayCpu = {}
for s = 1, cpuCores do
cpubar[s] = awful.widget.progressbar()
cpubar[s]:set_width(50)
cpubar[s]:set_height(6)
cpubar[s]:set_vertical(false)
cpubar[s]:set_background_color("#434343")
--cpubar:set_color(beautiful.fg_normal)
cpubar[s]:set_gradient_colors({ beautiful.fg_normal, beautiful.fg_normal, beautiful.fg_normal, beautiful.bar })
--Delete the following line if you want to put the widget on the left side of the wibox
cpubar[s].layout = awful.widget.layout.horizontal.rightleft
vicious.register(cpubar[s], vicious.widgets.cpu, "$" .. s, updateCpu)
awful.widget.layout.margins[cpubar[s].widget] = { top = 6 }
-- Frequency
freq[s] = widget({ type = "textbox" })
freq[s].width = 44
freq[s].align = "right"
--vicious.register(freq1, vicious.widgets.cpufreq, "$2 GHz", 9, "cpu0")
vicious.register(freq[s], vicious.widgets.cpufreq,
function(widget, args)
return string.format("%03.1f GHz", args[2])
end, updateCpu, "cpu" .. s - 1)
-- Cache that shit
vicious.cache(vicious.widgets.cpu)
end
end
-- }}} CPU
-- {{{ MEM
if useMem == true then
-- Icon
memicon = widget({ type = "imagebox" })
memicon.image = image(beautiful.widget_mem)
-- Percentage
--mem = widget({ type = "textbox" })
--vicious.register(mem, vicious.widgets.mem, "$1%")
-- Meter
membar = awful.widget.progressbar()
membar:set_width(50)
membar:set_height(6)
membar:set_vertical(false)
membar:set_background_color("#434343")
--membar:set_color(beautiful.fg_normal )
membar:set_gradient_colors({ beautiful.fg_normal, beautiful.fg_normal, beautiful.fg_normal, beautiful.bar })
--This bar should be placed on the right side of the wibox unless
--it's a dual-screen config in which case the default (leftright)
--layout is used... change that if you need!
if screencount ~= dualScreen then
membar.layout = awful.widget.layout.horizontal.rightleft
end
--Register the widget
vicious.register(membar, vicious.widgets.mem, "$1", updateMem)
-- Align progressbars
awful.widget.layout.margins[membar.widget] = { top = 6 }
-- MEM Usage
--mem_total = widget({ type = "textbox" })
--vicious.register(mem_total, vicious.widgets.mem, "$3 MB", 9)
--mem_used = widget({ type = "textbox" })
--vicious.register(mem_total, vicious.widgets.mem, "$2 MB", 9,)
-- Cache that shit
vicious.cache(vicious.widgets.mem)
end
-- }}} MEM
-- Create a textclock widget
mytextclock = awful.widget.textclock({ align = "right" }, "%H:%M")
awful.widget.layout.margins[mytextclock] = { top = -1 }
-- Create a systray
mysystray = widget({ type = "systray"})
-- Create a wibox for each screen and add it
mywibox = {}
mybottomwibox = {}
mypromptbox = {}
mylayoutbox = {}
mytaglist = {}
mytaglist.buttons = awful.util.table.join(awful.button({}, 1, awful.tag.viewonly),
awful.button({ modkey }, 1, awful.client.movetotag),
awful.button({}, 3, awful.tag.viewtoggle),
awful.button({ modkey }, 3, awful.client.toggletag),
awful.button({}, 4, awful.tag.viewnext),
awful.button({}, 5, awful.tag.viewprev))
mytasklist = {}
mytasklist.buttons = awful.util.table.join(awful.button({}, 1, function(c)
if not c:isvisible() then
awful.tag.viewonly(c:tags()[1])
end
client.focus = c
c:raise()
end),
awful.button({}, 3, function()
if instance then
instance:hide()
instance = nil
else
instance = awful.menu.clients({ width = 250 })
end
end),
awful.button({}, 4, function()
awful.client.focus.byidx(1)
if client.focus then client.focus:raise() end
end),
awful.button({}, 5, function()
awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end
end))
for s = 1, screencount do
-- Set a screen margin for borders
awful.screen.padding(screen[s], { top = 0 })
-- Create a promptbox for each screen
mypromptbox[s] = awful.widget.prompt()
-- Create an imagebox widget which will contains an icon indicating which layout we're using.
-- We need one layoutbox per screen.
mylayoutbox[s] = awful.widget.layoutbox(s)
mylayoutbox[s]:buttons(awful.util.table.join(awful.button({}, 1, function() awful.layout.inc(layouts, 1) end),
awful.button({}, 3, function() awful.layout.inc(layouts, -1) end),
awful.button({}, 4, function() awful.layout.inc(layouts, 1) end),
awful.button({}, 5, function() awful.layout.inc(layouts, -1) end)))
mylayoutbox[s].resize = false
-- Create a taglist widget
mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons)
awful.widget.layout.margins[mytaglist[s]] = { top = -2 }
-- WARNING: In order to properly view the tasklist some lua files have been modified. For the
-- tasklist_floating_icon icon to be placed on the left side of the task name instead of the
-- right alignment, /usr/share/awesome/lib/awful/widget/tasklist.lua in function new(label, buttons) the
-- variable widgets.textbox has to be modified like this:
-- remove bg_align = "right" and
-- modify the left margin from 2 to icon width + 2 (i.e.: 18).
-- Create a tasklist widget
mytasklist[s] = awful.widget.tasklist(function(c)
return awful.widget.tasklist.label.currenttags(c, s,
-- WARNING: Requires modified /usr/share/awesome/lib/awful/widget/tasklist.lua !!!
-- This basically hides the application icons on the tasklist. If you don't want this or
-- prefer not to change your tasklist.lua remove the following line!
{ hide_icon = true })
end, mytasklist.buttons)
awful.widget.layout.margins[mytasklist[s]] = { top = 2 }
-- WIBOXES --
-- Here we create the wiboxes if it's not a dual-screen layout
if screencount ~= dualScreen then
-- Create the wibox
mywibox[s] = awful.wibox({ position = "top", screen = s, border_width = 0, height = 18 })
-- Add widgets to the wibox - order matters
mywibox[s].widgets = {
mytaglist[s],
mypromptbox[s],
displaySysInfo,
layout = awful.widget.layout.horizontal.leftright
mytextclock,
mylayoutbox[s],
s == 1 and mysystray or nil,
mytasklist[s],
layout = awful.widget.layout.horizontal.rightleft
mybottomwibox[s] = awful.wibox({ position = "bottom", screen = s, border_width = 0, height = 18 })
mybottomwibox[s].widgets = {
space, music_play, music_pause, music_stop, music_prev, music_next, space, mpdwidget,
layout = awful.widget.layout.horizontal.leftright
spacer,
bracketr,
-- spacer, batwidget, spacer, baticon, spacer,
-- separator,
-- spacer, wifiwidget, spacer, wifiimage0, wifiimage1, wifiimage2, wifiimage3, wifiimage4, spacer,
-- separator,
-- spacer, tempwidget, spacer, tempicon, spacer,
-- separator,
spacer, freq[1], spacer, cpubar[1], spacer,
--cpuLabel[1], spacer,
cpuicon, spacer,
separator,
spacer, membar, spacer, memicon, spacer,
separator,
spacer, netupwidget, spacer, upicon, spacer, separator, spacer, netdnwidget, spacer, dnicon, spacer,
separator,
space, pghosticon, pnoghosticon, runpicon, picon, space,
bracketl,
layout = awful.widget.layout.horizontal.rightleft
end
end
if screencount == dualScreen then
-- Here we create the wiboxes if it is a dual screen configuration:
mywibox[1] = awful.wibox({ position = "top", screen = 1, border_width = 0, height = 18 })
-- Add widgets to the wibox - order matters
mywibox[1].widgets = {
mytaglist[1],
spacer,
mypromptbox[1],
mytasklist[1],
layout = awful.widget.layout.horizontal.leftright
spacer,
mytextclock,
-- spacer,
mylayoutbox[1],
-- spacer,
-- mytasklist[1],
layout = awful.widget.layout.horizontal.rightleft
mybottomwibox[1] = awful.wibox({ position = "bottom", screen = 1, border_width = 0, height = 18 })
mybottomwibox[1].widgets = {
space, music_play, music_pause, music_stop, music_prev, music_next, space, mpdwidget,
layout = awful.widget.layout.horizontal.leftright
space,
s == 1 and mysystray or nil,
layout = awful.widget.layout.horizontal.rightleft
mywibox[2] = awful.wibox({ position = "top", screen = 2, border_width = 0, height = 18 })
mywibox[2].widgets = {
space,
mytaglist[2],
spacer,
mypromptbox[2],
layout = awful.widget.layout.horizontal.leftright
spacer,
mytextclock,
space,
mylayoutbox[2],
spacer,
mytasklist[2],
layout = awful.widget.layout.horizontal.rightleft
mybottomwibox[2] = awful.wibox({ position = "bottom", screen = 2, border_width = 0, height = 18 })
mybottomwibox[2].widgets = {
spacer,
bracketl,
spacer, sys, spacer,
separator,
space, runpicon, picon, pghosticon, pnoghosticon, space,
separator,
spacer, dnicon, spacer, netdnwidget, spacer, separator, spacer, upicon, spacer, netupwidget, spacer,
separator,
spacer, memicon, spacer, membar, spacer,
bracketr,
layout = awful.widget.layout.horizontal.leftright
spacer,
bracketr,
spacer, tempwidget, spacer, tempicon, spacer,
separator,
spacer, freq[2], spacer, cpubar[2], spacer,
cpuLabel[2], spacer,
cpuicon, spacer,
separator,
spacer, freq[1], spacer, cpubar[1], spacer,
cpuLabel[1], spacer,
cpuicon, spacer,
bracketl,
layout = awful.widget.layout.horizontal.rightleft
end
-- {{{ Mouse bindings
root.buttons(awful.util.table.join(awful.button({}, 3, function() mymainmenu:toggle() end),
awful.button({}, 4, awful.tag.viewnext),
awful.button({}, 5, awful.tag.viewprev)))
-- {{{ Key bindings
globalkeys = awful.util.table.join(awful.key({ modkey, }, "Left", awful.tag.viewprev),
awful.key({ }, "Print", function () awful.util.spawn("gnome-screenshot") end),
awful.key({ modkey, }, "Right", awful.tag.viewnext),
awful.key({ modkey, }, "Escape", awful.tag.history.restore),
awful.key({ modkey, }, "j",
function()
awful.client.focus.byidx(1)
if client.focus then client.focus:raise() end
end),
awful.key({ modkey, }, "k",
function()
awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end
end),
awful.key({ modkey, }, "w", function() mymainmenu:show({ keygrabber = true }) end),
--Volume manipulation
-- awful.key({}, "XF86AudioRaiseVolume", function() awful.util.spawn("amixer set Master 5+") end),
-- awful.key({}, "XF86AudioLowerVolume", function() awful.util.spawn("amixer set Master 5-") end),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function() awful.client.swap.byidx(1) end),
awful.key({ modkey, "Shift" }, "k", function() awful.client.swap.byidx(-1) end),
awful.key({ modkey, "Control" }, "j", function() awful.screen.focus_relative(1) end),
awful.key({ modkey, "Control" }, "k", function() awful.screen.focus_relative(-1) end),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
awful.key({ modkey, }, "Tab",
function()
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end),
-- Standard program
awful.key({ modkey, }, "Return", function() awful.util.spawn(terminal) end),
awful.key({ modkey, "Control" }, "r", awesome.restart),
awful.key({ modkey, "Shift" }, "q", awesome.quit),
awful.key({ modkey, }, "l", function() awful.tag.incmwfact(0.05) end),
awful.key({ modkey, }, "h", function() awful.tag.incmwfact(-0.05) end),
awful.key({ modkey, "Shift" }, "h", function() awful.tag.incnmaster(1) end),
awful.key({ modkey, "Shift" }, "l", function() awful.tag.incnmaster(-1) end),
awful.key({ modkey, "Control" }, "h", function() awful.tag.incncol(1) end),
awful.key({ modkey, "Control" }, "l", function() awful.tag.incncol(-1) end),
awful.key({ modkey, }, "space", function() awful.layout.inc(layouts, 1) end),
awful.key({ modkey, "Shift" }, "space", function() awful.layout.inc(layouts, -1) end),
-- Prompt
awful.key({ modkey }, "r", function() mypromptbox[mouse.screen]:run() end),
awful.key({ modkey }, "x",
function()
awful.prompt.run({ prompt = "Run Lua code: " },
mypromptbox[mouse.screen].widget,
awful.util.eval, nil,
awful.util.getdir("cache") .. "/history_eval")
end))
clientkeys = awful.util.table.join(awful.key({ modkey, }, "f", function(c) c.fullscreen = not c.fullscreen end),
awful.key({ modkey, }, "q", function(c) c:kill() end),
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle),
awful.key({ modkey, "Control" }, "Return", function(c) c:swap(awful.client.getmaster()) end),
awful.key({ modkey, }, "o", awful.client.movetoscreen),
awful.key({ modkey, "Shift" }, "m", function () awful.util.spawn("urxvt -T ncmpcpp -e 'ncmpcpp'") end),
awful.key({ modkey, "Shift" }, "w", function () awful.util.spawn("chromium") end),
awful.key({ modkey, }, "b", function () awful.util.spawn("nautilus --no-desktop") end),
awful.key({ modkey, "Shift" }, "r", function(c) c:redraw() end),
awful.key({ modkey, }, "t", function(c) c.ontop = not c.ontop end),
awful.key({ modkey, }, "n", function(c) c.minimized = not c.minimized end),
awful.key({ modkey, }, "m",
function(c)
c.maximized_horizontal = not c.maximized_horizontal
c.maximized_vertical = not c.maximized_vertical
end))
-- Compute the maximum number of digit we need, limited to 9
keynumber = 0
for s = 1, screencount do
keynumber = math.min(9, math.max(#tags[s], keynumber));
end
-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it works on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, keynumber do
globalkeys = awful.util.table.join(globalkeys,
awful.key({ modkey }, "#" .. i + 9,
function()
local screen = mouse.screen
if tags[screen][i] then
awful.tag.viewonly(tags[screen][i])
end
end),
awful.key({ modkey, "Control" }, "#" .. i + 9,
function()
local screen = mouse.screen
if tags[screen][i] then
awful.tag.viewtoggle(tags[screen][i])
end
end),
awful.key({ modkey, "Shift" }, "#" .. i + 9,
function()
if client.focus and tags[client.focus.screen][i] then
awful.client.movetotag(tags[client.focus.screen][i])
end
end),
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
function()
if client.focus and tags[client.focus.screen][i] then
awful.client.toggletag(tags[client.focus.screen][i])
end
end))
end
clientbuttons = awful.util.table.join(awful.button({}, 1, function(c) client.focus = c; c:raise() end),
awful.button({ modkey }, 1, awful.mouse.client.move),
awful.button({ modkey }, 3, awful.mouse.client.resize))
-- Set keys
root.keys(globalkeys)
-- {{{ Rules
awful.rules.rules = {
-- All clients will match this rule.
rule = {},
properties = {
border_width = beautiful.border_width,
border_color = beautiful.border_normal,
size_hints_honor = false,
focus = true,
keys = clientkeys,
buttons = clientbuttons
rule = { class = "MPlayer" },
properties = { floating = true }
rule = { class = "pinentry" },
properties = { floating = true }
rule = { class = "gimp" },
properties = { floating = true }
{ rule = { class = "firefox" },
properties = { tag = tags[1][2] } },
{ rule = { class = "Chromium" },
properties = { tag = tags[1][2] } },
{ rule = { class = "Pidgin" },
properties = { tag = tags[1][3] } },
{ rule = { class = "Xchat" },
properties = {tag = tags[1][4] } },
-- Set Firefox to always map on tags number 2 of screen 1.
-- { rule = { class = "Firefox" },
-- properties = { tag = tags[1][2] } },
-- {{{ Signals
-- Signal function to execute when a new client appears.
client.add_signal("manage", function(c, startup)
-- Add a titlebar
-- awful.titlebar.add(c, { modkey = modkey })
-- Enable sloppy focus
c:add_signal("mouse::enter", function(c)
if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
and awful.client.focus.filter(c) then
client.focus = c
end
end)
if not startup then
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
-- awful.client.setslave(c)
-- Put windows in a smart way, only if they does not set an initial position.
if not c.size_hints.user_position and not c.size_hints.program_position then
awful.placement.no_overlap(c)
awful.placement.no_offscreen(c)
end
end
end)
client.add_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.add_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
-- {{{ Tag signal handler - selection
-- - ASCII tags 1 [2] 3 4...
-- - start with tag 1 named [1] in tag setup
for s = 1, screencount do
for t = 1, #tags[s] do
tags[s][t]:add_signal("property::selected", function ()
if tags[s][t].selected then
tags[s][t].name = "[" .. tags[s][t].name .. "]"
else--]]
--tags[s][t].name = tags[s][t].name:gsub("[%[%]]", "")
--[[ end
end)
end
end
I have tried to search around for a solution to this, but I am coming up short. Any idea on how to solve this?
Last edited by kveras (2011-11-21 09:01:47)First of all, did you check the wiki and forums? We'll help you, but you have to try to fix it yourself first.
You will need to provide more info if you want help.
Did you set up Gnome to force fallback mode?
Did you look at the Gnome wiki article? There's a few sections that sound like what your looking to do, but the examples are USING OTHER WM's. They still might be able to point you in the right direction. -
How to display the first page alone first and two pages (back and front) then ?
Hi
I use acrobat 9 (beginner).
I have a document which should be displayed "as a book", ie two pages on the screen at the same time, the back of the first sheet and the front of the second one.
The problem I have is to manage to display the cover sheet as a single page (alone) and then to have the dual page layout as described above.
How could I do that ?
Thanks for your help
Regards
FanchHi Bernd
Thanks a lot. -
I am new to Dreamweaver and the first thing I noticed was
that it does not appear to allow me to 'undock' panel groups and
move them to my second monitor. This is one of my favorite features
of Photoshop, but I can't figure out how to do it in Dreamweaver.
Am I missing something or did Macromedia not include this feature?
If it doesn't exist, does anyone know of any plans to add it
to future versions. I am using MX2004."dvanamburg" <[email protected]> wrote in
message
news:e4vi47$rcp$[email protected]..
>I am new to Dreamweaver and the first thing I noticed was
that it does not
> appear to allow me to 'undock' panel groups and move
them to my second
> monitor.
> This is one of my favorite features of Photoshop, but I
can't figure out
> how to
> do it in Dreamweaver. Am I missing something or did
Macromedia not include
> this
> feature?
>
> If it doesn't exist, does anyone know of any plans to
add it to future
> versions. I am using MX2004.
>
In Dreamweaver 8 you can go to dual screen layout
Window menu > Workspace Layout > Dual Screen
You can also separate the panel groups into pallets just like
in Photoshop
in the
Panel menu > Group With.. > New Panel Group.
I don't know if this was available in MX 2004 as I am pretty
new to this
program. Also, I am referring to the Windows version.
ss. -
Audition CS6 Load Screen messed up
Not sure if this is even anything to be concerrned about, but starting just a few days ago, possibly with the last windows updates, when I start Audition, the green load box/splash screen is messed up. It looks like it is jumbled up or kind of overlapped on itself, and my workspace, which I am using a dual screen layout, his layered with one window on top of the other. Has anyone else noticed this or know if this is something that can be fixed? I tried uninstalling and removing all the audition files and registry entries I could find and reinstalling, but it hasn't helped. I'm running this on Windows 7 Ultimate 64 bit.
That's what the screen looks like. I'm running 2 Asus Radeon 7790 2 GB video cards cross-fired.
-
A little help about multiple monitors...
I’ll try to explain what I need help on in the simplest way possible.
I connected my macbook pro to another LCD monitor I have at home. That way when I work on sites I can have one thing on my monitor and another thing on my Mac. My question is...
I see that on WINDOWS the whole program (Dreamweaver or Photoshop, illustrator blah blah blah) is in one window. Which means I can drag it on one monitor or back to the other. How do I make those programs get on one window like WINDOWS(OS). I can drag my browsers, iTunes, steam and other applications between each monitor but I cannot do it with the adobe products.
Any help?Hi sppanch007. Welcome to the Adobe user-to-user forums!
You can certainly drag components of the Dreamweaver application, such as panels (and panel groups) and document windows and drag them between your monitors.
In doing this, you could create a custom workspace that has all the panels and such in the desired locations and then save it by going to Window > Workspace Layout > New Workspace.
There is a "Dual Screen" layout you could try to give you a starting point.
A little more info about re-arranging the workspace:
http://help.adobe.com/en_US/dreamweaver/cs/using/WS8599BC5C-3E44-406c-9288-C3B3BBEB5E88.ht ml
If you want the application to function differently, such as to have its own application frame (like applications on Windows do), then please let the Dreamweaver development team know:
http://bit.ly/DWReq
Kind regards, -
What Workspace(s) Do You Use? (Screenshots)
So I wanted to start a thread where people showed off their workspace setups, and maybe showed others a better way to utilize their limited real estate.
So set up your workspace just how you like it, hit the PrintScreen button on the upper right of you keyboard, open up Paint.exe, hit CTRL-C.
The pictures are pretty small so be sure to include a decription of what the panels are.
Ive got 2 custom workspace.
They span (2) 24in monitors, and include:
Editing Workspace
1. Project
2. Effects
3. Effects Controls
4. History
5. Program
6. Reference
7. Timeline
MultiCamera Workspace
1. Multi-Cam
2. Timeline
P.S. I'm planning on doing the same thread for Encore cs4 and After Effects CS4,
and CS5.5 as soon as it comes in the mail next week (Yay!) So check out those posts too.
http://forums.adobe.com/message/3815732I have a main "Dual Monitor" layout with some docked Panels in Panes, but then some floating Panels, that I tile, so that little areas of each is easily clickable.
Next, I use an extended Timeline view, and probably next, my expanded Project Panel view.
Hunt -
Getting the DW panes across two monitors
I work with two monitors and have CS3.
I'd like to be able to have DW across both or at least to let me move a pane onto the other screen. is tis possible?
Related to this: is it possible to have the Code pane AND the Design pane visible at the same time?
thank you........... lizYou should be able to simply drag any of the palettes onto your second monitor. See the attached image -- which shows an unsolved problem I'm having with dual monitors, but also shows you an example of a dual-monitor layout.
John -
Is it possible to designate a separate folio for the iPhone 6 or 6+? iTunes Connect has a separate area for screenshots for the two devices and frankly a dual orientation layout looks a heck of a lot better on an iPhone 6+ than an iPhone 5.
Not at this time. Optimizing for iPhone 6 and 6 Plus is something the engineering team is investigating, but the current apps you create from App Builder are not optimized. With the current viewer continue to design for iPhone 5 size.
-
I have a dual-screen setup - Workspace Layout Panels - not functioning properly.
I have a dual-screen setup and since updating to 10.10.2, the panels open on the main screen - and not in the positions as they were saved in a Workspace layout.
Tried trashing the prefs - which works, but when I save a new Workspace layout, it does the exact same thing.
Any help is greatly appreciated. Thanks.Hi Christopher,
This is a known issue and the product team is working with Apple to address it. Stay tuned.
Thanks,
Preran
Maybe you are looking for
-
Whe I try to istall CS2 I get an error message "You can't open the application Adobe Installer because powerPC applications are no longer supported. Does that mean I cannot run CS2 on the new computer because the Intel processor is not compatible wit
-
My Ichat is no longer working now that I have iMessage
I can not get the ichat to work anymore. I even created a new AIM account just so that I can do a screen share.. What is the deal? I sent invitations that were not recieved at all and vice versa.. Please help. thanks
-
Direct2D is still labled as false in about:support.
I am using Firefox 4 Beta 5 and I though that Direct2D was supposed to be enabled but I'm still seeing false in about:support. And there has been no change in rendering time.
-
Need Help Troubleshooting Copy Function
When I try to copy a page using the flatbed scanner, the printer will scan the page and act like it's going to perform the copy. However, after about 20 seconds, the printer spits out a blank page and on the touchscreen, it says "Printing canceled."
-
Downloaded Photoshop CS6 trial, signed up for Adobe ID, now its just stuck.
Downloaded Photoshop CS6 trial, signed up for Adobe ID, now its just stuck.... the bar is not moving and under the bar it says .. " sign in with Adobe ID to continue" (although I'm signed in as my name appears at the top right corner! How can I downl